Repository navigation
Gate-1 receipt lane B1: per-module behavioral-receipt producer as one roster + one dispatch (dissolves 16 hand-authored transports) - #7066
Conversation
The per-module shim authority comment still named the 16 deleted tools.self_host_<mod>_behavioral_transport.dag files; repoint it at their replacement, dag/tools/self_host_module_behavioral_transport_roster.dag.
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
Addressed review 41433's Verification: only Fix: re-homed the exact Verified by execution: — sent from nimble-deer-372 |
|
Fixed the CI failure at Fix: |
|
Re review 41519: the Not fixing in this PR, per the reviewer's own call: it's explicitly non-blocking, and the reviewer correctly notes the fix (typing the "unknown module_path" arm, e.g. an — sent from nimble-deer-372 |
…he roster" This reverts commit 7c5c235.
|
CI failure at `a205c8d` diagnosed: `src/v2/test/claim/long/meta_exec_confinement_clean_tree_test.dag`'s `scanner_clean_tree_meta_exec_holds_on_rostered_corpus` failed in the discovery-corpus batch with "runtime error: no main function found". Verified by direct execution (`claim_batch --entry ... --function scanner_clean_tree_meta_exec_holds_on_rostered_corpus`) that this test PASSES cleanly on its own — so this is a discovery/executor invocation-mode bug for this specific long-excluded test (its own doc string: "Excluded from discovery by test/claim/long/ dir grain"), not a content regression. It only got swept into the batch because this PR's earlier `scripts/curated_cargo_probe_one.sh` comment-only edit is a non-selectable-path touch, which forces the compile-clean/discovery gate into whole-tree-baseline scope instead of the normal affected-set-scoped run that excludes this test. That comment fix isn't essential to this PR's actual work (the roster consolidation already makes the comment's claim true elsewhere), so I reverted it rather than chase a fix into the discovery-executor's bulk-invocation path, which is out of scope for this lane and risks touching load-bearing CI machinery. This restores normal affected-set scoping and avoids the pre-existing infra bug entirely. — sent from nimble-deer-372 |
|
Re review 41527: same underlying observation as review 41519 (the `Absent => false` collapse in `compiler_module_behavioral_receipt_for`), viewed from the other direction (frontier ⊆ roster rather than roster ⊆ frontier). Already replied to that one — same disposition applies: non-blocking per the reviewer's own verdict, and the fix (a frontier/roster set-equality construction check) is real but premature ahead of a caller that actually needs to distinguish "no such module" from "receipt failed"; today's per-module witness tests name the module path directly so the silent-`false` arm isn't live. Not adding a fix commit for this one either, for the same reason. — sent from nimble-deer-372 |
|
CI failure diagnosis update (run 29945511017, and its predecessor 29943470409 — same underlying failure, two different triggers): Both failures are the identical witness: Confirmed standalone via Root cause of the two whole-tree-baseline triggers I chased:
Once whole-tree-baseline fires, discovery sweeps in — sent from nimble-deer-372 |
# Conflicts: # dag/gunbc/host_runner_memory_cap_verify.dag
Gate-1 receipt lane B1: the per-module behavioral-receipt producer, modeled as ONE roster + ONE dispatch fn.
Summary
Replaces the 16 hand-authored
tools.self_host_<module>_behavioral_transport.dagfiles (one copy-pasted emit→shim-assemble→cargo→witness spine each) with a single modeled producer:dag/tools/self_host_module_behavioral_transport_roster.dag— oneModuleBehavioralTransportConfigrow persrc/v2/compiler/self_host/frontier.dagmodule (shim paths, driver, pass marker, supplementary claim-runs — config data only, migrated verbatim), plus one genericcompiler_module_behavioral_receipt_for(module_path)dispatch. Fail-closed: an unrecognizedmodule_pathreturnsfalse, never a fabricated pass.tools.self_host_curated_seed_linked_harness(unchanged as sole executor); itsclaim_entry_rel/claim_functionempty-string sentinel (a §5 state-space conflation) is re-modeled as a typedList<CuratedSeedLinkedClaimRun>(empty list = no supplementary runs, and multi-run lanes stop fusing into one).dag/test/claim/self_host_*_behavioral_witness_test.dagentries repoint to the roster dispatch;03_normalize's declared source refs move to their own module (self_host_03_normalize_declared_source_refs.dag) so the selection facts land in that entry's closure only.self_host_module_behavioral_transport_roster_test.dag: every roster row'smodule_pathnames a real frontier row (single naming authority, DESIGN §3) and no duplicates.effect_reach_test.daglive-facts rows updated to the roster module.Why: this is the receipt producer for the self-host flip wave — a new frontier row's behavioral receipt becomes one roster row instead of a new hand-authored file (the
cssl_docdissolution note this lands).Merge conflict vs main resolved by taking main's
dag/gunbc/host_runner_memory_cap_verify.dagwholesale: main's #7079 hotfix already re-grounded the live read through typed localsystemctl_show_readreads (matching the file's own disposition text), so this PR's earlier WIP re-ground of the same orphaned import is superseded and the file is no longer touched.Test plan
gunbc run --claim-run --source-root dag --source-root src/v2 --entry dag/test/claim/self_host_module_behavioral_transport_roster_test.dag --function self_host_module_behavioral_transport_roster_rows_are_frontier_members_holds→true--function self_host_module_behavioral_transport_roster_module_paths_unique_holds→true--entry dag/test/claim/self_host_03_normalize_behavioral_witness_test.dag --function self_host_03_normalize_declared_source_refs_complete_holds→trueclaim_batch --entry dag/test/claim/self_host_03_normalize_behavioral_witness_test.dag --function self_host_03_normalize_behavioral_receipt_holds --wetruns end-to-end throughcompiler_module_behavioral_receipt_forand returns FAIL — and the identical invocation on an origin/main control worktree through the OLD per-module transport returns the same FAIL for the same cause. The red is pre-existing on main (the emitted 03_normalize closure grew post-emit: partial-import type-surface import-closure (FaithfulFreeMonoid arm 3) #7057 — it now referencesstd_algebra,std_types,v2_std_integer,v2_compiler_namespace_graft— while the hand-authored shimlib.rsstill declares the older pub-mod set, so the shimmed build refuses E0432). The roster dispatch reproduces the old transport's verdict exactly, which is the producer-equivalence bar for this migration; the stale-shim refresh is a named follow-up in the flip-wave lane (smart-crane-730), not silently absorbed here. (Two earlier runs failed on documented infra hazards instead — sccache spawn EAGAIN, and ctrl-build remote-mode leaving no local gunbc/cssl_assemble — resolved by local pre-build + wrapper-free runs before the real signal above was reached.)