carlos / platform Public

A carlos system verb to retire a box (delete its edges record) open

On branch geoip-for-apps

Nothing deletes a retired box's control/edges/<label>.json (internal/console/instancesplacement.go says so). The geoip rollout verdict (carlos system geoip status, geoip spec §5.5) treats every box with an edges record as expected. So a retired box blocks "ready" until an operator deletes its record by hand, and the verdict tells them how. A first-class verb would also stop the home map backhauling traffic to a dead box. Filed rather than worked around.

Recommendation (2026-10-08): don't build a standalone "delete the edges record" verb. Fold this into region HA instead.

The region HA spec (2026-10-04-region-ha-box-placement-design.md) already has a box roster with a retired state, box fence records under control/box-fences/, and a console step that retires a roster entry after a fence. A second retirement path that deletes control/edges/<label>.json directly would be a parallel source of truth for "is this box gone", which is the shape [[bucket-records-are-not-a-tenancy-boundary]] warns about.

When region HA's roster lands, carlos system geoip status should read expected boxes from the roster (skip retired) rather than from every edges record. Until then the verdict already names the hand fix for a retired box, and no box is retired today: flagship's four boxes all report ok.

Leaving this open for Paul to confirm the fold, or to ask for the interim verb anyway.