# KG-4 Source Trace

Date: 2026-06-03
Run level: `execute_bound` for content-only publication to the already-provisioned app.

## Rebuild Input Set

KG-4 rebuilds the draft graph from KG-3 plus the runtime adapter spike and runtime-spike collect evidence:

- KG-3: `build-1/kg/kg-3-draft-records.ndjson`, `kg-3-relationships.ndjson`, `kg-3-source-trace.md`
- C13: `build-1/evidence/cycle-13-rust-tutor-runtime-spike.md`, `cycle-13-rust-tutor-runtime-spike.json`, `cycle-13-route-verify.txt`
- C14: `build-1/evidence/cycle-14-runtime-spike-collect.md`, `cycle-14-route-verify.txt`, `cycle-14-fly-status.txt`
- E: `envelopes/kg-promote-source-backed-record-envelope.json`
- M: `evidence/external-source-manifest.json`

This remains a draft KG packet. It does not mutate a production KG store and it does not promote any
record to `source_backed`.

## Rebuild Rule

- carry the 11 source-ref-hash-verified Varro/VSL records forward unchanged except for `kg4` ids;
- keep all records at `promotion_state: not_source_backed`;
- incorporate the cycle-13 deterministic Rust runtime adapter spike and cycle-14 runtime-spike collect
  pass into the tutor-grounding task, public-route QA, reviewer-orientation QA, and tutor-runtime gap;
- preserve the source-backed promotion decision and gap because the promotion envelope is still
  human-only and execute-disabled;
- do not count `kg-4-draft-records.ndjson` as a new denominator for `accepted_output_index`; the frozen
  KG-promotion denominator remains 18 from cycle 7.

## Rebuild Summary

| Measure | KG-3 | KG-4 |
|---|---:|---:|
| Node records | 18 | 18 |
| Relationship records | 16 | 16 |
| Active unresolved gaps | 2 | 2 |
| Source-backed promotions | 0 | 0 |
| Live tutor runtime integrated | no | no |
| Runtime adapter evidence incorporated | partial | yes |
| Public route set verified before rebuild | root, citation, runtime contract, runtime collect, KG rebuild, runtime spike | root, citation, runtime contract, runtime collect, KG rebuild, runtime spike, runtime-spike collect |

## Active Unresolved Gaps

| Record | Why it remains active |
|---|---|
| `kg4:gap:source-backed-promotion-execution-gate` | Hash and evidence checks pass, but the existing promotion envelope is `execute_enabled:false` and `executor_type:human_only`. |
| `kg4:gap:tutor-runtime-not-integrated` | Static citation, runtime-contract, collect, deterministic adapter, and adapter-collect surfaces exist, but no live tutor answer runtime with enforced citations is integrated. |

## Non-Convergence Audit

The active unresolved-gap count remains flat at 2. KG-4 is still useful because it consumes the cycle-13
and cycle-14 evidence packet and prevents a deterministic adapter spike from being mistaken for a live
runtime. The next useful cycle should implement a reviewed live learner-interface slice rather than add
another static collect/rebuild layer.

No kill criterion is triggered inside this bounded rebuild because there is no regression, no repeated
review failure, no budget cap breach, and no irreversible action. The convergence risk is explicit and
tracked through `accepted_output_index` staying at 0.75 and unresolved gaps staying at 2.

## Supervisor Note

The autonomous child for cycle 15 mechanically carried KG-3 into KG-4 and then stopped making progress.
The supervisor paused the harness, terminated only the stuck child, and completed the bounded KG-4
rebuild without touching infrastructure, secrets, production KG state, or source-backed promotion.
