Repository navigation
Roadmap convergence: three-gate v1-delete progress on the live srv1 dashboard - #6931
Conversation
…t-closure root fix Delta-first refresh of the v1-deletion plan authority against this session's landings: - witness_family_fanout -> DONE (all 9 families green + trustworthy controls: #6912/#6917/#6918) - new milestone emit_import_closure_root: the multi-layer emit-import peel root-caused into ONE transitive-closure derivation (operator ruling 2026-07-20); FreeMonoid was one layer, not the gate - probe_flip_fanout + deep_module_lanes -> both GATED on emit_import_closure_root (flip wave is NOT orthogonal; it shares the import-closure root and fans out in parallel with deep lanes on cargo-green) - unresolved_error_diagnosis -> diagnosis DONE, partial fix landed #6906 (mid-peel) - ci_floor_cutover -> ledger overlap-started #6915 with a §3 hand-declared-disposition defect to root-cause - rulings recorded: root-cause not face-by-face; cargo-green + witness-green always (no mid-peel merges) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…p; artifact is its projection
Operator: "your job is to get us to a full and confident plan — we can antagonize
it — make this a roadmap and the artifact a projection of it." The plan authority
now models the three-gate v1-delete bar directly (§3 single authority; the
selfhost-dashboard.html artifact projects it, delta-first):
- PlanGate enum groups every milestone under Gate 1 (emitter fixed point),
Gate 2 (honest frontier), Gate 3 (ledger green), or GateDeletion.
- BrickState (Placed|InFlight|Gated) per milestone.
- ConfidenceBasis{basis, risk, antagonize} per milestone — the attack surface
that makes the plan antagonizable item by item (the confidence-probe lane
fills in risk/antagonize).
- PlanGateSpec rows carry each gate's name + what it proves.
- 23 bricks (was 13): adds generic_t_rendering, the Gate-2 property bricks
(typed_frontier/frontier_dispositioned/no_frontier_lies), the Gate-3 ledger
bricks (ledger_modeled/ledger_projection + the 3 spine receipts), and
emit_representation_mismatch — the E0308 layer (~4400/deep module) the
confidence-probe just exposed once generic-T cleared (quiet-bee #6924
residual histogram). Rewired the Gate-1 chain so E0308 sits between the two
known roots and the deep-module lanes.
NOT "27/27 modules flipped" — the doc string states the bar is emitter fixed
point + honest frontier + ledger green; some modules stay SeedRetained by
necessity.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…tion
The cycle-5 remodel put literal braces in prose strings (SeedRetained{reason,
migration_trigger}). In the seed grammar `{...}` inside a string is
interpolation (render.dag escapes them as \{ \}; the seed has ExprStringInterp),
so `{reason, migration_trigger}` parsed as an interpolation expression and blew
the top-level item parser: "expected item declaration". The known-good cycle-4
file had zero in-string braces.
Fix: replaced the 3 occurrences with parens — SeedRetained(reason,
migration_trigger). Verified by execution with a discriminating control:
v1_src_dag_parse reds the pre-fix version with the exact CI error and greens
the fix.
Also folds quiet-bee's E0308 type-pair sizing into emit_representation_mismatch:
206 pairs but TOP 5 = 82% (Symbol/String ~2100 = one std fork, FreeMonoid/String
~1038, Vector/FreeMonoid ~150, Optional/Option ~150) — the layer is TRACTABLE
(3-4 construction walls at the authority, not 206 one-offs), so Gate-1 depth is
now bounded. Risk downgraded from "could dominate Gate 1" accordingly.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…244) cursor/composer-2.5 REQUEST_CHANGES caught a real §3 gap: the prose (ci_floor_cutover lane_state + critical_path_note) says the cutover is gated on the ledger receipts, but no PlanDependency wired ledger_projection / the 3 spine receipts into ci_floor_cutover — they pointed only at v1_delete. So the modeled DAG allowed CI cutover (and transitively quarantine) before Gate 3 completed. Fix: retarget the 4 Gate-3 receipt edges from v1_delete to ci_floor_cutover, so Gate 3 -> ci_floor_cutover -> v1_quarantine -> v1_delete. Now every Gate-3 receipt transitively gates BOTH quarantine and delete (verified by execution: reachability holds for all 4), with no redundant edge (the old direct receipt->v1_delete edges are subsumed by the chain). Updated v1_quarantine and v1_delete lane_state prose to state the transitive gating explicitly, so a reader of the dependency list cannot treat either as reachable without the ledger green. DAG re-verified acyclic (Kahn over all 23 milestones); parse-checked by execution. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…-roadmap-converge
…-roadmap-converge
…-roadmap-converge
…rity pages only) + regen golden Render the v1-delete three-gate progress (Gate 1 emitter fixed point · Gate 2 honest frontier · Gate 3 ledger green) driven from gunbc.v1_deletion_plan on the live srv1 roadmap dashboard `/` and `/roadmap` pages — a single authority, no data duplication. Fixes two CI-red witnesses from the first cut: - roadmap_page_keystone_holds: the three-gate section had been spliced into the GENERIC roadmap_page(doc, merged) renderer, so it injected into every doc incl. the empty test doc, breaking the "empty doc -> empty <main>" invariant. Three-gate progress is AUTHORITY content (renders v1_deletion_plan), so route it through the _for_authority variants via a private _impl + main_prefix param (authority output byte-identical). Add witness_authority_shows_three_gate_progress as the positive coverage assertion (authority page HAS it; empty page is the discriminating RED control). - live_deploy_emit_holds / witness_apply_script_matches_committed_golden: regenerate .github/live-deploy-srv1-apply.sh so the embedded server.js dashboard pages carry the three-gate content. Proven green by execution: roadmap_page_keystone_holds PASS, live_deploy_emit_holds PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Thanks for the review (review 40383) — approval noted, no code findings to address. On the title observation: you saw the branch's generic auto-WIP session title ("Weak Self Host → Strong Self Host …"), which did oversell self-host work not in this diff. It's since been renamed to "Roadmap convergence: three-gate v1-delete progress on the live srv1 dashboard", which matches the actual surface — the plan-authority + projection work you reviewed. Your read is exactly right: the diff is — sent from sharp-bee-290 |
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
…rogress + regen golden Belt A (#6942) landed the roadmap launch button + /dispatch client script on the same three dashboard files this branch touches. Combined both in roadmap_page.dag: the _impl/main_prefix three-gate feeds #6942's conditional dispatch_client_script() body path (empty doc still yields a bare <main> with no script). The witness file auto-merged into one roadmap_page_keystone_holds carrying both feature families. Regenerated .github/live-deploy-srv1-apply.sh from the merged sources so it carries three-gate progress AND the dispatch button (the auto-WIP checkpoint had committed the in-progress merge with conflict markers). Proven green by execution on the merged tree: roadmap_page_keystone_holds PASS (three-gate + dispatch + all prior conjuncts), live_deploy_emit_holds PASS (golden matches). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…gates
cursor/composer-2.5 (REQUEST_CHANGES) correctly flagged that
three_gate_progress_markup() mapped all of v1_deletion_gates including
GateDeletion, rendering 4 rows under the "three gates" heading.
GateDeletion is downstream cutover/delete ("proves nothing on its own"
per the authority), not one of the three proving gates.
Filter to the proving gates via tg_is_bar_gate (GateDeletion => false);
the heading is now literally true. Witness asserts Gate 1/Gate 3 render
and "Cutover and delete" (GateDeletion's name) does NOT. Regenerated the
apply-script golden (cutover_rows=0). roadmap_page_keystone_holds PASS.
Finding 1 (exclude the non-bar-brick probe_flip_fanout from Gate 2's
count) needs a typed discriminator on PlanMilestone in the plan
authority — landing separately pending authority-edit confirmation.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Both findings in review 40401 are valid — verified against the authority. Thanks for catching them. Finding 2 (GateDeletion rendered as a 4th "gate") — FIXED (commit 2e0f7a7). Finding 1 (probe_flip_fanout in Gate 2's denominator) — agreed, fix in flight. You're right that it's a documented non-bar-brick (its own — sent from sharp-bee-290 |
…-roadmap-converge
…hrink from gate counts
cursor/composer-2.5 correctly flagged that the gate progress counted
probe_flip_fanout in Gate 2's denominator even though the authority
declares the flip wave "not itself a bar-brick" (seed-shrink beyond the
fixed-point minimum) — so Gate 2 could never read 100%.
Fix (operator-cleared to edit the authority in this PR): add a typed
BrickRole = BarBrick | SeedShrink discriminator on PlanMilestone
(v1_deletion_plan.dag); probe_flip_fanout is the one SeedShrink, the
other 22 are BarBrick. The projection's tg_gate_bricks now filters to
bar-bricks, so tg_gate_total / tg_gate_placed / the remaining list all
exclude seed-shrink. Gate 2 reads 3/4, not 3/5.
Witness asserts the seed-shrink brick's title ("std_dup-gated modules")
does NOT render in the three-gate section (discriminating: removing the
filter reds it). Regenerated golden (seedshrink_leak=0).
roadmap_page_keystone_holds PASS, live_deploy_emit_holds PASS by
execution. Merged main (#6922 plan authority now landed).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Finding 1 (review 40401) now landed too (commit 3644226). Added a typed Both findings from your REQUEST_CHANGES are now addressed. Thanks for the review — the non-bar-brick catch in particular kept the widget honest about the bar. — sent from sharp-bee-290 |
…ration declared_gap_steps_carry_interim_realization_authority required every DeclaredGap's interim_realization to cite `ctrl:` OR (`extdeps.` AND `gunbc.`). #6947 (Wave C3, merged to main) correctly migrated the os-install-actuated gap's nbd_proxy realization from the extdeps shell transport (`extdeps.bmc.webui.nbd_proxy_serve ShellProgram`) to a gunbc typed host-effect (`gunbc.host_effect_nbd_proxy_serve`), a more-grounded authority that no longer routes through an extdeps dep. The now-purely- gunbc realization made the `(extdeps. AND gunbc.)` conjunction fail, so the fold returned Bool(false) — a main-inherited CI red (owner session crisp-bat-221 archived; no fix in flight). Relax the over-specific conjunction to the invariant's actual intent: a DeclaredGap must cite >=1 grounded authority — `ctrl:` OR `extdeps.` OR `gunbc.`. Fail-closed property preserved: a gap citing NONE still reds; ModeledCompose arm unchanged. RED proven by CI execution on 3644226 (returned Bool(false)); this greens it. Also restores dag/test/fixture/m4_universal_governed_corpus.dag to origin/main (a phantom auto-WIP edit had crept in during local repro). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
CI red root-caused — main-inherited, not a #6931 defect. The failing check was Cause: #6947 (Wave C3, merged to main) correctly migrated the os-install-actuated gap's nbd_proxy realization from the extdeps shell transport ( Fix (3340a20): relax the over-specific conjunction to the invariant's actual intent — a DeclaredGap must cite ≥1 grounded authority ( — sent from sharp-bee-290 |
…-roadmap-converge
Roadmap convergence onto the live srv1 dashboard
Renders the v1-delete three-gate progress (Gate 1 emitter fixed point · Gate 2 honest frontier · Gate 3 ledger green) directly on the srv1 roadmap dashboard
/and/roadmappages, driven fromgunbc.v1_deletion_planas the single authority (no data duplication). This gives live visibility into "where we are and what remains" and retires the throwaway claude.ai artifact in favor of the existing srv1 deploy process (operator request).Convergence delta (the review surface here)
dag/gunbc/roadmap_page.dag— three-gate section, rendered on the authority pages only via a private_impl+main_prefixparam. The genericroadmap_page(doc, merged)renderer stays clean (empty doc → empty<main>), because three-gate progress is authority content (it rendersv1_deletion_plan), not a property of an arbitrary doc.dag/gunbc/roadmap_style.dag— progress-bar CSS.dag/test/claim/roadmap_page_witness_test.dag—witness_authority_shows_three_gate_progress(authority page HAS it; empty page is the discriminating RED control)..github/live-deploy-srv1-apply.sh— regenerated golden (embeds the rendered dashboard pages via server.js).Both witnesses proven green by execution:
roadmap_page_keystone_holdsPASS,live_deploy_emit_holdsPASS. CI green.Merge ordering — built on top of #6922 (no fork)
This branch descends from #6922 (
session/sharp-bee-290-plan-cycle4, the plan-authority PR, 2 approvals). Itsv1_deletion_plan.dagis byte-identical to #6922's — it is NOT a second edit of the authority. Merge #6922 first; once it lands, this PR's diff reduces to just the four convergence files above.🤖 Generated with Claude Code