|
GA-R5: D-139 step 6 "retire" means DEPRECATE -- nothing is deleted (ruling before the work)
Taken in a SEPARATE exchange from the ordering ruling (GA-R5: one decision per exchange -- that one settled WHEN step 6 runs, this settles WHAT it does). Committed and pushed before any dependent work. Operator answer, exact utterance: "Deprecate both, delete nothing". IT HAD TO BE ASKED RATHER THAN INFERRED. D-139's list says "retire the ULA rows" and this repo has never defined that for an IPAM OBJECT: every netbox/*.py importer uses only active/container/reserved, "deprecated" appears nowhere, and d139-gua-carve.py:4 says "NO deletion ever". The word could equally have meant DELETE or MARK-UNUSABLE, and those differ irreversibly in one direction. Status choices were verified against the LIVE API before the options were put, not assumed from documentation: prefixes -> ['container', 'active', 'reserved', 'deprecated'] ip-addresses -> ['active', 'reserved', 'deprecated', 'dhcp', 'slaac'] STEP 6 IS THEREFORE: (1) create 26 GUA VIP ip-addresses (f02:20::50-::62 metal-admin, f02:21::50-::62 metal-internal) status=active; (2) deprecate the 26 ULA VIP addresses; (3) deprecate the 9 ULA prefixes. CREATE FIRST, VERIFY, THEN DEPRECATE -- reversed, there would be an interval in which the apex marks a live VIP's only record unusable. THE COST THE ORDERING RULING FLAGGED IS WITHDRAWN. It called step 6 the largest new surface before a deploy because it needed a DELETE path the repo has deliberately never had. There is now no delete path: CREATE plus STATUS-UPDATE only, never-delete preserved repo-wide, every step reversible by flipping a status back, migration stays visible in the apex. Recorded for a later reader: "deprecated" is ADVISORY in NetBox, not enforcing. The functional protection against handing out an in-use GUA address comes from the 26 GUA records EXISTING, not from the deprecation. Tool still NOT 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 |
|---|