Repository navigation
Fix affected-set-falsifier crash at plan setup: supply gunbc_falsifier_plan_spawn_width - #6393
Merged
Merged
Conversation
…ith == Restructured witness_falsifier_plan_spawn_width_matches_ci_width with let bindings matching the neighboring witnesses' style. Verified locally: claim_batch --entry src/v2/test/claim/ci_floor_plan_witness_test.dag --function falsifier_plan_spawn_width_witnesses → PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This was referenced Jul 9, 2026
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Jul 11, 2026
…val, skip-masked) claim_executor derives the spawn-width fn name from the plan-function string (strip _batches, append _plan_spawn_width) and the eval is FATAL when the fn is absent. ci_regen (#6393) and the falsifier got theirs; gunbc_ci_emit_determinism_plan_spawn_width was never authored when #6472 split the job - and every green since was an affected-set SKIP, so the job died at spawn-width eval ('no main function found', exit 1) on the first diff to touch ci_floor_plan.dag and actually execute it (this PR's run). Delegates to gunbc_ci_plan_spawn_width like the regen variant. Receipt by execution: the emit-determinism plan now prints spawn_width=4 from the derived name and enters its batch walk. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
briansrls
pushed a commit
that referenced
this pull request
Jul 11, 2026
…uthorities (#6503) * Main drift-gate red: home Lane D's plan-doc cross-links in the .dag authorities generated_artifact_drift_gate_passes has been red on main since #6474 (Lane D) hand-added the provisioning-window design links directly to the GENERATED docs/plans/emission-ingestion-inverse.md and docs/plans/shell-emission-model.md without the backing rows - the gate correctly refuses a doc that its .dag authority does not derive (the red was masked behind the s1/ci_deploy/witness-pin floor reds until #6498/#6500/#6501 cleared them). Fix keeps Lane D's intent: the two link sentences move into dag/gunbc/plans/{emission_ingestion_inverse, shell_emission_model}.dag, from which main_wet now regenerates the checked-in docs byte-identically (zero doc diff after regen). generated_artifact_drift_gate_passes: false -> true by execution on this head. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Docs-only CI shortcut: route through the executor plan path (fixes exit-2 on plan-artifact diffs) The plan-artifact-only floor shortcut invoked claim_executor with gunbc-run-style --entry/--function flags it does not parse - the arm died 'unknown argument: --entry' exit 2 on the FIRST docs-only diff to reach it (this PR's own run 29167744076; latent since the arm landed). The gate also cannot run standalone: dag_compile_clean_gate_passes only CONSUMES the executor's in-run whole-tree --target dag compile receipt (standalone gunbc-run invocation refuses, proven by execution). Fix: the shortcut is now claim_executor --plan-entry ci_floor_plan.dag --plan-function gunbc_ci_plan_artifact_batches, where the new plan fn is batch 1 of the existing floor schedule (the compile-clean anchor - the plan's one structural fact) - same executor path, no parallel gate runner. claim_executor arms the compile-clean lazy install for this plan name alongside gunbc_ci_floor_batches. Shortcut witness repinned to the plan-path invoke; ci.yml regenerated. Receipts by execution: RED = run 29167744076 exit 2 + standalone refusal; GREEN = local run of the exact new invoke (whole-tree compile receipt ok=true, 1/1 node pass, exit 0); ci_spec_witnesses true; drift gate true. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * emit_determinism job: author its missing plan spawn-width fn (fatal eval, skip-masked) claim_executor derives the spawn-width fn name from the plan-function string (strip _batches, append _plan_spawn_width) and the eval is FATAL when the fn is absent. ci_regen (#6393) and the falsifier got theirs; gunbc_ci_emit_determinism_plan_spawn_width was never authored when #6472 split the job - and every green since was an affected-set SKIP, so the job died at spawn-width eval ('no main function found', exit 1) on the first diff to touch ci_floor_plan.dag and actually execute it (this PR's run). Delegates to gunbc_ci_plan_spawn_width like the regen variant. Receipt by execution: the emit-determinism plan now prints spawn_width=4 from the derived name and enters its batch walk. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Brian Searls <briansearls1@gmail.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
All three scheduled
affected-set-falsifierruns (2026-07-06, 07-07, 07-08) failed identically at plan setup:The falsifier has never gone green — it crashed before recording a single divergence datum, so its dissolution counter (divergence rate 0 across 8 windows) never started.
Root cause
Second occurrence of the wiring-gap class already documented in
ci_floor_plan.dagfor the regen job (#6352): theclaim_executorseed derives a plan's spawn-width function name from the plan-function name at runtime (spawn_width_function_name: strip_batches, append_plan_spawn_width), sogunbc_falsifier_batchesreachesgunbc_falsifier_plan_spawn_widthwith no grep-visible reference — and that function did not exist.Fix
src/v2/workflow/ci_floor_plan.dag: addgunbc_falsifier_plan_spawn_width, delegating togunbc_ci_plan_spawn_width(the falsifier runs on the same self-hosted arm64 runners under the same memory budget; its discovery batch already carries the tree-derivedspawn_width_cap). Note row documents the class and the receipt.witness_falsifier_plan_spawn_width_matches_ci_width, wired intosrc/v2/test/claim/ci_floor_plan_witness_test.dag(falsifier_plan_spawn_width_witnesses): executes the runtime-derived name in the corpus, so this gap is honest-red locally instead of crash-red on the next scheduled cadence run. Discriminating: red if the function is missing (resolve fails) or returns a width diverging from the ci plan width.Verification
claim_batch --entry src/v2/test/claim/ci_floor_plan_witness_test.dag— new witness green with the existing suite.claim_executor --plan-function gunbc_falsifier_batcheswithGUNBC_CI_DIFF_BASE/HEAD): plan setup now passes spawn-width eval (the previous crash point) and the batch launches.🤖 Generated with Claude Code