|
GA-R5: D-139 step 6 runs IN FULL before the Stage-5 deploy (ruling recorded before the work)
Closes the exchange the 2026-08-01 ordering ruling explicitly left owed: "at least step 6 has a deploy coupling that this ruling does not settle ... needs its own GA-R5 exchange before Step 4". Committed and pushed BEFORE any dependent work, per GA-R5. Operator answer, exact utterance: "Full step 6 first, then deploy". THE 08-01 PREMISE IS NO LONGER TRUE, and the question was put on re-measurement rather than on that text. It reasoned the VIP overlays "carry v6 VIPs in the ULA range"; measured 2026-08-02, overlays/vr1-dc0-vips.yaml has ZERO fd50: legs and 39 GUA legs, re-rendered onto GUA on 08-02 with the rack's staged copy brought into line the same day. The deploy INPUT is already correct; the residual coupling is in the APEX only. MEASURED (d139-gua-carve.py --dc vr1-dc0, dry run, against the working apex office1-netbox per DOCFIX-195): CREATE 0 | EXISTS 16 | RETIRE-REPORT 9, dependents 26 ip-addresses / 0 ip-ranges. Step 1 fully applied and idempotent. The 26 were ENUMERATED rather than inferred from the count: all are VIP records, 13 in fd50:840e:74e2:220::/64 (metal-admin) and 13 in :221::/64 (metal-internal), octets ::50-::62. The other three retiring /64s hold zero. CONSEQUENCE: the Stage-5 deploy is blocked on step 6 and nothing else in the D-139 list. Step 6 = create 26 GUA VIP addresses, delete 26 ULA VIP addresses, retire 9 ULA prefixes. Steps 4, 5 and 7 remain sequenced after the deploy (7 necessarily -- its network-get prerequisite needs a deployed unit). COST, recorded because it is the argument against the option chosen: it needs a repo tool with a DELETE path against the apex, which this repo has deliberately never had. d139-gua-carve.py refuses to delete BY DESIGN and that refusal is why the step-1 push was safe to run. The new tool is the largest new surface introduced immediately before a deploy and must meet the step-1 standard: independently reviewed, dry-run first, assertions proven able to FAIL, and CREATE strictly before DELETE so no window exists in which a live VIP is recorded nowhere. The tool is NOT YET BUILT. repo-lint 0 fail. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HvCyrwvYTTcDYnRErfMsNf |
|---|
|
|
| docs/CURRENT-STATE.md |
|---|
| docs/design-decisions.md |
|---|