# V1 Completion — Resume State **Last updated:** 2026-04-22 (after V1-0 landed + R14 branch pushed) **Purpose:** single-page "you are here" so any future session can pick up the V1 completion sprint without re-reading the full plan history. ## State of play - **V1-0 is DONE.** Merged to main as `2712c5d`, deployed to Dalidou, prod backfill ran cleanly (31 legacy entities flagged `hand_authored=1`, zero violations remaining). - **R14 is on a branch.** `claude/r14-promote-400` at `3888db9` — HTTP promote route returns 400 instead of 500 on V1-0 `ValueError`. Pending Codex review + squash-merge. Non-blocking for V1-A. - **V1-A is next but GATED.** Doesn't start until both gates clear. ## Start-gates for V1-A | Gate | Condition | Status as of 2026-04-22 | |---|---|---| | Soak | Four clean nightly cycles since F4 confidence-decay first real run 2026-04-19 | Day 3 of 4 — expected clear around **2026-04-26** | | Density | 100+ active memories | 84 active as of last ledger update — need +16. Lever: `scripts/batch_llm_extract_live.py` against 234-interaction backlog | **When both are green, start V1-A.** If only one is green, hold. ## Pre-flight checklist when resuming Before opening the V1-A branch, run through this in order: 1. `git checkout main && git pull` — make sure you're at the tip 2. Check `DEV-LEDGER.md` **Orientation** for current `live_sha`, `test_count`, `active_memories` 3. Check `/health` on Dalidou returns the same `build_sha` as Orientation 4. Check the dashboard for pipeline health: http://dalidou:8100/admin/dashboard 5. Confirm R14 branch status — either merged or explicitly deferred 6. Re-read the two core plan docs: - `docs/plans/engineering-v1-completion-plan.md` — the full 7-phase plan - `docs/architecture/engineering-v1-acceptance.md` — the acceptance contract 7. Skim the relevant spec docs for the phase you're about to start: - V1-A: `engineering-query-catalog.md` (Q-001 + Q-006/Q-009/Q-011 killer queries) - V1-B: `tool-handoff-boundaries.md` (KB-CAD/KB-FEM export shapes) - V1-C: `engineering-query-catalog.md` (all remaining v1-required queries) - V1-D: `human-mirror-rules.md` (mirror spec end-to-end) - V1-E: `memory-vs-entities.md` (graduation flow) - V1-F: `conflict-model.md` (generic slot-key detector) ## What V1-A looks like when started **Branch:** `claude/v1-a-pillar-queries` **Scope (~1.5 days):** - **Q-001 shape fix.** Add a subsystem-scoped variant of `system_map()` matching `GET /entities/Subsystem/?expand=contains` per `engineering-query-catalog.md:71`. The project-wide version stays (it serves Q-004). - **Q-6 integration test.** Seed p05-interferometer with five cases: 1 satisfying Component, 1 orphan Requirement, 1 Decision on flagged Assumption, 1 supported ValidationClaim, 1 unsupported ValidationClaim. One test asserting Q-006 / Q-009 / Q-011 return exactly the expected members. - The four "pillar" queries (Q-001, Q-005, Q-006, Q-017) already work per Codex's 2026-04-22 audit. V1-A does NOT re-implement them — V1-A verifies them on seeded data. **Acceptance:** Q-001 subsystem-scoped variant + Q-6 integration test both green. F-2 moves from 🟡 partial to slightly-less-partial. **Estimated tests added:** ~4 (not ~12 — V1-A scope shrank after Codex confirmed most queries already work). ## Map of the remaining phases ``` V1-0 ✅ write-time invariants landed 2026-04-22 (2712c5d) ↓ V1-A 🟡 minimum query slice gated on soak + density (~1.5d when started) ↓ V1-B KB-CAD/KB-FEM ingest + D-2 ~2d ↓ V1-C close 8 remaining queries ~2d ↓ V1-D full mirror + determinism ~3-4d (biggest phase) ↓ V1-E graduation + trust tests ~3-4d (pauses for multi-model triage) ↓ V1-F F-5 generalization + ops + docs ~3d — V1 done ``` ## Parallel work that can run WITHOUT touching V1 These are genuinely disjoint surfaces; pick any of them during the gate pause or as scheduling allows: - **Density batch-extract** — *required* to unblock V1-A. Not optional. - **p04-constraints harness fix** — retrieval-ranking change, fully disjoint from entities. Safe to do anywhere in the V1 track. - **Multi-model triage (Phase 11 entry)** — memory-side work, disjoint from V1-A/B/C/D. **Pause before V1-E starts** because V1-E touches memory module semantics. ## What NOT to do - Don't start V1-A until both gates are green. - Don't touch the memory extractor write path while V1-E is open. - Don't name the rejected "Minions" plan in any doc — neutral wording only ("queued background processing / async workers") per Codex sign-off. - Don't rename the `project` field to `project_id` — Codex + Antoine agreed it stays as `project`, with a doc note in `engineering-ontology-v1.md` that this IS the project_id per spec. ## Open review findings | id | severity | summary | status | |---|---|---|---| | R14 | P2 | `POST /entities/{id}/promote` returns 500 on V1-0 `ValueError` instead of 400 | fixed on branch `claude/r14-promote-400`, pending Codex review | Closed V1-0 findings: P1 "promote path allows provenance-less legacy candidates" (service.py:365-379), P1 "supersede path missing F-5 hook" (service.py:581-591), P2 "`--invalidate-instead` backfill too broad" (v1_0_backfill_provenance.py:52-63). All three patched and approved in the squash-merge to `2712c5d`. ## How agreement between Claude + Codex has worked so far Three review rounds before V1-0 started + three during implementation: 1. **Rejection round.** Claude drafted a gbrain-inspired "Phase 8 Minions + typed edges" plan; Codex rejected as wrong-packaging. Record: `docs/decisions/2026-04-22-gbrain-plan-rejection.md`. 2. **Completion-plan rewrite.** Claude rewrote against `engineering-v1-acceptance.md`. Codex first-round review fixed the phase order (provenance-first). 3. **Per-file audit.** Codex's second-round audit found F-1 / F-2 / F-5 gaps, all folded in. 4. **Sign-off round.** Codex's third-round review resolved the five remaining open questions inline and signed off: *"with those edits, I'd sign off on the five questions."* 5. **V1-0 review.** Codex found two P1 gaps (promote re-check missing, supersede hook missing) + one P2 (backfill scope too broad). All three patched. Codex re-ran probes + regression suites, approved, squash-merged. 6. **V1-0 deploy + prod backfill.** Codex deployed + ran backfill, logged R14 as P2 residual. Protocol has been: Claude writes, Codex audits, human Antoine ratifies. Continue this for V1-A onward. ## References - `docs/plans/engineering-v1-completion-plan.md` — full 7-phase plan - `docs/decisions/2026-04-22-gbrain-plan-rejection.md` — prior rejection - `docs/architecture/engineering-ontology-v1.md` — V1 ontology (18 predicates) - `docs/architecture/engineering-query-catalog.md` — Q-001 through Q-020 spec - `docs/architecture/engineering-v1-acceptance.md` — F/Q/O/D acceptance table - `docs/architecture/promotion-rules.md` — candidate → active flow - `docs/architecture/conflict-model.md` — F-5 spec - `docs/architecture/human-mirror-rules.md` — V1-D spec - `docs/architecture/memory-vs-entities.md` — V1-E spec - `docs/architecture/tool-handoff-boundaries.md` — V1-B KB-CAD/KB-FEM - `docs/master-plan-status.md` — Now / Active / Next / Later - `DEV-LEDGER.md` — Orientation + Open Review Findings + Session Log