Repository navigation
Roadmap reset: two pillars (get off v1 · own the compute fabric) + floor/audit + shelf - #6110
Conversation
- §2 posture: required CI back on the fleet (#6111 revert; Ubicloud detour bought no wall-clock — serial compile-clean wall dominates); milestones updated; fleet-return group becomes fleet-hardening (the return happened ungated, the gates are now owed). - New: 2-compile-clean-serial (the ~47min width-immune dominant cost + its three levers), 2-runner-shape (operator 1:3 core:GiB + swap slot contract), cap-deconflation corrected (width=9 was live by construction; the deferred item was only the concept rename), CD-transport reframed post-revert, G4 gains the dup-run + lingering in_progress evidence. - §3 audit: 3-audit-artifact-freshness (operator freshness-gate ask; the .gitignore landed-drift incident as the RED receipt, closes via the merge-admission freshness block) and 3-audit-gate-disagreement (compile-clean green while discovery red on the same tree — the extdeps.shell collision; one tree, one verdict). - §1 5-defork gains the live evidence line (the shell fork kept main red). Witnesses re-targeted in lockstep; verified by execution: main_wet regen, drift gate, roadmap_authority_witnesses, doc-graph orphans+dangling all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…d MVP
Applies the operator's three directives in one lockstep batch:
1. Roadmap-review blockers:
- Ubicloud tone: detour was the diagnostic + emergency valve, not a
failure; stays the break-glass/burst option.
- CD transport reframed as target-host proof (LocalShell valid only
when runner identity proves host=srv1), not Ubicloud-specific.
- v1-collapse dependency edges now REAL: roadmap_spawner readiness is
all-parents (node_dep_done folds every edge, not the first), with a
RED/GREEN multi-parent witness; 5-collapse-v1 gains edges from
dissolve-patches, test-migration, seed-honesty, defork.
- workload-class admission model + cap/admission de-conflation (three
facts, one knob today) + sound host admission (Guaranteed vs Burst
with Σ-accounting receipts) + live host read seam as first-class
nodes; G1 stale "dormant on Ubicloud" conditional fixed (cursor
review finding on #6110).
- Floor group renamed: throughput — reduce work, then schedule it.
- Shelf: privacy/isolation model + structural correctness walls.
2. Fabric dispatch design (operator-signed): core design rule prose
(ProviderOffer adapter / RunShape→Allocation→Receipt / strict default /
oversubscription earned by receipts), StrictLease Policy 0, CI shape
labels (runs-on as a projection; runner availability is backpressure),
ProviderOffer rows + dormant-Ubicloud design-break probe, BurstLease
Policy 1; TERMINAL reworded to "required CI runs on the compute
fabric"; converge re-land gains the narrow srv2 first-acceptance case;
ordering prose ①–⑩.
3. Stateless frontend MVP on fabric: first non-CI product-shaped
consumer (SiteArtifact/WebServiceShape/DomainRoute/ServiceAllocation,
manual DNS, digest-proving receipt, milestones A/B), service
allocation receipt under control plane, fabric-hostable rule prose,
shelf HTML line scoped.
Verified by execution: main_wet regen, drift gate, roadmap_authority
witnesses (new fabric pins + updated interleaving neighbor), spawner
witnesses (incl. new all-parents RED control), doc-graph orphans +
dangling links — all PASS.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Both findings addressed in the latest commit. One mechanism correction on finding 1: — sent from sunny-newt-884 |
…tion fix
Operator ask: a small utility returning the active/needed work items to
dispatch from the roadmap (frontend/visualization seam, useful now).
- gunbc.roadmap_spawner gains roadmap_dispatch_json (single authority
for spawn semantics): {ready (full node rows), upcoming (node +
unmet_parents), done}. node_json also emits parent_node_ids (all
parents — folds in claude's non-blocking #6110 finding; single
parent_node_id kept for bridge back-compat). json_escape now escapes
newlines (latent invalid-JSON bug, witnessed).
- dsl/tools/roadmap_dispatch.dag: `claim_batch --source-root dsl
--entry dsl/tools/roadmap_dispatch.dag --function main --wet` writes
target/roadmap-dispatch.json (schema roadmap-dispatch-file/v1, embeds
the M0-M3 worker-brief template).
- First-receipt splits per operator dispatch review:
1-resolver-pathology → -a (profile receipt only) / -b (fix one
confirmed pathology, edge b←a); 2-live-read-runner-memory as the
first slice of the read seam (seam gated on it); 2-privilege-model
sized with RED/green acceptance.
- Edge-direction fix (operator structural concern): 2-converge-reland
now DEPENDS ON 2-live-read-seam + 2-privilege-model (was inverted:
privilege as converge's child); umbrella g2-runner edge removed so it
cannot gate; periodic-actuation ← converge kept.
Verified by execution: spawner witnesses (new dispatch-partition +
newline-escape RED controls), authority witnesses, main_wet regen,
drift gate, doc-graph — PASS; utility run produces valid JSON with 11
ready / 4 gated, gates matching the signed ordering.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…dard-16-arm) (#6107)" (#6111) Operator directive: put CI back on srv1/srv2. The ubicloud move bought no wall-clock — the dominant cost is the serial batch-1 dsl_compile_clean_gate (~47min, 1 node / 1 resolve-group, spawn_width-immune), so a dedicated 16-vCPU VM runs the same ~50min as the fleet. No use renting VMs for it; the real levers (affected-set-scoped compile-clean, cross-run resolve memoization, sharding the gate) are tracked on the roadmap (#6110 §2). Full revert of the #6107 bundle (spec + seam witness + $CARGO_HOME cargo path, ci.yml regenerated via main_wet; drift gate + ci_runner_seam_holds PASS by execution). Also heals the pre-existing .gitignore drift (stale srv3 dnsmasq row) — same one-line heal as #6110, merges cleanly either order. Known residual, accepted by operator: fleet sccache flakes / OOM exposure return, and deploy_dashboard_srv1's LocalShell premise ("runner is ON srv1") is only restored when srv1 claims the job — [self-hosted, linux, arm64] can land on srv2 (wrong-host deploy risk; tracked as 2-cd-transport + G1 placement on the roadmap). Co-authored-by: Brian Searls <briansrls@gunb.ai> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…owned Operator go-ahead post-merge of #6110/#6111/#6112. 2-compile-clean-shard-a (partition boundary + ONE shard + compose proof, no scheduler enrollment) dispatched as adhoc-3e95c046-279 and marked owned; 2-compile-clean-shard-b (floor-plan enrollment + before/after batch-1 wall receipt) gated on A. Verified: regen, drift gate, authority + spawner witnesses PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* WIP: fable * WIP: fable * WIP: fable * WIP: fable * Roadmap: fold in operator directives + 2026-07-01 live findings - §2 posture: required CI back on the fleet (#6111 revert; Ubicloud detour bought no wall-clock — serial compile-clean wall dominates); milestones updated; fleet-return group becomes fleet-hardening (the return happened ungated, the gates are now owed). - New: 2-compile-clean-serial (the ~47min width-immune dominant cost + its three levers), 2-runner-shape (operator 1:3 core:GiB + swap slot contract), cap-deconflation corrected (width=9 was live by construction; the deferred item was only the concept rename), CD-transport reframed post-revert, G4 gains the dup-run + lingering in_progress evidence. - §3 audit: 3-audit-artifact-freshness (operator freshness-gate ask; the .gitignore landed-drift incident as the RED receipt, closes via the merge-admission freshness block) and 3-audit-gate-disagreement (compile-clean green while discovery red on the same tree — the extdeps.shell collision; one tree, one verdict). - §1 5-defork gains the live evidence line (the shell fork kept main red). Witnesses re-targeted in lockstep; verified by execution: main_wet regen, drift gate, roadmap_authority_witnesses, doc-graph orphans+dangling all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap: operator review + fabric dispatch design + stateless-frontend MVP Applies the operator's three directives in one lockstep batch: 1. Roadmap-review blockers: - Ubicloud tone: detour was the diagnostic + emergency valve, not a failure; stays the break-glass/burst option. - CD transport reframed as target-host proof (LocalShell valid only when runner identity proves host=srv1), not Ubicloud-specific. - v1-collapse dependency edges now REAL: roadmap_spawner readiness is all-parents (node_dep_done folds every edge, not the first), with a RED/GREEN multi-parent witness; 5-collapse-v1 gains edges from dissolve-patches, test-migration, seed-honesty, defork. - workload-class admission model + cap/admission de-conflation (three facts, one knob today) + sound host admission (Guaranteed vs Burst with Σ-accounting receipts) + live host read seam as first-class nodes; G1 stale "dormant on Ubicloud" conditional fixed (cursor review finding on #6110). - Floor group renamed: throughput — reduce work, then schedule it. - Shelf: privacy/isolation model + structural correctness walls. 2. Fabric dispatch design (operator-signed): core design rule prose (ProviderOffer adapter / RunShape→Allocation→Receipt / strict default / oversubscription earned by receipts), StrictLease Policy 0, CI shape labels (runs-on as a projection; runner availability is backpressure), ProviderOffer rows + dormant-Ubicloud design-break probe, BurstLease Policy 1; TERMINAL reworded to "required CI runs on the compute fabric"; converge re-land gains the narrow srv2 first-acceptance case; ordering prose ①–⑩. 3. Stateless frontend MVP on fabric: first non-CI product-shaped consumer (SiteArtifact/WebServiceShape/DomainRoute/ServiceAllocation, manual DNS, digest-proving receipt, milestones A/B), service allocation receipt under control plane, fabric-hostable rule prose, shelf HTML line scoped. Verified by execution: main_wet regen, drift gate, roadmap_authority witnesses (new fabric pins + updated interleaving neighbor), spawner witnesses (incl. new all-parents RED control), doc-graph orphans + dangling links — all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * WIP: fable * Roadmap dispatch utility + first-receipt splits + converge edge-direction fix Operator ask: a small utility returning the active/needed work items to dispatch from the roadmap (frontend/visualization seam, useful now). - gunbc.roadmap_spawner gains roadmap_dispatch_json (single authority for spawn semantics): {ready (full node rows), upcoming (node + unmet_parents), done}. node_json also emits parent_node_ids (all parents — folds in claude's non-blocking #6110 finding; single parent_node_id kept for bridge back-compat). json_escape now escapes newlines (latent invalid-JSON bug, witnessed). - dsl/tools/roadmap_dispatch.dag: `claim_batch --source-root dsl --entry dsl/tools/roadmap_dispatch.dag --function main --wet` writes target/roadmap-dispatch.json (schema roadmap-dispatch-file/v1, embeds the M0-M3 worker-brief template). - First-receipt splits per operator dispatch review: 1-resolver-pathology → -a (profile receipt only) / -b (fix one confirmed pathology, edge b←a); 2-live-read-runner-memory as the first slice of the read seam (seam gated on it); 2-privilege-model sized with RED/green acceptance. - Edge-direction fix (operator structural concern): 2-converge-reland now DEPENDS ON 2-live-read-seam + 2-privilege-model (was inverted: privilege as converge's child); umbrella g2-runner edge removed so it cannot gate; periodic-actuation ← converge kept. Verified by execution: spawner witnesses (new dispatch-partition + newline-escape RED controls), authority witnesses, main_wet regen, drift gate, doc-graph — PASS; utility run produces valid JSON with 11 ready / 4 gated, gates matching the signed ordering. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap: dispatch compile-clean shard A (first-receipt split) + mark owned Operator go-ahead post-merge of #6110/#6111/#6112. 2-compile-clean-shard-a (partition boundary + ONE shard + compose proof, no scheduler enrollment) dispatched as adhoc-3e95c046-279 and marked owned; 2-compile-clean-shard-b (floor-plan enrollment + before/after batch-1 wall receipt) gated on A. Verified: regen, drift gate, authority + spawner witnesses PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Brian Searls <briansrls@gunb.ai> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* WIP: fable * WIP: fable * WIP: fable * WIP: fable * Roadmap: fold in operator directives + 2026-07-01 live findings - §2 posture: required CI back on the fleet (#6111 revert; Ubicloud detour bought no wall-clock — serial compile-clean wall dominates); milestones updated; fleet-return group becomes fleet-hardening (the return happened ungated, the gates are now owed). - New: 2-compile-clean-serial (the ~47min width-immune dominant cost + its three levers), 2-runner-shape (operator 1:3 core:GiB + swap slot contract), cap-deconflation corrected (width=9 was live by construction; the deferred item was only the concept rename), CD-transport reframed post-revert, G4 gains the dup-run + lingering in_progress evidence. - §3 audit: 3-audit-artifact-freshness (operator freshness-gate ask; the .gitignore landed-drift incident as the RED receipt, closes via the merge-admission freshness block) and 3-audit-gate-disagreement (compile-clean green while discovery red on the same tree — the extdeps.shell collision; one tree, one verdict). - §1 5-defork gains the live evidence line (the shell fork kept main red). Witnesses re-targeted in lockstep; verified by execution: main_wet regen, drift gate, roadmap_authority_witnesses, doc-graph orphans+dangling all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap: operator review + fabric dispatch design + stateless-frontend MVP Applies the operator's three directives in one lockstep batch: 1. Roadmap-review blockers: - Ubicloud tone: detour was the diagnostic + emergency valve, not a failure; stays the break-glass/burst option. - CD transport reframed as target-host proof (LocalShell valid only when runner identity proves host=srv1), not Ubicloud-specific. - v1-collapse dependency edges now REAL: roadmap_spawner readiness is all-parents (node_dep_done folds every edge, not the first), with a RED/GREEN multi-parent witness; 5-collapse-v1 gains edges from dissolve-patches, test-migration, seed-honesty, defork. - workload-class admission model + cap/admission de-conflation (three facts, one knob today) + sound host admission (Guaranteed vs Burst with Σ-accounting receipts) + live host read seam as first-class nodes; G1 stale "dormant on Ubicloud" conditional fixed (cursor review finding on #6110). - Floor group renamed: throughput — reduce work, then schedule it. - Shelf: privacy/isolation model + structural correctness walls. 2. Fabric dispatch design (operator-signed): core design rule prose (ProviderOffer adapter / RunShape→Allocation→Receipt / strict default / oversubscription earned by receipts), StrictLease Policy 0, CI shape labels (runs-on as a projection; runner availability is backpressure), ProviderOffer rows + dormant-Ubicloud design-break probe, BurstLease Policy 1; TERMINAL reworded to "required CI runs on the compute fabric"; converge re-land gains the narrow srv2 first-acceptance case; ordering prose ①–⑩. 3. Stateless frontend MVP on fabric: first non-CI product-shaped consumer (SiteArtifact/WebServiceShape/DomainRoute/ServiceAllocation, manual DNS, digest-proving receipt, milestones A/B), service allocation receipt under control plane, fabric-hostable rule prose, shelf HTML line scoped. Verified by execution: main_wet regen, drift gate, roadmap_authority witnesses (new fabric pins + updated interleaving neighbor), spawner witnesses (incl. new all-parents RED control), doc-graph orphans + dangling links — all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * WIP: fable * Roadmap dispatch utility + first-receipt splits + converge edge-direction fix Operator ask: a small utility returning the active/needed work items to dispatch from the roadmap (frontend/visualization seam, useful now). - gunbc.roadmap_spawner gains roadmap_dispatch_json (single authority for spawn semantics): {ready (full node rows), upcoming (node + unmet_parents), done}. node_json also emits parent_node_ids (all parents — folds in claude's non-blocking #6110 finding; single parent_node_id kept for bridge back-compat). json_escape now escapes newlines (latent invalid-JSON bug, witnessed). - dsl/tools/roadmap_dispatch.dag: `claim_batch --source-root dsl --entry dsl/tools/roadmap_dispatch.dag --function main --wet` writes target/roadmap-dispatch.json (schema roadmap-dispatch-file/v1, embeds the M0-M3 worker-brief template). - First-receipt splits per operator dispatch review: 1-resolver-pathology → -a (profile receipt only) / -b (fix one confirmed pathology, edge b←a); 2-live-read-runner-memory as the first slice of the read seam (seam gated on it); 2-privilege-model sized with RED/green acceptance. - Edge-direction fix (operator structural concern): 2-converge-reland now DEPENDS ON 2-live-read-seam + 2-privilege-model (was inverted: privilege as converge's child); umbrella g2-runner edge removed so it cannot gate; periodic-actuation ← converge kept. Verified by execution: spawner witnesses (new dispatch-partition + newline-escape RED controls), authority witnesses, main_wet regen, drift gate, doc-graph — PASS; utility run produces valid JSON with 11 ready / 4 gated, gates matching the signed ordering. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap: dispatch compile-clean shard A (first-receipt split) + mark owned Operator go-ahead post-merge of #6110/#6111/#6112. 2-compile-clean-shard-a (partition boundary + ONE shard + compose proof, no scheduler enrollment) dispatched as adhoc-3e95c046-279 and marked owned; 2-compile-clean-shard-b (floor-plan enrollment + before/after batch-1 wall receipt) gated on A. Verified: regen, drift gate, authority + spawner witnesses PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Roadmap: mark 3-audit-gate-inventory done (#6116 merged) #6116 (gate-inventory audit + pilot red-control) merged without flipping its node, unlike #6120 which self-marked. Set done: true to parity with the resolver node — both now render "⏳ awaiting sign-off" (the [x] checkbox is gated on operator sign-off by design, not merge alone). Verified: main_wet regen, drift gate, roadmap_authority_witnesses PASS; dispatch file moves 3-audit-gate-inventory to the done partition. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * Roadmap #6122: drop #6120 duplicate resolver node + heal doc-graph orphan Addresses cursor REQUEST_CHANGES on #6122: - Finding 3 (real): removed 1-resolver-pathology-receipt, a #6120-introduced near-verbatim duplicate of 1-resolver-pathology-a (§2 parallel representation). - Findings 1/2 (drift-heal, not regression): done:true renders "[ ] — ⏳ awaiting sign-off" by design (box = signoff_accepts, not merge); #6120 had committed ROADMAP.md with resolver-A as [x] with no sign-off — that was drift, and the regen heals it to the honest awaiting-sign-off state. - Also heals a pre-existing doc-graph orphan: mechanism-inventory-red-controls.md (#6116) was link-unreachable; attached it to the 3-audit-gate-inventory node via a new with_plan helper (keeps the node sized). Verified: main_wet, drift gate, roadmap_authority_witnesses, doc-graph orphans + dangling links all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap #6122: keep PR scoped — move hostname-converge demo off this branch Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Roadmap #6122: sync main (#6113/#6115/#6118) + mark those 3 merged nodes done The three verification-target PRs merged without self-marking their nodes; central-marker flips 2-cd-transport, 2-live-read-runner-memory, and 2-compile-clean-shard-a to done: true (render 'awaiting sign-off' — operator sign-off stays separate). Drift gate, roadmap witnesses, doc-graph all green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Brian Searls <briansrls@gunb.ai> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* WIP: fable * WIP: fable * WIP: fable * WIP: fable * Roadmap: fold in operator directives + 2026-07-01 live findings - §2 posture: required CI back on the fleet (#6111 revert; Ubicloud detour bought no wall-clock — serial compile-clean wall dominates); milestones updated; fleet-return group becomes fleet-hardening (the return happened ungated, the gates are now owed). - New: 2-compile-clean-serial (the ~47min width-immune dominant cost + its three levers), 2-runner-shape (operator 1:3 core:GiB + swap slot contract), cap-deconflation corrected (width=9 was live by construction; the deferred item was only the concept rename), CD-transport reframed post-revert, G4 gains the dup-run + lingering in_progress evidence. - §3 audit: 3-audit-artifact-freshness (operator freshness-gate ask; the .gitignore landed-drift incident as the RED receipt, closes via the merge-admission freshness block) and 3-audit-gate-disagreement (compile-clean green while discovery red on the same tree — the extdeps.shell collision; one tree, one verdict). - §1 5-defork gains the live evidence line (the shell fork kept main red). Witnesses re-targeted in lockstep; verified by execution: main_wet regen, drift gate, roadmap_authority_witnesses, doc-graph orphans+dangling all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap: operator review + fabric dispatch design + stateless-frontend MVP Applies the operator's three directives in one lockstep batch: 1. Roadmap-review blockers: - Ubicloud tone: detour was the diagnostic + emergency valve, not a failure; stays the break-glass/burst option. - CD transport reframed as target-host proof (LocalShell valid only when runner identity proves host=srv1), not Ubicloud-specific. - v1-collapse dependency edges now REAL: roadmap_spawner readiness is all-parents (node_dep_done folds every edge, not the first), with a RED/GREEN multi-parent witness; 5-collapse-v1 gains edges from dissolve-patches, test-migration, seed-honesty, defork. - workload-class admission model + cap/admission de-conflation (three facts, one knob today) + sound host admission (Guaranteed vs Burst with Σ-accounting receipts) + live host read seam as first-class nodes; G1 stale "dormant on Ubicloud" conditional fixed (cursor review finding on #6110). - Floor group renamed: throughput — reduce work, then schedule it. - Shelf: privacy/isolation model + structural correctness walls. 2. Fabric dispatch design (operator-signed): core design rule prose (ProviderOffer adapter / RunShape→Allocation→Receipt / strict default / oversubscription earned by receipts), StrictLease Policy 0, CI shape labels (runs-on as a projection; runner availability is backpressure), ProviderOffer rows + dormant-Ubicloud design-break probe, BurstLease Policy 1; TERMINAL reworded to "required CI runs on the compute fabric"; converge re-land gains the narrow srv2 first-acceptance case; ordering prose ①–⑩. 3. Stateless frontend MVP on fabric: first non-CI product-shaped consumer (SiteArtifact/WebServiceShape/DomainRoute/ServiceAllocation, manual DNS, digest-proving receipt, milestones A/B), service allocation receipt under control plane, fabric-hostable rule prose, shelf HTML line scoped. Verified by execution: main_wet regen, drift gate, roadmap_authority witnesses (new fabric pins + updated interleaving neighbor), spawner witnesses (incl. new all-parents RED control), doc-graph orphans + dangling links — all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * WIP: fable * Roadmap dispatch utility + first-receipt splits + converge edge-direction fix Operator ask: a small utility returning the active/needed work items to dispatch from the roadmap (frontend/visualization seam, useful now). - gunbc.roadmap_spawner gains roadmap_dispatch_json (single authority for spawn semantics): {ready (full node rows), upcoming (node + unmet_parents), done}. node_json also emits parent_node_ids (all parents — folds in claude's non-blocking #6110 finding; single parent_node_id kept for bridge back-compat). json_escape now escapes newlines (latent invalid-JSON bug, witnessed). - dsl/tools/roadmap_dispatch.dag: `claim_batch --source-root dsl --entry dsl/tools/roadmap_dispatch.dag --function main --wet` writes target/roadmap-dispatch.json (schema roadmap-dispatch-file/v1, embeds the M0-M3 worker-brief template). - First-receipt splits per operator dispatch review: 1-resolver-pathology → -a (profile receipt only) / -b (fix one confirmed pathology, edge b←a); 2-live-read-runner-memory as the first slice of the read seam (seam gated on it); 2-privilege-model sized with RED/green acceptance. - Edge-direction fix (operator structural concern): 2-converge-reland now DEPENDS ON 2-live-read-seam + 2-privilege-model (was inverted: privilege as converge's child); umbrella g2-runner edge removed so it cannot gate; periodic-actuation ← converge kept. Verified by execution: spawner witnesses (new dispatch-partition + newline-escape RED controls), authority witnesses, main_wet regen, drift gate, doc-graph — PASS; utility run produces valid JSON with 11 ready / 4 gated, gates matching the signed ordering. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap: dispatch compile-clean shard A (first-receipt split) + mark owned Operator go-ahead post-merge of #6110/#6111/#6112. 2-compile-clean-shard-a (partition boundary + ONE shard + compose proof, no scheduler enrollment) dispatched as adhoc-3e95c046-279 and marked owned; 2-compile-clean-shard-b (floor-plan enrollment + before/after batch-1 wall receipt) gated on A. Verified: regen, drift gate, authority + spawner witnesses PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Roadmap: mark 3-audit-gate-inventory done (#6116 merged) #6116 (gate-inventory audit + pilot red-control) merged without flipping its node, unlike #6120 which self-marked. Set done: true to parity with the resolver node — both now render "⏳ awaiting sign-off" (the [x] checkbox is gated on operator sign-off by design, not merge alone). Verified: main_wet regen, drift gate, roadmap_authority_witnesses PASS; dispatch file moves 3-audit-gate-inventory to the done partition. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * Roadmap #6122: drop #6120 duplicate resolver node + heal doc-graph orphan Addresses cursor REQUEST_CHANGES on #6122: - Finding 3 (real): removed 1-resolver-pathology-receipt, a #6120-introduced near-verbatim duplicate of 1-resolver-pathology-a (§2 parallel representation). - Findings 1/2 (drift-heal, not regression): done:true renders "[ ] — ⏳ awaiting sign-off" by design (box = signoff_accepts, not merge); #6120 had committed ROADMAP.md with resolver-A as [x] with no sign-off — that was drift, and the regen heals it to the honest awaiting-sign-off state. - Also heals a pre-existing doc-graph orphan: mechanism-inventory-red-controls.md (#6116) was link-unreachable; attached it to the 3-audit-gate-inventory node via a new with_plan helper (keeps the node sized). Verified: main_wet, drift gate, roadmap_authority_witnesses, doc-graph orphans + dangling links all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap #6122: keep PR scoped — move hostname-converge demo off this branch Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Roadmap #6122: sync main (#6113/#6115/#6118) + mark those 3 merged nodes done The three verification-target PRs merged without self-marking their nodes; central-marker flips 2-cd-transport, 2-live-read-runner-memory, and 2-compile-clean-shard-a to done: true (render 'awaiting sign-off' — operator sign-off stays separate). Drift gate, roadmap witnesses, doc-graph all green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable --------- Co-authored-by: Brian Searls <briansrls@gunb.ai> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…emit-partition (#6135) * WIP: fable * WIP: fable * WIP: fable * WIP: fable * Roadmap: fold in operator directives + 2026-07-01 live findings - §2 posture: required CI back on the fleet (#6111 revert; Ubicloud detour bought no wall-clock — serial compile-clean wall dominates); milestones updated; fleet-return group becomes fleet-hardening (the return happened ungated, the gates are now owed). - New: 2-compile-clean-serial (the ~47min width-immune dominant cost + its three levers), 2-runner-shape (operator 1:3 core:GiB + swap slot contract), cap-deconflation corrected (width=9 was live by construction; the deferred item was only the concept rename), CD-transport reframed post-revert, G4 gains the dup-run + lingering in_progress evidence. - §3 audit: 3-audit-artifact-freshness (operator freshness-gate ask; the .gitignore landed-drift incident as the RED receipt, closes via the merge-admission freshness block) and 3-audit-gate-disagreement (compile-clean green while discovery red on the same tree — the extdeps.shell collision; one tree, one verdict). - §1 5-defork gains the live evidence line (the shell fork kept main red). Witnesses re-targeted in lockstep; verified by execution: main_wet regen, drift gate, roadmap_authority_witnesses, doc-graph orphans+dangling all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap: operator review + fabric dispatch design + stateless-frontend MVP Applies the operator's three directives in one lockstep batch: 1. Roadmap-review blockers: - Ubicloud tone: detour was the diagnostic + emergency valve, not a failure; stays the break-glass/burst option. - CD transport reframed as target-host proof (LocalShell valid only when runner identity proves host=srv1), not Ubicloud-specific. - v1-collapse dependency edges now REAL: roadmap_spawner readiness is all-parents (node_dep_done folds every edge, not the first), with a RED/GREEN multi-parent witness; 5-collapse-v1 gains edges from dissolve-patches, test-migration, seed-honesty, defork. - workload-class admission model + cap/admission de-conflation (three facts, one knob today) + sound host admission (Guaranteed vs Burst with Σ-accounting receipts) + live host read seam as first-class nodes; G1 stale "dormant on Ubicloud" conditional fixed (cursor review finding on #6110). - Floor group renamed: throughput — reduce work, then schedule it. - Shelf: privacy/isolation model + structural correctness walls. 2. Fabric dispatch design (operator-signed): core design rule prose (ProviderOffer adapter / RunShape→Allocation→Receipt / strict default / oversubscription earned by receipts), StrictLease Policy 0, CI shape labels (runs-on as a projection; runner availability is backpressure), ProviderOffer rows + dormant-Ubicloud design-break probe, BurstLease Policy 1; TERMINAL reworded to "required CI runs on the compute fabric"; converge re-land gains the narrow srv2 first-acceptance case; ordering prose ①–⑩. 3. Stateless frontend MVP on fabric: first non-CI product-shaped consumer (SiteArtifact/WebServiceShape/DomainRoute/ServiceAllocation, manual DNS, digest-proving receipt, milestones A/B), service allocation receipt under control plane, fabric-hostable rule prose, shelf HTML line scoped. Verified by execution: main_wet regen, drift gate, roadmap_authority witnesses (new fabric pins + updated interleaving neighbor), spawner witnesses (incl. new all-parents RED control), doc-graph orphans + dangling links — all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * WIP: fable * Roadmap dispatch utility + first-receipt splits + converge edge-direction fix Operator ask: a small utility returning the active/needed work items to dispatch from the roadmap (frontend/visualization seam, useful now). - gunbc.roadmap_spawner gains roadmap_dispatch_json (single authority for spawn semantics): {ready (full node rows), upcoming (node + unmet_parents), done}. node_json also emits parent_node_ids (all parents — folds in claude's non-blocking #6110 finding; single parent_node_id kept for bridge back-compat). json_escape now escapes newlines (latent invalid-JSON bug, witnessed). - dsl/tools/roadmap_dispatch.dag: `claim_batch --source-root dsl --entry dsl/tools/roadmap_dispatch.dag --function main --wet` writes target/roadmap-dispatch.json (schema roadmap-dispatch-file/v1, embeds the M0-M3 worker-brief template). - First-receipt splits per operator dispatch review: 1-resolver-pathology → -a (profile receipt only) / -b (fix one confirmed pathology, edge b←a); 2-live-read-runner-memory as the first slice of the read seam (seam gated on it); 2-privilege-model sized with RED/green acceptance. - Edge-direction fix (operator structural concern): 2-converge-reland now DEPENDS ON 2-live-read-seam + 2-privilege-model (was inverted: privilege as converge's child); umbrella g2-runner edge removed so it cannot gate; periodic-actuation ← converge kept. Verified by execution: spawner witnesses (new dispatch-partition + newline-escape RED controls), authority witnesses, main_wet regen, drift gate, doc-graph — PASS; utility run produces valid JSON with 11 ready / 4 gated, gates matching the signed ordering. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap: dispatch compile-clean shard A (first-receipt split) + mark owned Operator go-ahead post-merge of #6110/#6111/#6112. 2-compile-clean-shard-a (partition boundary + ONE shard + compose proof, no scheduler enrollment) dispatched as adhoc-3e95c046-279 and marked owned; 2-compile-clean-shard-b (floor-plan enrollment + before/after batch-1 wall receipt) gated on A. Verified: regen, drift gate, authority + spawner witnesses PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Roadmap: mark 3-audit-gate-inventory done (#6116 merged) #6116 (gate-inventory audit + pilot red-control) merged without flipping its node, unlike #6120 which self-marked. Set done: true to parity with the resolver node — both now render "⏳ awaiting sign-off" (the [x] checkbox is gated on operator sign-off by design, not merge alone). Verified: main_wet regen, drift gate, roadmap_authority_witnesses PASS; dispatch file moves 3-audit-gate-inventory to the done partition. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * Roadmap #6122: drop #6120 duplicate resolver node + heal doc-graph orphan Addresses cursor REQUEST_CHANGES on #6122: - Finding 3 (real): removed 1-resolver-pathology-receipt, a #6120-introduced near-verbatim duplicate of 1-resolver-pathology-a (§2 parallel representation). - Findings 1/2 (drift-heal, not regression): done:true renders "[ ] — ⏳ awaiting sign-off" by design (box = signoff_accepts, not merge); #6120 had committed ROADMAP.md with resolver-A as [x] with no sign-off — that was drift, and the regen heals it to the honest awaiting-sign-off state. - Also heals a pre-existing doc-graph orphan: mechanism-inventory-red-controls.md (#6116) was link-unreachable; attached it to the 3-audit-gate-inventory node via a new with_plan helper (keeps the node sized). Verified: main_wet, drift gate, roadmap_authority_witnesses, doc-graph orphans + dangling links all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap #6122: keep PR scoped — move hostname-converge demo off this branch Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Roadmap #6122: sync main (#6113/#6115/#6118) + mark those 3 merged nodes done The three verification-target PRs merged without self-marking their nodes; central-marker flips 2-cd-transport, 2-live-read-runner-memory, and 2-compile-clean-shard-a to done: true (render 'awaiting sign-off' — operator sign-off stays separate). Drift gate, roadmap witnesses, doc-graph all green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * Roadmap: derive 2-debash-orchestration (#6106) + 5-dual-rep-lens (#6104) done; flip 2-privilege-model (#6114); mark 2-emit-partition dispatched - authored_merged_prs += 6104, 6106 (operator merged both) - 2-privilege-model done: #6114 merged, live receipts on #6123/#6130 wet runs - 2-emit-partition now un-gated and dispatched (adhoc-2040cdfe-46b) - regen ROADMAP.md via generated_artifact_gate main_wet; drift gate + roadmap witnesses PASS Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Brian Searls <briansrls@gunb.ai> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…led GitHub default) (#6154) * WIP: fable * WIP: fable * WIP: fable * WIP: fable * Roadmap: fold in operator directives + 2026-07-01 live findings - §2 posture: required CI back on the fleet (#6111 revert; Ubicloud detour bought no wall-clock — serial compile-clean wall dominates); milestones updated; fleet-return group becomes fleet-hardening (the return happened ungated, the gates are now owed). - New: 2-compile-clean-serial (the ~47min width-immune dominant cost + its three levers), 2-runner-shape (operator 1:3 core:GiB + swap slot contract), cap-deconflation corrected (width=9 was live by construction; the deferred item was only the concept rename), CD-transport reframed post-revert, G4 gains the dup-run + lingering in_progress evidence. - §3 audit: 3-audit-artifact-freshness (operator freshness-gate ask; the .gitignore landed-drift incident as the RED receipt, closes via the merge-admission freshness block) and 3-audit-gate-disagreement (compile-clean green while discovery red on the same tree — the extdeps.shell collision; one tree, one verdict). - §1 5-defork gains the live evidence line (the shell fork kept main red). Witnesses re-targeted in lockstep; verified by execution: main_wet regen, drift gate, roadmap_authority_witnesses, doc-graph orphans+dangling all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap: operator review + fabric dispatch design + stateless-frontend MVP Applies the operator's three directives in one lockstep batch: 1. Roadmap-review blockers: - Ubicloud tone: detour was the diagnostic + emergency valve, not a failure; stays the break-glass/burst option. - CD transport reframed as target-host proof (LocalShell valid only when runner identity proves host=srv1), not Ubicloud-specific. - v1-collapse dependency edges now REAL: roadmap_spawner readiness is all-parents (node_dep_done folds every edge, not the first), with a RED/GREEN multi-parent witness; 5-collapse-v1 gains edges from dissolve-patches, test-migration, seed-honesty, defork. - workload-class admission model + cap/admission de-conflation (three facts, one knob today) + sound host admission (Guaranteed vs Burst with Σ-accounting receipts) + live host read seam as first-class nodes; G1 stale "dormant on Ubicloud" conditional fixed (cursor review finding on #6110). - Floor group renamed: throughput — reduce work, then schedule it. - Shelf: privacy/isolation model + structural correctness walls. 2. Fabric dispatch design (operator-signed): core design rule prose (ProviderOffer adapter / RunShape→Allocation→Receipt / strict default / oversubscription earned by receipts), StrictLease Policy 0, CI shape labels (runs-on as a projection; runner availability is backpressure), ProviderOffer rows + dormant-Ubicloud design-break probe, BurstLease Policy 1; TERMINAL reworded to "required CI runs on the compute fabric"; converge re-land gains the narrow srv2 first-acceptance case; ordering prose ①–⑩. 3. Stateless frontend MVP on fabric: first non-CI product-shaped consumer (SiteArtifact/WebServiceShape/DomainRoute/ServiceAllocation, manual DNS, digest-proving receipt, milestones A/B), service allocation receipt under control plane, fabric-hostable rule prose, shelf HTML line scoped. Verified by execution: main_wet regen, drift gate, roadmap_authority witnesses (new fabric pins + updated interleaving neighbor), spawner witnesses (incl. new all-parents RED control), doc-graph orphans + dangling links — all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * WIP: fable * Roadmap dispatch utility + first-receipt splits + converge edge-direction fix Operator ask: a small utility returning the active/needed work items to dispatch from the roadmap (frontend/visualization seam, useful now). - gunbc.roadmap_spawner gains roadmap_dispatch_json (single authority for spawn semantics): {ready (full node rows), upcoming (node + unmet_parents), done}. node_json also emits parent_node_ids (all parents — folds in claude's non-blocking #6110 finding; single parent_node_id kept for bridge back-compat). json_escape now escapes newlines (latent invalid-JSON bug, witnessed). - dsl/tools/roadmap_dispatch.dag: `claim_batch --source-root dsl --entry dsl/tools/roadmap_dispatch.dag --function main --wet` writes target/roadmap-dispatch.json (schema roadmap-dispatch-file/v1, embeds the M0-M3 worker-brief template). - First-receipt splits per operator dispatch review: 1-resolver-pathology → -a (profile receipt only) / -b (fix one confirmed pathology, edge b←a); 2-live-read-runner-memory as the first slice of the read seam (seam gated on it); 2-privilege-model sized with RED/green acceptance. - Edge-direction fix (operator structural concern): 2-converge-reland now DEPENDS ON 2-live-read-seam + 2-privilege-model (was inverted: privilege as converge's child); umbrella g2-runner edge removed so it cannot gate; periodic-actuation ← converge kept. Verified by execution: spawner witnesses (new dispatch-partition + newline-escape RED controls), authority witnesses, main_wet regen, drift gate, doc-graph — PASS; utility run produces valid JSON with 11 ready / 4 gated, gates matching the signed ordering. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap: dispatch compile-clean shard A (first-receipt split) + mark owned Operator go-ahead post-merge of #6110/#6111/#6112. 2-compile-clean-shard-a (partition boundary + ONE shard + compose proof, no scheduler enrollment) dispatched as adhoc-3e95c046-279 and marked owned; 2-compile-clean-shard-b (floor-plan enrollment + before/after batch-1 wall receipt) gated on A. Verified: regen, drift gate, authority + spawner witnesses PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Roadmap: mark 3-audit-gate-inventory done (#6116 merged) #6116 (gate-inventory audit + pilot red-control) merged without flipping its node, unlike #6120 which self-marked. Set done: true to parity with the resolver node — both now render "⏳ awaiting sign-off" (the [x] checkbox is gated on operator sign-off by design, not merge alone). Verified: main_wet regen, drift gate, roadmap_authority_witnesses PASS; dispatch file moves 3-audit-gate-inventory to the done partition. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * Roadmap #6122: drop #6120 duplicate resolver node + heal doc-graph orphan Addresses cursor REQUEST_CHANGES on #6122: - Finding 3 (real): removed 1-resolver-pathology-receipt, a #6120-introduced near-verbatim duplicate of 1-resolver-pathology-a (§2 parallel representation). - Findings 1/2 (drift-heal, not regression): done:true renders "[ ] — ⏳ awaiting sign-off" by design (box = signoff_accepts, not merge); #6120 had committed ROADMAP.md with resolver-A as [x] with no sign-off — that was drift, and the regen heals it to the honest awaiting-sign-off state. - Also heals a pre-existing doc-graph orphan: mechanism-inventory-red-controls.md (#6116) was link-unreachable; attached it to the 3-audit-gate-inventory node via a new with_plan helper (keeps the node sized). Verified: main_wet, drift gate, roadmap_authority_witnesses, doc-graph orphans + dangling links all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap #6122: keep PR scoped — move hostname-converge demo off this branch Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Roadmap #6122: sync main (#6113/#6115/#6118) + mark those 3 merged nodes done The three verification-target PRs merged without self-marking their nodes; central-marker flips 2-cd-transport, 2-live-read-runner-memory, and 2-compile-clean-shard-a to done: true (render 'awaiting sign-off' — operator sign-off stays separate). Drift gate, roadmap witnesses, doc-graph all green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * Roadmap: derive 2-debash-orchestration (#6106) + 5-dual-rep-lens (#6104) done; flip 2-privilege-model (#6114); mark 2-emit-partition dispatched - authored_merged_prs += 6104, 6106 (operator merged both) - 2-privilege-model done: #6114 merged, live receipts on #6123/#6130 wet runs - 2-emit-partition now un-gated and dispatched (adhoc-2040cdfe-46b) - regen ROADMAP.md via generated_artifact_gate main_wet; drift gate + roadmap witnesses PASS Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * Revert throwaway deploy-principal edits (restore live_deploy/apply + ci_deploy_access to main) The manual-deploy investigation surfaced two real bugs (dash/pipefail + principal fiction) but the fix belongs in the modeled grounded-principal lane, not anemic stopgap strings. Restoring these two files to origin/main clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * CI policy: 30-minute job timeout (workflow layer; GitHub 360min default stays modeled) Operator directive 2026-07-02: a healthy floor is ~9min solo — a job past 30min is pathological and must fail fast + release its runner slot instead of squatting toward the platform ceiling (observed: 6h-timeout jobs holding all 25 fleet slots in a self-sustaining queue deadlock, ~9h single-core claim_executor runs). - gunbc_ci_job_timeout_policy_minutes: Int = 30 (+ Terminal disposition carrying the rationale) - extdeps default_job_timeout_minutes = 360 deliberately unchanged (§3: it faithfully models GitHub's real platform default; policy lives in the workflow layer) - ci.yml regenerated via generated_artifact_gate main_wet; drift gate PASS Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * CI emergency: roll back #6127 width-1 compile-clean sharding (30.9x regression) #6127 (merged 15:08 today) sharded compile-clean into ~1,605 per-module gunbc-compile subprocesses, each re-resolving its full import closure (sum-of-closures ~30.9x the monolith CPU), scheduled at WIDTH 1 because the width fold priced each single-module shard against a stale whole-corpus 4.24GiB RSS sample vs the 8GiB cap. Live regression: 8h57m wall / 8h07m CPU per job on an 87%-idle 128-core box. Pre-regression monolith green runs were 28-96min. Sets the modeled rollback valve GUNBC_CI_COMPILE_CLEAN_WHOLE_TREE=1 on the ci job (env), restoring the whole-tree monolith compile-clean. Authority = the matching v2.workflow valve; rationale on ci_compile_clean_rollback_dissolution_trigger; Scaffold disposition bound, dissolves with the v2 authority once the in-process shard resolve pool lands. ci.yml regenerated via generated_artifact_gate main_wet; drift gate PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * Back out #6127 rollback valve-flip; keep only the 30min timeout policy The GUNBC_CI_COMPILE_CLEAN_WHOLE_TREE valve does NOT cleanly restore a green monolith floor: under the valve, gunbc_ci_floor_schedule_lens_holds() FAILs and batch-0 carries neither shards nor the monolith gate label (verified by execution with claim_batch --wet under GUNBC_CI_COMPILE_CLEAN_WHOLE_TREE=1). The valve looks like a half-exercised scaffold from #6127. Flipping it and patching witnesses to match an unverified plan path would violate DESIGN §5 (ship only what runs green), so this PR keeps only the sound, approved part: - gunbc_ci_job_timeout_policy_minutes = 30 (workflow-layer; GitHub 360 default stays modeled) - disposition text reconciled: 30min is deliberately BELOW today's 28-96min floor — a fail-fast smoke alarm until the resolver single-thread fix lands (verification local meanwhile) The #6127 regression is better addressed by a clean revert of #6127 or a proper fix to the plan's rollback branch (load-bearing floor-plan work) — surfaced to the operator. ci.yml regenerated (timeout-only, no rollback env); drift gate PASS; both shard-b floor witnesses PASS at origin/main state. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Brian Searls <briansrls@gunb.ai> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…#6164) * WIP: fable * WIP: fable * WIP: fable * WIP: fable * Roadmap: fold in operator directives + 2026-07-01 live findings - §2 posture: required CI back on the fleet (#6111 revert; Ubicloud detour bought no wall-clock — serial compile-clean wall dominates); milestones updated; fleet-return group becomes fleet-hardening (the return happened ungated, the gates are now owed). - New: 2-compile-clean-serial (the ~47min width-immune dominant cost + its three levers), 2-runner-shape (operator 1:3 core:GiB + swap slot contract), cap-deconflation corrected (width=9 was live by construction; the deferred item was only the concept rename), CD-transport reframed post-revert, G4 gains the dup-run + lingering in_progress evidence. - §3 audit: 3-audit-artifact-freshness (operator freshness-gate ask; the .gitignore landed-drift incident as the RED receipt, closes via the merge-admission freshness block) and 3-audit-gate-disagreement (compile-clean green while discovery red on the same tree — the extdeps.shell collision; one tree, one verdict). - §1 5-defork gains the live evidence line (the shell fork kept main red). Witnesses re-targeted in lockstep; verified by execution: main_wet regen, drift gate, roadmap_authority_witnesses, doc-graph orphans+dangling all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap: operator review + fabric dispatch design + stateless-frontend MVP Applies the operator's three directives in one lockstep batch: 1. Roadmap-review blockers: - Ubicloud tone: detour was the diagnostic + emergency valve, not a failure; stays the break-glass/burst option. - CD transport reframed as target-host proof (LocalShell valid only when runner identity proves host=srv1), not Ubicloud-specific. - v1-collapse dependency edges now REAL: roadmap_spawner readiness is all-parents (node_dep_done folds every edge, not the first), with a RED/GREEN multi-parent witness; 5-collapse-v1 gains edges from dissolve-patches, test-migration, seed-honesty, defork. - workload-class admission model + cap/admission de-conflation (three facts, one knob today) + sound host admission (Guaranteed vs Burst with Σ-accounting receipts) + live host read seam as first-class nodes; G1 stale "dormant on Ubicloud" conditional fixed (cursor review finding on #6110). - Floor group renamed: throughput — reduce work, then schedule it. - Shelf: privacy/isolation model + structural correctness walls. 2. Fabric dispatch design (operator-signed): core design rule prose (ProviderOffer adapter / RunShape→Allocation→Receipt / strict default / oversubscription earned by receipts), StrictLease Policy 0, CI shape labels (runs-on as a projection; runner availability is backpressure), ProviderOffer rows + dormant-Ubicloud design-break probe, BurstLease Policy 1; TERMINAL reworded to "required CI runs on the compute fabric"; converge re-land gains the narrow srv2 first-acceptance case; ordering prose ①–⑩. 3. Stateless frontend MVP on fabric: first non-CI product-shaped consumer (SiteArtifact/WebServiceShape/DomainRoute/ServiceAllocation, manual DNS, digest-proving receipt, milestones A/B), service allocation receipt under control plane, fabric-hostable rule prose, shelf HTML line scoped. Verified by execution: main_wet regen, drift gate, roadmap_authority witnesses (new fabric pins + updated interleaving neighbor), spawner witnesses (incl. new all-parents RED control), doc-graph orphans + dangling links — all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * WIP: fable * Roadmap dispatch utility + first-receipt splits + converge edge-direction fix Operator ask: a small utility returning the active/needed work items to dispatch from the roadmap (frontend/visualization seam, useful now). - gunbc.roadmap_spawner gains roadmap_dispatch_json (single authority for spawn semantics): {ready (full node rows), upcoming (node + unmet_parents), done}. node_json also emits parent_node_ids (all parents — folds in claude's non-blocking #6110 finding; single parent_node_id kept for bridge back-compat). json_escape now escapes newlines (latent invalid-JSON bug, witnessed). - dsl/tools/roadmap_dispatch.dag: `claim_batch --source-root dsl --entry dsl/tools/roadmap_dispatch.dag --function main --wet` writes target/roadmap-dispatch.json (schema roadmap-dispatch-file/v1, embeds the M0-M3 worker-brief template). - First-receipt splits per operator dispatch review: 1-resolver-pathology → -a (profile receipt only) / -b (fix one confirmed pathology, edge b←a); 2-live-read-runner-memory as the first slice of the read seam (seam gated on it); 2-privilege-model sized with RED/green acceptance. - Edge-direction fix (operator structural concern): 2-converge-reland now DEPENDS ON 2-live-read-seam + 2-privilege-model (was inverted: privilege as converge's child); umbrella g2-runner edge removed so it cannot gate; periodic-actuation ← converge kept. Verified by execution: spawner witnesses (new dispatch-partition + newline-escape RED controls), authority witnesses, main_wet regen, drift gate, doc-graph — PASS; utility run produces valid JSON with 11 ready / 4 gated, gates matching the signed ordering. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap: dispatch compile-clean shard A (first-receipt split) + mark owned Operator go-ahead post-merge of #6110/#6111/#6112. 2-compile-clean-shard-a (partition boundary + ONE shard + compose proof, no scheduler enrollment) dispatched as adhoc-3e95c046-279 and marked owned; 2-compile-clean-shard-b (floor-plan enrollment + before/after batch-1 wall receipt) gated on A. Verified: regen, drift gate, authority + spawner witnesses PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Roadmap: mark 3-audit-gate-inventory done (#6116 merged) #6116 (gate-inventory audit + pilot red-control) merged without flipping its node, unlike #6120 which self-marked. Set done: true to parity with the resolver node — both now render "⏳ awaiting sign-off" (the [x] checkbox is gated on operator sign-off by design, not merge alone). Verified: main_wet regen, drift gate, roadmap_authority_witnesses PASS; dispatch file moves 3-audit-gate-inventory to the done partition. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * Roadmap #6122: drop #6120 duplicate resolver node + heal doc-graph orphan Addresses cursor REQUEST_CHANGES on #6122: - Finding 3 (real): removed 1-resolver-pathology-receipt, a #6120-introduced near-verbatim duplicate of 1-resolver-pathology-a (§2 parallel representation). - Findings 1/2 (drift-heal, not regression): done:true renders "[ ] — ⏳ awaiting sign-off" by design (box = signoff_accepts, not merge); #6120 had committed ROADMAP.md with resolver-A as [x] with no sign-off — that was drift, and the regen heals it to the honest awaiting-sign-off state. - Also heals a pre-existing doc-graph orphan: mechanism-inventory-red-controls.md (#6116) was link-unreachable; attached it to the 3-audit-gate-inventory node via a new with_plan helper (keeps the node sized). Verified: main_wet, drift gate, roadmap_authority_witnesses, doc-graph orphans + dangling links all PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * WIP: fable * Roadmap #6122: keep PR scoped — move hostname-converge demo off this branch Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Roadmap #6122: sync main (#6113/#6115/#6118) + mark those 3 merged nodes done The three verification-target PRs merged without self-marking their nodes; central-marker flips 2-cd-transport, 2-live-read-runner-memory, and 2-compile-clean-shard-a to done: true (render 'awaiting sign-off' — operator sign-off stays separate). Drift gate, roadmap witnesses, doc-graph all green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * Roadmap: derive 2-debash-orchestration (#6106) + 5-dual-rep-lens (#6104) done; flip 2-privilege-model (#6114); mark 2-emit-partition dispatched - authored_merged_prs += 6104, 6106 (operator merged both) - 2-privilege-model done: #6114 merged, live receipts on #6123/#6130 wet runs - 2-emit-partition now un-gated and dispatched (adhoc-2040cdfe-46b) - regen ROADMAP.md via generated_artifact_gate main_wet; drift gate + roadmap witnesses PASS Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * Revert throwaway deploy-principal edits (restore live_deploy/apply + ci_deploy_access to main) The manual-deploy investigation surfaced two real bugs (dash/pipefail + principal fiction) but the fix belongs in the modeled grounded-principal lane, not anemic stopgap strings. Restoring these two files to origin/main clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * CI policy: 30-minute job timeout (workflow layer; GitHub 360min default stays modeled) Operator directive 2026-07-02: a healthy floor is ~9min solo — a job past 30min is pathological and must fail fast + release its runner slot instead of squatting toward the platform ceiling (observed: 6h-timeout jobs holding all 25 fleet slots in a self-sustaining queue deadlock, ~9h single-core claim_executor runs). - gunbc_ci_job_timeout_policy_minutes: Int = 30 (+ Terminal disposition carrying the rationale) - extdeps default_job_timeout_minutes = 360 deliberately unchanged (§3: it faithfully models GitHub's real platform default; policy lives in the workflow layer) - ci.yml regenerated via generated_artifact_gate main_wet; drift gate PASS Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * CI emergency: roll back #6127 width-1 compile-clean sharding (30.9x regression) #6127 (merged 15:08 today) sharded compile-clean into ~1,605 per-module gunbc-compile subprocesses, each re-resolving its full import closure (sum-of-closures ~30.9x the monolith CPU), scheduled at WIDTH 1 because the width fold priced each single-module shard against a stale whole-corpus 4.24GiB RSS sample vs the 8GiB cap. Live regression: 8h57m wall / 8h07m CPU per job on an 87%-idle 128-core box. Pre-regression monolith green runs were 28-96min. Sets the modeled rollback valve GUNBC_CI_COMPILE_CLEAN_WHOLE_TREE=1 on the ci job (env), restoring the whole-tree monolith compile-clean. Authority = the matching v2.workflow valve; rationale on ci_compile_clean_rollback_dissolution_trigger; Scaffold disposition bound, dissolves with the v2 authority once the in-process shard resolve pool lands. ci.yml regenerated via generated_artifact_gate main_wet; drift gate PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * Back out #6127 rollback valve-flip; keep only the 30min timeout policy The GUNBC_CI_COMPILE_CLEAN_WHOLE_TREE valve does NOT cleanly restore a green monolith floor: under the valve, gunbc_ci_floor_schedule_lens_holds() FAILs and batch-0 carries neither shards nor the monolith gate label (verified by execution with claim_batch --wet under GUNBC_CI_COMPILE_CLEAN_WHOLE_TREE=1). The valve looks like a half-exercised scaffold from #6127. Flipping it and patching witnesses to match an unverified plan path would violate DESIGN §5 (ship only what runs green), so this PR keeps only the sound, approved part: - gunbc_ci_job_timeout_policy_minutes = 30 (workflow-layer; GitHub 360 default stays modeled) - disposition text reconciled: 30min is deliberately BELOW today's 28-96min floor — a fail-fast smoke alarm until the resolver single-thread fix lands (verification local meanwhile) The #6127 regression is better addressed by a clean revert of #6127 or a proper fix to the plan's rollback branch (load-bearing floor-plan work) — surfaced to the operator. ci.yml regenerated (timeout-only, no rollback env); drift gate PASS; both shard-b floor witnesses PASS at origin/main state. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * docs: land enforcement-intent governance model (DESIGN thread + ROADMAP §3 node + sketch) Model the operator's recurring standing directives (complexity repo-wide, lenses-must-be-live, self-application, no dual-representation/anemia) as durable StandingIntent rows, gated fail-closed against LensContract + coverage receipts -- "ask once, compile forever". One new authority (StandingIntent); everything else extends existing machinery (LensRegistryEntryV0 -> LensContract; reuse ConstructionJustification / subject_roster; consume intent_linearity / self_applying_lenses for the fractal/self-application layer). Un-shelves the lens-meta-wall lane into ROADMAP §3 with displaced-cost justification (the operator's repeated manual what-is-enforced-by-what-lens-over-what-corpus join). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * docs: enforcement-intent review refinements (consumer/mode/receipt/exemption types + roadmap A-E split) Operator design-review deltas before the model becomes load-bearing: - ConsumerKind / ConsumerRequirement replace the hardwired FloorGate — merge-admission, pre-push, periodic-actuator, deploy-readback are valid consumers (gate leg 4 = consumer_satisfies). - EnforcementMode order (Advisory < AuditOnly < Blocking) modeled with enforcement_mode_satisfies; no overloaded >=. - CoverageReceipt shape added; the gate reads receipts, never self-declared contract claims (a red_control:Present whose receipt is RedControlFailedToFlip still reds). - ScopeSatisfaction / NarrowingReason type the whole-corpus-narrowing path (BootstrapBlocked / TypeReflectionUnavailable / ExternalRuntimeOnly / ExplicitOperatorExemption) — not a stringly hatch. - StandingIntent admission rule (recurring + displaced cost + scoped + mechanism class + receiptable) keeps the carrier from becoming a preference dump. - ROADMAP node split into parent + children A-E with explicit A->B->C-before-object-rules dependency. DESIGN.md entry unchanged (its "mechanism claiming enforcement" wording was already the refinement). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * WIP: fable * docs: fix #6164 review — edit .dag AUTHORITIES not generated artifacts; de-nickname PropertyClass Addresses cursor REQUEST_CHANGES (all three findings valid): - DESIGN.md / ROADMAP.md are EMITTED from gunbc.design_document / gunbc.roadmap_authority. My hand-edits to the generated artifacts were drift (a §3 parallel-representation of the authority, and would fail the generated-artifact drift gate). Moved the enforcement-intent content INTO the authorities (open_threads_blocks li + section_3 node + un-shelve prose) and regenerated (claim_batch main_wet). Drift gate now PASSES: committed == emitted. - Removed the PropertyClass nickname (git-grep empty; a fork of the existing LensIdV0 lens-property coproduct at src/v2/lens/registry.dag:10) — the exact §3 sin this PR argues against. StandingIntent.property now reuses LensIdV0. Fitting that a single-authority PR forked its own authority; caught by review, fixed at the source. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Brian Searls <briansrls@gunb.ai> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Roadmap reset — two pillars + audit (operator-directed, 2026-07-01)
Collapses the roadmap to the operator's three asks: (1) burn down v1 / v2 self-hosts, (2) compute fabric — CI performance + a real, model-owned control plane, (3) an execution-grounded audit of what the existing machinery actually does. Everything else is shelved.
ROADMAP.mdis a generated artifact, so the rewrite lands in its authority (dsl/gunbc/roadmap_authority.dag) with the markdown re-emitted viamain_wet. 291 → 116 lines.New shape
src/v1deleted). Critical path from today's verified state: regen-cutover cadence (latent Route-A cargo-green: re-verify emit-fresh build + sync self-host plan #6099 emitter fixes) → full-roster real fixed point (the Self-host fixpoint REALIZED: N-read fold in .dag, transport emit+manifest, staleness gate, floor+execution tests #6009 gate is interim: real bytes compared for 2 of 92 files) → HAND queue drain (11 files +module_path_index, ~20.6k LOC; lastpatch_*) → de-fork grounding (algebra first — live fail-open at 75 floor entries) → test-migration lane (~71 v1 test modules with no floor equivalent; per-module hard gate) → seed-honesty (DDC) → atomic cutover-delete. Terminal framing corrected to "hand-written compiler logic → 0" (a pinned v2-emitted kernel ~8–15k LOC survives).fleet-converge.shtoo. Plus: floor 26m→<1min lane, cap de-conflation (~9× floor width on Ubicloud), URGENT CD-transport premise fix (LocalShell/"runner is ON srv1" broken by CI: move required runners to Ubicloud standard (ubicloud-standard-16-arm) #6107),apply()Phases B–F, srv3 OsInstalled, fleet return gated on verified-effective caps + SessionSliceEnforcement + OOM consumer..dagregistry untouched; doc-graph reachability stays green.Judgment calls for review
roadmap_next_spawnablesurfaces pillar + audit work; the bridge stays fail-closed paused.src/v1≈ 174k LOC (not 154k); Self-host fixpoint REALIZED: N-read fold in .dag, transport emit+manifest, staleness gate, floor+execution tests #6009 fixpoint gate interim; cargo-green episodic (#[ignore]).5-dual-rep-lens), Provenance ingest at CI floor runtime: make v2.lens.affected_set node-closure LIVE during the floor pass (host_source_root_ingest_manifest currently Empty) so node-level pruning replaces the Rust diff->declaration / node-touch bridge — the blocker for Step 5 full-deletion in docs/plans/affected-set- #6105 (2-provenance-ingest), Migrate orchestration emission to agnostic registry dispatch (de-bash the compiler stage) #6106 (2-debash-orchestration) as derivable nodes — nothing live is orphaned..gitignorehad pre-existing drift vs its authority (srv3 dnsmasq row, stale since srv3 greenfield OS-install: solve-driven NBD-proxy actuator + dissolve BootTargetPxe hardcoding fork + ground ASRock firmware capability catalog (live BMC 192.168.1.192) #6097) —main_wethealed it here; noted as evidence on the §2 merge-admission item.Lockstep changes
dsl/test/claim/roadmap_authority_test.dagre-targeted — same witness classes (frame, group labels, PR-ref derivation, prose interleaving order + order discriminator, merge-perturb box stability) plus new: reset marker, pillar-1 no-overclaim, pillar-2 posture, audit lane present, shelf-uncheckboxed.Verified by execution
run_generated_artifact_drift_gate_bodyPASS post-regen (includes per-artifact perturb red-receipt)roadmap_authority_witnessesPASSdoc_graph_has_no_orphan_docs+doc_graph_has_no_dangling_linksPASSroadmap_gate_witnesses/roadmap_page_keystone_holds/roadmap_frontier_witnesses/roadmap_spawner_witnessesPASS (content-agnostic, unchanged)generated_artifact_drift_witnessesfails under ad-hoc--claim-runwith "hermetic mode: no mock_response for operation Run" — identical failure on origin/main (pre-existing harness/fixture behavior, floor runs it with fixtures; not introduced here)Follow-ups (not this PR)
2-cd-transportimmediately after merge (roadmap-flagged URGENT).docs/plans/v2-self-hosting.md§0 still describes the pre-Self-host fixpoint REALIZED: N-read fold in .dag, transport emit+manifest, staleness gate, floor+execution tests #6009 fixpoint state; its.dagauthority needs a sync PR.3-audit-affected-set.🤖 Generated with Claude Code