region-ha-2a-build
Region HA plan 2a: the provider-neutral core of spec 2 (two-box regions). Dormant behind CARLOS_REGION_HA.
Spec: docs/superpowers/specs/2026-10-15-region-ha-two-box-regions-design.md rev 15. Plan: docs/superpowers/plans/2026-10-16-region-ha-2a-core.md rev 4, 13 tasks.
What it builds:
- Box and group roles (legacy and platform), set with
carlos system box roleandgroup role, with an ops audit row. - The placement policy: at least 15% memory, 10% disk, an edges file under 15 minutes old, spread across boxes, then most memory.
- The H27 no-capacity refusal (503 RHA-C17 and a page), with each create choosing its box before any write and the choice carrying the claim observation. An incomplete read answers 503 unavailable with no page.
- The
/.carlos/lb-healthanswer, built on local liveness only. - Private-address forwarding within a region, using a validated
private_ip. - The
Carlos/Region EligibleBoxesmetric.
Review: every task was reviewed, and four took a fix round. Astra did a whole-branch pass and re-review and found no remaining findings. Paul approved the copy (RHA-C1 to C25) unedited. CI is green at 326d4e56. TestClaimConsoleMutationInvariant passes.
Rollout notes:
- No role may be written until every box and console runs 2a, because the roster is strictly decoded.
- Region HA must be on for every reader in a region before any box publishes no EIP.
- 2c must provide the security group's port 443 from the VPC, the
cloudwatch:PutMetricDatagrant onCarlos/Region,CARLOS_REGION_METRICS, and the IMDSnetwork/interfaces/macs/*path. - Boxes outside AWS need
CARLOS_PRIVATE_IP,CARLOS_PRIVATE_CIDRandCARLOS_PUBLIC_IP. - The home region's capacity alarm uses the home's roster name.
Waiting on: platform-1e's confirmation of the final census rows (census ruling region-ha-2a), and Paul's merge.
Commits
65
Discussions
0
0 open
Tasks
0/0
done
Discussions
- No discussions on this branch yet.
Tasks
- No tasks yet.
Activity
- claude agent, operated by paul@keymail.dev pushed 40d7b30db region HA 2a: record platform-1e's census ruling region-ha-2a in the overlay header
- claude agent, operated by paul@keymail.dev pushed 326d4e568 region HA 2a: the claim authority census reviews the capacity metric's CloudWatch client (write-only metric publishing, no claim authority)
- claude agent, operated by paul@keymail.dev pushed 9aa420471 region HA 2a: Paul approved the copy, RHA-C1 to RHA-C25 unedited
- claude agent, operated by paul@keymail.dev pushed 7918e6ad8 Merge remote-tracking branch 'origin/main' into region-ha-2a-build
- claude agent, operated by paul@keymail.dev pushed 722c23e7e region HA 2a: home-region capacity and forwarding; role doors only with region HA
- claude agent, operated by paul@keymail.dev pushed 5c5f40d5b region HA 2a: publish each region's eligible capacity
- claude agent, operated by paul@keymail.dev pushed 7722ad72b region HA 2a: the move room check refuses only where room is known missing
- claude agent, operated by paul@keymail.dev pushed 09962b530 region HA 2a: the move door refuses a destination with no room
- claude agent, operated by paul@keymail.dev pushed 23e3171ae region HA 2a: an incomplete placement read is not no room; alert and Retry-After
- claude agent, operated by paul@keymail.dev pushed 6065b5e32 region HA 2a: create doors choose first and refuse when no box has room
- claude agent, operated by paul@keymail.dev pushed c7484fda1 region HA 2a: role doors write an audit row; a non-race roster refusal has its own answer
- claude agent, operated by paul@keymail.dev pushed 851b3db43 region HA 2a: box and group role doors and the carlos system verbs
- claude agent, operated by paul@keymail.dev pushed ff18a4582 region HA 2a: the edge beat probes the serving path; refresh timing and negative tests
- claude agent, operated by paul@keymail.dev pushed cfb23740c region HA 2a: the load balancer health answer
- claude agent, operated by paul@keymail.dev pushed aee7b1e75 region HA 2a: dial a box's private address within its region
- claude agent, operated by paul@keymail.dev pushed e19a292ea region HA 2a: revert the edges loop edits; the provider is read per pass and the seal stands
- claude agent, operated by paul@keymail.dev pushed 2d38c8b3e region HA 2a: an unknown metadata read leaves the published edges file standing
- claude agent, operated by paul@keymail.dev pushed 995223963 region HA 2a: publish the box's validated private address and only what its source reports
- claude agent, operated by paul@keymail.dev pushed 2792f1fb9 region HA 2a: creates and relocations choose by the placement policy
- claude agent, operated by paul@keymail.dev pushed 3d35bbf40 region HA 2a: edges files carry total memory and disk
- claude agent, operated by paul@keymail.dev pushed e1ca43c15 region HA 2a: the placement policy over the eligible set
- claude agent, operated by paul@keymail.dev pushed a2789b7a0 region HA 2a: box and group roles in the signed roster
- claude agent, operated by paul@keymail.dev pushed c3783b1a4 region HA 2a: the load balancer health state and the provider boundary tests
- claude agent, operated by paul@keymail.dev pushed 28fa37958 region HA 2a: the copy record and its gate
- claude agent, operated by paul@keymail.dev pushed 5d95ec35f Merge remote-tracking branch 'origin/main' into region-ha-2a-build
- claude agent, operated by paul@keymail.dev pushed 2544243c6 Plan 2a rev 4: census ruling region-ha-2a item 5
- claude agent, operated by paul@keymail.dev pushed e5a3a3dec plan 2a: Astra round 3 committed unedited - ready to build
- claude agent, operated by paul@keymail.dev pushed 5d2e71699 Astra brief: plan 2a round 3
- claude agent, operated by paul@keymail.dev pushed a8ddbc084 Plan 2a rev 3: Astra round 2 and census ruling region-ha-2a rev 2
- claude agent, operated by paul@keymail.dev pushed 0a31a4555 plan 2a: Astra round 2 committed unedited