# KG-0 Source Trace

Date: 2026-06-02
Run level: `preview_bound`

## Extraction Method

KG-0 is a source-linked draft seed, not a source-backed KG mutation. The node records in
`kg-0-draft-records.ndjson` and first-class relationship records in `kg-0-relationships.ndjson`
were extracted from:

- S1: `helios/components/varro/brief.md`
- S2: `helios/components/varro/system-definition/index.qmd`
- S3: `helios/components/varro/system-definition/varro-specification-language.qmd`
- S4: `helios/components/varro/system-definition/examples/helios-browser.varro`
- S5: `helios/agents/bin/varro`
- S6: `magatama/vsl/gox-ethanol-cea-authority.varro`
- S7: `edu/mentormind/vsl/types.varro`
- G: `bootstrap/glossary.md`
- T1: `bootstrap/tutorial-01-first-vsl-system.md`

The extraction rule is conservative:

- concepts and spec claims may cite source refs;
- every record remains `promotion_state: not_source_backed`;
- no record is marked `source_backed`;
- every node record conforms to the crystallised `KnowledgeGraphRecord` fields:
  `id`, `type`, `claim`, `domain`, `source_refs`, `evidence_refs`, `evidence_status`,
  `promotion_state`, `build_attempt_id`, `created_by`, and `updated_at`;
- every relationship record conforms to the crystallised `KnowledgeGraphRelationship` fields:
  `id`, `type`, `from_id`, `to_id`, `relation_type`, `domain`, `evidence_refs`,
  `evidence_status`, `promotion_state`, `build_attempt_id`, `created_by`, and `updated_at`;
- unsupported or authority-gated work is emitted as `unresolved_gap`;
- promotion waits for a dedicated adapter, review gate, and approval.

## Hash Check

The external-source manifest at `evidence/external-source-manifest.json` was checked with:

```bash
/usr/bin/openssl dgst -sha256 -r <source-path>
```

All S1-S7 hashes matched the manifest on 2026-06-02 before KG-0 was created.

## Draft Node Summary

| Record | Kind | Sources | Why it exists |
|---|---|---|---|
| `kg0:concept:varro-governed-surface` | concept | S1, S2 | Establishes the subject being taught. |
| `kg0:concept:authority-stack` | concept | S1, S2 | Makes source authority explicit for tutor refusals. |
| `kg0:spec:five-verb-command-grammar` | spec_claim | S1, S2, S3 | Supports q01 and command-grammar content. |
| `kg0:spec:vsl-declarative-language` | spec_claim | S3 | Separates VSL from interaction grammar. |
| `kg0:spec:vsl-maturity-rungs` | spec_claim | S3 | Supports tutorial and eval q05/q08. |
| `kg0:spec:vsl-type-field-declaration` | spec_claim | S3, S7 | Supports type/field teaching and q10. |
| `kg0:spec:enum-closed-value-set` | spec_claim | S6, S7 | Supports entropy reduction and typed constraints. |
| `kg0:spec:action-lowering-targets` | spec_claim | S3, S4 | Supports lowering and bound-maturity claims. |
| `kg0:spec:preview-by-default` | spec_claim | S2, T1 | Supports read-only check vs execute posture. |
| `kg0:concept:helios-contracts` | concept | S2, S3 | Keeps VSL lowering tied to existing Helios owners. |
| `kg0:concept:prose-entropy` | concept | S6, G | Provides a concrete target for the enum entropy relationship. |
| `kg0:decision:source-backed-promotion-gate` | decision | S1-S7 | Captures the gated source-backed promotion decision. |
| `kg0:task:full-tutor-grounding` | task | S1, S2, S3, G, T1 | Captures the future tutor integration task. |
| `kg0:task:public-release` | task | S2, S3 | Captures the gated milestone-2 release task. |
| `kg0:gap:source-backed-promotion-block` | unresolved_gap | S1-S7 | Records the promotion gate rather than bypassing it. |
| `kg0:gap:tutor-runtime-not-integrated` | unresolved_gap | S1, S2, S3, G, T1 | Keeps the eval spike distinct from a finished tutor UI. |
| `kg0:gap:publish-site-execute-bound` | unresolved_gap | S2, S3 | Keeps public deploy in milestone 2. |

## Relationship Summary

`kg-0-relationships.ndjson` normalises the old inline `relations` arrays into 14 first-class
relationship records. Existing predicates were preserved as `relation_type` values, with the three
authority blockers represented as `blocks` relationships to explicit decision/task records rather
than dangling bare strings.

## Reviewer Note

This is still a minimal KG-0: it is enough to ground a first tutorial, score the frozen eval set,
answer basic source-trace queries, and expose the missing pieces without silently promoting authority.
