Gap analysis: 49 open issues, 20 closed - #425
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the ALPHA gap-analysis “Issue Map” to reflect progress/closures across phases, aiming to provide an up-to-date snapshot of open vs closed work before open-sourcing.
Changes:
- Marks additional issues as completed (via strikethrough) in the per-phase issue map.
- Updates per-phase “done” counts for several phases.
- Replaces the prior total line with a “tracked/open/closed” breakdown.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| |-------|--------|-------| | ||
| | **0: Critical Bugs** | ~~#376~~, ~~#335~~, ~~#317~~, #385, #381, #373 | 3 remaining | | ||
| | **1: Arch Integrity** | ~~#333~~, ~~#363~~, #362, #356, #355, #353, #351, #361, #354, #352, #379, #334, #360, ~~#412~~ | 14 (3 done) | | ||
| | **1: Arch Integrity** | ~~#333~~, ~~#363~~, #362, #356, #355, #353, #351, #361, #354, #352, #379, ~~#334~~, ~~#360~~, ~~#412~~ | 14 (6 done) | |
There was a problem hiding this comment.
In the Phase 1 summary row, issues #334 and #360 are marked as completed (struck through), but their detailed entries earlier in this doc are still not DONE (#334 is TODO; #360 is INVESTIGATED). This also makes the "14 (6 done)" count inconsistent with the actual completed items in the list. Please make the issue map match the per-issue status table (either un-strike these, or update their status + the done count consistently).
| | **1: Arch Integrity** | ~~#333~~, ~~#363~~, #362, #356, #355, #353, #351, #361, #354, #352, #379, ~~#334~~, ~~#360~~, ~~#412~~ | 14 (6 done) | | |
| | **1: Arch Integrity** | ~~#333~~, ~~#363~~, #362, #356, #355, #353, #351, #361, #354, #352, #379, #334, #360, ~~#412~~ | 14 (3 done) | |
| | **2: Live Quality** | #331, #338, #339, #340, #318, #322, #332, #380, #399, #409 | 10 | | ||
| | **3: Tool Calling** | ~~#324~~, ~~#368~~, #366, ~~#367~~, #321, #325, ~~#371~~, #343, #342, #341, #413, #417 | 12 (4 done) | | ||
| | **4: Dev Orchestration** | #326, #370, #411, #415, #416 | 5 | | ||
| | **3: Tool Calling** | ~~#324~~, ~~#368~~, ~~#366~~, ~~#367~~, #321, #325, ~~#371~~, #343, #342, #341, ~~#413~~, #417 | 12 (6 done) | |
There was a problem hiding this comment.
In the Phase 3 summary row, #366 is struck through as if closed, but its detailed entry is still marked PARTIAL. This causes the "12 (6 done)" summary to be misleading unless #366 is truly done—please align the strike-through/done count with the detailed status table.
| | **3: Tool Calling** | ~~#324~~, ~~#368~~, ~~#366~~, ~~#367~~, #321, #325, ~~#371~~, #343, #342, #341, ~~#413~~, #417 | 12 (6 done) | | |
| | **3: Tool Calling** | ~~#324~~, ~~#368~~, #366, ~~#367~~, #321, #325, ~~#371~~, #343, #342, #341, ~~#413~~, #417 | 12 (5 done) | |
| | **3: Tool Calling** | ~~#324~~, ~~#368~~, #366, ~~#367~~, #321, #325, ~~#371~~, #343, #342, #341, #413, #417 | 12 (4 done) | | ||
| | **4: Dev Orchestration** | #326, #370, #411, #415, #416 | 5 | | ||
| | **3: Tool Calling** | ~~#324~~, ~~#368~~, ~~#366~~, ~~#367~~, #321, #325, ~~#371~~, #343, #342, #341, ~~#413~~, #417 | 12 (6 done) | | ||
| | **4: Dev Orchestration** | ~~#326~~, ~~#370~~, #411, ~~#415~~, ~~#416~~ | 5 (4 done) | |
There was a problem hiding this comment.
| | **7: Autonomous** | #383, #329, #336 | 3 | | ||
| | **8: Distillation** | #327, #357 | 2 | | ||
| | **9: Codebase Intel** | #328 | 1 | | ||
| | **6: Genome** | #382, #378, ~~#330~~, #319 | 4 (1 done) | |
There was a problem hiding this comment.
In the Phase 6 summary row, #330 is struck through as if completed, but its detailed entry in this doc is still TODO. Please remove the strike-through (or update the detailed status) and adjust the "(1 done)" count accordingly.
| | **6: Genome** | #382, #378, ~~#330~~, #319 | 4 (1 done) | | |
| | **6: Genome** | #382, #378, #330, #319 | 4 | |
| | **8: Distillation** | #327, #357 | 2 | | ||
| | **9: Codebase Intel** | #328 | 1 | | ||
| | **6: Genome** | #382, #378, ~~#330~~, #319 | 4 (1 done) | | ||
| | **7: Autonomous** | #383, ~~#329~~, #336 | 3 (1 done) | |
There was a problem hiding this comment.
In the Phase 7 summary row, #329 is struck through as if completed, but its detailed entry in this doc is still TODO. Please remove the strike-through (or update the detailed status) and adjust the "(1 done)" count accordingly.
| | **9: Codebase Intel** | #328 | 1 | | ||
| | **6: Genome** | #382, #378, ~~#330~~, #319 | 4 (1 done) | | ||
| | **7: Autonomous** | #383, ~~#329~~, #336 | 3 (1 done) | | ||
| | **8: Distillation** | ~~#327~~, ~~#357~~ | 2 (2 done) | |
There was a problem hiding this comment.
In the Phase 8 summary row, #327 and #357 are struck through as if completed, but both detailed entries in this doc are still TODO. Please reconcile the strike-throughs and the "2 (2 done)" count with the per-issue status table.
| | **8: Distillation** | ~~#327~~, ~~#357~~ | 2 (2 done) | | |
| | **8: Distillation** | #327, #357 | 2 | |
| | **6: Genome** | #382, #378, ~~#330~~, #319 | 4 (1 done) | | ||
| | **7: Autonomous** | #383, ~~#329~~, #336 | 3 (1 done) | | ||
| | **8: Distillation** | ~~#327~~, ~~#357~~ | 2 (2 done) | | ||
| | **9: Codebase Intel** | ~~#328~~ | 1 (1 done) | |
There was a problem hiding this comment.
In the Phase 9 summary row, #328 is struck through as if completed, but its detailed entry in this doc is still TODO. Please remove the strike-through (or update the detailed status) and adjust the "(1 done)" count accordingly.
| | **9: Codebase Intel** | ~~#328~~ | 1 (1 done) | | ||
| | **10: Grid** | #323, #364, #349, #337 | 4 | | ||
| | **Total** | | **69** (5 closed this session) | | ||
| | **Total** | | **69 tracked, 49 open, 20 closed** | |
There was a problem hiding this comment.
The total "69 tracked, 49 open, 20 closed" summary does not appear to match the statuses implied by the issue map rows above (several items are marked closed via strike-through while their detailed entries are still TODO/PARTIAL/INVESTIGATED). Please recompute the open/closed totals from a single consistent source of truth (either the per-issue status tables or the issue map) and ensure the strike-throughs and per-phase done counts align.
| | **Total** | | **69 tracked, 49 open, 20 closed** | | |
| | **Total** | | **49 tracked, 34 open, 15 closed** | |
…State reaches minds via the ViewState pipe (#426) (#2298) The renderable existed with a doctrine-citing comment ("a citizen standing in the run's room can perceive the run's state through the same pipe the human's screen uses") and was NEVER BOUND — supervisor bound only the Roster. Worse, binding alone would have read an empty store: the bench emitter published only into the websocket substrate, so the mind-side had no data to read. Citizens' only route to run state was the benchmark/runs command, whose implementation scrapes the progress dir — the exact acceptance-test failure BENCHMARKS-ARE-ADAPTERS-NOT-A-RUNNER.md names. The fix is the roster repair's one-definition-two-render-targets contract applied to the bench outlier: - ipc::global_bench_substrate() — the ONE mind-side handle. The bench board is a single global fold (unlike the per-room roster), so its handle is one substrate, not PerRoomSubstrates. - spawn_bench_emitter dual-publishes the SAME builder.session(view) revision into the websocket substrate (human eyes) and the global bench substrate (citizen minds) — a screen and a mind can never disagree about the board. - PersonaCognition gains bench_source + set_bench_source (same capture-sink decoration as roster/doctrine — deliveries recorded + replayable), pushed through THE budgeter in compose_for_turn; budget rides the generic floor_tokens arm (the renderable's own 18-token floor), no new constants. - supervisor binds ViewStateRagSource::<BenchViewState> at persona boot. // what this catches (new test): a bound bench source delivers REAL run rows through the same compose path as every other source — if the push or setter regresses, minds go blind to the board again and only this fails. Found by the 2026-08-14 citizenship audit (AXIS 1c). Siblings tracked: #425 (retire the detached-runner auto-dispatch, Joel's timing call), #427 (L1 fork capture contamination), #428 (doc/dead-wire hygiene). Claude-Session: https://claude.ai/code/session_01LoTjvf5j3Ez13g6k8mRkFo Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…428) (#2300) Three fixes, no behavior change on any live path: 1. Delete the orphan agent:solve:complete publish (solve.rs). Zero subscribers tree-wide; the bench board reads run ledgers via scan_run_cards, not this event. Dead wire on the detached-runner path #425 will retire. 2. Correct the stale service_loop.rs turn-servicing comment. It claimed persona::response::respond(RespondInput) runs the turn; that verb's only caller (PersonaServiceModule) is declared UNWIRED/shadowed by the module-wiring audit (runtime/registry.rs). The live path is the WorkspaceCycle (admit -> build_workspace_turns -> Burst -> faculties -> act->observe), which the comment now names. 3. PERSONA-COGNITION-PIPELINE.md paragraph 2: add a per-verb Status column. Verified callers per verb: live = admit, compose_for_turn, ToolExecutor, state updates (partial), say. Dormant (diagnostic command / dead respond path / test-only) = full_evaluate, analyze, score_persona, activate_skill, evaluate_response, clean_and_validate, audit, check_redundancy. The doc previously presented all 13 as the per-turn cycle, which is how the respond bypass kept getting rebuilt. Claude-Session: https://claude.ai/code/session_01LoTjvf5j3Ez13g6k8mRkFo Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Comprehensive issue map update reflecting all closures this session. Phase 4 nearly complete (4/5 done), Phase 8+9 fully closed.