# KG-7 Source Trace

Date: 2026-06-03
Build ref: `varro-v1-cycle-21`
Unit: `kg7_rebuild_live_runtime_collect`

## Rebuild Inputs

KG-7 rebuilds the current content graph from KG-6 plus the cycle-20
live-runtime collect packet:

- KG-6 records: `build-1/kg/kg-6-draft-records.ndjson`
- KG-6 relationships: `build-1/kg/kg-6-relationships.ndjson`
- KG-6 trace: `build-1/kg/kg-6-source-trace.md`
- Cycle-20 collect report: `build-1/evidence/cycle-20-live-runtime-collect.json`
- Cycle-20 collect evidence: `build-1/evidence/cycle-20-live-runtime-collect.md`
- Cycle-20 public route verification: `build-1/evidence/cycle-20-route-verify.txt`
- Cycle-20 Fly status: `build-1/evidence/cycle-20-fly-status.txt`

## Source Legend

- `S1`-`S7`: hash-locked external source refs from
  `evidence/external-source-manifest.json`.
- `G`: Bootstrap glossary source, kept source-linked but not external-hash
  eligible.
- `T1`: Bootstrap tutorial source, kept source-linked but not external-hash
  eligible.
- `R1`: deploy runbook and rollback proof evidence.
- `C3`, `C4`, `C8`-`C20`: prior Build-1 cycle evidence packets used as
  reviewed experiment evidence.

## Result

| Measure | KG-6 | KG-7 |
|---|---:|---:|
| Records | 18 | 18 |
| Relationships | 16 | 16 |
| Source-backed records | 11 / 18 | 11 / 18 |
| Active unresolved gaps | 1 | 1 |
| Model calls | 0 | 0 |
| Learner submissions | 0 | 0 |
| Production KG store mutations | 0 | 0 |
| Infrastructure changes | 0 | 0 |

## What Changed

- KG IDs advance from `kg6:*` to `kg7:*` so the rebuild is append-only and
  revertible by git.
- The full-tutor-grounding task, reviewer orientation QA record, public-route
  QA record, public-release task, and active runtime gap now consume cycle-20
  live-runtime collect evidence.
- Source-backed status is preserved only where KG-6 already proved it through
  the Rust source-back verifier. No additional records are promoted in KG-7.
- The active unresolved gap remains the same: a reviewed live model-backed
  tutor answer runtime with generated-answer citation enforcement is not yet
  integrated.

## Accepted Output Index

The frozen denominator remains the cycle-7/cycle-8 Build-1 denominator:

```text
accepted_output_index =
  clamp01(0.45*surface_score
        + 0.25*kg_promotion_score
        + 0.15*tutor_eval_score
        + 0.15*deploy_score
        - regression_penalty)
```

KG-7 values after successful review, deploy, and public route verification:

- `surface_score = 8/8 = 1.0`; KG-7 is a rebuild of an already counted KG
  surface, not a new accepted surface.
- `kg_promotion_score = 11/18 = 0.6111111`; the denominator is frozen at 18
  and is not recounted from `kg-7-draft-records.ndjson`.
- `tutor_eval_score = 1.0 * 1.0 = 1.0`.
- `deploy_score = 1.0` only after the live public route verifier passes.
- `regression_penalty = 0.0`.

Result after live verification:

```text
accepted_output_index = 0.9027778
```

The useful-output score stays flat from cycles 19 and 20. This cycle narrows
traceability by consuming the live-runtime collect packet, but it does not add a
new counted surface, promote more records, improve the frozen tutor eval score,
or change deploy status.

## Boundary Checks

- KG-7 is a reversible content packet under `experiments/goals-experiment`, not
  a production KG store write.
- No model call, learner submission, runtime secret path, DNS/TLS/Cloudflare
  change, Fly app provisioning, or infrastructure change is claimed.
- The live-runtime collect packet is used as gap evidence only; it is not
  treated as generated-answer evidence or live learner usage.
- Rollback is git revert plus the deploy runbook rollback image if this content
  refresh has already been deployed.

## Next Controlled Step

Integrate or explicitly refuse the live model-backed tutor runtime path with
generated-answer citation enforcement. If that is not yet reversible, queue the
runtime secret/backend requirement as an async escalation and continue with
other bounded system-formation work.
