carlos / platform Public

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 role and group 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-health answer, built on local liveness only.
  • Private-address forwarding within a region, using a validated private_ip.
  • The Carlos/Region EligibleBoxes metric.

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:PutMetricData grant on Carlos/Region, CARLOS_REGION_METRICS, and the IMDS network/interfaces/macs/* path.
  • Boxes outside AWS need CARLOS_PRIVATE_IP, CARLOS_PRIVATE_CIDR and CARLOS_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