carlos / platform Public

Merge remote-tracking branch 'origin/main' into worktree-domain-attach

# Conflicts:
#	apimode.go
#	domains_cli.go
#	domains_cli_test.go
#	internal/console/apidomains.go
#	internal/console/apidomains_test.go
#	internal/provision/reconcile_test.go
Paul Campbell 7a1ea5ac48ff7bf37c86ce9e66fb855eddfd3990 parent f073387parent 729cffb
96 files changed, +19330 −316
  • apimode.go +144 −64
  • apimode_test.go +189 −0
  • cli.go +38 −2
  • cli_test.go +113 −0
  • cmd/console/main.go +11 −0
  • deploy.go +1 −1
  • deploy_test.go +2 −2
  • docs/superpowers/plans/2026-08-11-unit-economics.md +2335 −0
  • docs/superpowers/plans/2026-08-12-multi-upstream-routes.md +439 −0
  • docs/superpowers/plans/2026-08-12-registry-snapshot-cold-standby.md +718 −0
  • docs/superpowers/specs/2026-08-11-unit-economics-design.md +282 −0
  • docs/superpowers/specs/2026-08-12-ha-posture-and-multi-upstream-routes-design.md +251 −0
  • domains_cli.go +48 −7
  • domains_cli_test.go +143 −14
  • economics.go +231 −0
  • economics_test.go +292 −0
  • go.mod +1 −0
  • go.sum +2 −5
  • infra/modules/README.md +1 −0
  • infra/modules/region-host/main.tf +42 −0
  • infra/modules/region-host/variables.tf +12 −0
  • instances_cli.go +164 −10
  • instances_cli_test.go +72 −0
  • instances_e2e_test.go +59 −0
  • internal/console/apidomains.go +185 −7
  • internal/console/apidomains_test.go +509 −10
  • internal/console/apiinstances.go +222 −12
  • internal/console/apiinstances_test.go +510 −0
  • internal/console/authcli.go +5 −0
  • internal/console/cepull.go +173 −0
  • internal/console/cepull_test.go +41 −0
  • internal/console/econlistquery.go +219 −0
  • internal/console/econlistquery_test.go +202 −0
  • internal/console/economicsbill_test.go +448 −0
  • internal/console/economicspage_test.go +466 −0
  • internal/console/economicspass.go +1095 −0
  • internal/console/economicspass_test.go +452 −0
  • internal/console/economicsview.go +582 −0
  • internal/console/economicsview_test.go +267 −0
  • internal/console/server.go +396 −1
  • internal/console/store.go +24 −0
  • internal/console/templates/economics.html +739 −0
  • internal/console/templates/economics_accounts.html +172 −0
  • internal/console/templates/layout.html +22 −0
  • internal/console/view_test.go +12 −0
  • internal/domains/aliases.go +128 −22
  • internal/domains/aliases_test.go +229 −0
  • internal/domains/claims.go +46 −0
  • internal/domains/claims_test.go +60 −0
  • internal/domains/reconcile.go +21 −32
  • internal/domains/reconcile_internal_test.go +14 −19
  • internal/economics/bill.go +31 −0
  • internal/economics/bill_test.go +28 −0
  • internal/economics/compute.go +153 −0
  • internal/economics/compute_test.go +107 −0
  • internal/economics/scenario.go +161 −0
  • internal/economics/scenario_test.go +60 −0
  • internal/edge/alias_test.go +315 −0
  • internal/edge/edge.go +407 −28
  • internal/edge/edge_test.go +648 −0
  • internal/edge/prober.go +551 −0
  • internal/edge/prober_test.go +554 −0
  • internal/edge/purge_header.go +1 −12
  • internal/edge/usagemeter.go +84 −0
  • internal/edge/usagemeter_test.go +66 −0
  • internal/edge/wildcard.go +38 −1
  • internal/edge/wildcard_test.go +86 −0
  • internal/host/agent.go +57 −0
  • internal/host/host_test.go +92 −0
  • internal/host/snapshot_loop.go +222 −0
  • internal/host/snapshot_loop_test.go +280 −0
  • internal/host/usage_loop.go +55 −0
  • internal/host/usage_loop_test.go +48 −0
  • internal/objstore/aws.go +21 −4
  • internal/provision/provision.go +247 −19
  • internal/provision/provision_test.go +247 −0
  • internal/provision/reconcile.go +105 −10
  • internal/provision/reconcile_test.go +294 −0
  • internal/registry/registry.go +377 −16
  • internal/registry/registry_test.go +308 −0
  • internal/registry/snapshot_test.go +53 −0
  • internal/release/store.go +93 −1
  • internal/release/store_rgw_test.go +41 −0
  • internal/release/store_test.go +26 −0
  • internal/status/contract_test.go +42 −9
  • internal/status/dryrun.go +45 −0
  • internal/status/snapshot.go +66 −7
  • internal/status/status_test.go +79 −0
  • internal/usage/census.go +23 −0
  • internal/usage/edge.go +100 −0
  • internal/usage/edge_test.go +80 −0
  • internal/usage/passes_test.go +70 −0
  • internal/usage/statement.go +78 −0
  • internal/usage/storage.go +24 −0
  • internal/usage/usage.go +33 −0
  • main.go +5 −1
apimode.go

Loading diff…

apimode_test.go

Loading diff…

cli.go

Loading diff…

cli_test.go

Loading diff…

cmd/console/main.go

Loading diff…

deploy.go

Loading diff…

deploy_test.go

Loading diff…

docs/superpowers/plans/2026-08-11-unit-economics.md

Loading diff…

docs/superpowers/plans/2026-08-12-multi-upstream-routes.md

Loading diff…

docs/superpowers/plans/2026-08-12-registry-snapshot-cold-standby.md

Loading diff…

docs/superpowers/specs/2026-08-11-unit-economics-design.md

Loading diff…

docs/superpowers/specs/2026-08-12-ha-posture-and-multi-upstream-routes-design.md

Loading diff…

domains_cli.go

Loading diff…

domains_cli_test.go

Loading diff…

economics.go

Loading diff…

economics_test.go

Loading diff…

go.mod

Loading diff…

go.sum

Loading diff…

infra/modules/README.md

Loading diff…

infra/modules/region-host/main.tf

Loading diff…

infra/modules/region-host/variables.tf

Loading diff…

instances_cli.go

Loading diff…

instances_cli_test.go

Loading diff…

instances_e2e_test.go

Loading diff…

internal/console/apidomains.go

Loading diff…

internal/console/apidomains_test.go

Loading diff…

internal/console/apiinstances.go

Loading diff…

internal/console/apiinstances_test.go

Loading diff…

internal/console/authcli.go

Loading diff…

internal/console/cepull.go

Loading diff…

internal/console/cepull_test.go

Loading diff…

internal/console/econlistquery.go

Loading diff…

internal/console/econlistquery_test.go

Loading diff…

internal/console/economicsbill_test.go

Loading diff…

internal/console/economicspage_test.go

Loading diff…

internal/console/economicspass.go

Loading diff…

internal/console/economicspass_test.go

Loading diff…

internal/console/economicsview.go

Loading diff…

internal/console/economicsview_test.go

Loading diff…

internal/console/server.go

Loading diff…

internal/console/store.go

Loading diff…

internal/console/templates/economics.html

Loading diff…

internal/console/templates/economics_accounts.html

Loading diff…

internal/console/templates/layout.html

Loading diff…

internal/console/view_test.go

Loading diff…

internal/domains/aliases.go

Loading diff…

internal/domains/aliases_test.go

Loading diff…

internal/domains/claims.go

Loading diff…

internal/domains/claims_test.go

Loading diff…

internal/domains/reconcile.go

Loading diff…

internal/domains/reconcile_internal_test.go

Loading diff…

internal/economics/bill.go

Loading diff…

internal/economics/bill_test.go

Loading diff…

internal/economics/compute.go

Loading diff…

internal/economics/compute_test.go

Loading diff…

internal/economics/scenario.go

Loading diff…

internal/economics/scenario_test.go

Loading diff…

internal/edge/alias_test.go

Loading diff…

internal/edge/edge.go

Loading diff…

internal/edge/edge_test.go

Loading diff…

internal/edge/prober.go

Loading diff…

internal/edge/prober_test.go

Loading diff…

internal/edge/purge_header.go

Loading diff…

internal/edge/usagemeter.go

Loading diff…

internal/edge/usagemeter_test.go

Loading diff…

internal/edge/wildcard.go

Loading diff…

internal/edge/wildcard_test.go

Loading diff…

internal/host/agent.go

Loading diff…

internal/host/host_test.go

Loading diff…

internal/host/snapshot_loop.go

Loading diff…

internal/host/snapshot_loop_test.go

Loading diff…

internal/host/usage_loop.go

Loading diff…

internal/host/usage_loop_test.go

Loading diff…

internal/objstore/aws.go

Loading diff…

internal/provision/provision.go

Loading diff…

internal/provision/provision_test.go

Loading diff…

internal/provision/reconcile.go

Loading diff…

internal/provision/reconcile_test.go

Loading diff…

internal/registry/registry.go

Loading diff…

internal/registry/registry_test.go

Loading diff…

internal/registry/snapshot_test.go

Loading diff…

internal/release/store.go

Loading diff…

internal/release/store_rgw_test.go

Loading diff…

internal/release/store_test.go

Loading diff…

internal/status/contract_test.go

Loading diff…

internal/status/dryrun.go

Loading diff…

internal/status/snapshot.go

Loading diff…

internal/status/status_test.go

Loading diff…

internal/usage/census.go

Loading diff…

internal/usage/edge.go

Loading diff…

internal/usage/edge_test.go

Loading diff…

internal/usage/passes_test.go

Loading diff…

internal/usage/statement.go

Loading diff…

internal/usage/storage.go

Loading diff…

internal/usage/usage.go

Loading diff…

main.go

Loading diff…