carlos / platform Public

Merge remote-tracking branch 'origin/main' into moves-phase1-5d

claude agent, operated by paul@keymail.dev 4ccbcef9bee39f5a2694add10d4bb6879283ebba parent c35a1ccparent 0901e83
57 files changed, +4670 −150
  • apimode.go +41 −0
  • docs/site/cli.md +3 −1
  • docs/superpowers/plans/2026-10-07-instance-settings-2-copy.json +23 −0
  • docs/superpowers/plans/2026-10-10-instance-key-provision.md +1439 −0
  • docs/superpowers/plans/CODEX-FINDINGS-SETTINGS-IMPL-2-R2.md +18 −0
  • docs/superpowers/plans/CODEX-FINDINGS-SETTINGS-IMPL-2.md +49 −0
  • docs/superpowers/plans/CODEX-PLAN-INSTANCE-KEY-BRIEF-1.md +26 −0
  • docs/superpowers/plans/INSTANCE-KEY-PLAN-REPORT-R0.md +62 −0
  • internal/console/apiauthorize.go +97 −0
  • internal/console/apiauthorize_test.go +164 −0
  • internal/console/authcli.go +5 −0
  • internal/console/claim_invariant_fixtures_test.go +77 −38
  • internal/console/claim_invariant_probes_read_test.go +3 −1
  • internal/console/svcroutes_test.go +8 −2
  • internal/console/testdata/claim-routes.txt +2 −0
  • internal/edge/fleetapi_e2e_test.go +64 −0
  • internal/edge/storedoor.go +28 −1
  • internal/edge/storedoor_test.go +43 −0
  • internal/host/agent.go +1 −1
  • internal/host/heldstage.go +8 −2
  • internal/host/heldstage_test.go +112 −8
  • internal/host/movespass.go +12 −1
  • internal/host/movesreport_test.go +12 −20
  • internal/host/movesstage.go +10 −2
  • internal/host/movesstage_proof_test.go +9 −6
  • internal/hostbox/restore.go +25 −1
  • internal/hostbox/restore_test.go +7 −0
  • internal/hostbox/restore_wal_test.go +114 −0
  • internal/hostops/mutation_classifier.go +16 −0
  • internal/hostops/promotionrecord_classifier_test.go +54 −0
  • internal/provision/plan9_b8_census_test.go +17 −5
  • internal/release/authorize_record.go +61 −0
  • internal/release/authorize_record_test.go +126 −0
  • internal/release/authorize_test.go +5 −0
  • internal/release/claim_app_writes.go +13 −0
  • internal/release/heldauth_test.go +461 −0
  • internal/release/heldverify_test.go +3 −3
  • internal/release/materializeheld.go +145 −20
  • internal/release/materializeheld_claim_test.go +78 −4
  • internal/release/materializeheld_proof_test.go +26 −10
  • internal/release/materializeheld_test.go +39 −19
  • internal/release/promote_record_test.go +120 −0
  • internal/release/promotion.go +184 −0
  • internal/release/promotion_test.go +359 −0
  • internal/release/prune.go +6 −0
  • internal/release/ratchet.go +14 −1
  • internal/release/record_lifecycle_test.go +53 −0
  • internal/release/release.go +18 −0
  • internal/release/stage_reuse_test.go +1 −1
  • internal/release/trash.go +8 −0
  • internal/updatewords/words.go +50 −0
  • internal/updatewords/words_approved_test.go +79 −0
  • internal/updatewords/words_authorize.go +57 −0
  • internal/updatewords/words_test.go +46 −0
  • main.go +8 −3
  • releases_authorize.go +117 −0
  • releases_authorize_test.go +44 −0

CI failed — run details

CI log
=== gate ===
cd launchctx && go vet ./... && go test ./... -count=1
ok  	amadan.net/carlos/platform.git/launchctx	0.011s
?   	amadan.net/carlos/platform.git/launchctx/controlname	[no test files]
?   	amadan.net/carlos/platform.git/launchctx/wireid	[no test files]
go vet ./...
gofmt -l .: clean
go test ./... -count=1 -timeout 30m
ok  	github.com/carlosframework/platform	313.270s
?   	github.com/carlosframework/platform/cmd/changelog	[no test files]
ok  	github.com/carlosframework/platform/cmd/console	3.253s
ok  	github.com/carlosframework/platform/internal/activator	135.886s
ok  	github.com/carlosframework/platform/internal/agentsock	0.017s
ok  	github.com/carlosframework/platform/internal/alerting	0.004s
ok  	github.com/carlosframework/platform/internal/analytics	0.023s
ok  	github.com/carlosframework/platform/internal/appconfig	2.171s
ok  	github.com/carlosframework/platform/internal/apperr	0.092s
ok  	github.com/carlosframework/platform/internal/applog	0.160s
ok  	github.com/carlosframework/platform/internal/awsinv	0.004s
ok  	github.com/carlosframework/platform/internal/boxchoice	0.004s
ok  	github.com/carlosframework/platform/internal/boxid	0.734s
?   	github.com/carlosframework/platform/internal/boxid/boxidtest	[no test files]
?   	github.com/carlosframework/platform/internal/boxid/internal/signtest	[no test files]
ok  	github.com/carlosframework/platform/internal/boxvolumes	0.008s
ok  	github.com/carlosframework/platform/internal/caps	0.012s
ok  	github.com/carlosframework/platform/internal/certwarm	0.002s
ok  	github.com/carlosframework/platform/internal/cgroup	0.197s
ok  	github.com/carlosframework/platform/internal/changelog	0.258s
ok  	github.com/carlosframework/platform/internal/clamd	0.055s
?   	github.com/carlosframework/platform/internal/cliflag	[no test files]
ok  	github.com/carlosframework/platform/internal/console	319.275s
?   	github.com/carlosframework/platform/internal/controlname	[no test files]
?   	github.com/carlosframework/platform/internal/controlsock	[no test files]
ok  	github.com/carlosframework/platform/internal/dbdoor	5.729s
ok  	github.com/carlosframework/platform/internal/dbdoor/dbdoortest	0.010s
ok  	github.com/carlosframework/platform/internal/dbverify	0.008s
ok  	github.com/carlosframework/platform/internal/dnsrec	0.002s
ok  	github.com/carlosframework/platform/internal/docsite	0.007s
ok  	github.com/carlosframework/platform/internal/domains	1.960s
ok  	github.com/carlosframework/platform/internal/doorkey	0.007s
ok  	github.com/carlosframework/platform/internal/economics	0.004s
ok  	github.com/carlosframework/platform/internal/edge	25.707s
?   	github.com/carlosframework/platform/internal/edgeproof	[no test files]
ok  	github.com/carlosframework/platform/internal/edgesfile	0.009s
ok  	github.com/carlosframework/platform/internal/fleetapi	0.126s
ok  	github.com/carlosframework/platform/internal/gate	1.663s
ok  	github.com/carlosframework/platform/internal/genselect	0.016s
ok  	github.com/carlosframework/platform/internal/geo	0.011s
ok  	github.com/carlosframework/platform/internal/geoip	0.033s
ok  	github.com/carlosframework/platform/internal/host	44.714s
ok  	github.com/carlosframework/platform/internal/hostactors	0.332s
ok  	github.com/carlosframework/platform/internal/hostbox	1.255s
ok  	github.com/carlosframework/platform/internal/hostclaim	0.202s
ok  	github.com/carlosframework/platform/internal/hostevidence	0.007s
ok  	github.com/carlosframework/platform/internal/hostexec	0.297s
ok  	github.com/carlosframework/platform/internal/hostfence	0.035s
ok  	github.com/carlosframework/platform/internal/hostfiles	4.051s
ok  	github.com/carlosframework/platform/internal/hostfloor	0.010s
ok  	github.com/carlosframework/platform/internal/hostguard	0.145s
ok  	github.com/carlosframework/platform/internal/hostops	1.224s
ok  	github.com/carlosframework/platform/internal/hostquarantine	0.004s
ok  	github.com/carlosframework/platform/internal/hostresolve	0.132s
ok  	github.com/carlosframework/platform/internal/hostwrite	0.002s
ok  	github.com/carlosframework/platform/internal/infraview	0.005s
ok  	github.com/carlosframework/platform/internal/instancectl	1.703s
ok  	github.com/carlosframework/platform/internal/instanceexec	2.685s
ok  	github.com/carlosframework/platform/internal/instancefs	0.006s
ok  	github.com/carlosframework/platform/internal/layout	1.290s
ok  	github.com/carlosframework/platform/internal/lease	9.434s
ok  	github.com/carlosframework/platform/internal/lease/leasetest	0.012s
ok  	github.com/carlosframework/platform/internal/ledger	0.014s
ok  	github.com/carlosframework/platform/internal/mail	0.151s
ok  	github.com/carlosframework/platform/internal/maintenance	0.079s
ok  	github.com/carlosframework/platform/internal/maintenanceexec	5.514s
ok  	github.com/carlosframework/platform/internal/maintenanceguard	0.071s
ok  	github.com/carlosframework/platform/internal/metrics	0.010s
ok  	github.com/carlosframework/platform/internal/moves	20.896s
ok  	github.com/carlosframework/platform/internal/moves/archive	0.740s
ok  	github.com/carlosframework/platform/internal/objstore	0.161s
ok  	github.com/carlosframework/platform/internal/ops	0.149s
ok  	github.com/carlosframework/platform/internal/park	0.179s
ok  	github.com/carlosframework/platform/internal/privatefile	0.003s
2026/10/11 02:46:30 provision: listing apps/bab/blog/instances/: list refused — its records are unseen this pass
2026/10/11 02:46:30 provision: listing apps/bab/: listdirs refused — its records are unseen this pass
2026/10/11 02:46:30 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:30 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:30 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:30 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/11 02:46:30 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/11 02:46:30 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/11 02:46:30 provision: remove retired instance route shop.example: provision: claim admission unavailable
2026/10/11 02:46:30 provision: remove retired instance route shop.example: provision: claim admission unavailable
2026/10/11 02:46:30 provision: remove retired sidecar route worker.sidecar.internal: provision: claim admission unavailable
2026/10/11 02:46:30 provision: remove retired sidecar route worker.sidecar.internal: provision: claim admission unavailable
2026/10/11 02:46:30 provision: claim install acme.go.tito.io: provision: claim admission unavailable
2026/10/11 02:46:30 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:30 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/11 02:46:30 provision: claim install bot.eleven.bac.sidecar.internal: provision: claim admission unavailable
2026/10/11 02:46:30 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/11 02:46:30 provision: claim install bot.eleven.bac.sidecar.internal: registry: claim row ownership changed or unknown
2026/10/11 02:46:30 provision: refusing to mint route acme.go.tito.io (app "tito" acct "bac"): this box declares CARLOS_INBOUND=none (no-inbound) and cannot serve routed instance traffic
2026/10/11 02:46:30 provision: acme.go.tito.io: not minting this pass: the box's layout intent could not be read: no sealed config
2026/10/11 02:46:31 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: REFUSING to mint sidecar bot.eleven.bac.sidecar.internal: bot.eleven.bac.sidecar.internal-sidecar.env is staged on this box — the legacy file co-spawn and a native sidecar row are two mechanisms for one host; remove the file to migrate this host onto sidecar records
2026/10/11 02:46:31 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/11 02:46:31 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/11 02:46:31 provision: refusing to mint route acme.go.tito.io (app "tito" acct "bac"): this box declares CARLOS_INBOUND=none (no-inbound) and cannot serve routed instance traffic
2026/10/11 02:46:31 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: REFUSING to mint sidecar bot.eleven.bac.sidecar.internal: bot.eleven.bac.sidecar.internal-sidecar.env is staged on this box — the legacy file co-spawn and a native sidecar row are two mechanisms for one host; remove the file to migrate this host onto sidecar records
2026/10/11 02:46:31 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/11 02:46:31 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/11 02:46:31 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/11 02:46:31 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/11 02:46:31 provision: bot.eleven.bac.sidecar.internal exists but is not a sidecar row this pass owns (kind "sidecar" provisioned false app "eleven" acct "bac") — leaving it alone
2026/10/11 02:46:31 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/11 02:46:31 provision: claim install bot.eleven.bac.sidecar.internal: registry: claim row ownership changed or unknown
2026/10/11 02:46:31 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/11 02:46:31 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/11 02:46:31 provision: bot.eleven.bac.sidecar.internal exists but is not a sidecar row this pass owns (kind "sidecar" provisioned false app "eleven" acct "bac") — leaving it alone
2026/10/11 02:46:31 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/11 02:46:31 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/11 02:46:31 provision: skipping record apps/bac/tito/instances/new.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/11 02:46:31 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/11 02:46:31 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/11 02:46:31 provision: skipping record apps/bac/tito/instances/new.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/11 02:46:31 provision: minted instance route ra.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route rc.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route rd.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route rg.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route rh.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route ri.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route rk.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route rl.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route rb.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route re.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route rf.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route rj.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route rd.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route ra.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route rb.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route rc.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: skipping record apps/bac/tito/instances/rb.go.tito.io.json: read failed: read refused
2026/10/11 02:46:31 provision: skipping record apps/bac/tito/instances/rb.go.tito.io.json: read failed: read refused
2026/10/11 02:46:31 provision: minted instance route re.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route x.apph.example (app "apph" acct "bac")
2026/10/11 02:46:31 provision: minted instance route x.appi.example (app "appi" acct "bac")
2026/10/11 02:46:31 provision: minted instance route x.appe.example (app "appe" acct "bac")
2026/10/11 02:46:31 provision: minted instance route x.appg.example (app "appg" acct "bac")
2026/10/11 02:46:31 provision: minted instance route x.appj.example (app "appj" acct "bac")
2026/10/11 02:46:31 provision: minted instance route x.appa.example (app "appa" acct "bac")
2026/10/11 02:46:31 provision: minted instance route x.appb.example (app "appb" acct "bac")
2026/10/11 02:46:31 provision: minted instance route x.appc.example (app "appc" acct "bac")
2026/10/11 02:46:31 provision: minted instance route x.appd.example (app "appd" acct "bac")
2026/10/11 02:46:31 provision: minted instance route x.appf.example (app "appf" acct "bac")
2026/10/11 02:46:31 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/11 02:46:31 provision: minted instance route r0060.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0029.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0057.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0058.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0064.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0091.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0010.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0034.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0038.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0044.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0065.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0067.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0084.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0111.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0113.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0114.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0098.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0000.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0004.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0036.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0048.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0082.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0112.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0120.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0012.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0014.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0033.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0096.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0002.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0009.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0071.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0102.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0068.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0072.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0095.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0129.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0021.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0035.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0059.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0088.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0107.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0006.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0023.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0030.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0040.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0085.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0115.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0117.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0123.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0011.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0073.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0087.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0126.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0008.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0119.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0069.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0090.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0007.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0039.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0075.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0078.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0080.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0081.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0103.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0047.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0051.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0061.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0100.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0104.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0105.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0106.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0121.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0026.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0063.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0054.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0024.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0001.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0031.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0076.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0086.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0118.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0124.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0028.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0056.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0074.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0122.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0025.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0043.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0077.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0089.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0125.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0003.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0019.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0032.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0037.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0042.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0097.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0128.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0013.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0027.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0041.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0049.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0099.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0127.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0020.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0005.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0018.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0022.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0070.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0108.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0092.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0015.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0062.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0094.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0101.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0045.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0046.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0050.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0079.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0083.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0093.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0016.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0052.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0110.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0116.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0053.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0109.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0017.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0055.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:31 provision: minted instance route r0066.go.tito.io (app "tito" acct "bac")
--- FAIL: TestPlan9B8RecordWriteCensus (0.42s)
    plan9_b8_census_test.go:371: record-write census rejected 3 site(s); update the explicit inventory only after reviewing the source:
          unlisted site internal/host/movesevidence.go:const movesLegacyCensus [lit:instances]: review it, classify it, and update its explicit inventory entry
          unlisted site internal/host/movesevidence.go:movesInstancesLocation [lit:instances]: review it, classify it, and update its explicit inventory entry
          unlisted site internal/host/movesevidence.go:movesRetirementEvidence.retired [key:RecordKey,lit:instances]: review it, classify it, and update its explicit inventory entry
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: refusing to mint route acme.go.tito.io (app "tito" acct "bac"): this box declares CARLOS_INBOUND=none (no-inbound) and cannot serve routed instance traffic
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted instance route console.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted service route ha.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted service route svc.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted instance route whole.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted instance route shared.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: converged acme.go.tito.io channel stable -> edge
2026/10/11 02:46:32 provision: converged acme.go.tito.io channel edge -> canary/rehearsal
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: empty channel
2026/10/11 02:46:32 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: converged acme.go.tito.io environment "" -> "staging"
2026/10/11 02:46:32 provision: converged acme.go.tito.io environment "staging" -> ""
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: converged acme.go.tito.io steering "" -> "latency"
2026/10/11 02:46:32 provision: converged acme.go.tito.io steering "latency" -> ""
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: converged acme.go.tito.io hibernate false -> true
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: converged acme.go.tito.io hibernate true -> false (replication "daily" cleared: only a hibernating route's rung is read)
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: converged acme.go.tito.io status-named false -> true
2026/10/11 02:46:32 provision: converged acme.go.tito.io status-named true -> false
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted service route ha.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: converged ha.go.tito.io upstreams addr "" -> "", addrs "127.0.0.1:7001,127.0.0.1:7002" -> "127.0.0.1:7001,127.0.0.1:7003" (probe "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}" -> "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}")
2026/10/11 02:46:32 provision: converged ha.go.tito.io upstreams addr "" -> "", addrs "127.0.0.1:7001,127.0.0.1:7003" -> "127.0.0.1:7003,127.0.0.1:7001" (probe "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}" -> "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}")
2026/10/11 02:46:32 provision: converged ha.go.tito.io upstreams addr "" -> "", addrs "127.0.0.1:7003,127.0.0.1:7001" -> "127.0.0.1:7003,127.0.0.1:7001" (probe "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}" -> "{\"path\":\"/healthz\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}")
2026/10/11 02:46:32 provision: minted service route whole.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: converged whole.go.tito.io upstreams addr "127.0.0.1:9443" -> "", addrs "" -> "127.0.0.1:9443,127.0.0.1:9444" (probe "" -> "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}")
2026/10/11 02:46:32 provision: converged whole.go.tito.io upstreams addr "" -> "", addrs "127.0.0.1:9443,127.0.0.1:9444" -> "" (probe "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}" -> "")
2026/10/11 02:46:32 provision: whole.go.tito.io: record describes a different route SHAPE than the row (kind "instance"/"service" unit ""/"" socket "/run/carlos/whole.go.tito.io.sock"/"" db "/data/whole.go.tito.io.db"/"") — not converged in place; `carlos remove whole.go.tito.io` purges this route's capability grants (registry.Delete's contract, not a bug) before the next pass re-mints it, so treat that as a last resort, not a routine fix
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: minted service route whole.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: skipping accounts/bac/account.json: malformed account manifest: invalid character 'o' in literal null (expecting 'u')
2026/10/11 02:46:32 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: manifest bac/tito: read failed: provision: manifest bac/tito: invalid character 'o' in literal null (expecting 'u')
2026/10/11 02:46:32 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: disagrees with its own path (host="wrong-host.go.tito.io" account="bac" app="tito")
2026/10/11 02:46:32 provision: skipping record apps/bac/tito/instances/acme$evil.go.tito.io.json: host "acme$evil.go.tito.io" is not a hostname
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: skipping record apps/bac/tito/instances/acme$evil.go.tito.io.json: host "acme$evil.go.tito.io" is not a hostname
2026/10/11 02:46:32 provision: not removing acme$evil.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/11 02:46:32 provision: skipping record apps/bac/tito/instances/bad-service.go.tito.io.json: invalid shape: kind service with no addr: the platform only proxies to a service, so the record must name the upstream it proxies to
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: skipping record apps/bac/tito/instances/bad-service.go.tito.io.json: invalid shape: kind service with no addr: the platform only proxies to a service, so the record must name the upstream it proxies to
2026/10/11 02:46:32 provision: not removing bad-service.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/11 02:46:32 provision: skipping record apps/bac/tito/instances/no-channel.go.tito.io.json: empty channel
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: skipping record apps/bac/tito/instances/no-channel.go.tito.io.json: empty channel
2026/10/11 02:46:32 provision: not removing no-channel.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/11 02:46:32 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/11 02:46:32 provision: removed retired instance route ghost.go.tito.io (record gone)
2026/10/11 02:46:32 provision: duplicate host dup.go.tito.io: keeping apps/bac/tito/instances/dup.go.tito.io.json, skipping apps/bad/tito/instances/dup.go.tito.io.json
2026/10/11 02:46:32 provision: minted instance route dup.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/11 02:46:32 provision: removed retired instance route acme.go.tito.io (app in the trash)
2026/10/11 02:46:32 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/11 02:46:32 provision: removed retired static route site.go.tito.io (app in the trash)
2026/10/11 02:46:32 provision: trash marker for bac/tito unreadable: release: malformed trash marker for bac/tito: invalid character 'n' looking for beginning of object key string — not minting for this app
2026/10/11 02:46:32 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/11 02:46:32 provision: removed retired instance route acme.go.tito.io (app in the trash)
2026/10/11 02:46:32 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/11 02:46:32 provision: trash marker for bac/tito unreadable: release: malformed trash marker for bac/tito: invalid character 'n' looking for beginning of object key string — not minting for this app
2026/10/11 02:46:32 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/11 02:46:32 provision: converged acme.go.tito.io channel stable -> edge
2026/10/11 02:46:32 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/11 02:46:32 provision: converged acme.go.tito.io channel canary/rehearsal -> edge
2026/10/11 02:46:32 provision: converged acme.go.tito.io environment "staging" -> ""
2026/10/11 02:46:32 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/11 02:46:32 provision: acme.go.tito.io exists but is not the route this record describes (backing "unit" (box-scoped, not expressible in a record)) — leaving it alone
2026/10/11 02:46:32 provision: acme.go.tito.io exists but is not the route this record describes (tunnel "pi-fleet" (box-scoped, not expressible in a record)) — leaving it alone
2026/10/11 02:46:32 provision: acme.go.tito.io exists but is not the route this record describes (caps "port:25" (box-scoped, not expressible in a record)) — leaving it alone
2026/10/11 02:46:32 provision: acme.go.tito.io exists but is not the route this record describes (platform (owned by the domains reconcile pass)) — leaving it alone
2026/10/11 02:46:32 provision: acme.go.tito.io exists but is not the route this record describes (canary (owned by the domains reconcile pass)) — leaving it alone
2026/10/11 02:46:32 provision: acme.go.tito.io exists but is not the route this record describes (db "/data/other.db"/"/data/acme.go.tito.io.db") — leaving it alone
2026/10/11 02:46:32 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/11 02:46:32 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/11 02:46:32 provision: dry-run: would mint instance route acme.go.tito.io (app "tito" acct "bac" channel "stable")
2026/10/11 02:46:32 provision: dry-run: would adopt existing route adopt.go.tito.io (app "tito" acct "bac") — this record would own its channel and environment
2026/10/11 02:46:32 provision: dry-run: would converge adopt.go.tito.io channel stable -> edge
2026/10/11 02:46:32 provision: dry-run: would converge adopt.go.tito.io environment "" -> "staging"
2026/10/11 02:46:32 provision: dry-run: would converge owned.go.tito.io channel stable -> edge
2026/10/11 02:46:32 provision: dry-run: would converge owned.go.tito.io environment "" -> "staging"
2026/10/11 02:46:32 provision: dry-run: would converge owned.go.tito.io hibernate false -> true
2026/10/11 02:46:32 provision: dry-run: would converge owned.go.tito.io seed
2026/10/11 02:46:32 provision: dry-run: would remove retired instance route gone.go.tito.io (record gone)
2026/10/11 02:46:32 provision: adopted existing route adopt.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/11 02:46:32 provision: converged adopt.go.tito.io channel stable -> edge
2026/10/11 02:46:32 provision: converged adopt.go.tito.io environment "" -> "staging"
2026/10/11 02:46:32 provision: converged owned.go.tito.io channel stable -> edge
2026/10/11 02:46:32 provision: converged owned.go.tito.io environment "" -> "staging"
2026/10/11 02:46:32 provision: converged owned.go.tito.io hibernate false -> true
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: removed retired instance route gone.go.tito.io (record gone)
2026/10/11 02:46:32 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:32 provision: adopted existing route story.carlosframework.com (app "story" acct "bad") — this record now owns its channel and environment
2026/10/11 02:46:32 provision: story.carlosframework.com exists but is not the route this record describes (kind "instance"/"static") — leaving it alone
2026/10/11 02:46:32 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted service route pub.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted service route pubs.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted instance route unit.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted instance route exec.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted service route loop.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted service route named.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted service route priv.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted static route pisite.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: removed retired static route site.go.tito.io (record gone)
2026/10/11 02:46:33 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted instance route acme-uk.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: converged acme.go.tito.io replicas "ie,uk" -> "uk"
2026/10/11 02:46:33 provision: converged acme.go.tito.io replicas "uk" -> ""
2026/10/11 02:46:33 provision: minted instance route acme-uk.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: converged acme-uk.go.tito.io replica mark true -> false
2026/10/11 02:46:33 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: acme.go.tito.io: row is on the nested layout (db "/data/instances/acme.go.tito.io/acme.go.tito.io.db" socket "/run/carlos/instances/acme.go.tito.io/app.sock"); the record's shared paths are not drift
2026/10/11 02:46:33 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/11 02:46:33 provision: acme.go.tito.io: not minting this pass: the box's layout intent could not be read: store down
2026/10/11 02:46:33 provision: router.go.tito.io: not minting this pass: the box's layout intent could not be read: store down
2026/10/11 02:46:33 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/11 02:46:33 provision: converged acme.go.tito.io channel stable -> edge
2026/10/11 02:46:33 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/11 02:46:33 provision: not removing acme.go.tito.io (record gone): participant of a running operation
2026/10/11 02:46:33 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/11 02:46:33 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/11 02:46:33 provision: refusing to mint held route acme.go.tito.io (app "tito" acct "bac"): this box declares CARLOS_INBOUND=none (no-inbound) and cannot serve routed instance traffic
2026/10/11 02:46:33 provision: held acme.go.tito.io landing by mv_acme (was ready)
2026/10/11 02:46:33 provision: acme.go.tito.io: held restoring by rb_other, not by mv_acme; leaving it
2026/10/11 02:46:33 provision: acme.go.tito.io: the row is not this pass's (app "other" acct ""); not holding it for mv_acme
2026/10/11 02:46:33 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/11 02:46:33 provision: dry-run: would mint instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac" channel "stable")
2026/10/11 02:46:33 provision: acme.go.tito.io: not held landing by mv_acme: the row's hold changed under this pass; the next pass judges it afresh
2026/10/11 02:46:33 provision: held acme.go.tito.io landing by mv_acme (was ready)
2026/10/11 02:46:33 provision: removed retired sidecar route gone.eleven.bac.sidecar.internal (record gone)
2026/10/11 02:46:33 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/11 02:46:33 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/11 02:46:33 provision: converged sidecar bot.eleven.bac.sidecar.internal args ["sidecar","run"] -> ["worker","run"]
2026/10/11 02:46:33 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/11 02:46:33 provision: converged sidecar bot.eleven.bac.sidecar.internal ceilings 300/3600 -> 60/120
2026/10/11 02:46:33 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/11 02:46:33 provision: converged sidecar bot.eleven.bac.sidecar.internal channel stable -> canary/eleven
2026/10/11 02:46:33 provision: converged sidecar bot.eleven.bac.sidecar.internal environment "other" -> "relay"
2026/10/11 02:46:33 provision: converged sidecar bot.eleven.bac.sidecar.internal hibernate true -> false
2026/10/11 02:46:33 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: read failed: failStore: reads disabled under apps/bac/eleven/sidecars/
2026/10/11 02:46:33 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: malformed: invalid character 'n' looking for beginning of object key string
2026/10/11 02:46:33 provision: not removing sidecar bot.eleven.bac.sidecar.internal: its record exists but could not be read cleanly this pass
2026/10/11 02:46:33 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: empty channel
2026/10/11 02:46:33 provision: skipping sidecar record apps/bac/eleven/sidecars/held.json: empty channel
2026/10/11 02:46:33 provision: not removing sidecar held.eleven.bac.sidecar.internal: its record exists but could not be read cleanly this pass
2026/10/11 02:46:33 provision: removed retired sidecar route old.eleven.bac.sidecar.internal (record gone)
2026/10/11 02:46:33 provision: bac/eleven has sidecar records but no sidecars manifest — not minting
2026/10/11 02:46:33 provision: bac/eleven is in the trash — not minting sidecar routes for it
2026/10/11 02:46:33 provision: sidecar bot.eleven.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/11 02:46:33 provision: sidecar hub.relay.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/11 02:46:33 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/11 02:46:33 provision: minted sidecar route hub.relay.bac.sidecar.internal (app "relay" acct "bac" args ["relay"])
2026/10/11 02:46:33 provision: sidecar bot.eleven.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/11 02:46:33 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/11 02:46:33 provision: sidecar bot.eleven.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/11 02:46:33 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/11 02:46:33 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/11 02:46:33 provision: sidecar bot.eleven.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/11 02:46:33 provision: removed retired sidecar route bot.eleven.bac.sidecar.internal (record gone)
2026/10/11 02:46:33 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/11 02:46:33 provision: sidecar bot.eleven.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/11 02:46:33 provision: skipping sidecar record apps/bac/relay/sidecars/hub.json: read failed: failStore: reads disabled under apps/bac/relay/sidecars/
2026/10/11 02:46:33 provision: REFUSING to mint sidecar bot.eleven.bac.sidecar.internal: bot.eleven.bac.sidecar.internal-sidecar.env is staged on this box — the legacy file co-spawn and a native sidecar row are two mechanisms for one host; remove the file to migrate this host onto sidecar records
2026/10/11 02:46:33 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/11 02:46:33 provision: dry-run: would mint sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" channel "stable" args ["sidecar","run"])
2026/10/11 02:46:33 provision: dry-run: would remove retired sidecar route gone.eleven.bac.sidecar.internal (record gone)
2026/10/11 02:46:33 provision: bot.eleven.bac.sidecar.internal exists but is not a sidecar row this pass owns (kind "sidecar" provisioned false app "eleven" acct "bac") — leaving it alone
FAIL
FAIL	github.com/carlosframework/platform/internal/provision	3.025s
ok  	github.com/carlosframework/platform/internal/publicrelease	0.007s
ok  	github.com/carlosframework/platform/internal/registry	3.525s
ok  	github.com/carlosframework/platform/internal/relay	7.216s
ok  	github.com/carlosframework/platform/internal/release	17.689s
ok  	github.com/carlosframework/platform/internal/rollout	1.478s
ok  	github.com/carlosframework/platform/internal/rootaws	0.007s
ok  	github.com/carlosframework/platform/internal/s3compat	0.005s
ok  	github.com/carlosframework/platform/internal/safefile	0.004s
ok  	github.com/carlosframework/platform/internal/schedule	2.183s
ok  	github.com/carlosframework/platform/internal/sim/hostlife	2.402s
ok  	github.com/carlosframework/platform/internal/sim/litestreamfacts	3.854s
ok  	github.com/carlosframework/platform/internal/status	0.035s
ok  	github.com/carlosframework/platform/internal/steering	0.006s
ok  	github.com/carlosframework/platform/internal/stopevidence	0.125s
ok  	github.com/carlosframework/platform/internal/svcrole	0.002s
ok  	github.com/carlosframework/platform/internal/telemetry	0.004s
ok  	github.com/carlosframework/platform/internal/termfence	0.003s
ok  	github.com/carlosframework/platform/internal/tunnelclient	0.004s
ok  	github.com/carlosframework/platform/internal/unixdial	0.003s
ok  	github.com/carlosframework/platform/internal/updatewords	0.002s
ok  	github.com/carlosframework/platform/internal/usage	0.004s
ok  	github.com/carlosframework/platform/internal/version	0.001s
ok  	github.com/carlosframework/platform/internal/vet	1.548s
FAIL
make: *** [Makefile:18: test] Error 1

amadan: step gate failed: exit status 2

amadan: job failed at step gate — its output is above, not at the tail of this log
apimode.go

Loading diff…

docs/site/cli.md

Loading diff…

docs/superpowers/plans/2026-10-07-instance-settings-2-copy.json

Loading diff…

docs/superpowers/plans/2026-10-10-instance-key-provision.md

Loading diff…

docs/superpowers/plans/CODEX-FINDINGS-SETTINGS-IMPL-2-R2.md

Loading diff…

docs/superpowers/plans/CODEX-FINDINGS-SETTINGS-IMPL-2.md

Loading diff…

docs/superpowers/plans/CODEX-PLAN-INSTANCE-KEY-BRIEF-1.md

Loading diff…

docs/superpowers/plans/INSTANCE-KEY-PLAN-REPORT-R0.md

Loading diff…

internal/console/apiauthorize.go

Loading diff…

internal/console/apiauthorize_test.go

Loading diff…

internal/console/authcli.go

Loading diff…

internal/console/claim_invariant_fixtures_test.go

Loading diff…

internal/console/claim_invariant_probes_read_test.go

Loading diff…

internal/console/svcroutes_test.go

Loading diff…

internal/console/testdata/claim-routes.txt

Loading diff…

internal/edge/fleetapi_e2e_test.go

Loading diff…

internal/edge/storedoor.go

Loading diff…

internal/edge/storedoor_test.go

Loading diff…

internal/host/agent.go

Loading diff…

internal/host/heldstage.go

Loading diff…

internal/host/heldstage_test.go

Loading diff…

internal/host/movespass.go

Loading diff…

internal/host/movesreport_test.go

Loading diff…

internal/host/movesstage.go

Loading diff…

internal/host/movesstage_proof_test.go

Loading diff…

internal/hostbox/restore.go

Loading diff…

internal/hostbox/restore_test.go

Loading diff…

internal/hostbox/restore_wal_test.go

Loading diff…

internal/hostops/mutation_classifier.go

Loading diff…

internal/hostops/promotionrecord_classifier_test.go

Loading diff…

internal/provision/plan9_b8_census_test.go

Loading diff…

internal/release/authorize_record.go

Loading diff…

internal/release/authorize_record_test.go

Loading diff…

internal/release/authorize_test.go

Loading diff…

internal/release/claim_app_writes.go

Loading diff…

internal/release/heldauth_test.go

Loading diff…

internal/release/heldverify_test.go

Loading diff…

internal/release/materializeheld.go

Loading diff…

internal/release/materializeheld_claim_test.go

Loading diff…

internal/release/materializeheld_proof_test.go

Loading diff…

internal/release/materializeheld_test.go

Loading diff…

internal/release/promote_record_test.go

Loading diff…

internal/release/promotion.go

Loading diff…

internal/release/promotion_test.go

Loading diff…

internal/release/prune.go

Loading diff…

internal/release/ratchet.go

Loading diff…

internal/release/record_lifecycle_test.go

Loading diff…

internal/release/release.go

Loading diff…

internal/release/stage_reuse_test.go

Loading diff…

internal/release/trash.go

Loading diff…

internal/updatewords/words.go

Loading diff…

internal/updatewords/words_approved_test.go

Loading diff…

internal/updatewords/words_authorize.go

Loading diff…

internal/updatewords/words_test.go

Loading diff…

main.go

Loading diff…

releases_authorize.go

Loading diff…

releases_authorize_test.go

Loading diff…