Repository navigation
Class B un-strip: declare rust_test_fixtures' import of v2.extdeps.languages.rust - #7811
Merged
Merged
Conversation
…nguages.rust src/v2/extdeps/languages/rust_test_fixtures.dag carried zero import statements and resolved its v2.extdeps.languages.rust references only by pool-membership coincidence -- an unrelated import elsewhere in the assembled closure dragged rust.dag in. That is DESIGN's documented import-strip Class B defect: a stripped file's bare cross-module references resolve exactly when some unrelated unstripped import has already pooled the target, never from the bare-reference closure itself binding it. Enrollment changes on the N3-A branch (#7772) collapsed that accidental coverage, and 31 discovery witnesses failed at runtime with "no such function" on rust_selection_policy_node, rust_operator_realizations_catalog_node, rust_grammar_terminal and rust_inhabitant_atom -- all four defined in rust.dag. Extracted from #7772 as an independent repair (operator ruling 2026-08-04): the defect is pre-existing on main rather than N3-A functionality, and main should not remain pool-dependent while that branch completes its recut. Purely additive: one declared import block plus a note. No behavior change. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Aug 5, 2026
Proves the #7811 explicit rust import binds through the declared import-edge closure only: positive arm includes rust.dag and resolves the four symbols that failed under pool coincidence; negative arm (import stripped) refuses them on the entry-only closure. Host hooks live behind test_hooks in cli_run.rs. Co-authored-by: Cursor <cursoragent@cursor.com>
2 tasks done
briansrls
pushed a commit
that referenced
this pull request
Aug 5, 2026
…ing) rust_test_fixtures_declared_closure_test.rs and its lib.rs mod entry were exploratory work for PR #7811's Class B closure control. The parent session (loyal-ram-550) corrected course: this lane's actual deliverable is the disk-tier skip-counter proof (cross_process_hit_skips_semantic_recompute), not the #7811 control, which the parent is taking back or reassigning. Dropping the unrelated scaffold keeps this branch scoped to the real deliverable. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
briansrls
pushed a commit
that referenced
this pull request
Aug 5, 2026
…it clause + CI-cost warm_hit_settle (#7816) * WIP: Shared CI floor: model cold-vs-warm resolve realization, and adjudicate * WIP: Shared CI floor: model cold-vs-warm resolve realization, and adjudicate * Remove #7811 closure-control scaffold (deprioritized, parent reassigning) rust_test_fixtures_declared_closure_test.rs and its lib.rs mod entry were exploratory work for PR #7811's Class B closure control. The parent session (loyal-ram-550) corrected course: this lane's actual deliverable is the disk-tier skip-counter proof (cross_process_hit_skips_semantic_recompute), not the #7811 control, which the parent is taking back or reassigning. Dropping the unrelated scaffold keeps this branch scoped to the real deliverable. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * WIP: Shared CI floor: model cold-vs-warm resolve realization, and adjudicate * chore: regenerate drifted generated artifacts (ci auto-heal) --------- Co-authored-by: gunbc-ci-auto-heal <gunbc-ci-auto-heal@users.noreply.github.com> Co-authored-by: Claude Sonnet 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.
Class B un-strip, extracted from #7772 as an independent repair
src/v2/extdeps/languages/rust_test_fixtures.dagcarried zero import statements and resolved itsv2.extdeps.languages.rustreferences only by pool-membership coincidence — an unrelated import elsewhere in the assembled closure draggedrust.dagin.That is DESIGN's documented import-strip Class B defect verbatim:
How it surfaced
Enrollment changes on the N3-A branch (#7772) changed pool composition and collapsed the accidental coverage. 31 discovery witnesses then failed at runtime with
no such functionon:rust_selection_policy_noderust_operator_realizations_catalog_noderust_grammar_terminalrust_inhabitant_atomAll four are defined in
src/v2/extdeps/languages/rust.dag— one module failing to enter the pool, not 31 separate defects.Controls run during diagnosis: PR #7791, on the same base, ran 6643 discovery witnesses with zero resolution failures against #7772's 6638 with 31 (so not a selection artifact); and the class was already present at
57b75ab3a, so it did not originate in any later commit on that branch.Why it is extracted
Operator ruling (2026-08-04): the defect is pre-existing on main, not N3-A functionality. #7772 is intentionally fourth in its merge sequence and still needs a conceptual recut, and main should not remain pool-dependent until that larger branch is ready.
Purely additive — one declared import block plus a note. No behavior change. The identical change is already validated in-place on #7772, where it cleared the 31 failures.
Owed, and deliberately not included
The operator specified an independent control that compiles/resolves
rust_test_fixtures.dagfrom its declared import closure only, with no unrelated import permitted to supplyrust.dagindirectly.That control is not in this PR. The existing fixture transport (
dcc_fixture_only_compile_args) writes a single module to a temp dir with no other source roots, which cannot express "this entry plus its declared closure" —rust.dagand its own transitive closure would have to be present. Building it correctly needs the closure-scoping machinery rather than an approximation.I have not substituted a weaker check that would look like it satisfies the requirement while testing something else — that would be exactly the rung inflation DESIGN §4b names. The control is tracked as owed against this repair.
🤖 Generated with Claude Code