100%

Committed .review-plan/ forensic dossier substrate

Goal

Establish the persistence substrate for the forensic review’s analysis: a COMMITTED .review-plan/ folder holding a structured, versioned dossier (hardship BLUF, per-section forensic verdicts, applied-mutation log). It is the ‘outline it all’ audit artifact, NOT a parallel state store: authoritative mutations stay in plan.json via the sanctioned write APIs (state-discipline.md §2; plan-read-discipline.md §2.1).

Implementation Sketch

state-discipline.md §2 bans workflow-state-in-scratch (no ‘Step N pending’, no resume pointers, no round/commit attribution as SSOT). plan.json is script-only at every phase (plan-read-discipline.md §2.1). A plan-dir working folder is permitted (precedent: _inflight/, .intel/). The decision (locked): .review-plan/ is COMMITTED (audit artifact), so it gets NO gitignore entry and a README marking it audit-only.

Spec References

scripts/review_plan_runtime/forensic_dossier.py (NEW: schema + atomic writer); plans//.review-plan/ (committed); .gitignore (confirm NO .review-plan exclusion); state-discipline.md §2 (compliance guard).

Work Items

  • Author scripts/review_plan_runtime/forensic_dossier.py: a versioned dossier schema (dossier.json + dossier.md) with sections {hardship_bluf, ledger_findings, evolution_findings, gate_metric_state, per_section_verdicts[], applied_mutations[]}. Pure data + atomic write; no orchestration (script-first.md §1).
  • Writer API forensic_dossier.write_dossier / append_mutation: atomic (fcntl.flock) write into plans//.review-plan/. Derived-analysis-only: a write-time guard REFUSES any key matching banned workflow-state shapes (resume pointers, ‘step N pending’) per state-discipline.md §2.
  • Add plans//.review-plan/README.md (written by the dossier writer on first use) stating: committed audit artifact, NOT a state store; authoritative state lives in plan.json. Confirm .gitignore carries NO .review-plan exclusion so it commits.
  • pytest scripts/review_plan_runtime/tests/test_forensic_dossier.py: round-trip write+read; neg pin = the state-discipline guard rejects a banned workflow-state key (semantic pin: removing the guard flips it red).

Fresh intel (regenerated)

{ “schema_version”: 1, “target”: { “kind”: “plan-section”, “ref”: “zeroed-plan-forensic-review/s-386c5513” }, “generated_at”: “2026-06-20T01:50:25.334188+00:00”, “graph_state”: { “head_sha”: “e4b7c39a”, “last_code_import_at”: “2026-06-20T01:47:34.184Z”, “embedding_stale”: false, “insights_stale”: false, “cpg_stale”: false }, “surfaces”: {}, “summary”: “intel-package[plan-section:zeroed-plan-forensic-review/s-386c5513] agent-authored dossier”, “degraded”: false, “dossier”: { “objective_symbols”: [], “tiers”: {}, “agent_authored”: true, “difficulty”: { “class”: “routine”, “research_online”: false, “research_mode”: “auto”, “signals”: [], “plan_dir”: “/home/eric/projects/ori_lang/plans/zeroed-plan-forensic-review” } } }

(full dossier: review-plan-dossier-substrate—s-386c5513.intel.json)