Skip to content

Run the aggregate checkpoint with the mechanical ownership audit #1758

Description

@pinin4fjords

Parent: #1745

Predecessor: #1757 and its stacked draft PR.

Prototype evidence: draft PR #1743 and checkpoint 3f11f175. The checkpoint verification matrix and failure classification are preserved in PR #1743.

Outcome

Run the complete stacked implementation through the aggregate routing, topology, static, render, simplify, and independent #1653 gates, with a mechanical ownership audit. This issue validates and removes only what the reviews identify as dead; it introduces no new architecture.

Note: completing this checkpoint proves the #1745 ownership migration, not all of #1671. #1671 closes only after the quality-half disposition review (#1760) has resolved what remains outside this stack.

Estimate: 4-8 focused hours plus CI/render-preview time. Each behavioral child already ran $pinin4fjords:simplify on its own diff (per #1745), so the aggregate pass here is a verification sweep, not a first cleaning.

Scope

  • Run the four-case gate first, spelled by test id (below).
  • Run the broad routing gate, topology validator, and render corpus.
  • Run the exact whole-repository static gates, hooks, and full test suite.
  • Run $pinin4fjords:simplify over the aggregate production diff as a verification sweep; apply bounded reuse/dead-code findings through the sole writer.
  • Run the mechanical ownership audit (below).
  • Obtain independent code, visual I/N/D, and Architecture programme: semantic route planning for first-render robustness #1653 reviews.
  • Push a final commit without a CI-skip marker and update the aggregate draft PR description to describe the aggregate diff against main.

The mechanical ownership audit

Every behavioral child's PR body carries a "Coordinates transferred / setters deleted in this PR" section. This issue takes the union of those lists and verifies mechanically:

  • every listed setter is deleted (grep returns nothing, or only the explicitly retained entries with their cited evidence);
  • no migrated coordinate has a second writer (each retained legacy pass named in Retire the pre-request convergence settlement chain and land the four-case gate #1761 either subsumed-and-deleted or retained with evidence it cannot write a granted coordinate);
  • git grep -n 'finalized_owned_segments\|_scalar_component_plan\|_settle_reserved_trunk_axes\|_shared_left_exit_opening\|_landing_domains\|landing-obstacle' -- src tests prints nothing (these were checkpoint-branch-only or never existed; their absence is expected, verify rather than hunt);
  • exactly one production integration call site for solve_corridor_cohorts, proven by the Trace final settlement and resolve seed-72 routing defects #1746/Join convergence variables into the one cohort problem #1752 instrumentation counters (at most two compiles per render: intent, final; exactly one final solve) together with an exact structural check over call expressions (AST-based, e.g. ast.walk filtering ast.Call nodes whose func resolves to solve_corridor_cohorts across src/). A textual git grep 'solve_corridor_cohorts' -- src is a helpful auxiliary audit but its raw count also matches imports, exports, and the definition, so it is not the proof;
  • no synthetic-prefix ownership decoding, connector-direction boundary inference, or validation exemption exists;
  • every production compatibility component carries typed whole-group provenance (bound at Join convergence variables into the one cohort problem #1752, plan-level at Publish and enforce the cohort-final freeze #1757); none arises from a silent incompleteness fallback, and no migrated coordinate sits under a legacy owner via compatibility;
  • the stage trace shows at most one GENERAL and one APERTURE batch, at most two compiles (intent, final), exactly one final solve, and zero post-cohort-final mutation, on every corpus fixture;
  • the render path's re-observation count does not exceed the frozen sequence's requirement (no regression against main's settlement round count outside the sanctioned GENERAL and APERTURE batches).

The four-case gate, spelled by test id

pytest -q -n 0 \
  "tests/test_member_geometry.py::test_seed_15_routes_split_siblings_as_independent_members" \
  "tests/test_member_geometry.py::test_seed_15_wraps_u_bypass_above_crossing_merge_trunk" \
  "tests/test_member_geometry.py::test_seed_77_shortfall_requests_one_atomic_corridor_aperture" \
  "tests/test_member_geometry.py::test_reservation_reroute_reseats_port_peeloff_after_reconciliation" \
  "tests/test_corridor_cohort_integration.py::test_opposing_bypass_lines_hold_separated_direction_qualified_lanes" \
  "tests/test_corridor_cohort_integration.py::test_no_solver_owner_contains_opposite_running_claims"

These landed together at #1761 and must all still pass, plus test_post_freeze_stages_are_validation_only from #1757. Confirm the collected count matches before believing a pass.

Non-goals

  • No new planner, constraint, owner relationship, retry, clearance cycle, render stage, fixture branch, or collision-specific exception.
  • No weakening or xfail of an acceptance gate.

Verification

pytest -q -n 0 tests/test_member_geometry.py tests/test_corridor_cohort_integration.py tests/test_corridor_cohorts.py tests/test_convergence_corridor_grants.py tests/test_deferred_final_guards.py
pytest -q -n 0 tests/test_routing_gate_coverage.py tests/test_guard_registry_golden.py tests/test_guard_registry.py
pytest -q -n 0 tests/test_topology_validation.py tests/test_hash_seed_determinism.py
pytest -q -n auto
ruff check src/ tests/ scripts/
ruff format --check src/ tests/ scripts/
mypy --no-incremental
prek run --all-files

Render review: the authoritative diff is the PR preview at https://seqeralabs.github.io/nf-metro/_pr/<PR_NUMBER>/, produced by .github/workflows/pr-renders.yml. Confirm the four hash_seed_determinism/seed_* entries added to scripts/gallery.yaml in #1746 are present so the seed renders appear in the diff. Classify every delta I/N/D by eye; a green suite is not evidence of no visual regression, and every changed render is eyeballed.

#1653 hard stop

Any failing gate that appears to require a new mechanism stops this issue. Record the structural evidence and open a separately reviewed design issue rather than expanding the validation slice or applying a sequential repair.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions