Repository navigation
main red: roster the #7269 witness blob (declared 27 vs rostered 26) — #7269/#7272 merge race - #7288
Merged
Merged
Conversation
briansrls
added a commit
that referenced
this pull request
Jul 26, 2026
…oster. Remove duplicate ct_render_rust_applied_type_qualified_base_test row (main already carries it after #7272/#7288); revert language_source_scaffold_index to main placement. Regenerate ci.yml/falsifier.yml via main_wet — block if then/else body lines use emit indentation (10-space), not hand-indented 12-space; matches heal job 89806546636 output the bot could not push. Co-authored-by: Cursor <cursoragent@cursor.com>
10 tasks done
briansrls
added a commit
that referenced
this pull request
Jul 26, 2026
briansrls
added a commit
that referenced
this pull request
Jul 26, 2026
…e-on to Ring. Name-match carrier selection is interim — terminal trigger binds std.algebra.Ring as the inhabitance authority that will replace it. Merge-main left a duplicate ct_render row; keep main's single copy. Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Jul 26, 2026
GitHub merge-ref CI counted ct_render twice (main #7288 + this branch), making rostered > declared and failing compiler_tests_rust_blobs_are_all_rostered. Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls
added a commit
that referenced
this pull request
Jul 26, 2026
Main already owns this entry via #7288; the branch copy made rostered exceed declared (27/28). Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls
added a commit
that referenced
this pull request
Jul 26, 2026
…ker (#7265) * WIP: shell→dag bucket D — foreign-executor emit cluster (gate #7216 now MERGE * WIP: shell→dag bucket D — foreign-executor emit cluster (gate #7216 now MERGE * Fix sccache emit if-branch semantics and commit regenerated ci.yml. Multi-statement if/then bodies must be semicolon-joined in a single Run (the if-else grammar inserts then_body verbatim without braces). The heal job failed because ci.yml drifted and the bot lacks workflows permission to push workflow files — commit the regenerated ci.yml and falsifier.yml here. Co-authored-by: Cursor <cursoragent@cursor.com> * Fold bucket-D census into arc census; delete orphan doc. The standalone bucket-d-foreign-executor-emit-census.md had zero inbound refs and would red the falsifier after merge. True-up §4.E/4.I and add §4.J punch-list to the existing shell-to-dag-residual census (reachable via design_document.dag) — single authority, no bind row needed. Co-authored-by: Cursor <cursoragent@cursor.com> * Repoint ci_sccache_opportunistic_detect scaffold to emit module. ci_sccache_provider_shell_injection moved to v2.workflow.ci_materialization_emit in this PR; host_build_cache_provision's scaffold bind still pointed at the deleted gunbc.ci_materialization declaration (review 43048). Co-authored-by: Cursor <cursoragent@cursor.com> * Fix merge-admission emit golden: hand-authored bytes, no trailing NL. ci_floor_disposition_marker_init_emit_matches_concat_golden_holds failed on CI because the concat-reconstructed golden carried a trailing newline after the echo redirect that orch_emit_pipeline does not emit. Switch to the #6467 hand-authored golden pattern (matches committed ci.yml). Co-authored-by: Cursor <cursoragent@cursor.com> * Mark ci_sccache_bound_branch semijoin as declared Scaffold. Three bound-branch Runs are semicolon-folded because multi-Do then_ inside realize_if_else inline binding is unguarded by the if-band corpus and byte-diverged on first ci.yml regen — not a carriage bug. Dissolution: emit-lane construction refusal for multi-step then_ at inline if_else bind, or block-bodied if_else row (emit lane, not D). Co-authored-by: Cursor <cursoragent@cursor.com> * Add missing Present import to ci_materialization_emit. Present is used for redirect and else_ arms but was not in the import list; golden tests executed green via compilation (review 43241). Co-authored-by: Cursor <cursoragent@cursor.com> * Roster ct_render_rust_applied_type_qualified_base_test for scaffold index. #7269 added the hand assertion blob after #7272 landed the inventory witness; merge main exposed compiler_tests_rust_blobs_are_all_rostered red (27 declared, 26 rostered). Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: shell→dag bucket D — foreign-executor emit cluster (gate #7216 now MERGE * Rework bucket D PR1: dissolve semijoin, extract shared emit plumbing. Replace semicolon-folded sccache bound branch with three Do steps so block-bodied if_else (#7277) emits multi-line workflow text; re-golden and regen ci.yml/falsifier.yml. Route both new emit modules through orchestration_bash_emit_support (run/do/emit_pipeline); pre-existing ci_*_emit forks migrate in PR2. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: shell→dag bucket D — foreign-executor emit cluster (gate #7216 now MERGE * Fix CI drift gate: regen ci.yml from emit authority; drop duplicate roster. Remove duplicate ct_render_rust_applied_type_qualified_base_test row (main already carries it after #7272/#7288); revert language_source_scaffold_index to main placement. Regenerate ci.yml/falsifier.yml via main_wet — block if then/else body lines use emit indentation (10-space), not hand-indented 12-space; matches heal job 89806546636 output the bot could not push. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: shell→dag bucket D — foreign-executor emit cluster (gate #7216 now MERGE * Remove duplicate ct_render_rust roster row from #7265 merge. Main already owns this entry via #7288; the branch copy made rostered exceed declared (27/28). Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Brian Searls <briansrls@gunb.ai> Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls
added a commit
that referenced
this pull request
Jul 26, 2026
…ckendCapability (#7286) * WIP: 7272 followons * WIP: 7272 followons * Qualify GroupCompletion emit provenance: Sub/Div not row-derived. The pair-completion comment overstated "arithmetic is row data"; Add/Mul/Neg are, Sub/Div remain keyed literals. Completes the #7272 regen fixed point. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: 7272 followons * WIP: 7272 followons * Cite dag language authority via Https DESIGN.md, not File scheme. File-scheme anchors fail the extdeps external-authority wall (Http/Https only). Keep the D2 repoint at DESIGN.md §4, but cite it as an Https github URL so corpus_live_clean_tree_wall_holds stays green. Co-authored-by: Cursor <cursoragent@cursor.com> * Drop #7288 ct_ roster duplicate; bind GroupCompletion carrier dissolve-on to Ring. Name-match carrier selection is interim — terminal trigger binds std.algebra.Ring as the inhabitance authority that will replace it. Merge-main left a duplicate ct_render row; keep main's single copy. Co-authored-by: Cursor <cursoragent@cursor.com> * Bound react_jsx KEEP scaffold to one site-subsumption dissolution event. The prior bind named already-landed gunbc.site.markup.el, so the typed trigger was nominal; sole-owner the site lane and point the Scaffold at the named page-emission dissolve-on. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Brian Searls <briansrls@gunb.ai> Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls
added a commit
that referenced
this pull request
Jul 26, 2026
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.
Summary
main is red; this is the one-row fix.
compiler_tests_rust_blobs_are_all_rostered(
dag/test/claim/language_source_scaffold_index_test.dag) returnsBool(false)onmain,failing
gunbc_ci_floor_batchesbatch 3 and blocking every merge in the tree.The witness compares declared blobs against rostered rows for the
v1.compiler.compiler_tests_rustcarrier:src/v1/compiler_tests_rust.dag,fn ct_prefixlanguage_source_scaffold_roster, carrierv1.compiler.compiler_tests_rustThe single unrostered blob is
ct_render_rust_applied_type_qualified_base_test.Root cause — a merge race, not a defect in either PR
ct_render_rust_applied_type_qualified_base_testblob — thediscriminating witness for dotted-base applied-type rendering. No roster row was possible: the
roster did not exist yet.
against a tree snapshot that predated Gate-1: render_rust_applied_type dotted-base leaf routing #7269. Its roster was complete for the tree it was
written against.
Neither branch was wrong on its own. The collision exists only on
main, and it surfaced on thefirst post-merge run — the unconditional main-push cold control catching what affected-set
scoped per-PR runs structurally cannot. That is the documented one-merge acceptance window
working as designed, not a skipped gate.
Failure is reproducible and not flake:
gh run list --branch mainshowsfailureat0236b5048a(#7272) andfailureat862bb773df(#7268), with every preceding runsuccess.The change
One roster row plus its roster-list entry, in
dag/gunbc/language_source_scaffold_index.dag:Disposition is precedent, not invention.
compiler_tests_rust_hand_assertion_scaffold_triggeris the existing disposition for hand-authored
ct_*_testassertion blobs — 15 rows already carryit, the most-used disposition in the file. The new blob is exactly that shape: a hand-authored
Rust
#[test]asserting emitter behaviour. No new authority is minted and no existing binding ischanged.
Test plan — green by execution
./target/release/claim_batch --entry dag/test/claim/language_source_scaffold_index_test.dag --source-root dag --source-root src/v2with all six witnesses in the file:runtime_rust) unaffectedBinary receipt (the stale-binary trap is real here — the checked-out
claim_batchpredatedthis work by six days, and a stale binary evaluating a roster count is exactly how a non-fix
"verifies"):
target/release/claim_batcha5b9eb4a064362138dcaf7a93d003996…The RED half was executed by CI, not re-staged by hand
This PR adds no new discriminating RED, deliberately: the witness it repairs is the RED
control, and it has already fired twice on
mainby execution —failureat0236b5048aand at862bb773df, bothcompiler_tests_rust_blobs_are_all_rosteredreturningBool(false). So thered-before / green-after pair is complete and both halves were executed; only the red half was
executed by CI rather than locally. Deleting the row re-reds it (26 != 27).
Per the file's own
coverage_scan_dissolve_onnote, the counting mechanism is a declared interim(source-text split rather than a
Node-tree count, so it detects arrival of an unrostered blobrather than classifying it). This change neither touches nor extends that debt.