Skip to content

Interlock: native-route required-lane milestone; namespace cutover and grammar retirement run on the native floor - #11200

Merged
gunbai-bot[bot] merged 7 commits into
mainfrom
ns-interlock-native-floor
Sep 13, 2026
Merged

gunbai-bot[bot] merged 7 commits into
mainfrom
ns-interlock-native-floor

Conversation

@briansrls

@briansrls briansrls commented Sep 12, 2026 •

Copy link
Copy Markdown
Contributor

Interlock carrier edit under two rulings from fierce-lark-661 (2026-09-12). Scope: dag/gunbc plus one witness file.

1. New milestone SelfHostNativeRouteRequiredLane: the native route as a required lane.

  • The lane is promoted through the C6 discriminating matrix, which retires gunbc.rung_drop v2_native_route_off_the_merge_path.
  • gunbc.compiler_frontend_program_status native_route_required_lane_outstanding derives its standing from that drop row. A standing drop reads outstanding at the drop's identity; a retired drop reads clear. The standing is never authored.
  • SelfHostRatchetGateEnrolled is deliberately left unchanged. It is the compile-phase regression gate against the persisted frontier (gunbc.self_host_compile_phase_live_gate, merged in Gate the LIVE tree with the compile-phase frontier ratchet, and declare why the measurement is not yet enrolled #9857, enrolment parked by the operator). Native admission answers a different question, so re-pointing it would be a §3 meaning fork.

2. Cycle removed.

  • SelfHostSeedRetirement used to require NamespaceGrammarRetired.
  • The adopted order, grammar last (2026-08-25) and v1 deleted on the native floor first (2026-09-12), runs XL-6/XL-7 after v1 deletion. Combined with that edge, this is a cycle.
  • Seed retirement now requires the native-route milestone instead. NamespaceFixForwardComplete requires SelfHostSeedRetirement, and NamespaceGrammarRetired requires the cutover. That encodes the adopted order (native floor, then v1 deleted, then cutover, then grammar last) as direct edges, per review 64743.

Evidence (test.claim.compiler_frontend_program_status_witness):

  • the_native_route_milestone_is_wired_to_its_drop_row: a relation over the live drop row.
  • the_native_route_fold_answers_both_ways: both drop standings authored as fixtures.
  • the_namespace_cutover_runs_on_the_native_floor_after_the_seed: pins those four edges. It is red on main's edges. It is not a general cycle detector: before this change, no carrier encoded the "grammar after v1 deletion" order.
  • Execution status: NOT YET EXECUTED. Three BuildBuddy attempts built claim_batch, but every one refused before evaluating any test. The runner exposes no readable host memory bound (HostBudgetUnreadable). A requested bind exceeded its 7.6 GB, and its cgroup2 tree is not writable. The changed witness file is therefore left to this PR's required floor, which plans a touched witness. The two mutant REDs (the fold arm emptied; main's seed-retirement edge restored) will be run on a machine with a writable memory bound and posted here before any landing ask.

Receipt-neutral: no src/v1 and no closure-manifest members.

🤖 Generated with Claude Code

https://claude.ai/code/session_01AGawTbuANGBSUghDFv4hjW

…d grammar retirement run on the native floor after the seed

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AGawTbuANGBSUghDFv4hjW
@gunbai-bot gunbai-bot Bot changed the title Namespace cut program manager: import -> containment resolution (NAMESPACE-XL chain), funded now that v1 deletion has advanced - XL-0B-D denominator producer, XL-1 oracle capture before v1 deletion, XL-2/XL-4 instruments, XL-3 census, ACT-0 Interlock: native-route required-lane milestone; namespace cutover and grammar retirement run on the native floor Sep 12, 2026
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review September 12, 2026 19:49
Brian Searls and others added 2 commits September 12, 2026 20:08
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AGawTbuANGBSUghDFv4hjW
…etirement (review 64743)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AGawTbuANGBSUghDFv4hjW
@gunbai-bot

gunbai-bot Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Both findings in review 64743 are addressed.

  1. .xl_run.sh was a scratch driver committed by accident. It is removed in f2803b8.
  2. Accepted. The native-floor edge made the cutover a sibling of seed retirement, which the adopted order does not allow. In 90dab70, NamespaceFixForwardComplete requires SelfHostSeedRetirement, and NamespaceGrammarRetired requires the cutover. The native floor now reaches the cutover through seed retirement, so it is not restated as a direct edge. the_namespace_cutover_runs_on_the_native_floor_after_the_seed checks all four edges. Seed retirement's closure has no namespace milestone, so this adds no cycle.
    Witness execution plus the two mutant REDs are still to be posted before any landing ask.

@gunbai-bot

gunbai-bot Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Execution evidence at head 90dab70. Run locally with claim_batch --source-root dag --source-root src/v2 --entry dag/test/claim/compiler_frontend_program_status_witness_test.dag --functions <every test fn>:

  • GREEN: 37 PASS, 0 FAIL (the whole witness file, one resolve).
  • RED 1, fold mutant (native_route_required_lane_outstanding Standing arm returns []): the_native_route_fold_answers_both_ways FAILS. The other two new tests pass. That is correct: the wiring test is a relation, and both of its sides move together.
  • RED 2, main's edges restored (seed retirement requires NamespaceGrammarRetired; the cutover without seed retirement): the_namespace_cutover_runs_on_the_native_floor_after_the_seed FAILS. The other two pass.
    Both mutants were restored from backups afterwards.
    — sent from swift-bat-902

…hored drop standing (review 64759)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AGawTbuANGBSUghDFv4hjW
…g only via prerequisites (review 64771)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AGawTbuANGBSUghDFv4hjW
@gunbai-bot

gunbai-bot Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Review 64771 is right, and the defect is fixed in 2ade182. Once the cutover required it, SelfHostSeedRetirement's DerivableOnlyViaPrerequisites would have held the cutover's startability NotDerivable forever. Seed deletion is observable from the tree, so the milestone now awaits a new MissingInstrument SeedDeletionObservation (NotBuilt). The authored seed rosters are explicitly not that instrument, because an emptied roster is not an absent seed. Authorization still stays with the prerequisites. New test: seed_retirement_awaits_an_instrument_rather_than_only_its_prerequisites.
Executed locally at 2ade182: 38 PASS / 0 FAIL over the whole witness file. MUTANT: the cause restored to DerivableOnlyViaPrerequisites. Result: the new test FAILS, and every_declared_instrument_is_distinct_and_awaited FAILS too, because the instrument becomes unawaited. The file was restored afterwards.
— sent from swift-bat-902

…the why string already carries it

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AGawTbuANGBSUghDFv4hjW
@gunbai-bot
gunbai-bot Bot merged commit 2a5baa9 into main Sep 13, 2026
4 checks passed
@gunbai-bot
gunbai-bot Bot deleted the ns-interlock-native-floor branch September 13, 2026 01:23
briansrls pushed a commit that referenced this pull request Sep 13, 2026
gunbai-bot Bot pushed a commit that referenced this pull request Sep 13, 2026
Review 64983. Withdrawing the false CLEAR removed the RECEIPT and left the KIND:
DenominatorRosterInstrumentDelivered stayed in StageDeliveryEvidenceKind and in
required_stage_delivery_evidence_kinds with NOTHING READING IT -- git grep finds it only at
its own definition, label arm and required-list entry, while only XL-2 and XL-4 call
stage_delivery_kind_outstanding.

So "is XL-0's instrument ready?" had two answers again: a required delivery kind no standing
consults, beside the MissingInstrument cause StageXL0Denominator actually cites. That is the
attractor the withdrawal existed to kill, reintroduced by a half-finished retraction --
DESIGN section 3, one fact one place, and section 3c's consumer removed while the row
remained.

Removed from the type, the label fold and the required roster, with the reason recorded in
the carrier: XL-0's readiness is the instrument question and nothing else, and if it ever
owes this channel the kind returns WITH the standing that reads it, in the same change.

MERGE VERIFICATION, since git auto-resolved both shared files with no markers and a clean
auto-merge is not coherence: both sides' content checked directly rather than by exit code.
RepairInputOriginRosterProducer and my XL-0 arm test present; #11200's
SelfHostNativeRouteRequiredLane present in the interlock and the status carrier; the test-fn
set is the true union at 38 = my 34 + their 4, with a set difference confirming none of mine
was orphaned -- which is the failure mode an append-vs-append merge actually has.

67/67 PASS: the full 38-test status witness file INCLUDING #11200's four new tests, plus all
25 XL-0 rows, read after process exit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U5avL86NJ1YoyyezZj2BuM
briansrls pushed a commit that referenced this pull request Sep 13, 2026
Bring in #11200 shared status carrier and the rest of main so CI can run on a current head.
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