carlos / platform Public

Merge main into sidecar-members

600 commits of main, absorbed in one merge rather than 55 rebase rounds.
The branch had sat since 2026-08-18 and was conflicted, not merely stale:
16 files, 43 hunks. Most were unions; these were not.

The console CLI API got a role gate while this branch waited. Every door
now registers through cliRoute with an svcrole.Set, so the six sidecar
doors were ported onto it rather than left on mux.HandleFunc, where the
default-deny test would have caught them. Five take the Instance role —
that IS the design's stated requirement, an app process minting a bot per
enrolled member with the CARLOS_INSTANCE_TOKEN it already holds. The
MANIFEST door takes the zero Set, for the instances-manifest reason and a
sharper one of its own: it carries `args`, the argv the platform execs, and
a credential the app holds must not rewrite what its own boxes will run.
The sidecar doors are new, so they are exempt from the legacy-reach pin,
which is a map of what an app token reached BEFORE roles existed.

restartRequestLeg gained a narrowed-request half on main and a worker
half here; it now carries both. The narrowed half reaches no sidecar,
because scopedHosts gates on release.Adoptable and that stays Kind ==
"instance" by design — the safe direction (a scoped bounce with no wake
beside it would strand a worker), but a gap, and named as one in the code.

Backend.StartWorker was spawning through Cgroups.Start directly. Main
introduced spawnInCgroup as the one seam every child shape starts through,
because that seam applies the route's resource tier; the direct call still
compiled and would have shipped uncapped workers.

The activator's hibernation sweep took a schedule guard on main — don't
sleep into an imminent tick — and a worker's own idle window here. Merged,
the guard weighs the schedule against THIS entry's window: the deployment's
for an instance, the app's manifest value for a worker, which is the figure
a worker's schedule should be measured against.

wakeEventMessage takes the noun it is naming. "Instance woke" is false for
a sidecar: nothing dialed it, no request was waiting. The timings are
reported unchanged.

CLAUDE.md became a pointer to AGENTS.md on main, so the sidecar rule moved
there with the rest of "rules this repo has paid for".

One mis-merge worth naming: git spliced main's housekeeper stand-down —
the block that releases the deployment lease at shutdown — onto the end of
serveAgentSocket, after an infinite `for`. Unreachable, and the compiler
only objected because the variable was out of scope. Moved back into Run's
post-drain block where it belongs.

A finding, not a merge artifact: path-based routing landed on main after
this branch was written, and it mints rows into a THIRD table from the same
claims, through a branch the sidecar-suffix guard never saw. Both ends are
now refused. The target end is the one nothing else stopped — a sidecar
belongs to the claim's own account, so the cross-tenant check passes it,
and a live sidecar row is "ready", so the readiness check passes it too.
Neutralising the guard mints `bot -> bot.eleven.bdm.sidecar.internal`:
real traffic proxied into a member the platform guarantees is undialable.
Both directions have tests.

Also added: docs/site/cli.md's `carlos sidecars` section, which main's
docsite gate now requires of every command in main.go's dispatch switch.

Gate: go build, go vet, gofmt -l and the GOOS=darwin compile all clean;
go test ./... green except TestExecBackendStartPassesControlSocketInEnv-
AndStartsPurgeListener, which fails identically before this merge and for
an environmental reason — its socket path is 110 bytes against the
108-byte sun_path limit, because the test's own name is long.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019dCiSN3FerTijCwUkraDfi
Paul Campbell pushed by paul@keymail.dev 7a1ed0d2c6f80d38115504210d2fb68351ab4b85 parent fac8ce9parent 66587fa
612 files changed, +120222 −69237
  • .amadan/README.md +78 −0
  • .amadan/ci.d/10-gate +51 −0
  • .amadan/ci.d/20-cross@5 +55 −0
  • .amadan/ci.d/30-minio-contract +323 −0
  • .github/workflows/ci.yml +0 −177
  • .gitignore +6 −0
  • AGENTS.md +308 −0
  • CLAUDE.md +4 −182
  • LICENSE +373 −0
  • Makefile +8 −2
  • README.md +75 −41
  • account_choose.go +6 −6
  • account_choose_test.go +1 −1
  • accounts.go +42 −39
  • accounts_list_test.go +2 −2
  • accounts_resolve_test.go +8 −8
  • apimode.go +1048 −99
  • apimode_test.go +283 −46
  • appconfig_cli.go +306 −83
  • appconfig_restart_test.go +142 −0
  • apps.go +145 −51
  • apps_buildprobe.go +97 −0
  • apps_test.go +53 −1
  • auth.go +24 −20
  • auth_e2e_test.go +18 −3
  • auth_test.go +1 −1
  • canary.go +588 −0
  • canary_test.go +266 −0
  • cli.go +591 −263
  • cli_test.go +106 −27
  • cmd/console/mailbackends_test.go +128 −0
  • cmd/console/main.go +259 −10
  • cmd/console/sdnotify.go +46 −0
  • cmd/console/sdnotify_test.go +65 −0
  • color.go +12 −0
  • config.go +32 −1
  • config_e2e_test.go +1 −1
  • config_test.go +45 −5
  • deploy.go +510 −105
  • deploy_e2e_test.go +183 −2
  • deploy_test.go +829 −36
  • deploy_wizard_test.go +7 −7
  • docs/site/anchors.json +15 −0
  • docs/site/cli.md +1050 −0
  • docs/site/index.md +17 −0
  • docs/site/nav.json +14 −0
  • docs/superpowers/plans/2026-08-01-plan-a-platform-core.md +0 −327
  • docs/superpowers/plans/2026-08-01-plan-b-flagship-kass.md +0 −148
  • docs/superpowers/plans/2026-08-01-plan-c-tito-selfhosted.md +0 −78
  • docs/superpowers/plans/2026-08-01-plan-fleet-status-page.md +0 −485
  • docs/superpowers/plans/2026-08-01-roadmap.md +0 −58
  • docs/superpowers/plans/2026-08-02-app-config-secrets.md +0 −1728
  • docs/superpowers/plans/2026-08-02-edge-cache-before-wake-platform.md +0 −1363
  • docs/superpowers/plans/2026-08-02-exec-config-delivery.md +0 −945
  • docs/superpowers/plans/2026-08-02-host-process-monitoring.md +0 −732
  • docs/superpowers/plans/2026-08-02-plan-domains.md +0 −188
  • docs/superpowers/plans/2026-08-02-plan-environments.md +0 −110
  • docs/superpowers/plans/2026-08-02-plan-keymail-flagship.md +0 −420
  • docs/superpowers/plans/2026-08-02-plan-multi-account.md +0 −373
  • docs/superpowers/plans/2026-08-02-plan-pipelines.md +0 −174
  • docs/superpowers/plans/2026-08-02-plan-woodstar-flagship.md +0 −381
  • docs/superpowers/plans/2026-08-02-platform-dev-environment.md +0 −533
  • docs/superpowers/plans/2026-08-02-rastrillo-icon-vendoring.md +0 −227
  • docs/superpowers/plans/2026-08-02-rastrillo-ui-component-library.md +0 −2410
  • docs/superpowers/plans/2026-08-03-app-capabilities.md +0 −902
  • docs/superpowers/plans/2026-08-03-cli-console-api.md +0 −315
  • docs/superpowers/plans/2026-08-03-external-socket-advisory.md +0 −413
  • docs/superpowers/plans/2026-08-03-open-ledgers-primitive.md +0 −1739
  • docs/superpowers/plans/2026-08-03-rastrillo-blog-example.md +0 −3331
  • docs/superpowers/plans/2026-08-04-account-slugs.md +0 −916
  • docs/superpowers/plans/2026-08-04-config-console-api.md +0 −382
  • docs/superpowers/plans/2026-08-04-console-bake-controls.md +0 −1761
  • docs/superpowers/plans/2026-08-04-console-default-resolution.md +0 −939
  • docs/superpowers/plans/2026-08-04-deletion-policy.md +0 −697
  • docs/superpowers/plans/2026-08-04-instance-provisioning.md +0 −661
  • docs/superpowers/plans/2026-08-04-pi-enablement.md +0 −247
  • docs/superpowers/plans/2026-08-04-remote-host-agent.md +0 −1261
  • docs/superpowers/plans/2026-08-05-customer-fleets.md +0 −299
  • docs/superpowers/plans/2026-08-05-wildcard-certs.md +0 −2073
  • docs/superpowers/plans/2026-08-06-console-redesign.md +0 −1342
  • docs/superpowers/plans/2026-08-06-issues-69-70-db-path.md +0 −380
  • docs/superpowers/plans/2026-08-08-carlos-deploy.md +0 −894
  • docs/superpowers/plans/2026-08-08-exec-child-accounting.md +0 −1530
  • docs/superpowers/plans/2026-08-08-release-versioning.md +0 −1592
  • docs/superpowers/plans/2026-08-09-carloku-deploy-story.md +0 −480
  • docs/superpowers/plans/2026-08-09-console-clarity-batch.md +0 −993
  • docs/superpowers/plans/2026-08-10-fleets-console.md +0 −489
  • docs/superpowers/plans/2026-08-10-object-storage-primitive.md +0 −883
  • docs/superpowers/plans/2026-08-10-releases-retention.md +0 −1901
  • docs/superpowers/plans/2026-08-10-route-records-vocabulary.md +0 −1504
  • docs/superpowers/plans/2026-08-11-dashboard-truth-and-scale.md +0 −1328
  • docs/superpowers/plans/2026-08-11-fleet-api-surface.md +0 −97
  • docs/superpowers/plans/2026-08-11-rails-behind-carlos-edge-poc.md +795 −0
  • docs/superpowers/plans/2026-08-11-unit-economics.md +0 −2335
  • docs/superpowers/plans/2026-08-12-account-default-resolution.md +0 −122
  • docs/superpowers/plans/2026-08-12-delegated-wildcard-certs.md +0 −427
  • docs/superpowers/plans/2026-08-12-domain-attach.md +0 −757
  • docs/superpowers/plans/2026-08-12-multi-upstream-routes.md +0 −439
  • docs/superpowers/plans/2026-08-12-registry-snapshot-cold-standby.md +0 −718
  • docs/superpowers/plans/2026-08-12-route-extra-hostnames.md +0 −548
  • docs/superpowers/plans/2026-08-12-woodstar-w0-relay-fanout.md +0 −751
  • docs/superpowers/plans/2026-08-15-economics-v2-fleet-pool.md +0 −291
  • docs/superpowers/plans/2026-08-15-flagship-litestream-0.5-upgrade.md +0 −120
  • docs/superpowers/plans/2026-08-16-route-scoped-config-delivery.md +0 −2028
  • docs/superpowers/plans/2026-08-19-fleet-architecture-diagram.md +2794 −0
  • docs/superpowers/plans/2026-08-23-console-as-an-app.md +2010 −0
  • docs/superpowers/plans/2026-08-28-instance-moves.md +109 −0
  • docs/superpowers/plans/2026-08-31-scheduled-ticks-and-hibernation.md +1029 −0
  • docs/superpowers/plans/2026-09-03-path-based-routing.md +1929 −0
  • docs/superpowers/plans/2026-09-04-carlos-canary.md +108 −0
  • docs/superpowers/specs/2026-08-01-carlos-framework-design.md +0 −889
  • docs/superpowers/specs/2026-08-01-carlos-platform-design.md +0 −497
  • docs/superpowers/specs/2026-08-01-fleet-status-page-design.md +0 −209
  • docs/superpowers/specs/2026-08-01-tito-production-infra-design.md +0 −372
  • docs/superpowers/specs/2026-08-02-app-config-secrets-design.md +0 −228
  • docs/superpowers/specs/2026-08-02-custom-domains-design.md +0 −184
  • docs/superpowers/specs/2026-08-02-edge-cache-before-wake-design.md +0 −270
  • docs/superpowers/specs/2026-08-02-exec-config-delivery-design.md +0 −200
  • docs/superpowers/specs/2026-08-02-host-process-monitoring-design.md +0 −235
  • docs/superpowers/specs/2026-08-02-multi-account-design.md +0 −440
  • docs/superpowers/specs/2026-08-02-pipelines-design.md +0 −292
  • docs/superpowers/specs/2026-08-02-platform-dev-environment-design.md +0 −104
  • docs/superpowers/specs/2026-08-02-rastrillo-ui-addendum-design.md +0 −207
  • docs/superpowers/specs/2026-08-02-rastrillo-ui-component-library-design.md +0 −416
  • docs/superpowers/specs/2026-08-03-app-capabilities-design.md +0 −960
  • docs/superpowers/specs/2026-08-03-cli-console-api-design.md +0 −184
  • docs/superpowers/specs/2026-08-03-external-socket-advisory-design.md +0 −137
  • docs/superpowers/specs/2026-08-03-open-ledgers-design.md +0 −618
  • docs/superpowers/specs/2026-08-03-rastrillo-blog-example-design.md +0 −936
  • docs/superpowers/specs/2026-08-03-scoped-signing-keys-design.md +0 −165
  • docs/superpowers/specs/2026-08-03-unit-tenant-purge-channel.md +0 −930
  • docs/superpowers/specs/2026-08-04-account-slugs-design.md +0 −187
  • docs/superpowers/specs/2026-08-04-cli-app-create-design.md +0 −104
  • docs/superpowers/specs/2026-08-04-config-console-api-design.md +0 −266
  • docs/superpowers/specs/2026-08-04-console-bake-controls-design.md +0 −277
  • docs/superpowers/specs/2026-08-04-console-default-resolution-design.md +0 −162
  • docs/superpowers/specs/2026-08-04-deletion-policy-design.md +0 −321
  • docs/superpowers/specs/2026-08-04-instance-provisioning-design.md +0 −472
  • docs/superpowers/specs/2026-08-04-remote-host-pi-design.md +0 −267
  • docs/superpowers/specs/2026-08-05-customer-fleets-design.md +0 −208
  • docs/superpowers/specs/2026-08-05-wildcard-certs-design.md +0 −172
  • docs/superpowers/specs/2026-08-06-console-redesign-design.md +0 −184
  • docs/superpowers/specs/2026-08-07-console-app-pages-design.md +0 −144
  • docs/superpowers/specs/2026-08-07-exec-child-accounting-design.md +0 −170
  • docs/superpowers/specs/2026-08-08-carlos-deploy-design.md +0 −310
  • docs/superpowers/specs/2026-08-08-exec-instance-metrics-design.md +0 −163
  • docs/superpowers/specs/2026-08-08-instance-socket-consumers-design.md +0 −161
  • docs/superpowers/specs/2026-08-08-release-versioning-design.md +0 −130
  • docs/superpowers/specs/2026-08-09-carloku-deploy-story-design.md +0 −118
  • docs/superpowers/specs/2026-08-10-carlos-logs-design.md +0 −215
  • docs/superpowers/specs/2026-08-10-dashboard-truth-and-scale-design.md +0 −145
  • docs/superpowers/specs/2026-08-10-fleets-console-design.md +0 −162
  • docs/superpowers/specs/2026-08-10-object-storage-primitive-design.md +0 −404
  • docs/superpowers/specs/2026-08-10-releases-retention-design.md +0 −268
  • docs/superpowers/specs/2026-08-10-route-records-design.md +0 −413
  • docs/superpowers/specs/2026-08-11-fleet-api-surface-design.md +0 −115
  • docs/superpowers/specs/2026-08-11-rails-behind-carlos-edge-poc-design.md +319 −0
  • docs/superpowers/specs/2026-08-11-unit-economics-design.md +0 −282
  • docs/superpowers/specs/2026-08-12-account-default-resolution-design.md +0 −182
  • docs/superpowers/specs/2026-08-12-domain-attach-design.md +0 −256
  • docs/superpowers/specs/2026-08-12-ha-posture-and-multi-upstream-routes-design.md +0 −251
  • docs/superpowers/specs/2026-08-12-proactive-cli-design.md +0 −128
  • docs/superpowers/specs/2026-08-12-route-extra-hostnames-design.md +0 −288
  • docs/superpowers/specs/2026-08-12-woodstar-carloku-migration-design.md +0 −424
  • docs/superpowers/specs/2026-08-13-carloku-business-model-design.md +0 −214
  • docs/superpowers/specs/2026-08-13-project-defaults-design.md +0 −141
  • docs/superpowers/specs/2026-08-15-sqlite-corruption-defence-design.md +0 −297
  • docs/superpowers/specs/2026-08-16-route-scoped-config-delivery-design.md +0 −413
  • docs/superpowers/specs/2026-08-19-fleet-architecture-diagram-design.md +400 −0
  • docs/superpowers/specs/2026-08-23-console-as-an-app-design.md +629 −0
  • docs/superpowers/specs/2026-08-27-managed-custom-domains-design.md +760 −0
  • docs/superpowers/specs/2026-08-28-instance-move-design.md +213 −0
  • docs/superpowers/specs/2026-08-30-scheduled-ticks-and-hibernation-design.md +315 −0
  • docs/superpowers/specs/2026-09-02-path-based-routing-design.md +610 −0
  • domains_cli.go +164 −26
  • domains_cli_test.go +161 −3
  • domains_e2e_test.go +5 −2
  • e2e_test.go +96 −91
  • economics.go +113 −17
  • economics_backhaul_test.go +28 −0
  • economics_test.go +5 −5
  • features_cli.go +182 −0
  • features_cli_test.go +84 −0
  • flags.go +78 −0
  • flags_test.go +184 −0
  • fleets.go +37 −31
  • fleets_cli_test.go +4 −4
  • go.mod +13 −8
  • go.sum +26 −16
  • infra/dev/region-pi.md +0 −90
  • infra/eleven-fleet.md +0 −160
  • infra/modules/README.md +137 −9
  • infra/modules/region-host/README.md +87 −0
  • infra/modules/region-host/main.tf +292 −4
  • infra/modules/region-host/variables.tf +101 −1
  • infra/modules/region-remote-host/main.tf +18 −2
  • infra/modules/region-remote-host/variables.tf +6 −0
  • infra/remote-host.md +6 −6
  • instances_cli.go +324 −103
  • instances_e2e_test.go +78 −3
  • instances_environment_test.go +98 −0
  • internal/activator/activator.go +175 −23
  • internal/activator/activator_test.go +588 −18
  • internal/activator/admintoken.go +214 −0
  • internal/activator/admintoken_test.go +266 −0
  • internal/activator/backend_exec.go +277 −62
  • internal/activator/backend_exec_test.go +247 −0
  • internal/activator/logsink.go +15 −4
  • internal/activator/logsink_test.go +23 −7
  • internal/activator/waketiming_test.go +102 −0
  • internal/appconfig/awaitingrestart_test.go +263 −0
  • internal/appconfig/crypto.go +31 −0
  • internal/appconfig/crypto_test.go +58 −5
  • internal/appconfig/environments.go +1 −1
  • internal/appconfig/sync.go +2 −2
  • internal/appconfig/syncexec.go +289 −43
  • internal/appconfig/syncexec_test.go +110 −43
  • internal/applog/chunk_test.go +5 −5
  • internal/applog/filter_test.go +2 −2
  • internal/applog/read_test.go +5 −5
  • internal/applog/record.go +1 −1
  • internal/applog/record_test.go +1 −1
  • internal/applog/sink_test.go +18 −18
  • internal/awsinv/awsinv.go +219 −0
  • internal/awsinv/awsinv_test.go +203 −0
  • internal/awsinv/clients.go +104 −0
  • internal/awsinv/ec2.go +187 −0
  • internal/awsinv/ec2_test.go +120 −0
  • internal/awsinv/rest.go +307 −0
  • internal/awsinv/rest_test.go +495 −0
  • internal/caps/converge.go +2 −2
  • internal/caps/converge_test.go +3 −3
  • internal/caps/grants.go +1 −1
  • internal/caps/render.go +12 −0
  • internal/caps/render_test.go +2 −2
  • internal/caps/testdata/console.service.conf +1 −0
  • internal/caps/testdata/keymail.service.conf +2 −0
  • internal/certwarm/certwarm.go +189 −0
  • internal/certwarm/certwarm_test.go +104 −0
  • internal/cgroup/cgroup.go +132 −3
  • internal/cgroup/cgroup_linux_test.go +7 −7
  • internal/cgroup/cgroup_test.go +121 −2
  • internal/cliflag/cliflag.go +104 −0
  • internal/console/account_test.go +1 −1
  • internal/console/apibuildprobe.go +77 −0
  • internal/console/apibuildprobe_test.go +88 −0
  • internal/console/apicli.go +778 −113
  • internal/console/apicli_test.go +332 −20
  • internal/console/apiconfig.go +100 −11
  • internal/console/apiconfig_test.go +1 −1
  • internal/console/apiconfigrestart_test.go +208 −0
  • internal/console/apidomainpaths_test.go +348 −0
  • internal/console/apidomains.go +634 −44
  • internal/console/apidomains_test.go +732 −1
  • internal/console/apifeatures.go +197 −0
  • internal/console/apifeatures_test.go +302 −0
  • internal/console/apiinstancemove.go +217 −0
  • internal/console/apiinstancemove_test.go +302 −0
  • internal/console/apiinstances.go +453 −110
  • internal/console/apiinstances_test.go +739 −13
  • internal/console/apiinstanceschannel_test.go +260 −0
  • internal/console/apiinstancesenable_test.go +11 −6
  • internal/console/apiinstancesenvironment_test.go +196 −0
  • internal/console/apiledger.go +15 −11
  • internal/console/apilogs_test.go +1 −1
  • internal/console/apimail.go +1154 −0
  • internal/console/apimail_test.go +1085 −0
  • internal/console/apipipeline.go +340 −0
  • internal/console/apipipeline_test.go +399 −0
  • internal/console/apiregions.go +55 −0
  • internal/console/apirestartscope.go +390 −0
  • internal/console/apirestartscope_test.go +422 −0
  • internal/console/apiretention.go +18 −1
  • internal/console/apiroutes.go +63 −1
  • internal/console/apiroutes_test.go +113 −1
  • internal/console/apischedule.go +322 −0
  • internal/console/apischedule_test.go +468 −0
  • internal/console/apiservices.go +600 −0
  • internal/console/apiservices_test.go +815 −0
  • internal/console/apisidecars_test.go +13 −8
  • internal/console/apistatusinstances.go +162 −0
  • internal/console/apistatusinstances_test.go +198 −0
  • internal/console/apistore.go +14 −10
  • internal/console/apistore_test.go +5 −5
  • internal/console/apiversion.go +5 −4
  • internal/console/appdomains_test.go +83 −0
  • internal/console/apps_claim_test.go +262 −0
  • internal/console/appsettings.go +253 −7
  • internal/console/appsettings_test.go +484 −7
  • internal/console/archestate.go +244 −0
  • internal/console/archestate_test.go +281 −0
  • internal/console/archfits_test.go +96 −0
  • internal/console/archgraph.go +909 −0
  • internal/console/archgraph_test.go +609 −0
  • internal/console/archjoin_test.go +89 −0
  • internal/console/archlayout.go +356 −0
  • internal/console/archlayout_test.go +234 −0
  • internal/console/archlegibility_test.go +226 −0
  • internal/console/archpage.go +144 −0
  • internal/console/archpage_test.go +471 −0
  • internal/console/attachhint_test.go +8 −8
  • internal/console/authcli.go +659 −80
  • internal/console/authcli_test.go +239 −0
  • internal/console/authstore.go +135 −67
  • internal/console/authstore_test.go +30 −18
  • internal/console/channelmove.go +229 −0
  • internal/console/channelmove_test.go +343 −0
  • internal/console/confirm.go +19 −4
  • internal/console/confirm_test.go +45 −1
  • internal/console/controlplane.go +436 −0
  • internal/console/controlplane_test.go +1375 −0
  • internal/console/deletion_test.go +104 −0
  • internal/console/domainattach.go +36 −1
  • internal/console/domainattach_test.go +2 −2
  • internal/console/domainstate.go +265 −0
  • internal/console/domainstate_test.go +264 −0
  • internal/console/economicsbackhaul_test.go +116 −0
  • internal/console/economicspage_test.go +1 −1
  • internal/console/economicspass.go +120 −3
  • internal/console/economicspass_test.go +5 −1
  • internal/console/edgefold_test.go +119 −0
  • internal/console/fleets.go +15 −7
  • internal/console/flow.go +61 −15
  • internal/console/infrapass.go +182 −0
  • internal/console/infrapass_test.go +142 −0
  • internal/console/instancesplacement.go +170 −0
  • internal/console/instancesplacement_test.go +75 −0
  • internal/console/ladder.go +113 −2
  • internal/console/ladder_test.go +2 −2
  • internal/console/logsview.go +96 −0
  • internal/console/logsview_test.go +132 −0
  • internal/console/mailcounts.go +282 −0
  • internal/console/mailcounts_test.go +458 −0
  • internal/console/materialize.go +3 −3
  • internal/console/migrate_test.go +73 −0
  • internal/console/ownership.go +89 −0
  • internal/console/pending.go +384 −0
  • internal/console/pending_test.go +254 −0
  • internal/console/pendingflow_test.go +1229 −0
  • internal/console/pendinghandlers.go +815 −0
  • internal/console/pipelinepage.go +343 −0
  • internal/console/pipelinepage_test.go +556 −0
  • internal/console/server.go +795 −106
  • internal/console/server_test.go +211 −18
  • internal/console/sesevents.go +766 −0
  • internal/console/sesevents_test.go +785 −0
  • internal/console/store.go +155 −36
  • internal/console/svcfixture_test.go +21 −0
  • internal/console/svcpage.go +502 −0
  • internal/console/svcpage_test.go +615 −0
  • internal/console/svcprincipal.go +434 −0
  • internal/console/svcprincipal_test.go +713 −0
  • internal/console/svcroutes_test.go +902 −0
  • internal/console/svcscope_test.go +470 −0
  • internal/console/templates/account_settings.html +118 −0
  • internal/console/templates/app_logs.html +14 −13
  • internal/console/templates/app_overview.html +8 −0
  • internal/console/templates/app_releases.html +53 −11
  • internal/console/templates/app_settings.html +133 −10
  • internal/console/templates/architecture.html +149 −0
  • internal/console/templates/economics.html +13 −3
  • internal/console/templates/economics_accounts.html +2 −0
  • internal/console/templates/fleet.html +1 −0
  • internal/console/templates/ladder.html +8 −1
  • internal/console/templates/layout.html +89 −0
  • internal/console/templates/pending.html +22 −0
  • internal/console/templates/pipeline.html +60 −0
  • internal/console/templates/settings.html +13 −5
  • internal/console/view.go +211 −26
  • internal/console/view_test.go +9 −9
  • internal/dnsrec/dnsrec.go +90 −0
  • internal/dnsrec/dnsrec_test.go +75 −0
  • internal/dnsrec/route53.go +165 −0
  • internal/dnsrec/route53_test.go +35 −0
  • internal/docsite/cli_test.go +77 −0
  • internal/docsite/cliscan.go +92 −0
  • internal/docsite/docsite.go +331 −0
  • internal/docsite/fences_test.go +187 −0
  • internal/docsite/links_test.go +125 −0
  • internal/docsite/nav_test.go +80 −0
  • internal/docsite/parse_test.go +74 −0
  • internal/docsite/testdata/corpus/getting-started.md +14 −0
  • internal/docsite/testdata/corpus/index.md +4 −0
  • internal/docsite/testdata/corpus/nav.json +16 −0
  • internal/docsite/testdata/corpus/reference/cli.md +9 −0
  • internal/docsite/testdata/missing/index.md +1 −0
  • internal/docsite/testdata/missing/nav.json +1 −0
  • internal/docsite/testdata/orphan/index.md +1 −0
  • internal/docsite/testdata/orphan/kept.md +1 −0
  • internal/docsite/testdata/orphan/nav.json +1 −0
  • internal/docsite/testdata/orphan/stranded.md +1 −0
  • internal/domains/aliases.go +225 −16
  • internal/domains/aliases_paths_test.go +343 −0
  • internal/domains/aliases_test.go +158 −19
  • internal/domains/claimcache.go +136 −0
  • internal/domains/claimcache_test.go +375 −0
  • internal/domains/claims.go +180 −14
  • internal/domains/claims_test.go +3 −2
  • internal/domains/paths_test.go +254 −0
  • internal/domains/reconcile.go +217 −73
  • internal/domains/reconcile_internal_test.go +106 −4
  • internal/domains/reconcile_test.go +256 −5
  • internal/economics/compute.go +7 −1
  • internal/economics/scenario.go +10 −1
  • internal/edge/backhaul_e2e_test.go +920 −0
  • internal/edge/certbackfill_test.go +602 −0
  • internal/edge/certcache.go +8 −0
  • internal/edge/certsweep.go +194 −0
  • internal/edge/certsweep_test.go +321 −0
  • internal/edge/certsync.go +1749 −0
  • internal/edge/certsync_e2e_test.go +1298 −0
  • internal/edge/certsync_test.go +1853 −0
  • internal/edge/certwarm.go +564 −0
  • internal/edge/certwarm_test.go +486 −0
  • internal/edge/compress.go +351 −0
  • internal/edge/compress_test.go +807 −0
  • internal/edge/edge.go +1030 −42
  • internal/edge/homemap.go +918 −0
  • internal/edge/homemap_test.go +1551 −0
  • internal/edge/mesh.go +303 −0
  • internal/edge/mesh_test.go +389 −0
  • internal/edge/noactivator_test.go +95 −0
  • internal/edge/path_e2e_test.go +117 −0
  • internal/edge/path_test.go +471 −0
  • internal/edge/purge.go +84 −56
  • internal/edge/purge_header.go +55 −2
  • internal/edge/purge_listen_unix.go +50 −0
  • internal/edge/purge_listen_windows.go +24 −0
  • internal/edge/purge_path_test.go +156 −0
  • internal/edge/steeringprobe.go +120 −0
  • internal/edge/steeringprobe_test.go +231 −0
  • internal/edge/storedoor_test.go +109 −0
  • internal/edge/usagemeter.go +12 −2
  • internal/edge/usagemeter_test.go +30 −4
  • internal/edge/wildcard.go +274 −48
  • internal/edge/wildcard_parents_test.go +462 −0
  • internal/edge/wildcard_test.go +33 −12
  • internal/edgesfile/edgesfile.go +89 −0
  • internal/edgesfile/edgesfile_test.go +49 −0
  • internal/edgesfile/fold.go +181 −0
  • internal/edgesfile/fold_test.go +316 −0
  • internal/host/agent.go +644 −114
  • internal/host/agent_test.go +253 −2
  • internal/host/bootstrap.go +44 −2
  • internal/host/caps_pass.go +5 −5
  • internal/host/caps_pass_test.go +7 −7
  • internal/host/domains_duty_test.go +54 −0
  • internal/host/edgesfile.go +436 −0
  • internal/host/edgesfile_test.go +944 −0
  • internal/host/fileowner_other.go +10 −0
  • internal/host/fileowner_unix.go +20 −0
  • internal/host/flock_unix.go +15 −0
  • internal/host/flock_windows.go +21 −0
  • internal/host/host_test.go +96 −22
  • internal/host/housekeeper.go +486 −0
  • internal/host/housekeeper_test.go +562 −0
  • internal/host/logship_test.go +9 −9
  • internal/host/memtier.go +26 −0
  • internal/host/memtier_test.go +38 −0
  • internal/host/memwatch.go +218 −0
  • internal/host/memwatch_test.go +155 −0
  • internal/host/movespass.go +345 −0
  • internal/host/movespass_test.go +301 −0
  • internal/host/probes.go +40 −17
  • internal/host/registryowner.go +237 −0
  • internal/host/registryowner_test.go +368 −0
  • internal/host/restart.go +182 −26
  • internal/host/restart_test.go +34 −13
  • internal/host/restartscope.go +289 −0
  • internal/host/restartscope_test.go +577 −0
  • internal/host/schedule_wake_test.go +614 −0
  • internal/host/schedule_wiring.go +455 −0
  • internal/host/schedule_wiring_test.go +160 −0
  • internal/host/sidecarwake_test.go +1 −1
  • internal/host/snapshot_loop.go +51 −36
  • internal/host/snapshot_loop_test.go +112 −27
  • internal/host/statfs_unix.go +21 −0
  • internal/host/statfs_windows.go +15 −0
  • internal/host/steering_loop.go +246 −0
  • internal/host/steering_loop_test.go +525 −0
  • internal/host/units/carlos-app@.service +11 −2
  • internal/host/units/carlos-config-sync.service +1 −1
  • internal/host/units/carlos-edge.service +23 −2
  • internal/host/units/carlos-restore-verify.service +8 −8
  • internal/host/units/carlos-stage.path +1 −1
  • internal/host/units/carlos-stage.service +1 −1
  • internal/infraview/infraview.go +118 −0
  • internal/infraview/infraview_test.go +65 −0
  • internal/lease/mirror.go +213 −0
  • internal/lease/mirror_test.go +133 −0
  • internal/mail/aws.go +471 −0
  • internal/mail/aws_test.go +351 −0
  • internal/mail/dnsrecords.go +93 −0
  • internal/mail/dnsrecords_test.go +107 −0
  • internal/mail/domain.go +203 −0
  • internal/mail/domain_test.go +107 −0
  • internal/mail/domainclaim.go +209 −0
  • internal/mail/events.go +128 −0
  • internal/mail/events_test.go +163 −0
  • internal/mail/mail.go +162 −0
  • internal/mail/mail_test.go +105 −0
  • internal/mail/memprovisioner.go +309 −0
  • internal/mail/memprovisioner_test.go +133 −0
  • internal/mail/policy.go +181 −0
  • internal/mail/policy_test.go +320 −0
  • internal/mail/provisioner.go +88 −0
  • internal/mail/smtppass.go +43 −0
  • internal/mail/smtppass_test.go +58 −0
  • internal/mail/walk.go +1302 −0
  • internal/mail/walk_domain_test.go +372 −0
  • internal/mail/walk_domainclaim_test.go +624 −0
  • internal/mail/walk_enable_test.go +566 −0
  • internal/mail/walk_grant_test.go +86 −0
  • internal/mail/walk_lifecycle_test.go +539 −0
  • internal/mail/walk_verify_test.go +234 −0
  • internal/objstore/contract_test.go +6 −5
  • internal/ops/hibernate_verify.go +1 −1
  • internal/ops/hibernate_verify_test.go +2 −2
  • internal/ops/litestream.go +4 −4
  • internal/ops/ops.go +8 −3
  • internal/ops/ops_test.go +3 −3
  • internal/provision/provision.go +216 −11
  • internal/provision/provision_test.go +166 −1
  • internal/provision/reconcile.go +463 −36
  • internal/provision/reconcile_test.go +666 −7
  • internal/registry/paths_test.go +132 −0
  • internal/registry/registry.go +439 −25
  • internal/registry/registry_test.go +146 −0
  • internal/registry/replication_test.go +219 −0
  • internal/registry/timers.go +243 −0
  • internal/registry/timers_test.go +290 −0
  • internal/release/adopt.go +420 −42
  • internal/release/adopt_test.go +1090 −0
  • internal/release/bake.go +400 −0
  • internal/release/bake_test.go +418 −0
  • internal/release/canarystable_test.go +1 −1
  • internal/release/features.go +213 −0
  • internal/release/features_test.go +159 −0
  • internal/release/golden_test.go +3 −3
  • internal/release/ladder.go +3 −3
  • internal/release/ladder_test.go +1 −1
  • internal/release/laddercheck_test.go +1 −1
  • internal/release/materialize.go +54 −1
  • internal/release/materialize_test.go +76 −0
  • internal/release/pipeline.go +356 −0
  • internal/release/pipeline_test.go +314 −0
  • internal/release/qualified.go +30 −1
  • internal/release/qualified_test.go +5 −5
  • internal/release/release.go +46 −8
  • internal/release/release_test.go +3 −3
  • internal/release/restartscope.go +314 −0
  • internal/release/restartscope_test.go +301 −0
  • internal/release/scopedpromote_test.go +1 −1
  • internal/schedule/control.go +177 −0
  • internal/schedule/control_test.go +195 −0
  • internal/schedule/converge.go +389 −0
  • internal/schedule/converge_test.go +599 −0
  • internal/schedule/cron.go +169 −0
  • internal/schedule/cron_test.go +85 −0
  • internal/schedule/declaration.go +303 −0
  • internal/schedule/declaration_test.go +181 −0
  • internal/schedule/envfile.go +32 −0
  • internal/schedule/runner.go +470 −0
  • internal/schedule/runner_test.go +674 −0
  • internal/schedule/spec.go +134 −0
  • internal/schedule/spec_test.go +86 −0
  • internal/schedule/status.go +123 −0
  • internal/schedule/status_test.go +51 −0
  • internal/status/instanceid.go +80 −0
  • internal/status/instanceid_test.go +76 −0
  • internal/status/snapshot.go +67 −17
  • internal/status/status_test.go +50 −1
  • internal/steering/deployment.go +73 −0
  • internal/steering/deployment_test.go +151 −0
  • internal/steering/route53.go +965 −0
  • internal/steering/route53_test.go +1241 −0
  • internal/steering/steering.go +364 −0
  • internal/steering/steering_test.go +424 −0
  • internal/svcrole/svcrole.go +135 −0
  • internal/svcrole/svcrole_test.go +115 −0
  • internal/usage/edge.go +16 −0
  • internal/usage/edge_test.go +76 −0
  • internal/usage/usage.go +13 −0
  • internal/vet/vet.go +7 −3
  • logs.go +5 −23
  • logs_e2e_test.go +1 −1
  • mail_cli.go +1342 −0
  • mail_cli_test.go +1110 −0
  • main.go +47 −12
  • pipeline.go +469 −0
  • pipeline_test.go +549 −0
  • restart.go +154 −7
  • restart_test.go +183 −1
  • retention.go +11 −10
  • retention_cli_test.go +2 −2
  • route_replication_test.go +333 −0
  • routes_cli.go +55 −7
  • routes_cli_test.go +118 −3
  • schedule.go +378 −0
  • schedule_test.go +445 −0
  • scopedkeys_e2e_test.go +4 −4
  • scripts/seed-pi-demo.sh +2 −2
  • services.go +411 −0
  • services_cli_test.go +829 −0
  • skills.go +175 −0
  • skills_test.go +207 −0
  • status_instances.go +161 −0
  • status_instances_test.go +43 −0
  • store.go +31 −27
  • store_test.go +8 −8
  • update.go +34 −3
  • update_test.go +39 −0
.amadan/README.md

Loading diff…

.amadan/ci.d/10-gate

Loading diff…

.amadan/ci.d/20-cross@5

Loading diff…

.amadan/ci.d/30-minio-contract

Loading diff…

.github/workflows/ci.yml

Loading diff…

.gitignore

Loading diff…

AGENTS.md

Loading diff…

CLAUDE.md

Loading diff…

LICENSE

Loading diff…

Makefile

Loading diff…

README.md

Loading diff…

account_choose.go

Loading diff…

account_choose_test.go

Loading diff…

accounts.go

Loading diff…

accounts_list_test.go

Loading diff…

accounts_resolve_test.go

Loading diff…

apimode.go

Loading diff…

apimode_test.go

Loading diff…

appconfig_cli.go

Loading diff…

appconfig_restart_test.go

Loading diff…

apps.go

Loading diff…

apps_buildprobe.go

Loading diff…

apps_test.go

Loading diff…

auth.go

Loading diff…

auth_e2e_test.go

Loading diff…

auth_test.go

Loading diff…

canary.go

Loading diff…

canary_test.go

Loading diff…

cli.go

Loading diff…

cli_test.go

Loading diff…

cmd/console/mailbackends_test.go

Loading diff…

cmd/console/main.go

Loading diff…

cmd/console/sdnotify.go

Loading diff…

cmd/console/sdnotify_test.go

Loading diff…

color.go

Loading diff…

config.go

Loading diff…

config_e2e_test.go

Loading diff…

config_test.go

Loading diff…

deploy.go

Loading diff…

deploy_e2e_test.go

Loading diff…

deploy_test.go

Loading diff…

deploy_wizard_test.go

Loading diff…

docs/site/anchors.json

Loading diff…

docs/site/cli.md

Loading diff…

docs/site/index.md

Loading diff…

docs/site/nav.json

Loading diff…

docs/superpowers/plans/2026-08-01-plan-a-platform-core.md

Loading diff…

docs/superpowers/plans/2026-08-01-plan-b-flagship-kass.md

Loading diff…

docs/superpowers/plans/2026-08-01-plan-c-tito-selfhosted.md

Loading diff…

docs/superpowers/plans/2026-08-01-plan-fleet-status-page.md

Loading diff…

docs/superpowers/plans/2026-08-01-roadmap.md

Loading diff…

docs/superpowers/plans/2026-08-02-app-config-secrets.md

Loading diff…

docs/superpowers/plans/2026-08-02-edge-cache-before-wake-platform.md

Loading diff…

docs/superpowers/plans/2026-08-02-exec-config-delivery.md

Loading diff…

docs/superpowers/plans/2026-08-02-host-process-monitoring.md

Loading diff…

docs/superpowers/plans/2026-08-02-plan-domains.md

Loading diff…

docs/superpowers/plans/2026-08-02-plan-environments.md

Loading diff…

docs/superpowers/plans/2026-08-02-plan-keymail-flagship.md

Loading diff…

docs/superpowers/plans/2026-08-02-plan-multi-account.md

Loading diff…

docs/superpowers/plans/2026-08-02-plan-pipelines.md

Loading diff…

docs/superpowers/plans/2026-08-02-plan-woodstar-flagship.md

Loading diff…

docs/superpowers/plans/2026-08-02-platform-dev-environment.md

Loading diff…

docs/superpowers/plans/2026-08-02-rastrillo-icon-vendoring.md

Loading diff…

docs/superpowers/plans/2026-08-02-rastrillo-ui-component-library.md

Loading diff…

docs/superpowers/plans/2026-08-03-app-capabilities.md

Loading diff…

docs/superpowers/plans/2026-08-03-cli-console-api.md

Loading diff…

docs/superpowers/plans/2026-08-03-external-socket-advisory.md

Loading diff…

docs/superpowers/plans/2026-08-03-open-ledgers-primitive.md

Loading diff…

docs/superpowers/plans/2026-08-03-rastrillo-blog-example.md

Loading diff…

docs/superpowers/plans/2026-08-04-account-slugs.md

Loading diff…

docs/superpowers/plans/2026-08-04-config-console-api.md

Loading diff…

docs/superpowers/plans/2026-08-04-console-bake-controls.md

Loading diff…

docs/superpowers/plans/2026-08-04-console-default-resolution.md

Loading diff…

docs/superpowers/plans/2026-08-04-deletion-policy.md

Loading diff…

docs/superpowers/plans/2026-08-04-instance-provisioning.md

Loading diff…

docs/superpowers/plans/2026-08-04-pi-enablement.md

Loading diff…

docs/superpowers/plans/2026-08-04-remote-host-agent.md

Loading diff…

docs/superpowers/plans/2026-08-05-customer-fleets.md

Loading diff…

docs/superpowers/plans/2026-08-05-wildcard-certs.md

Loading diff…

docs/superpowers/plans/2026-08-06-console-redesign.md

Loading diff…

docs/superpowers/plans/2026-08-06-issues-69-70-db-path.md

Loading diff…

docs/superpowers/plans/2026-08-08-carlos-deploy.md

Loading diff…

docs/superpowers/plans/2026-08-08-exec-child-accounting.md

Loading diff…

docs/superpowers/plans/2026-08-08-release-versioning.md

Loading diff…

docs/superpowers/plans/2026-08-09-carloku-deploy-story.md

Loading diff…

docs/superpowers/plans/2026-08-09-console-clarity-batch.md

Loading diff…

docs/superpowers/plans/2026-08-10-fleets-console.md

Loading diff…

docs/superpowers/plans/2026-08-10-object-storage-primitive.md

Loading diff…

docs/superpowers/plans/2026-08-10-releases-retention.md

Loading diff…

docs/superpowers/plans/2026-08-10-route-records-vocabulary.md

Loading diff…

docs/superpowers/plans/2026-08-11-dashboard-truth-and-scale.md

Loading diff…

docs/superpowers/plans/2026-08-11-fleet-api-surface.md

Loading diff…

docs/superpowers/plans/2026-08-11-rails-behind-carlos-edge-poc.md

Loading diff…

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

Loading diff…

docs/superpowers/plans/2026-08-12-account-default-resolution.md

Loading diff…

docs/superpowers/plans/2026-08-12-delegated-wildcard-certs.md

Loading diff…

docs/superpowers/plans/2026-08-12-domain-attach.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/plans/2026-08-12-route-extra-hostnames.md

Loading diff…

docs/superpowers/plans/2026-08-12-woodstar-w0-relay-fanout.md

Loading diff…

docs/superpowers/plans/2026-08-15-economics-v2-fleet-pool.md

Loading diff…

docs/superpowers/plans/2026-08-15-flagship-litestream-0.5-upgrade.md

Loading diff…

docs/superpowers/plans/2026-08-16-route-scoped-config-delivery.md

Loading diff…

docs/superpowers/plans/2026-08-19-fleet-architecture-diagram.md

Loading diff…

docs/superpowers/plans/2026-08-23-console-as-an-app.md

Loading diff…

docs/superpowers/plans/2026-08-28-instance-moves.md

Loading diff…

docs/superpowers/plans/2026-08-31-scheduled-ticks-and-hibernation.md

Loading diff…

docs/superpowers/plans/2026-09-03-path-based-routing.md

Loading diff…

docs/superpowers/plans/2026-09-04-carlos-canary.md

Loading diff…

docs/superpowers/specs/2026-08-01-carlos-framework-design.md

Loading diff…

docs/superpowers/specs/2026-08-01-carlos-platform-design.md

Loading diff…

docs/superpowers/specs/2026-08-01-fleet-status-page-design.md

Loading diff…

docs/superpowers/specs/2026-08-01-tito-production-infra-design.md

Loading diff…

docs/superpowers/specs/2026-08-02-app-config-secrets-design.md

Loading diff…

docs/superpowers/specs/2026-08-02-custom-domains-design.md

Loading diff…

docs/superpowers/specs/2026-08-02-edge-cache-before-wake-design.md

Loading diff…

docs/superpowers/specs/2026-08-02-exec-config-delivery-design.md

Loading diff…

docs/superpowers/specs/2026-08-02-host-process-monitoring-design.md

Loading diff…

docs/superpowers/specs/2026-08-02-multi-account-design.md

Loading diff…

docs/superpowers/specs/2026-08-02-pipelines-design.md

Loading diff…

docs/superpowers/specs/2026-08-02-platform-dev-environment-design.md

Loading diff…

docs/superpowers/specs/2026-08-02-rastrillo-ui-addendum-design.md

Loading diff…

docs/superpowers/specs/2026-08-02-rastrillo-ui-component-library-design.md

Loading diff…

docs/superpowers/specs/2026-08-03-app-capabilities-design.md

Loading diff…

docs/superpowers/specs/2026-08-03-cli-console-api-design.md

Loading diff…

docs/superpowers/specs/2026-08-03-external-socket-advisory-design.md

Loading diff…

docs/superpowers/specs/2026-08-03-open-ledgers-design.md

Loading diff…

docs/superpowers/specs/2026-08-03-rastrillo-blog-example-design.md

Loading diff…

docs/superpowers/specs/2026-08-03-scoped-signing-keys-design.md

Loading diff…

docs/superpowers/specs/2026-08-03-unit-tenant-purge-channel.md

Loading diff…

docs/superpowers/specs/2026-08-04-account-slugs-design.md

Loading diff…

docs/superpowers/specs/2026-08-04-cli-app-create-design.md

Loading diff…

docs/superpowers/specs/2026-08-04-config-console-api-design.md

Loading diff…

docs/superpowers/specs/2026-08-04-console-bake-controls-design.md

Loading diff…

docs/superpowers/specs/2026-08-04-console-default-resolution-design.md

Loading diff…

docs/superpowers/specs/2026-08-04-deletion-policy-design.md

Loading diff…

docs/superpowers/specs/2026-08-04-instance-provisioning-design.md

Loading diff…

docs/superpowers/specs/2026-08-04-remote-host-pi-design.md

Loading diff…

docs/superpowers/specs/2026-08-05-customer-fleets-design.md

Loading diff…

docs/superpowers/specs/2026-08-05-wildcard-certs-design.md

Loading diff…

docs/superpowers/specs/2026-08-06-console-redesign-design.md

Loading diff…

docs/superpowers/specs/2026-08-07-console-app-pages-design.md

Loading diff…

docs/superpowers/specs/2026-08-07-exec-child-accounting-design.md

Loading diff…

docs/superpowers/specs/2026-08-08-carlos-deploy-design.md

Loading diff…

docs/superpowers/specs/2026-08-08-exec-instance-metrics-design.md

Loading diff…

docs/superpowers/specs/2026-08-08-instance-socket-consumers-design.md

Loading diff…

docs/superpowers/specs/2026-08-08-release-versioning-design.md

Loading diff…

docs/superpowers/specs/2026-08-09-carloku-deploy-story-design.md

Loading diff…

docs/superpowers/specs/2026-08-10-carlos-logs-design.md

Loading diff…

docs/superpowers/specs/2026-08-10-dashboard-truth-and-scale-design.md

Loading diff…

docs/superpowers/specs/2026-08-10-fleets-console-design.md

Loading diff…

docs/superpowers/specs/2026-08-10-object-storage-primitive-design.md

Loading diff…

docs/superpowers/specs/2026-08-10-releases-retention-design.md

Loading diff…

docs/superpowers/specs/2026-08-10-route-records-design.md

Loading diff…

docs/superpowers/specs/2026-08-11-fleet-api-surface-design.md

Loading diff…

docs/superpowers/specs/2026-08-11-rails-behind-carlos-edge-poc-design.md

Loading diff…

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

Loading diff…

docs/superpowers/specs/2026-08-12-account-default-resolution-design.md

Loading diff…

docs/superpowers/specs/2026-08-12-domain-attach-design.md

Loading diff…

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

Loading diff…

docs/superpowers/specs/2026-08-12-proactive-cli-design.md

Loading diff…

docs/superpowers/specs/2026-08-12-route-extra-hostnames-design.md

Loading diff…

docs/superpowers/specs/2026-08-12-woodstar-carloku-migration-design.md

Loading diff…

docs/superpowers/specs/2026-08-13-carloku-business-model-design.md

Loading diff…

docs/superpowers/specs/2026-08-13-project-defaults-design.md

Loading diff…

docs/superpowers/specs/2026-08-15-sqlite-corruption-defence-design.md

Loading diff…

docs/superpowers/specs/2026-08-16-route-scoped-config-delivery-design.md

Loading diff…

docs/superpowers/specs/2026-08-19-fleet-architecture-diagram-design.md

Loading diff…

docs/superpowers/specs/2026-08-23-console-as-an-app-design.md

Loading diff…

docs/superpowers/specs/2026-08-27-managed-custom-domains-design.md

Loading diff…

docs/superpowers/specs/2026-08-28-instance-move-design.md

Loading diff…

docs/superpowers/specs/2026-08-30-scheduled-ticks-and-hibernation-design.md

Loading diff…

docs/superpowers/specs/2026-09-02-path-based-routing-design.md

Loading diff…

domains_cli.go

Loading diff…

domains_cli_test.go

Loading diff…

domains_e2e_test.go

Loading diff…

e2e_test.go

Loading diff…

economics.go

Loading diff…

economics_backhaul_test.go

Loading diff…

economics_test.go

Loading diff…

features_cli.go

Loading diff…

features_cli_test.go

Loading diff…

flags.go

Loading diff…

flags_test.go

Loading diff…

fleets.go

Loading diff…

fleets_cli_test.go

Loading diff…

go.mod

Loading diff…

go.sum

Loading diff…

infra/dev/region-pi.md

Loading diff…

infra/eleven-fleet.md

Loading diff…

infra/modules/README.md

Loading diff…

infra/modules/region-host/README.md

Loading diff…

infra/modules/region-host/main.tf

Loading diff…

infra/modules/region-host/variables.tf

Loading diff…

infra/modules/region-remote-host/main.tf

Loading diff…

infra/modules/region-remote-host/variables.tf

Loading diff…

infra/remote-host.md

Loading diff…

instances_cli.go

Loading diff…

instances_e2e_test.go

Loading diff…

instances_environment_test.go

Loading diff…

internal/activator/activator.go

Loading diff…

internal/activator/activator_test.go

Loading diff…

internal/activator/admintoken.go

Loading diff…

internal/activator/admintoken_test.go

Loading diff…

internal/activator/backend_exec.go

Loading diff…

internal/activator/backend_exec_test.go

Loading diff…

internal/activator/logsink.go

Loading diff…

internal/activator/logsink_test.go

Loading diff…

internal/activator/waketiming_test.go

Loading diff…

internal/appconfig/awaitingrestart_test.go

Loading diff…

internal/appconfig/crypto.go

Loading diff…

internal/appconfig/crypto_test.go

Loading diff…

internal/appconfig/environments.go

Loading diff…

internal/appconfig/sync.go

Loading diff…

internal/appconfig/syncexec.go

Loading diff…

internal/appconfig/syncexec_test.go

Loading diff…

internal/applog/chunk_test.go

Loading diff…

internal/applog/filter_test.go

Loading diff…

internal/applog/read_test.go

Loading diff…

internal/applog/record.go

Loading diff…

internal/applog/record_test.go

Loading diff…

internal/applog/sink_test.go

Loading diff…

internal/awsinv/awsinv.go

Loading diff…

internal/awsinv/awsinv_test.go

Loading diff…

internal/awsinv/clients.go

Loading diff…

internal/awsinv/ec2.go

Loading diff…

internal/awsinv/ec2_test.go

Loading diff…

internal/awsinv/rest.go

Loading diff…

internal/awsinv/rest_test.go

Loading diff…

internal/caps/converge.go

Loading diff…

internal/caps/converge_test.go

Loading diff…

internal/caps/grants.go

Loading diff…

internal/caps/render.go

Loading diff…

internal/caps/render_test.go

Loading diff…

internal/caps/testdata/console.service.conf

Loading diff…

internal/caps/testdata/keymail.service.conf

Loading diff…

internal/certwarm/certwarm.go

Loading diff…

internal/certwarm/certwarm_test.go

Loading diff…

internal/cgroup/cgroup.go

Loading diff…

internal/cgroup/cgroup_linux_test.go

Loading diff…

internal/cgroup/cgroup_test.go

Loading diff…

internal/cliflag/cliflag.go

Loading diff…

internal/console/account_test.go

Loading diff…

internal/console/apibuildprobe.go

Loading diff…

internal/console/apibuildprobe_test.go

Loading diff…

internal/console/apicli.go

Loading diff…

internal/console/apicli_test.go

Loading diff…

internal/console/apiconfig.go

Loading diff…

internal/console/apiconfig_test.go

Loading diff…

internal/console/apiconfigrestart_test.go

Loading diff…

internal/console/apidomainpaths_test.go

Loading diff…

internal/console/apidomains.go

Loading diff…

internal/console/apidomains_test.go

Loading diff…

internal/console/apifeatures.go

Loading diff…

internal/console/apifeatures_test.go

Loading diff…

internal/console/apiinstancemove.go

Loading diff…

internal/console/apiinstancemove_test.go

Loading diff…

internal/console/apiinstances.go

Loading diff…

internal/console/apiinstances_test.go

Loading diff…

internal/console/apiinstanceschannel_test.go

Loading diff…

internal/console/apiinstancesenable_test.go

Loading diff…

internal/console/apiinstancesenvironment_test.go

Loading diff…

internal/console/apiledger.go

Loading diff…

internal/console/apilogs_test.go

Loading diff…

internal/console/apimail.go

Loading diff…

internal/console/apimail_test.go

Loading diff…

internal/console/apipipeline.go

Loading diff…

internal/console/apipipeline_test.go

Loading diff…

internal/console/apiregions.go

Loading diff…

internal/console/apirestartscope.go

Loading diff…

internal/console/apirestartscope_test.go

Loading diff…

internal/console/apiretention.go

Loading diff…

internal/console/apiroutes.go

Loading diff…

internal/console/apiroutes_test.go

Loading diff…

internal/console/apischedule.go

Loading diff…

internal/console/apischedule_test.go

Loading diff…

internal/console/apiservices.go

Loading diff…

internal/console/apiservices_test.go

Loading diff…

internal/console/apisidecars_test.go

Loading diff…

internal/console/apistatusinstances.go

Loading diff…

internal/console/apistatusinstances_test.go

Loading diff…

internal/console/apistore.go

Loading diff…

internal/console/apistore_test.go

Loading diff…

internal/console/apiversion.go

Loading diff…

internal/console/appdomains_test.go

Loading diff…

internal/console/apps_claim_test.go

Loading diff…

internal/console/appsettings.go

Loading diff…

internal/console/appsettings_test.go

Loading diff…

internal/console/archestate.go

Loading diff…

internal/console/archestate_test.go

Loading diff…

internal/console/archfits_test.go

Loading diff…

internal/console/archgraph.go

Loading diff…

internal/console/archgraph_test.go

Loading diff…

internal/console/archjoin_test.go

Loading diff…

internal/console/archlayout.go

Loading diff…

internal/console/archlayout_test.go

Loading diff…

internal/console/archlegibility_test.go

Loading diff…

internal/console/archpage.go

Loading diff…

internal/console/archpage_test.go

Loading diff…

internal/console/attachhint_test.go

Loading diff…

internal/console/authcli.go

Loading diff…

internal/console/authcli_test.go

Loading diff…

internal/console/authstore.go

Loading diff…

internal/console/authstore_test.go

Loading diff…

internal/console/channelmove.go

Loading diff…

internal/console/channelmove_test.go

Loading diff…

internal/console/confirm.go

Loading diff…

internal/console/confirm_test.go

Loading diff…

internal/console/controlplane.go

Loading diff…

internal/console/controlplane_test.go

Loading diff…

internal/console/deletion_test.go

Loading diff…

internal/console/domainattach.go

Loading diff…

internal/console/domainattach_test.go

Loading diff…

internal/console/domainstate.go

Loading diff…

internal/console/domainstate_test.go

Loading diff…

internal/console/economicsbackhaul_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/edgefold_test.go

Loading diff…

internal/console/fleets.go

Loading diff…

internal/console/flow.go

Loading diff…

internal/console/infrapass.go

Loading diff…

internal/console/infrapass_test.go

Loading diff…

internal/console/instancesplacement.go

Loading diff…

internal/console/instancesplacement_test.go

Loading diff…

internal/console/ladder.go

Loading diff…

internal/console/ladder_test.go

Loading diff…

internal/console/logsview.go

Loading diff…

internal/console/logsview_test.go

Loading diff…

internal/console/mailcounts.go

Loading diff…

internal/console/mailcounts_test.go

Loading diff…

internal/console/materialize.go

Loading diff…

internal/console/migrate_test.go

Loading diff…

internal/console/ownership.go

Loading diff…

internal/console/pending.go

Loading diff…

internal/console/pending_test.go

Loading diff…

internal/console/pendingflow_test.go

Loading diff…

internal/console/pendinghandlers.go

Loading diff…

internal/console/pipelinepage.go

Loading diff…

internal/console/pipelinepage_test.go

Loading diff…

internal/console/server.go

Loading diff…

internal/console/server_test.go

Loading diff…

internal/console/sesevents.go

Loading diff…

internal/console/sesevents_test.go

Loading diff…

internal/console/store.go

Loading diff…

internal/console/svcfixture_test.go

Loading diff…

internal/console/svcpage.go

Loading diff…

internal/console/svcpage_test.go

Loading diff…

internal/console/svcprincipal.go

Loading diff…

internal/console/svcprincipal_test.go

Loading diff…

internal/console/svcroutes_test.go

Loading diff…

internal/console/svcscope_test.go

Loading diff…

internal/console/templates/account_settings.html

Loading diff…

internal/console/templates/app_logs.html

Loading diff…

internal/console/templates/app_overview.html

Loading diff…

internal/console/templates/app_releases.html

Loading diff…

internal/console/templates/app_settings.html

Loading diff…

internal/console/templates/architecture.html

Loading diff…

internal/console/templates/economics.html

Loading diff…

internal/console/templates/economics_accounts.html

Loading diff…

internal/console/templates/fleet.html

Loading diff…

internal/console/templates/ladder.html

Loading diff…

internal/console/templates/layout.html

Loading diff…

internal/console/templates/pending.html

Loading diff…

internal/console/templates/pipeline.html

Loading diff…

internal/console/templates/settings.html

Loading diff…

internal/console/view.go

Loading diff…

internal/console/view_test.go

Loading diff…

internal/dnsrec/dnsrec.go

Loading diff…

internal/dnsrec/dnsrec_test.go

Loading diff…

internal/dnsrec/route53.go

Loading diff…

internal/dnsrec/route53_test.go

Loading diff…

internal/docsite/cli_test.go

Loading diff…

internal/docsite/cliscan.go

Loading diff…

internal/docsite/docsite.go

Loading diff…

internal/docsite/fences_test.go

Loading diff…

internal/docsite/links_test.go

Loading diff…

internal/docsite/nav_test.go

Loading diff…

internal/docsite/parse_test.go

Loading diff…

internal/docsite/testdata/corpus/getting-started.md

Loading diff…

internal/docsite/testdata/corpus/index.md

Loading diff…

internal/docsite/testdata/corpus/nav.json

Loading diff…

internal/docsite/testdata/corpus/reference/cli.md

Loading diff…

internal/docsite/testdata/missing/index.md

Loading diff…

internal/docsite/testdata/missing/nav.json

Loading diff…

internal/docsite/testdata/orphan/index.md

Loading diff…

internal/docsite/testdata/orphan/kept.md

Loading diff…

internal/docsite/testdata/orphan/nav.json

Loading diff…

internal/docsite/testdata/orphan/stranded.md

Loading diff…

internal/domains/aliases.go

Loading diff…

internal/domains/aliases_paths_test.go

Loading diff…

internal/domains/aliases_test.go

Loading diff…

internal/domains/claimcache.go

Loading diff…

internal/domains/claimcache_test.go

Loading diff…

internal/domains/claims.go

Loading diff…

internal/domains/claims_test.go

Loading diff…

internal/domains/paths_test.go

Loading diff…

internal/domains/reconcile.go

Loading diff…

internal/domains/reconcile_internal_test.go

Loading diff…

internal/domains/reconcile_test.go

Loading diff…

internal/economics/compute.go

Loading diff…

internal/economics/scenario.go

Loading diff…

internal/edge/backhaul_e2e_test.go

Loading diff…

internal/edge/certbackfill_test.go

Loading diff…

internal/edge/certcache.go

Loading diff…

internal/edge/certsweep.go

Loading diff…

internal/edge/certsweep_test.go

Loading diff…

internal/edge/certsync.go

Loading diff…

internal/edge/certsync_e2e_test.go

Loading diff…

internal/edge/certsync_test.go

Loading diff…

internal/edge/certwarm.go

Loading diff…

internal/edge/certwarm_test.go

Loading diff…

internal/edge/compress.go

Loading diff…

internal/edge/compress_test.go

Loading diff…

internal/edge/edge.go

Loading diff…

internal/edge/homemap.go

Loading diff…

internal/edge/homemap_test.go

Loading diff…

internal/edge/mesh.go

Loading diff…

internal/edge/mesh_test.go

Loading diff…

internal/edge/noactivator_test.go

Loading diff…

internal/edge/path_e2e_test.go

Loading diff…

internal/edge/path_test.go

Loading diff…

internal/edge/purge.go

Loading diff…

internal/edge/purge_header.go

Loading diff…

internal/edge/purge_listen_unix.go

Loading diff…

internal/edge/purge_listen_windows.go

Loading diff…

internal/edge/purge_path_test.go

Loading diff…

internal/edge/steeringprobe.go

Loading diff…

internal/edge/steeringprobe_test.go

Loading diff…

internal/edge/storedoor_test.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_parents_test.go

Loading diff…

internal/edge/wildcard_test.go

Loading diff…

internal/edgesfile/edgesfile.go

Loading diff…

internal/edgesfile/edgesfile_test.go

Loading diff…

internal/edgesfile/fold.go

Loading diff…

internal/edgesfile/fold_test.go

Loading diff…

internal/host/agent.go

Loading diff…

internal/host/agent_test.go

Loading diff…

internal/host/bootstrap.go

Loading diff…

internal/host/caps_pass.go

Loading diff…

internal/host/caps_pass_test.go

Loading diff…

internal/host/domains_duty_test.go

Loading diff…

internal/host/edgesfile.go

Loading diff…

internal/host/edgesfile_test.go

Loading diff…

internal/host/fileowner_other.go

Loading diff…

internal/host/fileowner_unix.go

Loading diff…

internal/host/flock_unix.go

Loading diff…

internal/host/flock_windows.go

Loading diff…

internal/host/host_test.go

Loading diff…

internal/host/housekeeper.go

Loading diff…

internal/host/housekeeper_test.go

Loading diff…

internal/host/logship_test.go

Loading diff…

internal/host/memtier.go

Loading diff…

internal/host/memtier_test.go

Loading diff…

internal/host/memwatch.go

Loading diff…

internal/host/memwatch_test.go

Loading diff…

internal/host/movespass.go

Loading diff…

internal/host/movespass_test.go

Loading diff…

internal/host/probes.go

Loading diff…

internal/host/registryowner.go

Loading diff…

internal/host/registryowner_test.go

Loading diff…

internal/host/restart.go

Loading diff…

internal/host/restart_test.go

Loading diff…

internal/host/restartscope.go

Loading diff…

internal/host/restartscope_test.go

Loading diff…

internal/host/schedule_wake_test.go

Loading diff…

internal/host/schedule_wiring.go

Loading diff…

internal/host/schedule_wiring_test.go

Loading diff…

internal/host/sidecarwake_test.go

Loading diff…

internal/host/snapshot_loop.go

Loading diff…

internal/host/snapshot_loop_test.go

Loading diff…

internal/host/statfs_unix.go

Loading diff…

internal/host/statfs_windows.go

Loading diff…

internal/host/steering_loop.go

Loading diff…

internal/host/steering_loop_test.go

Loading diff…

internal/host/units/carlos-app@.service

Loading diff…

internal/host/units/carlos-config-sync.service

Loading diff…

internal/host/units/carlos-edge.service

Loading diff…

internal/host/units/carlos-restore-verify.service

Loading diff…

internal/host/units/carlos-stage.path

Loading diff…

internal/host/units/carlos-stage.service

Loading diff…

internal/infraview/infraview.go

Loading diff…

internal/infraview/infraview_test.go

Loading diff…

internal/lease/mirror.go

Loading diff…

internal/lease/mirror_test.go

Loading diff…

internal/mail/aws.go

Loading diff…

internal/mail/aws_test.go

Loading diff…

internal/mail/dnsrecords.go

Loading diff…

internal/mail/dnsrecords_test.go

Loading diff…

internal/mail/domain.go

Loading diff…

internal/mail/domain_test.go

Loading diff…

internal/mail/domainclaim.go

Loading diff…

internal/mail/events.go

Loading diff…

internal/mail/events_test.go

Loading diff…

internal/mail/mail.go

Loading diff…

internal/mail/mail_test.go

Loading diff…

internal/mail/memprovisioner.go

Loading diff…

internal/mail/memprovisioner_test.go

Loading diff…

internal/mail/policy.go

Loading diff…

internal/mail/policy_test.go

Loading diff…

internal/mail/provisioner.go

Loading diff…

internal/mail/smtppass.go

Loading diff…

internal/mail/smtppass_test.go

Loading diff…

internal/mail/walk.go

Loading diff…

internal/mail/walk_domain_test.go

Loading diff…

internal/mail/walk_domainclaim_test.go

Loading diff…

internal/mail/walk_enable_test.go

Loading diff…

internal/mail/walk_grant_test.go

Loading diff…

internal/mail/walk_lifecycle_test.go

Loading diff…

internal/mail/walk_verify_test.go

Loading diff…

internal/objstore/contract_test.go

Loading diff…

internal/ops/hibernate_verify.go

Loading diff…

internal/ops/hibernate_verify_test.go

Loading diff…

internal/ops/litestream.go

Loading diff…

internal/ops/ops.go

Loading diff…

internal/ops/ops_test.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/paths_test.go

Loading diff…

internal/registry/registry.go

Loading diff…

internal/registry/registry_test.go

Loading diff…

internal/registry/replication_test.go

Loading diff…

internal/registry/timers.go

Loading diff…

internal/registry/timers_test.go

Loading diff…

internal/release/adopt.go

Loading diff…

internal/release/adopt_test.go

Loading diff…

internal/release/bake.go

Loading diff…

internal/release/bake_test.go

Loading diff…

internal/release/canarystable_test.go

Loading diff…

internal/release/features.go

Loading diff…

internal/release/features_test.go

Loading diff…

internal/release/golden_test.go

Loading diff…

internal/release/ladder.go

Loading diff…

internal/release/ladder_test.go

Loading diff…

internal/release/laddercheck_test.go

Loading diff…

internal/release/materialize.go

Loading diff…

internal/release/materialize_test.go

Loading diff…

internal/release/pipeline.go

Loading diff…

internal/release/pipeline_test.go

Loading diff…

internal/release/qualified.go

Loading diff…

internal/release/qualified_test.go

Loading diff…

internal/release/release.go

Loading diff…

internal/release/release_test.go

Loading diff…

internal/release/restartscope.go

Loading diff…

internal/release/restartscope_test.go

Loading diff…

internal/release/scopedpromote_test.go

Loading diff…

internal/schedule/control.go

Loading diff…

internal/schedule/control_test.go

Loading diff…

internal/schedule/converge.go

Loading diff…

internal/schedule/converge_test.go

Loading diff…

internal/schedule/cron.go

Loading diff…

internal/schedule/cron_test.go

Loading diff…

internal/schedule/declaration.go

Loading diff…

internal/schedule/declaration_test.go

Loading diff…

internal/schedule/envfile.go

Loading diff…

internal/schedule/runner.go

Loading diff…

internal/schedule/runner_test.go

Loading diff…

internal/schedule/spec.go

Loading diff…

internal/schedule/spec_test.go

Loading diff…

internal/schedule/status.go

Loading diff…

internal/schedule/status_test.go

Loading diff…

internal/status/instanceid.go

Loading diff…

internal/status/instanceid_test.go

Loading diff…

internal/status/snapshot.go

Loading diff…

internal/status/status_test.go

Loading diff…

internal/steering/deployment.go

Loading diff…

internal/steering/deployment_test.go

Loading diff…

internal/steering/route53.go

Loading diff…

internal/steering/route53_test.go

Loading diff…

internal/steering/steering.go

Loading diff…

internal/steering/steering_test.go

Loading diff…

internal/svcrole/svcrole.go

Loading diff…

internal/svcrole/svcrole_test.go

Loading diff…

internal/usage/edge.go

Loading diff…

internal/usage/edge_test.go

Loading diff…

internal/usage/usage.go

Loading diff…

internal/vet/vet.go

Loading diff…

logs.go

Loading diff…

logs_e2e_test.go

Loading diff…

mail_cli.go

Loading diff…

mail_cli_test.go

Loading diff…

main.go

Loading diff…

pipeline.go

Loading diff…

pipeline_test.go

Loading diff…

restart.go

Loading diff…

restart_test.go

Loading diff…

retention.go

Loading diff…

retention_cli_test.go

Loading diff…

route_replication_test.go

Loading diff…

routes_cli.go

Loading diff…

routes_cli_test.go

Loading diff…

schedule.go

Loading diff…

schedule_test.go

Loading diff…

scopedkeys_e2e_test.go

Loading diff…

scripts/seed-pi-demo.sh

Loading diff…

services.go

Loading diff…

services_cli_test.go

Loading diff…

skills.go

Loading diff…

skills_test.go

Loading diff…

status_instances.go

Loading diff…

status_instances_test.go

Loading diff…

store.go

Loading diff…

store_test.go

Loading diff…

update.go

Loading diff…

update_test.go

Loading diff…