Repository navigation
Model gunbc pinned-tree as host_converge ConvergeTarget (spawn SPOF fix) - #5948
Conversation
The last_runner_knob_name fold must ignore the new gunbc pinned-tree knob when locating the terminal runner_count row. Co-authored-by: Cursor <cursoragent@cursor.com>
Add ConvergeApplyMode + ConvergeNoOpPolicy on ConvergeKnob (GunbcPinnedTree is first consumer: skip_when_converged + per-host fresh_standup/srv3 vs existing_host/srv1-srv2). Model GUNBC_ROOT hard pin, DSL defer-to-submodule, and binary provenance (CAS pull steady-state, build_bin_if_absent fallback). Emit refuses blind apply on live-host drift; keen-dove owns drain reload seam. Co-authored-by: Cursor <cursoragent@cursor.com>
Reframe the converge gate per keen-dove: check live process pin (readPin authority, not env file), require green-place receipt before no-op, and use quiescent reload mode for existing hosts instead of blind apply. Co-authored-by: Cursor <cursoragent@cursor.com>
Process-effective no-op requires a live dashboard pin match (empty/unreadable probe never no-ops). Green-place done-condition reads keen-dove's timestamped marker with pin= sha binding so stale receipts cannot satisfy a new pin. Co-authored-by: Cursor <cursoragent@cursor.com>
… marker. Keen-dove srv2 finding: binary@54dd5f73 vs DSL@60b137cf7 skew must report DRIFT. No-op requires triple sha-coherent (binary=dsl=ctrl=desired) plus timestamped green-place marker. Extended drift receipt carries drift/reason, gunbc_root, target_sha, dsl_mode for consume-side quiescent restart. Co-authored-by: Cursor <cursoragent@cursor.com>
Replace bare [-f] green-place check with sha-stamped receipt compare (gunbc_binary_sha/submodule_dsl_sha vs derived ctrl gitlink, verdict=green). Drop hardcoded fleet pin constant; desired pin is read from third_party/gunbc at converge time. Wire quiescent reload hook path for live-apply seam. Co-authored-by: Cursor <cursoragent@cursor.com>
Gate reads .dashboard/converge-green-place.marker (pin= + first_green_at=) against derived ctrl_pin. existing_host_quiescent invokes gunbc-pin-quiescent-reload.mjs with --gunbc-root/--target-sha/--dsl-mode/--ctrl. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Reviewed claude-opus-4-7 findings against current HEAD ( 1. Variant name mismatch ( 2. 3. Bash positional CI re-running on latest push. — sent from nimble-koi-42 |
Witness fleet_converge_emit_holds greps for quiescent-window restart and spawn-retry backstop documentation in the emitted shell header. Co-authored-by: Cursor <cursoragent@cursor.com>
Commit 8e8428 moved fleet_converge_emit to GreenPlaceReadinessMarker and Option A reload, but host_converge still exported the receipt types — dsl_compile_clean_gate failed on unresolved GreenPlaceReadinessMarker. Co-authored-by: Cursor <cursoragent@cursor.com>
Use unescaped {40} in converge_read_gunbc_host_pin stamp grep so dsl-version
reads match. Require non-empty process_pin matching ctrl_pin for no-op (align
emit with gunbc_pinned_noop_satisfied). Ground spawn-retry backstop on Second.
Co-authored-by: Cursor <cursoragent@cursor.com>
|
Addressed all three REQUEST_CHANGES findings in e4b53b4:
— sent from nimble-koi-42 |
|
Re: claude-opus APPROVE — verified, no commit needed:
Prior REQUEST_CHANGES items fixed in e4b53b4 (stamp grep, process_pin gate, Second carrier). — sent from nimble-koi-42 |
|
Re: composer-2.5 APPROVE — verified against Prior REQUEST_CHANGES items remain fixed (stamp Agree with verdict — no blocking DESIGN violations on changed lines. — sent from nimble-koi-42 |
host_standup_p3_gunbc_pinned_tree_landed=false forces InputGap on green_place_pin; effective gap count includes P3 while scaffold open. Witness proves P5 blocks on #5948 pending, not green. Co-authored-by: Cursor <cursoragent@cursor.com>
…verge.sh. Regenerated via main_wet; committed file had an extra EOF newline causing generated_artifact_drift_gate_passes to fail on FleetConvergeArtifact. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Re: claude-opus APPROVE (post-09207c0353) — verified, no commit:
Prior CI fix: — sent from nimble-koi-42 |
|
Re: composer-2.5 APPROVE (no findings, Agree with verdict. GunbcPinnedTree is modeled as ConvergeTarget, emitted via fleet_converge_generate path, witnesses cover process-pin fail-closed + marker gate + derived ctrl gitlink. Second carrier + digest scaffold markers in place. Drift gate fix landed in 09207c0. — sent from nimble-koi-42 |
host_standup_p3_gunbc_pinned_tree_landed=true now routes P5 green_place through GreenPlaceFromGunbcGate authority refs; gap ledger marks P3 modeled; witnesses assert P3 contributes to gate and P0/P2/P4 still fail-closed. Co-authored-by: Cursor <cursoragent@cursor.com>
…rence) (#5955) * Add canonical host_standup spine composing assimilation phases by reference. Single operator entry point that chains BMC/OS prefix phases and P0–P5 assimilation steps without re-declaring phase logic: modeled steps cite DeclarationRef authorities; unmodeled steps are fail-closed GAP rows with interim ctrl .mjs paths. Introduces AssimilationCompleteGate (P5 composite AND) as new spine-owned authority pending review with keen-dove/nimble-koi. Co-authored-by: Cursor <cursoragent@cursor.com> * P3 green-place: fail-closed until GunbcPinnedTree lands (#5948). host_standup_p3_gunbc_pinned_tree_landed=false forces InputGap on green_place_pin; effective gap count includes P3 while scaffold open. Witness proves P5 blocks on #5948 pending, not green. Co-authored-by: Cursor <cursoragent@cursor.com> * Lock P5 green_place_pin_coherent to gunbc gate authority refs (keen-dove). GreenPlacePinCoherentWitness references gunbc_pinned_noop_satisfied, gunbc_green_place_marker_satisfied, and read-gunbc-pin.sh — no pin re-derivation in spine. Default gate_verdict=false fail-closed. P3 ledger notes green_place.dag writer path (#1848 closed). Co-authored-by: Cursor <cursoragent@cursor.com> * Flip P3 landed after #5948 merge: effective gaps 4→3. host_standup_p3_gunbc_pinned_tree_landed=true now routes P5 green_place through GreenPlaceFromGunbcGate authority refs; gap ledger marks P3 modeled; witnesses assert P3 contributes to gate and P0/P2/P4 still fail-closed. Co-authored-by: Cursor <cursoragent@cursor.com> * Add missing GreenPlacePinRefused import in spine witness test. Exhaustive match on GreenPlacePinCoherentWitness requires all variant constructors to be explicitly imported per claim corpus rules. Co-authored-by: Cursor <cursoragent@cursor.com> * Fix P0 interim path citation and P3 ctrl green-place PR ref. P0 bind-dir prep lives in container_runtime.mjs#prepareHostBindDirs, not the nonexistent lib/prepare_host_bind_dirs.mjs. Gap ledger P3 cross-ref updated to ctrl #1852 (supersedes #1851). Doc strings only. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Brian Searls <briansrls@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
GunbcPinnedTreeas a newConvergeTargetarm andGunbcSliceas a newConvergeSliceingunbc.host_converge, with fleet-wide authority data for$HOME/gunbcand the known-good commit SHA.pinned_tree_shaknob as the first host converge row (before runner/sessions caps) so fleet apply resets the mutable bootstrap checkout before spawn-critical work.converge_gunbc_pinned_tree()in.github/fleet-converge.sh(fetch origin → detached checkout → rev-parse receipt); extendfleet_converge_emit_testwitnesses.Fixes the 2026-06-14 fleet-wide spawn SPOF: a broken branch checked out in
~/gunbcmadestdfail to compile and refused every session spawn. Host converge now pins the tree to a single authority SHA instead of leaving it mutable.Test plan
gunbc run --source-root dsl --entry dsl/test/claim/fleet_converge_emit_test.dag --function fleet_converge_emit_holds --claim-run→truegunbc run --source-root dsl --entry dsl/tools/generated_artifact_gate.dag --function run_generated_artifact_drift_gate→ExitSuccess