Merge remote-tracking branch 'origin/main' into app-capabilities
# Conflicts: # apimode.go # apimode_test.go # cli.go # internal/host/agent.go # internal/registry/registry.go # internal/registry/registry_test.go # internal/release/adopt.go # internal/release/adopt_test.go # internal/release/release_test.go
CLAUDE.md+7 −1README.md+15 −3accounts.go+133 −47accounts_resolve_test.go+115 −0apimode.go+327 −11apimode_test.go+1089 −38appconfig_cli.go+334 −41auth.go+132 −22auth_e2e_test.go+110 −14auth_test.go+9 −10cli.go+594 −46cmd/console/main.go+28 −1config.go+161 −0config_e2e_test.go+317 −0config_test.go+327 −0docs/superpowers/plans/2026-08-03-open-ledgers-primitive.md+1739 −0docs/superpowers/plans/2026-08-04-account-slugs.md+916 −0docs/superpowers/plans/2026-08-04-config-console-api.md+382 −0docs/superpowers/plans/2026-08-04-console-bake-controls.md+1761 −0docs/superpowers/plans/2026-08-04-console-default-resolution.md+939 −0docs/superpowers/plans/2026-08-04-pi-enablement.md+247 −0docs/superpowers/plans/2026-08-04-remote-host-agent.md+1261 −0docs/superpowers/specs/2026-08-03-cli-console-api-design.md+2 −1docs/superpowers/specs/2026-08-03-open-ledgers-design.md+618 −0docs/superpowers/specs/2026-08-03-unit-tenant-purge-channel.md+39 −10docs/superpowers/specs/2026-08-04-account-slugs-design.md+187 −0docs/superpowers/specs/2026-08-04-config-console-api-design.md+266 −0docs/superpowers/specs/2026-08-04-console-bake-controls-design.md+277 −0docs/superpowers/specs/2026-08-04-console-default-resolution-design.md+162 −0docs/superpowers/specs/2026-08-04-remote-host-pi-design.md+267 −0e2e_test.go+311 −39go.mod+1 −1infra/modules/region-host/main.tf+9 −0infra/remote-host.md+95 −0internal/activator/backend_exec.go+5 −0internal/appconfig/agentvars.go+51 −0internal/appconfig/agentvars_test.go+18 −0internal/appconfig/crypto.go+31 −0internal/appconfig/crypto_test.go+66 −0internal/appconfig/environments.go+12 −1internal/appconfig/generation.go+128 −0internal/appconfig/generation_test.go+252 −0internal/appconfig/store.go+21 −3internal/appconfig/sync.go+63 −1internal/appconfig/sync_test.go+95 −24internal/appconfig/syncexec.go+53 −0internal/appconfig/syncexec_test.go+120 −0internal/console/apicli.go+36 −30internal/console/apicli_test.go+83 −11internal/console/apiconfig.go+472 −0internal/console/apiconfig_test.go+904 −0internal/console/apiledger.go+381 −0internal/console/apiledger_test.go+728 −0internal/console/authcli.go+41 −5internal/console/authcli_test.go+8 −2internal/console/authowner_test.go+1 −1internal/console/bakecontrols_test.go+354 −0internal/console/ladder.go+5 −0internal/console/ladder_test.go+206 −0internal/console/metricsview.go+13 −2internal/console/resolve.go+47 −0internal/console/resolve_test.go+92 −0internal/console/server.go+277 −23internal/console/server_account_test.go+208 −8internal/console/server_test.go+172 −9internal/console/store.go+4 −0internal/console/templates/app.html+5 −1internal/console/templates/apps.html+1 −1internal/console/templates/fleet.html+38 −0internal/console/templates/ladder.html+65 −1internal/console/templates/layout.html+2 −2internal/console/templates/newaccount.html+8 −6internal/console/templates/picker.html+22 −0internal/console/view.go+175 −0internal/console/view_test.go+8 −1internal/domains/slugname.go+16 −0internal/domains/slugname_test.go+23 −0internal/domains/sqid.go+36 −0internal/domains/sqid_test.go+56 −0internal/edge/cache.go+26 −12internal/edge/cache_test.go+29 −0internal/edge/edge.go+184 −2internal/edge/edge_test.go+52 −0internal/edge/purge_header.go+11 −11internal/edge/status.go+260 −5internal/edge/status_test.go+678 −0internal/edge/tunnel.go+224 −0internal/edge/tunnel_e2e_test.go+218 −0internal/edge/tunnel_test.go+316 −0internal/host/agent.go+356 −25internal/host/agent_test.go+388 −0internal/host/bootstrap.go+62 −18internal/host/caps_pass_test.go+21 −21internal/host/host_test.go+122 −2internal/host/probes.go+102 −0internal/host/tunnel_client.go+59 −0internal/host/tunnel_client_test.go+100 −0internal/host/units/carlos-adopt.path+20 −0internal/host/units/carlos-config-sync.service+46 −0internal/lease/lease.go+23 −2internal/lease/lease_test.go+95 −0internal/ledger/append.go+109 −0internal/ledger/append_test.go+169 −0internal/ledger/blob.go+28 −0internal/ledger/blob_test.go+37 −0internal/ledger/ledger.go+84 −0internal/ledger/ledger_test.go+37 −0internal/ledger/manifest.go+98 −0internal/ledger/manifest_test.go+168 −0internal/ledger/verify.go+99 −0internal/ledger/verify_test.go+136 −0internal/registry/registry.go+77 −17internal/registry/registry_test.go+120 −0internal/release/adopt.go+139 −6internal/release/adopt_test.go+387 −0internal/release/bake.go+274 −8internal/release/bake_test.go+363 −0internal/release/production.go+177 −0internal/release/production_test.go+240 −0internal/release/qualified_test.go+3 −2internal/release/release.go+69 −2internal/release/release_test.go+143 −0internal/release/scopedpromote_test.go+5 −0internal/release/store.go+71 −0internal/release/store_test.go+87 −0internal/status/assets/index.html+6 −0internal/status/contract_test.go+47 −9internal/status/dryrun.go+73 −8internal/status/fleet.go+62 −10internal/status/snapshot.go+108 −11internal/status/status_test.go+185 −0internal/tunnelclient/tunnelclient.go+267 −0internal/tunnelclient/tunnelclient_test.go+154 −0main.go+8 −0scopedkeys_e2e_test.go+31 −2statuslive_test.go+127 −0
CLAUDE.mdLoading diff…
README.mdLoading diff…
accounts.goLoading diff…
accounts_resolve_test.goLoading diff…
apimode.goLoading diff…
apimode_test.goLoading diff…
appconfig_cli.goLoading diff…
auth.goLoading diff…
auth_e2e_test.goLoading diff…
auth_test.goLoading diff…
cli.goLoading diff…
cmd/console/main.goLoading diff…
config.goLoading diff…
config_e2e_test.goLoading diff…
config_test.goLoading diff…
docs/superpowers/plans/2026-08-03-open-ledgers-primitive.mdLoading diff…
docs/superpowers/plans/2026-08-04-account-slugs.mdLoading diff…
docs/superpowers/plans/2026-08-04-config-console-api.mdLoading diff…
docs/superpowers/plans/2026-08-04-console-bake-controls.mdLoading diff…
docs/superpowers/plans/2026-08-04-console-default-resolution.mdLoading diff…
docs/superpowers/plans/2026-08-04-pi-enablement.mdLoading diff…
docs/superpowers/plans/2026-08-04-remote-host-agent.mdLoading diff…
docs/superpowers/specs/2026-08-03-cli-console-api-design.mdLoading diff…
docs/superpowers/specs/2026-08-03-open-ledgers-design.mdLoading diff…
docs/superpowers/specs/2026-08-03-unit-tenant-purge-channel.mdLoading diff…
docs/superpowers/specs/2026-08-04-account-slugs-design.mdLoading diff…
docs/superpowers/specs/2026-08-04-config-console-api-design.mdLoading diff…
docs/superpowers/specs/2026-08-04-console-bake-controls-design.mdLoading diff…
docs/superpowers/specs/2026-08-04-console-default-resolution-design.mdLoading diff…
docs/superpowers/specs/2026-08-04-remote-host-pi-design.mdLoading diff…
e2e_test.goLoading diff…
go.modLoading diff…
infra/modules/region-host/main.tfLoading diff…
infra/remote-host.mdLoading diff…
internal/activator/backend_exec.goLoading diff…
internal/appconfig/agentvars.goLoading diff…
internal/appconfig/agentvars_test.goLoading diff…
internal/appconfig/crypto.goLoading diff…
internal/appconfig/crypto_test.goLoading diff…
internal/appconfig/environments.goLoading diff…
internal/appconfig/generation.goLoading diff…
internal/appconfig/generation_test.goLoading diff…
internal/appconfig/store.goLoading diff…
internal/appconfig/sync.goLoading diff…
internal/appconfig/sync_test.goLoading diff…
internal/appconfig/syncexec.goLoading diff…
internal/appconfig/syncexec_test.goLoading diff…
internal/console/apicli.goLoading diff…
internal/console/apicli_test.goLoading diff…
internal/console/apiconfig.goLoading diff…
internal/console/apiconfig_test.goLoading diff…
internal/console/apiledger.goLoading diff…
internal/console/apiledger_test.goLoading diff…
internal/console/authcli.goLoading diff…
internal/console/authcli_test.goLoading diff…
internal/console/authowner_test.goLoading diff…
internal/console/bakecontrols_test.goLoading diff…
internal/console/ladder.goLoading diff…
internal/console/ladder_test.goLoading diff…
internal/console/metricsview.goLoading diff…
internal/console/resolve.goLoading diff…
internal/console/resolve_test.goLoading diff…
internal/console/server.goLoading diff…
internal/console/server_account_test.goLoading diff…
internal/console/server_test.goLoading diff…
internal/console/store.goLoading diff…
internal/console/templates/app.htmlLoading diff…
internal/console/templates/apps.htmlLoading diff…
internal/console/templates/fleet.htmlLoading diff…
internal/console/templates/ladder.htmlLoading diff…
internal/console/templates/layout.htmlLoading diff…
internal/console/templates/newaccount.htmlLoading diff…
internal/console/templates/picker.htmlLoading diff…
internal/console/view.goLoading diff…
internal/console/view_test.goLoading diff…
internal/domains/slugname.goLoading diff…
internal/domains/slugname_test.goLoading diff…
internal/domains/sqid.goLoading diff…
internal/domains/sqid_test.goLoading diff…
internal/edge/cache.goLoading diff…
internal/edge/cache_test.goLoading diff…
internal/edge/edge.goLoading diff…
internal/edge/edge_test.goLoading diff…
internal/edge/purge_header.goLoading diff…
internal/edge/status.goLoading diff…
internal/edge/status_test.goLoading diff…
internal/edge/tunnel.goLoading diff…
internal/edge/tunnel_e2e_test.goLoading diff…
internal/edge/tunnel_test.goLoading diff…
internal/host/agent.goLoading diff…
internal/host/agent_test.goLoading diff…
internal/host/bootstrap.goLoading diff…
internal/host/caps_pass_test.goLoading diff…
internal/host/host_test.goLoading diff…
internal/host/probes.goLoading diff…
internal/host/tunnel_client.goLoading diff…
internal/host/tunnel_client_test.goLoading diff…
internal/host/units/carlos-adopt.pathLoading diff…
internal/host/units/carlos-config-sync.serviceLoading diff…
internal/lease/lease.goLoading diff…
internal/lease/lease_test.goLoading diff…
internal/ledger/append.goLoading diff…
internal/ledger/append_test.goLoading diff…
internal/ledger/blob.goLoading diff…
internal/ledger/blob_test.goLoading diff…
internal/ledger/ledger.goLoading diff…
internal/ledger/ledger_test.goLoading diff…
internal/ledger/manifest.goLoading diff…
internal/ledger/manifest_test.goLoading diff…
internal/ledger/verify.goLoading diff…
internal/ledger/verify_test.goLoading diff…
internal/registry/registry.goLoading diff…
internal/registry/registry_test.goLoading diff…
internal/release/adopt.goLoading diff…
internal/release/adopt_test.goLoading diff…
internal/release/bake.goLoading diff…
internal/release/bake_test.goLoading diff…
internal/release/production.goLoading diff…
internal/release/production_test.goLoading diff…
internal/release/qualified_test.goLoading diff…
internal/release/release.goLoading diff…
internal/release/release_test.goLoading diff…
internal/release/scopedpromote_test.goLoading diff…
internal/release/store.goLoading diff…
internal/release/store_test.goLoading diff…
internal/status/assets/index.htmlLoading diff…
internal/status/contract_test.goLoading diff…
internal/status/dryrun.goLoading diff…
internal/status/fleet.goLoading diff…
internal/status/snapshot.goLoading diff…
internal/status/status_test.goLoading diff…
internal/tunnelclient/tunnelclient.goLoading diff…
internal/tunnelclient/tunnelclient_test.goLoading diff…
main.goLoading diff…
scopedkeys_e2e_test.goLoading diff…
statuslive_test.goLoading diff…