Skip to content

Floor: qualified-reference fixture-closure control - #13465

Merged
gunbai-bot[bot] merged 2 commits into
mainfrom
session/bright-koi-171
Oct 6, 2026
Merged

gunbai-bot[bot] merged 2 commits into
mainfrom
session/bright-koi-171

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Enrolls a qualified-reference control in fixture_closure_union_controls beside the existing std.syllogism bare-name RED.
  • Subject is the small existing pair test.fixture.reference_derived_graph.consumer_reference_only → provider (dotted provided_value, no import, no bare name). Large specimens (v2.std.artifact → v2.std.refinement) are the same edge but pull v2.std.node.
  • Remote evidence: the control holds on the real walker (a_qualified_reference_pulls_its_provider_into_the_fixture_closure ok, 45s). An uncommitted imports-only mutant of resolve_virtual_source_with_imports (skip extend_sources_to_both_closure_fixpoint) failed with provider missing from members (closure had consumer + std.types tower, not the provider). Mutant was not committed.

Test plan

  • ctrl-build --remote -- cargo test --release -p v1-compiler --lib a_qualified_reference_pulls_its_provider holds
  • same test fails under imports-only walker mutant (not in this PR)
  • required floor CI (fixture-closure-union-controls) on this PR

Made with Cursor

… 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 briansrls left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 briansrls left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@gunbai-bot
gunbai-bot Bot added this pull request to the merge queue Oct 6, 2026
Merged via the queue into main with commit 9d3ad95 Oct 6, 2026
5 checks passed
@gunbai-bot
gunbai-bot Bot deleted the session/bright-koi-171 branch October 6, 2026 22:23
@briansrls
briansrls restored the session/bright-koi-171 branch October 6, 2026 22:33
gunbai-bot Bot pushed a commit that referenced this pull request Oct 7, 2026
… ...) into session/vivid-lynx-377-map-get-fork
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant