# 20260326 Evidence Gap Matrix

Purpose: classify candidate outward-facing evidence items against the current repo evidence posture.

Reading rule:

- `reference_report` means the item is strong enough to anchor outward proof if presented in report form.
- `normalised_evidence_note` means the underlying artefacts are real and useful, but the safe claim must stay narrower than a major report headline.
- `narrative_only` means the item is useful as discovery or programme history, but not as primary outward proof.

## Matrix

| Evidence item | Source file(s) | Scope / family / run | Underlying artefacts found | Evidence strength | Current form | Classification | Reason | Safe outward claim |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Gemini phase closeout summary | `analysis/native_agent_control_plane/gemini_phase_closeouts_summary.md` | Repo-wide synthesis | Summary only; no run-root artefacts of its own | Weak | Narrative synthesis | `narrative_only` | Useful discovery index, but not proof | Use only to point readers to stronger artefacts. |
| White-paper evidence harvest note | `analysis/native_agent_control_plane/20260323_whitepaper_evidence_harvest_and_synthesis_note.md` | Repo-wide synthesis | Broad source map; no unique validation artefact root | Moderate | Synthesis note | `narrative_only` | High-value index and correction map, but still derivative | Use as a discovery and reconciliation index, not as a formal proof source. |
| Current bounded canonical baseline | `analysis/native_agent_control_plane/20260314_current_state_validation_summary.md` | Locked `split_control` + canonical host lane | Explicit cited artefacts, including `20260313_bounded_live_rerun_openai_10/live_validation_report.json` and March 14 execution-note artefacts | Strong | Current-state summary | `reference_report` | Existing checked-in boundary summary already meets report-like proof quality | The locked canonical host/controller baseline is banked for bounded coding claims on the recorded lane. |
| Bounded real coding phase 1 | `analysis/native_agent_control_plane/20260314_real_coding_phase1_codex_execution_note_pass.md` | `20260314_real_coding_phase1_codex_openai_02` | Run manifest, live validation report, logs, checkpoints | Strong | Execution note | `reference_report` | Existing reference-style validation report | Bounded phase-1 coding tasks passed on the locked canonical seam. |
| Bounded real coding phase 2 | `analysis/native_agent_control_plane/20260314_real_coding_phase2_codex_execution_note_pass.md` | `20260314_real_coding_phase2_codex_openai_03` | Run manifest, live validation report, logs, checkpoints | Strong | Execution note | `reference_report` | Existing reference-style validation report | A broader bounded coding matrix passed on the locked canonical seam. |
| Bounded autonomous broader family pass | `analysis/native_agent_control_plane/20260314_real_coding_autonomous_broader_codex_execution_note_pass.md` | `20260314_real_coding_autonomous_broader_codex_openai_05` | Run manifest, live validation report, logs | Strong | Execution note | `reference_report` | Existing reference-style validation report | Bounded multi-step autonomous repair remained banked in deterministic local families. |
| PR4 canonical zero-write fix | `analysis/native_agent_control_plane/20260311_pr4_canonical_mode_live_validation_note.md` | Canonical live validation and init-write bug fix | `analysis/native_agent_control_plane/artifacts/20260311_pr4_live_validation_report.json` plus pre/post-fix live proofs in note | Strong | Live validation note | `normalised_evidence_note` | Material early proof item and correction, but later reports supersede it as baseline packaging | Canonical zero-write became real only after the March 11 init-write fix, and live validation confirmed the corrected behavior. |
| PLAN_SLICE retention correction to 30 turns | `analysis/native_agent_control_plane/20260314_bounded_autonomy_expansion_validated_envelope_note.md` | `20260314_psx_codex_openai_02` and related reruns | `live_validation_report.json`, `expansion_summary.json`, `expansion_visibility_scan.json` | Moderate | Consolidated validated-envelope note | `normalised_evidence_note` | Strong bounded correction, but framed as interpretation and envelope update rather than a full outward report | Fixture-local retained-plan continuity was extended to 30 turns on the locked path, and the main correction was diagnostic, not runtime failure. |
| Real-repo Phase C locked-path continuation | `analysis/native_agent_control_plane/20260315_real_repo_phasec_locked_path_continuation_note.md`<br>`analysis/native_agent_control_plane/20260315_real_repo_phasec_latest_locked_path_telemetry_reassessment_note.md` | `iniconfig` and `pluggy` supported-path follow-up slices | Stage-B reports and telemetry reassessment exist, but no new banked supported write-backed success | Weak | Concise run notes | `narrative_only` | Important attribution history, but not a strong outward proof item | The supported path stayed intact, but these slices did not add a new banked write-backed success. |
| Pluggy corrected-metric rerun on delayed re-entry | `analysis/native_agent_control_plane/20260316_plg544_octo_delay_reentry_selector_hi_control_corrected_metric_rerun_note.md` | `20260316_rrp_c33_plg544_octo_delay_reentry_selector_hi_control` | `overall_summary.json`, `stage_b_report.json`, `live_validation_report.json`, run manifest | Strong | Corrected-metric rerun note | `normalised_evidence_note` | Material bounded proof with a corrected metric path; narrow family scope keeps it below full report priority | On the locked path, this pluggy delayed re-entry family cleared as a supported write-backed success once the false metric read was corrected. |
| Cross-family delayed final-turn boundary | `analysis/native_agent_control_plane/20260316_phase3b_cross_family_delayed_final_turn_boundary_consolidation_note.md` | `pluggy`, `iniconfig`, `itsdangerous`, `markupsafe` | Named `overall_summary.json` and `stage_b_report.json` artefacts for key runs | Moderate | Consolidation note | `normalised_evidence_note` | Strong blocker-localisation note, but still a synthesis across several families | The active blocker at this stage was delayed final-turn conversion under sparse continuity, not runtime/storage failure. |
| Phase 3 three-family portability milestone | `analysis/native_agent_control_plane/20260317_phase3_three_family_portability_milestone.md` | `click`, `itsdangerous`, `blinker` | Milestone prose cites the family pattern but does not itself enumerate the retained artefact roots | Moderate | Milestone note | `narrative_only` | Strong programme read, but later portability rung notes are safer viewer anchors | Use the later portability rung proofs rather than this milestone note as primary evidence. |
| Portable alternative-closure rung with runtime-bundle-only confirmation | `analysis/native_agent_control_plane/20260318_phase3_confirmaltclosure_portability_note.md`<br>`analysis/native_agent_control_plane/20260319_phase3_reconconfirmaltclosure_portability_note.md`<br>`analysis/native_agent_control_plane/20260319_phase3_runtimebundleconfirmaltclosure_portability_note.md` | `itsdangerous` and `blinker` rung ladder; latest rung `runtimebundleconfirmaltclosure` | Both family run roots contain `stage_b_report.json`, `overall_summary.json`, `live_validation_report.json`, `run_manifest.json` | Strong | Portability notes | `reference_report` | Strong outward candidate with exact retained artefacts and a bounded portability claim | A stricter runtime-bundle-only confirmation rung transferred across two clean families on the locked path. |
| Hardened endurance stage series through 400 turns, with 500-turn boundary | `analysis/native_agent_control_plane/20260319_phase3c_hardened_20turn_endurance_entry_result_note.md`<br>`analysis/native_agent_control_plane/20260319_phase3c_50turn_endurance_stage_result_note.md`<br>`analysis/native_agent_control_plane/20260319_phase3c_100turn_endurance_stage_rerun_result_note.md`<br>`analysis/native_agent_control_plane/20260319_phase3c_200turn_endurance_stage_result_note.md`<br>`analysis/native_agent_control_plane/20260319_phase3c_400turn_endurance_stage_result_note.md`<br>`analysis/native_agent_control_plane/20260319_phase3c_500turn_endurance_stage_result_note.md`<br>`analysis/native_agent_control_plane/20260320_phase3c_500step_request_error_fix_rerun_note.md` | Locked `itsdangerous` same-surface endurance series | Stage manifests, live validation reports, endurance summaries where present, plus the stage result notes | Strong | Result notes and rerun notes | `reference_report` | Strong boundary-defining proof series; safe claim requires explicit stop at 400 and explicit 500-turn non-clearance | Hardened same-surface endurance is banked through 400 turns on the locked path; 500 turns is not cleared. |
| Restart boundary attempts | `analysis/native_agent_control_plane/20260320_phase3c_100turn_restart_stage_result_note.md`<br>`analysis/native_agent_control_plane/20260320_phase3c_200turn_restart_stage_result_note.md` | Locked `itsdangerous` restart attempts | Segment live validation reports, restart state, stage manifest | Moderate | Restart result notes | `normalised_evidence_note` | Real and useful negative evidence, but not a major report headline | Real restart survival was observed, but restart clearance at 100 or 200 turns was not proven. |
| Dense-churn proving gate | `analysis/native_agent_control_plane/20260320_phase3c_dense_churn_proving_gate_result_note.md` | `20260320_p3c_itsd_densechurn20_proving_gate1` | `dense_churn_summary.json`, `dense_churn_failure_report.json`, live validation report | Moderate | Result note | `normalised_evidence_note` | Useful bounded negative for viewer honesty | The revised dense-churn harness produced no bankable success signal and did not justify a strong outward coding-quality claim. |
| Quality100 corrected reading | `analysis/native_agent_control_plane/20260321_phase3c_quality100_authoritative_postmortem.md` | `20260321_p3c_itsd_quality100_entry1` | `quality_benchmark_summary.json`, staged checkpoint review, live validation report | Strong | Postmortem | `normalised_evidence_note` | Important correction where narrative had run ahead of the retained proof | `quality100` must be read as `failure / no signal`, not as a banked quality success. |
| Signer/fallback Slice 2 success | `analysis/native_agent_control_plane/20260323_phase3c_signer_fallback_probe_entry2_rerun9_result_note.md` | `20260323_p3c_itsd_signer_fallback_probe_entry2_rerun9` | `probe_summary.json`, `probe_live_validation_report.json`, run manifest | Strong | Result note | `reference_report` | Strong bounded proof item; materially clearer than the earlier shorthand result note | When the integrated signer/fallback burden is made explicit, the locked path can convert and preserve it over the short attribution horizon. |
| Signer/fallback Slice 3 upper-boundary result | `analysis/native_agent_control_plane/20260323_phase3c_signer_fallback_probe_entry3_v3_attempt2_result_note.md` | `20260323_p3c_itsd_signer_fallback_probe_entry3_v3_attempt2` | `probe_summary.json`, `probe_live_validation_report.json`, `probe_failure_report.json`, run manifest | Strong | Result note | `reference_report` | Strong bounded failure artefact; critical for avoiding overclaim | The original signer/fallback contract could be repaired on turn 4, but the full Slice 3 burden was not cleared. |
| Phase 3C boundary closure note | `analysis/native_agent_control_plane/20260323_phase3c_boundary_closure_note.md` | Phase 3C closure synthesis | Cites Slice 3 v3/v4 result notes, but is itself a closure synthesis | Strong | Closure note | `narrative_only` | Important boundary document; not primary proof on its own | Use as a boundary statement after the underlying Slice artefacts. |
| Phase 4 guarded fixed-dossier three-turn transfer | `analysis/native_agent_control_plane/20260323_phase4_guarded_three_turn_research_baseline_note.md`<br>`analysis/native_agent_control_plane/20260323_phase4_guarded_fixed_dossier_three_turn_live_validation_note.md` | `20260323_phase4_fixed_dossier_guarded_turn3_validation_20260323T074554Z` | `turn-1/2/3/structured_research_run.json`, `review_summary.json`, benchmark and dossier manifests | Strong | Baseline checkpoint + live validation note | `reference_report` | Strong enough for a narrow transfer report, but the safe claim must stay narrower than the closure prose about turn-2 zero-write | Three dossier-bounded research turns completed cleanly with preserved provenance on the same run object; the stricter turn-2 recommendation-only zero-write guard was not durably proven live. |
| Phase 4 closure note | `analysis/native_agent_control_plane/20260323_phase4_closure_note.md` | Phase 4 closure synthesis | Closure synthesis plus note set | Moderate | Closure note | `narrative_only` | Useful boundary doc, but some wording runs ahead of the guarded live artefact on turn-2 zero-write | Use as programme framing only after the guarded live artefacts and a narrowed safe claim. |

## Backfill outcome

Items selected for new backfilled `reference_report` documents in this pass:

1. Portable alternative-closure rung with runtime-bundle-only confirmation
2. Hardened endurance stage series through 400 turns, with 500-turn boundary
3. Signer/fallback Slice 2 success
4. Signer/fallback Slice 3 upper-boundary result
5. Phase 4 guarded fixed-dossier three-turn transfer

Items selected for new `normalised_evidence_note` documents in this pass:

1. PR4 canonical zero-write fix
2. PLAN_SLICE retention correction to 30 turns
3. Pluggy corrected-metric rerun on delayed re-entry
4. Cross-family delayed final-turn boundary
5. Restart boundary attempts
6. Dense-churn proving gate
7. Quality100 corrected reading
