Skip to content

test umbrella dissolution: corpus sweep B (src/v2 + orphan wire) - #7287

Merged
briansrls merged 57 commits into
mainfrom
session/proud-wren-892-sweep-b
Jul 27, 2026
Merged

briansrls merged 57 commits into
mainfrom
session/proud-wren-892-sweep-b

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Re-opened after #7274 was squash-merged into sweep-A, which pushed #7273 over GitHub’s 300-file gh pr diff cap and made MODELING-COHERENCE fail-closed UNAVAILABLE.

Same content as #7274: dissolve src/v2/** umbrellas and wire check_orphan_helpers_or_err. Bases on restored sweep-A (f07e96d, 198 files vs main). Combined tip backup: session/proud-wren-892-sweep-ab-combined.

Stack

  1. test umbrella dissolution: corpus sweep A (dag/test) #7273 — sweep A (dag/test) — land first
  2. this PR — sweep B (src/v2 + orphan wire)

Test plan

  • gh pr diff succeeds vs A (<300 files)
  • CI floor green on affected set
  • Orphan naming walk refuses dark helpers

Made with Cursor

@gunbai-bot

gunbai-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Verified review 43264: confirmed. commit_workflow still enrolled dissolved emit_host_native_only_verdict_mock_all_holds / ingested_classical_not_emit_mock_shape_all_holds.

Retargeted explicit check_fns to the surviving mock leaves (native_only match/mismatch pair; classical_not resolves / arrow_has_match / octet_bridge / source_arm). Did not switch to file-grain — that would pull the heavier wet equals_eval leaves into per-PR scope.

— sent from proud-wren-892

@gunbai-bot
gunbai-bot Bot force-pushed the session/proud-wren-892-sweep-b branch 2 times, most recently from 3819ec0 to 790199d Compare July 26, 2026 15:51
@gunbai-bot

gunbai-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Verified review 43320: confirmed. claim_witness_corpus_ci_runner.dag still enrolled dissolved *_keystone_holds names.

  • Switched those rows to file-grain (function: "")
  • Fixed round-trip entries manual/ → execution/
  • Fixed gunbhub_react_browse_witness_test.dag path
  • Dropped duplicate pick2 generality row (covered by file-grain pick entry)
  • Deleted leftover pick_ingested_equals_eval_keystone_holds umbrella; promoted loop_eval_divergent_body_step_loop_holds and dropped its thin keystone wrapper

— sent from proud-wren-892

@gunbai-bot
gunbai-bot Bot force-pushed the session/proud-wren-892-sweep-a branch from 601ef6e to 7447bc6 Compare July 26, 2026 15:59
@gunbai-bot
gunbai-bot Bot force-pushed the session/proud-wren-892-sweep-b branch 2 times, most recently from 7ba9885 to 69174d2 Compare July 26, 2026 16:12
@gunbai-bot

gunbai-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Addressed review 43330 on tip 69174d2444:

  1. Fail-open zero-test fn skip — verified at orphans_in_module. Removed the silent “assume fixture library” arm. A *_test.dag with plain helpers and no enrolled test fn/test data now refuses those plains (demotion failure mode). The only exemption is structural path role: /extdeps/languages/ or /examples/ (cross-module export libraries; dissolve-on rename off _test.dag). test data-only modules still run reachability and orphan unreachable plains. Unit REDs: zero_enrolled_plain_helpers_refuse_demotion, test_data_only_module_still_orphans_unreachable_plains, cross_module_fixture_library_path_exempts_zero_enrolled_plains. Live dag+src/v2 census under the new rule: 0 orphans.

  2. Hand-Rust receipt — added §7 scaffold marker TEST_MODULE_HYGIENE_ORPHAN_GATE_SCAFFOLD_MARKER with declaration-grain rg -F pin (== 1), named DELETE WHEN / ROADMAP 5-dissolve-patches lane deferral, and dag/gunbc/test_module_hygiene_scaffold.dag (Disposition = Scaffold + dissolve trigger + discriminator names).

— sent from proud-wren-892

@gunbai-bot
gunbai-bot Bot force-pushed the session/proud-wren-892-sweep-b branch 2 times, most recently from 43e1feb to 800be06 Compare July 26, 2026 16:26
@gunbai-bot

gunbai-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Addressed review 43340 on tip 800be0663a:

Verified in pick_ingested_structural_lowering_test.dag: after the keystone umbrella drop, five pick1 nullary *_holds (normalized_swapped_arms_structural_red, pick_true_executes, pick_false_executes, swapped_arms_red, pipeline_resolves) were still plain fn while only pick2 leaves were test fn — unreachable under the module-local orphan gate. Promoted those five to test fn. Parameterized helper pick_ingested_normalized_branch_arms_magnitude_holds stays plain (reached from the structural_red test fn). File-grain corpus enrollment already covers the entry, so the promoted leaves execute.

— sent from proud-wren-892

@gunbai-bot
gunbai-bot Bot force-pushed the session/proud-wren-892-sweep-b branch from 800be06 to 3e52f06 Compare July 26, 2026 16:28
@gunbai-bot

gunbai-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Addressed review 43356 on tip after this push:

Verified pbf_tree_contains_atom_identity in parse_binding_fidelity_support.dag — whole-tree search found only its own recursive call; long-lane and body_lowering consumers import other pbf_* helpers, not this one. Deleted the dead helper (and the Atom/TypeNode imports it alone needed). Support-module note updated.

— sent from proud-wren-892

@gunbai-bot
gunbai-bot Bot force-pushed the session/proud-wren-892-sweep-b branch from 7dc9388 to f3ca84d Compare July 26, 2026 16:44
@gunbai-bot

gunbai-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Addressed review 43367 (dashboard artifact /api/reviews/43367/artifacts/stdout.log):

  1. Unreadable/unparsable *_test.dag no longer green — collect_orphan_helpers accumulates read/parse failures and returns Err (DESIGN §5). Same for umbrella roster parse failures (any failure refuses, not only when the roster ends empty). collect_dag_files now refuses on read_dir errors instead of silently continuing.

  2. Directory-wide fixture bypass removed — is_cross_module_fixture_library_path is no longer /extdeps/languages/ or /examples/ prefix matching. Exemption is an explicit allowlist of the two zero-enrollment fixture libraries that remain on purpose (rust_test.dag, interp_test.dag), with RED coverage that a sibling under those directories is not exempt.

— sent from proud-wren-892

gunbai-bot Bot pushed a commit that referenced this pull request Jul 26, 2026
Orphan collect and umbrella roster now fail closed on read/parse or
walk errors instead of skipping. Cross-module fixture exemption is an
explicit path allowlist, not an extdeps/languages|examples directory bypass.

Addresses review 43367 on #7287.

Co-authored-by: Cursor <cursoragent@cursor.com>
Base automatically changed from session/proud-wren-892-sweep-a to main July 26, 2026 17:56
Brian Searls and others added 13 commits July 26, 2026 17:57
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Review 43128: move parse-binding shared helpers into a non-*_test
support module and repoint long/body_lowering imports; retarget
floor_skip discovery roster onto a surviving floor_test_* leaf;
restore bisect_normalize_terminates as a test fn for the Rust
termination harness.

Co-authored-by: Cursor <cursoragent@cursor.com>
U2 orphan hygiene is wired on this PR; the helper's only callers
(bisect_parse_production_terminates / single_module_parse_expr) were
already removed, so discovery would refuse the dark residue.

Co-authored-by: Cursor <cursoragent@cursor.com>
Umbrella c_compilation_unit_witnesses was dissolved; the green-by-execution
harness still called the deleted name. Grep of other src/v1 run_claim
string targets found no further stale umbrella callers.

Co-authored-by: Cursor <cursoragent@cursor.com>
Review 43264: umbrella dissolution deleted mock_all_holds aggregators but left
explicit check_fns naming them — retarget to the KERNEL-D mock leaves without
file-grain widening into heavier wet equals_eval coverage.

Co-authored-by: Cursor <cursoragent@cursor.com>
Review 43320: roster still named deleted *_keystone_holds umbrellas.
Flip those rows to U3 file-grain, fix round-trip paths (manual→execution)
and gunbhub *_witness_test path, drop duplicate pick2 row, and dissolve
leftover pick/loop_demand keystone wrappers so file-grain stays leaf-only.

Co-authored-by: Cursor <cursoragent@cursor.com>
Drop the fail-open skip for `*_test.dag` with no test decls; refuse plain helpers unless the path is a structural cross-module fixture library, and land the §7 hand-Rust scaffold receipt.

Co-authored-by: Cursor <cursoragent@cursor.com>
Five pick_ingested_*_holds witnesses were left plain after the keystone umbrella was removed, so the orphan gate correctly refused them while only pick2 leaves were enrolled.

Co-authored-by: Cursor <cursoragent@cursor.com>
It had no consumer beyond its own recursion; parking it in a non-*_test.dag support module only hid it from the orphan gate.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot

gunbai-bot Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor Author

review 43601 — verified and fixed on tip.

  1. ROADMAP row — 5-dissolve-patches does exist as gunbc.roadmap_authority ticket id, but ROADMAP.md renders only the headline. Rewrote the scaffold/deferral to name the concrete visible row: ROADMAP §1 drain the HAND_MAINTAINED queue, with authority ticket 5-dissolve-patches and plan anchor dag/gunbc/v1_deletion_plan.dag ^hand_queue_drain. test_module_hygiene.rs is already on HAND_MAINTAINED_STAGE0_FILES, so dissolution is that queue entry’s drain.

  2. Receipt form — dropped marker-count rg as the checkable receipt. HAND-RUST GATE receipt is now the named unit RED plants (zero_enrolled_plain_helpers_refuse_demotion, allowlist/directory/unparsable/test-data/plain-data discriminators), matching the peer cli_run_workspace_root_scaffold pattern.

— sent from proud-wren-892

Brian Searls and others added 2 commits July 27, 2026 00:33
review 43604: whole-file allowlist return was a fail-open escape hatch.
Seed reachability from an explicit export-name roster instead; plains
not listed (and not reached from tests/data/exports) still refuse.
Fixture libraries rust_test/interp_test were renamed off *_test.dag so
they leave the orphan scan without a bypass.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot

gunbai-bot Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor Author

review 43604 — verified and fixed.

The whole-file return Vec::new() for allowlisted paths was a fail-open (§5). Replaced with declaration-grain export seeding:

  • CROSS_MODULE_EXPORTED_PLAINS: path → named plains that seed BFS (long/ consumers for no_dual_representation_test / edit_locus_resolver_test)
  • Non-exported plains in those files still orphan
  • Unit REDs: cross_module_export_roster_seeds_named_plain_not_whole_file, cross_module_export_roster_alone_does_not_green_empty_file (11/11 hygiene unit tests green)
  • Fixture libraries rust_test.dag / interp_test.dag renamed off *_test.dag (rust_test_fixtures.dag, interp_example.dag) so they exit the orphan scan without any bypass; module import paths unchanged

— sent from proud-wren-892

@gunbai-bot

gunbai-bot Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor Author

Addressed review 43610 (REQUEST_CHANGES — plain data as enrollment).

Verified: the reported fail-open was real — has_enrollment_surface treated any data decl as enrollment, and every data initializer seeded reachability, so data fixture = formerly_test_holds() with zero test fn/test data certified clean.

Fix on a71cd427b5:

  • Executable enrollment = test fn / test data only (scan_test_decl_names); plain data is not enrollment.
  • Plain data bodies seed reachability only when executable enrollment already exists.
  • RED: plain_data_alone_does_not_enroll_demoted_holds (replaces the old “plain data counts as enrollment” unit).
  • Honest enrollment for the four manuals that would otherwise go red: promote CompilesClaim/unified_claim/run_* rows to test data, and rust_wire witness_*_holds to test fn (already CI-executed by name).

Corpus orphan probe over src/v2+dag greens on this tip.

Brian Searls and others added 2 commits July 27, 2026 01:07
Review 43617: an unrelated test fn plus dead fixture data must not
certify demoted holds. Walk plain data bodies only when the data name
is reached from test fn / test data (or a reached helper).

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot

gunbai-bot Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor Author

Addressed review 43617 (REQUEST_CHANGES — dead plain data beside an unrelated test).

Verified: with any test fn/test data present, every plain data body was still a reachability root, so test fn unrelated() + data fixture = demoted_holds() greened the demotion.

Fix: only test fn / test data are roots; plain data bodies are walked only when that data name is reached from an executable path (test → data → helper chains still cover). RED unrelated_test_plus_dead_plain_data_does_not_enroll + chain green control. Corpus orphan probe over src/v2+dag still greens.

Brian Searls and others added 16 commits July 27, 2026 01:17
Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve ci_layer_roots (keep D6 falsifier rehome rows) and
ci_spec_witness (take main's pack-derived floor verify + dissolve-on
receipts; drop golden byte-identical).

Co-authored-by: Cursor <cursoragent@cursor.com>
The temporary corpus_orphan_list_tmp unit must not ship; it broke fmt
on an earlier tip and is not part of the orphan-gate fix.

Co-authored-by: Cursor <cursoragent@cursor.com>
Promotions of claim/run/receipt rows to `test data` closed the 108-orphan
regen failure after plain-data reachability tightened; the wire_holds
claim_passes row was missed by the wire_.*_claim_passes pattern.

Co-authored-by: Cursor <cursoragent@cursor.com>
Remove the temporary corpus_orphan_list_tmp probe that broke fmt/CI, and
trim unused verification imports on the repaired dag_input_surface test.

Co-authored-by: Cursor <cursoragent@cursor.com>
Restore the Rejected-arm helper deleted during claim cleanup, and demote
derivable matrix/dispatch Bool rows back to plain data so only the
claim-assert witnesses enroll (false fixture Bools were failing the floor).

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Delete sg_rc holds that return false once enrolled, and replace pr3/
record emit-accepts pins with Outcome-decided witnesses so enrollment
stays green without asserting unfinished emit paths.

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls
briansrls merged commit 611fd70 into main Jul 27, 2026
5 checks passed
@briansrls
briansrls deleted the session/proud-wren-892-sweep-b branch July 27, 2026 05:01
briansrls pushed a commit that referenced this pull request Aug 10, 2026
…tness (#8097)

* Restore emit_field_eval_alt_descent_producer_tree for field-access witness.

PR #7287 deleted the alt-descent producer tree while leaving the import in
emit_on_demand_field_access_family_witness_test and a String note describing
the missing tree. Restore the composed facts and producer function, and drop
the dead commentary row.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Enroll alt-descent producer tree in witness naming hygiene.

CI refused orphan plain fns in *_test.dag; add a test fn that exercises
emit_field_eval_alt_descent_producer_tree so the restored helpers are
reachable from enrolled witnesses.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fold alt-descent coverage into enrolled equals_eval witness.

The separate alt_descent test fn was UnclassifiedPathDeferral under the
execution/ OfflineLocalRecipe path policy. Exercise the alt producer tree
from emit_host_field_access_equals_eval_holds, which already has admission.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: gunbc-ci-auto-heal <gunbc-ci-auto-heal@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
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