Repository navigation
Floor: qualified-reference fixture-closure control - #13465
Conversation
… bare-name one. The walker already closes dotted module-path edges; this control compiles a small existing pair that reaches its provider only that way, so an imports-only walk is a required red without paying v2.std.node. Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls
left a comment
There was a problem hiding this comment.
REQUEST_CHANGES at exact requested head 97803ced0723007d4a7d9f576cb40629b117725a, against DESIGN.md §§2, 3 and 4b and the owner ruling recorded in #13452. The qualified-reference floor control is accepted and satisfies the specific coverage follow-up left by review 5425771530 on #13437. One bounded unit-lane regression prevents approval of this head.
[P2] Remove the newly reintroduced slow corpus integration test from the Rust unit lane
In src/v1/stage0/src/cli_run/emit_host.rs, fixture_closure_union_tests::a_qualified_reference_provider_is_in_the_fixture_closure is a normal #[test]. It builds the live module closure and renders the union, duplicating the expensive acquisition/rendering now exercised by the mandatory floor control.
This is the class #13452 deliberately removed from this lane. Its 2026-10-06 owner ruling requires unit tests below 100ms and deletes the legacy live-corpus integration tests rather than rewriting them in that lane. The PR reports approximately 45 seconds for this test; more importantly, exact-head CI job 112232458496 explicitly reports this named test running for over 60 seconds before passing. The issue is therefore an observed lane-policy violation, not an estimate based on the fixture's size. A small source fixture does not make its live-corpus acquisition a small unit test.
Delete only that added Rust #[test]. Keep FIXTURE_CLOSURE_QUALIFIED_REFERENCE_REACH_MEMBER and its check inside the already-executing fixture_closure_union_controls. There is no need to restore a slow suite, introduce a new lane, enlarge the fixture or change the walker. The requested permanent coverage is the floor control, not a second execution of the same integration in libtest.
The qualified-reference coverage itself is correct
The synthetic floor member imports test.fixture.reference_derived_graph.consumer_reference_only::answer_from_qualified_reference. That consumer has no import of its provider and calls test.fixture.reference_derived_graph.provider.answer() by its dotted name. Thus the missing edge is inside the imported corpus module, exactly where the repaired fixture loader must hand off to the complete-closure authority; it does not alter the synthetic entry's authored-import contract.
The new floor case calls fixture_closure_union_control_union, which uses the real virtual-source acquisition, and passes the resulting union to fixture_closure_union_emit_receipt. Acquisition errors and unsuccessful union compilation/rendering propagate through the control's refusal path. The required floor consumes fixture_closure_union_controls()?, so this is executing acceptance-path coverage rather than an unused test helper. The existing bare-reference, genuine-member compile-error, emitter-refusal and clean-render controls remain intact.
The reported uncommitted imports-only mutant is the appropriate discriminator for this integration: the qualified-only provider disappears and the new floor control refuses. That execution remains author-run evidence; I inspected the fixture and production composition but did not run the mutation. No additional qualified-reference specimen is requested.
Evidence and scope
Requested-SHA workflow 37452596944 completed successfully, including floor, generated, emit-build, rust-unit-tests and aggregate witnesses. The passing unit job also supplies the over-60-second observation above; green CI does not waive the explicit unit-lane ruling. The requested head was unchanged and mergeable when checked.
The sole requested correction is deletion of the duplicate slow Rust test while retaining the new mandatory floor control. The routing repair and the qualified-reference coverage are not being reopened. No local compiler run, hardware action or repository modification was performed by this reviewer.
…-closure control. That test ran over 60s in exact-head CI and broke the under-100ms unit-lane ruling; the floor control and fixture stay enrolled. Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls
left a comment
There was a problem hiding this comment.
APPROVE / LAND at 383c10e52d49bc67c02047ab63e6812f92c09ce0. The sole P2 from review 5427986432 is resolved. No new blocking findings.
The comparison from reviewed head 97803ced0723007d4a7d9f576cb40629b117725a contains one file change: 18 deleted lines in src/v1/stage0/src/cli_run/emit_host.rs, removing only the ordinary Rust test fixture_closure_union_tests::a_qualified_reference_pulls_its_provider_into_the_fixture_closure and its comment. The required-floor control, fixture, acquisition path and emission path are unchanged. This is the requested deletion, not an ignore annotation or a new lane. My prior review used an inaccurate spelling for the test name; the name above is the actual deleted test.
The retained coverage remains on the production control path. fixture_closure_union_controls still builds FIXTURE_CLOSURE_QUALIFIED_REFERENCE_REACH_MEMBER through fixture_closure_union_control_union, which calls resolve_virtual_source_with_imports, then passes the acquired union to fixture_closure_union_emit_receipt. Both acquisition and compilation/emission failures propagate via ? as control failures. The synthetic member imports the reference-only consumer, so the provider still has to be reached through that corpus consumer's qualified reference. The existing bare-reference, emitter-refusal, clean-render and genuine-member-error controls remain alongside it. The coverage accepted in the previous review is not being replaced with a source-string assertion.
Execution verified in workflow 37461654102, which is successful for the requested SHA. The floor job log explicitly checks out 383c10e52d49bc67c02047ab63e6812f92c09ce0 and records [floor-receipt] receipt=fixture-closure-union-controls state=held. Because the qualified-reference case is still in that function's failure-propagating path before its successful return, this is evidence of execution of the retained control, not merely the presence of its code. The log does not separately label that case, so I am not inventing an individual test receipt or timing.
The reported clippy --all-targets -D warnings exit 0 is on this exact SHA; I did not independently run clippy, rebuild the compiler, or rerun the imports-only mutant. No further fixture, walker, test-lane or coverage changes are requested. The duplicate expensive libtest execution is removed while the required-floor discriminator remains.
Summary
fixture_closure_union_controlsbeside the existingstd.syllogismbare-name RED.test.fixture.reference_derived_graph.consumer_reference_only→provider(dottedprovided_value, no import, no bare name). Large specimens (v2.std.artifact→v2.std.refinement) are the same edge but pullv2.std.node.a_qualified_reference_pulls_its_provider_into_the_fixture_closureok, 45s). An uncommitted imports-only mutant ofresolve_virtual_source_with_imports(skipextend_sources_to_both_closure_fixpoint) failed withprovider missing from members(closure had consumer +std.typestower, not the provider). Mutant was not committed.Test plan
ctrl-build --remote -- cargo test --release -p v1-compiler --lib a_qualified_reference_pulls_its_providerholdsfixture-closure-union-controls) on this PRMade with Cursor