carlos / platform Public

plans 1: fix Astra's whole-branch findings

- serve now starts StartPlanLimitsPass; a census test checks every
  registered claim worker is started (TestEveryRegisteredClaimWorkerIsStarted)
- the pass pages by account id, so orphaned assignments never starve later
  accounts (TestPlanLimitsPassOrphansDoNotStarveLaterAccounts)
- the plan door and the --sponsored file refuse unknown fields, so a
  misspelt sponsored limit cannot silently lower an account's limits

Findings committed unedited as CODEX-FINDINGS-PLANS-1-CODE.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev 20b2aa12cb59f9027e346a7e95a697e9a017b045 parent 80672fa
11 files changed, +170 −28
  • accounts_plan.go +6 −1
  • accounts_plan_test.go +21 −4
  • cmd/console/claimworkers_started_test.go +35 −0
  • cmd/console/main.go +3 −0
  • docs/superpowers/specs/CODEX-FINDINGS-PLANS-1-CODE.md +28 −0
  • internal/console/accountplans.go +6 −4
  • internal/console/accountplans_test.go +5 −5
  • internal/console/apiaccountplan.go +2 −1
  • internal/console/apiaccountplan_test.go +20 −0
  • internal/console/planlimits.go +23 −13
  • internal/console/planlimits_test.go +21 −0

CI failed — run details

CI log
amadan: log truncated — showing the last 292080 bytes of 756363
2026/10/21 09:36:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:21 console: audit system-update platform: sql: database is closed
2026/10/21 09:36:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:23 console: mail push: suspended bab/jb-book — nothing accepted for 24h0m0s
2026/10/21 09:36:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:23 console: materialized account bbw (Blog) from the bucket
2026/10/21 09:36:23 console: materialized account mdbbndjqx (Kass) from the bucket
2026/10/21 09:36:23 console: materialized account bbw (Blog) from the bucket
2026/10/21 09:36:23 console: skipping accounts/bbx/account.json: sqid "bbx"/"elsewhere" is not Sqid(43)="bbx" — that is corruption, not a new account
2026/10/21 09:36:23 console: skipping accounts/broken/account.json: malformed account manifest: invalid character 'n' looking for beginning of object key string
2026/10/21 09:36:23 console: skipping accounts/empty/account.json: malformed account manifest: <nil>
2026/10/21 09:36:23 console: skipping accounts/wrong/account.json: sqid "wrong"/"wrong" is not Sqid(42)="bbw" — that is corruption, not a new account
2026/10/21 09:36:23 console: materialized account bac (Kass) from the bucket
2026/10/21 09:36:23 console: materialized account bbw (Kass) from the bucket
2026/10/21 09:36:23 console: materialized account bbw (Kass) from the bucket
2026/10/21 09:36:23 console: materialized account bac (Kass) from the bucket
2026/10/21 09:36:23 console: account bbw names owner "not-an-address", which is not a keymail address — nobody could sign in as it, so no membership was created. Fix it with: console member --add <address> bbw --role owner
2026/10/21 09:36:23 console: materialized account bbw (Kass) from the bucket
2026/10/21 09:36:23 console: accounts/bbw/account.json names owner "not-an-address", which is not a keymail address — materializing the account without it; give it one with `console member --add <address> bbw --role owner`
2026/10/21 09:36:23 console: materialized account bbw (Legacy) from the bucket
2026/10/21 09:36:23 console: materialized account bac (Testco) from the bucket
2026/10/21 09:36:23 console: reaped account bac (Testco) — its manifest is tombstoned
2026/10/21 09:36:23 console: materialized account bac (Testco) from the bucket
2026/10/21 09:36:23 console: reaped account bac (Testco) — its manifest is tombstoned
2026/10/21 09:36:23 console: materialized account bac (Testco) from the bucket
2026/10/21 09:36:23 console: bac/alpha is in the trash in the bucket — marking it trashed here
2026/10/21 09:36:23 console: bac/beta has no trash marker and still has objects — restoring it here
2026/10/21 09:36:23 console: bac/gamma is gone from the bucket — releasing the name here
2026/10/21 09:36:23 console: materialized account bac (Testco) from the bucket
2026/10/21 09:36:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:24 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:24 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:24 console: background metrics sweep panic, cache left at its last good sweep: simulated bucket panic
2026/10/21 09:36:24 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:24 console: background metrics sweep: list metrics/boxes/: bucket had a bad day
2026/10/21 09:36:24 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:24 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:25 console: background metrics sweep: list metrics/boxes/: bucket had a bad day
2026/10/21 09:36:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:25 console: moves: warning: acme.go.tito.io: the log of move mv_retired at done is held: the writer refuses it (hostops: identity mismatch); its entry is kept until its incarnation is purged
2026/10/21 09:36:25 console: moves: warning: acme.go.tito.io: the log of move mv_earlier at done is held: the writer refuses it (hostops: identity mismatch); its entry is kept until its incarnation is purged
2026/10/21 09:36:25 console: audit instance-delete titogo: hostops: pending
2026/10/21 09:36:34 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:35 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:35 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:35 console: moves: acme.go.tito.io: the start of move mv_uqbolv6xypt2kjogk6vk5zyjky settled not-applied
2026/10/21 09:36:35 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:35 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:35 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:35 console: moves: acme.go.tito.io: move mv_yz2kr3e2gcn7qrhttyudipq5ve closed by the console (rolled-back-close); the release follows
2026/10/21 09:36:35 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:35 console: moves: acme.go.tito.io: move mv_wgqjtdie42euhemhwkrdpz2ioe closed by the console (close); the release follows
2026/10/21 09:36:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:36 console: moves: acme.go.tito.io: move mv_gojywl23xm4ke3omybgcev4uua is still preparing after 6h0m0s; aborted
2026/10/21 09:36:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:37 console: moves: acme.go.tito.io: move mv_elg74qngabcwdzjdl3fzi2nasu closed by the console (close); the release follows
2026/10/21 09:36:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:37 console: moves: acme.go.tito.io: move mv_5z6eozw6fqkhrvziebvuxeah7u is still preparing after 6h0m0s; aborted
2026/10/21 09:36:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:37 console: moves: acme.go.tito.io: move mv_exwfe2es5sfrlklge7kj5nqti4 closed by the console (close); the release follows
2026/10/21 09:36:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:37 console: moves: acme.go.tito.io: move mv_wpi37d2egcpp75aoaakfpucc6q closed by the console (close); the release follows
2026/10/21 09:36:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:38 console: moves: acme.go.tito.io: move mv_a5xctekmt3tvakcsez5g2orxki closed by the console (close); the release follows
2026/10/21 09:36:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:38 console: moves: warning: kass.carlosapp.dev: the log of move mv_2sdqqoi53rqt62p4tmebh23asy at elsewhere is held: the writer refuses it (hostops: identity mismatch); its entry is kept until its incarnation is purged
2026/10/21 09:36:38 console: moves: warning: acme.go.tito.io: the log of move mv_2sdqqoi53rqt62p4tmebh23asy at stale is held: the writer refuses it (hostops: identity mismatch); its entry is kept until its incarnation is purged
2026/10/21 09:36:38 console: moves: warning: acme.go.tito.io: the log of move mv_forged at forged is held: the writer refuses it (hostops: identity mismatch); its entry is kept until its incarnation is purged
2026/10/21 09:36:38 console: moves: warning: acme.go.tito.io: the log of move mv_2sdqqoi53rqt62p4tmebh23asy at retired is held: the writer refuses it (hostops: identity mismatch); its entry is kept until its incarnation is purged
2026/10/21 09:36:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:39 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:41 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:42 console: api instance move bab/titogo/acme.go.tito.io: declared loss refused: hostresolve: evidence or operation does not authorize resolution
2026/10/21 09:36:42 console: moves: warning: acme.go.tito.io: the log of move mv_mpnwpo7niuxhjbvngh7hmc3jim at rolling_back-target-lost has been unwritten for over an hour: unconfirmed: no loss of the move's target has committed, and the move can still be declared lost
2026/10/21 09:36:42 console: moves: acme.go.tito.io: the log of move mv_mpnwpo7niuxhjbvngh7hmc3jim at rolling_back-target-lost was never confirmed and the claim no longer holds the instance it was queued for; dropped
2026/10/21 09:36:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:44 console: api instance move bab/titogo/acme.go.tito.io: typed move write: moves: the declared loss cannot be queued in the move log: SQL logic error: no such table: move_log_outbox (1)
2026/10/21 09:36:44 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:45 console: claim request refused: moves: the declared loss cannot be queued in the move log: SQL logic error: no such table: move_log_outbox (1)
2026/10/21 09:36:46 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:47 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:48 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:48 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:48 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:48 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:48 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:49 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:49 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:49 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:49 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:49 console: claim request refused: begin: no eligible box in uk: hostops: region has no box that can take this
2026/10/21 09:36:49 console: refused: no eligible box in ie
2026/10/21 09:36:49 console: claim request refused: no eligible box in ie: hostops: region has no box that can take this
2026/10/21 09:36:49 console: refused: no eligible box in ie
2026/10/21 09:36:49 console: claim request refused: no eligible box in ie: hostops: region has no box that can take this
2026/10/21 09:36:49 console: refused: no eligible box in ie
2026/10/21 09:36:49 console: claim request refused: no eligible box in ie: hostops: region has no box that can take this
2026/10/21 09:36:50 console: refused: no eligible box in ie
2026/10/21 09:36:50 console: claim request refused: no eligible box in ie: hostops: region has no box that can take this
2026/10/21 09:36:50 console: refused: no eligible box in ie
2026/10/21 09:36:50 console: claim request refused: no eligible box in ie: hostops: region has no box that can take this
2026/10/21 09:36:50 console: refused: no eligible box in ie
2026/10/21 09:36:50 console: claim request refused: no eligible box in ie: hostops: region has no box that can take this
2026/10/21 09:36:50 console: refused: no eligible box in ie
2026/10/21 09:36:50 console: claim request refused: no eligible box in ie: hostops: region has no box that can take this
2026/10/21 09:36:51 console: refused: no eligible box in ie
2026/10/21 09:36:51 console: claim request refused: no eligible box in ie: hostops: region has no box that can take this
2026/10/21 09:36:51 console: instance bab/titogo/acme.go.tito.io binds environment "canary": the store seed sd_3ybjt7wlydnhwodedzct7y2ym4 made (bucket carlos-bab-titogo-canary) is no longer that seed's, and its finish leaves it standing
2026/10/21 09:36:51 console: refused: no eligible box in ie
2026/10/21 09:36:51 console: claim request refused: no eligible box in ie: hostops: region has no box that can take this
2026/10/21 09:36:51 console: refused: no eligible box in ie
2026/10/21 09:36:51 console: claim request refused: no eligible box in ie: hostops: region has no box that can take this
2026/10/21 09:36:52 console: claim request refused: hostclaim: claim changed since it was read: store: compare-and-swap conflict: the host's claim changed after its executor was chosen: acme.go.tito.io
2026/10/21 09:36:52 edges: skipping control/edges/box-x.json in the placement join: not a versioned edges file
2026/10/21 09:36:52 console: claim request refused: hostops: the placement read was incomplete, so no box could be judged
2026/10/21 09:36:52 edges: skipping control/edges/box-x.json in the placement join: not a versioned edges file
2026/10/21 09:36:52 console: claim request refused: hostops: the placement read was incomplete, so no box could be judged
2026/10/21 09:36:53 edgesfile: control/edges/box-x.json: edgesfile: parse: unexpected end of JSON input
2026/10/21 09:36:53 edges: skipping control/edges/box-x.json in the placement join: not a versioned edges file
2026/10/21 09:36:53 console: claim request refused: hostops: the placement read was incomplete, so no box could be judged
2026/10/21 09:36:53 edges: skipping control/edges/box-x.json in the placement join: not a versioned edges file
2026/10/21 09:36:53 console: api instances create bab/titogo: incomplete edges or snapshot read, region ie unconfirmed
2026/10/21 09:36:53 console: refused: no eligible box in ie
2026/10/21 09:36:53 console: no-capacity alert for ie: the mail relay is down
2026/10/21 09:36:53 console: refused: no eligible box in ie
2026/10/21 09:36:53 console: refused: no eligible box in ie
2026/10/21 09:36:53 console: refused: no eligible box in ie
2026/10/21 09:36:53 console: refused: no eligible box in ie
2026/10/21 09:36:53 console: refused: no eligible box in ie
2026/10/21 09:36:53 console: claim request refused: no eligible box in ie: hostops: region has no box that can take this
2026/10/21 09:36:54 console: refused: no eligible box in ie
2026/10/21 09:36:54 console: claim request refused: no eligible box in ie: hostops: region has no box that can take this
2026/10/21 09:36:54 edgesfile: 2 edges file(s) under control/edges/ but no fresh box snapshot matched any of them — the deployment route set is EMPTY this pass, so hostname claims are unchecked against other boxes' routes (are edges and status in different buckets? see CARLOS_STATUS_BUCKET/CARLOS_STATUS_PREFIX)
2026/10/21 09:36:54 console: refused: no eligible box in ie
2026/10/21 09:36:54 console: claim request refused: no eligible box in ie: hostops: region has no box that can take this
2026/10/21 09:36:54 console: claim request refused: no eligible box in ie: hostops: region has no box that can take this
2026/10/21 09:36:54 console: claim request refused: hostclaim: claim changed since it was read: store: compare-and-swap conflict
2026/10/21 09:36:54 console: claim request refused: hostops: the placement read was incomplete, so no box could be judged
2026/10/21 09:36:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:54 console: backfilled account manifest for bab (ops)
2026/10/21 09:36:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:54 console: backfilled account manifest for bab (ops)
2026/10/21 09:36:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:54 console: backfilled account manifest for bab (ops)
2026/10/21 09:36:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:54 console: backfilled account manifest for bab (ops)
2026/10/21 09:36:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:54 console: backfilled account manifest for bab (ops)
2026/10/21 09:36:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:54 console: backfilled account manifest for bab (ops)
2026/10/21 09:36:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:54 console: confirm pending change: database is locked
2026/10/21 09:36:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:54 console: could not notify paul@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
2026/10/21 09:36:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: api promote widget abc1234 -> wip: promote widget abc1234 -> wip: "wip" is not one of this app's channels (edge, beta, production) — use --hotfix to point a channel outside the pipeline
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: execute promote 9eadfc74868d54b45d7d8aaf38792ce8: 1 of 2 confirmations counted (1 rows, quorum stored 2)
2026/10/21 09:36:55 console: execute promote f93c05ad884f3e1f2f3f20af7e4b7e04: change belongs to 1/"kass", not 1/"widget"
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: api promote widget abc1234 -> production: promote widget abc1234 -> production: production is entered from beta only, and this build is on edge — use --hotfix to bypass the order
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: backfilled account manifest for bab (ops)
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:56 console: execute promote widget v2 -> production: promote --retry renews a promotion: production names v3, not v2
2026/10/21 09:36:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:56 console: app region bab/solo:  (default)
2026/10/21 09:36:56 console: backfilled account manifest for bab (ops)
2026/10/21 09:36:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:56 console: app region bab/solocan:  (default)
2026/10/21 09:36:56 console: backfilled account manifest for bab (ops)
2026/10/21 09:36:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:56 console: app region bab/soloflow:  (default)
2026/10/21 09:36:56 console: backfilled account manifest for bab (ops)
2026/10/21 09:36:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:56 console: app region bab/multiflow:  (default)
2026/10/21 09:36:56 console: backfilled account manifest for bab (ops)
2026/10/21 09:36:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:56 console: app region bab/bakeapp:  (default)
2026/10/21 09:36:56 console: backfilled account manifest for bab (ops)
2026/10/21 09:36:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:56 console: app region bab/multi:  (default)
2026/10/21 09:36:56 console: backfilled account manifest for bab (ops)
2026/10/21 09:36:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:56 console: app region bab/queue:  (default)
2026/10/21 09:36:56 console: backfilled account manifest for bab (ops)
2026/10/21 09:36:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:56 console: app region bab/settle:  (default)
2026/10/21 09:36:56 console: backfilled account manifest for bab (ops)
2026/10/21 09:36:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:57 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:57 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:57 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:57 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:57 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:57 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:57 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:57 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:59 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/21 09:36:59 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: relay enabled bab/titogo in eu-west-1 by alice@keymail.dev (incarnation 639c7140e57b9c34, op 1)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: relay enabled bab/titogo in eu-west-1 by alice@keymail.dev (incarnation 5bb3510999e27134, op 1)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: relay enabled bab/titogo in eu-west-1 by alice@keymail.dev (incarnation 9411b16799978726, op 1)
console: relay disabled bab/titogo by alice@keymail.dev (op 2)
console: relay enabled bab/titogo in eu-west-1 by alice@keymail.dev (incarnation d06fccf8fea8956c, op 3)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: relay enabled bab/titogo in eu-west-1 by alice@keymail.dev (incarnation ef6492cbe708d2a4, op 1)
console: relay enabled bab/meet in eu-west-1 by alice@keymail.dev (incarnation f23fdbb533d402c5, op 1)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: relay enabled bab/titogo in eu-west-1 by alice@keymail.dev (incarnation 270a5b7b22f52398, op 1)
console: relay disabled bab/titogo by alice@keymail.dev (op 2)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: relay enabled bab/kass in eu-west-1 by paul@keymail.dev (incarnation e010f6db2dade0f6, op 1)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: relay enabled bab/titogo in eu-west-1 by alice@keymail.dev (incarnation 6609f201704fdfea, op 1)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: relay enabled bab/titogo in eu-west-1 by alice@keymail.dev (incarnation 7380327fd53f2198, op 1)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: relay enabled bab/titogo in eu-west-1 by alice@keymail.dev (incarnation bcaec55510443083, op 1)
console: relay rotated eu-west-1 to kid k2, re-issued 1 app(s)
console: relay rotated eu-west-1 to kid k3, re-issued 1 app(s)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: relay enabled bab/titogo in eu-west-1 by alice@keymail.dev (incarnation f57c05584285f927, op 1)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: bab/tmp-a has no trash marker and still has objects; restoring it here
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: bab/kass is in the trash in the bucket; marking it trashed here
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: bab/kass is in the trash in the bucket; marking it trashed here
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: api restore row bab/kass: constraint failed: test: step 5 refused (1811)
console: bab/kass has no trash marker and still has objects; restoring it here
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: restore row bab/kass: constraint failed: test: step 5 refused (1811)
console: bab/kass has no trash marker and still has objects; restoring it here
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
status: fleet: skipping status/boxes/broken.json: corrupt snapshot: invalid character 'n' looking for beginning of object key string
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
status: fleet: skipping status/boxes/broken.json: corrupt snapshot: invalid character 'n' looking for beginning of object key string
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: api instances list bab/kass: 1 record(s) unreadable [pi-host.example.test]; every fleet counts toward the rollout join
status: fleet: skipping status/boxes/broken.json: corrupt snapshot: invalid character 'n' looking for beginning of object key string
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
status: fleet: skipping status/boxes/broken.json: corrupt snapshot: invalid character 'n' looking for beginning of object key string
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: run sweep: list records: provision: list accounts: context deadline exceeded
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: api run bab/shop/acme.example.com run_cccccccccccccccccccccccccc: audit marker: access denied
console: run sweep: bab/shop run_cccccccccccccccccccccccccc: no audit marker yet, delete left for a later pass: dirstore: apps/bab/shop/runs/run_cccccccccccccccccccccccccc/audited: file does not exist
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
provision: skipping record apps/bab/shop/instances/other.example.com.json: unreadable: slow down
console: run sweep: some records could not be read; their runs wait for a later pass, and no orphan run is deleted on this one
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: scan callback: bab/app: dropped — delivery queue full
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: scan queue rebuild: acct-bad: transient listing failure
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: scan queue rebuild: acct-bad/shop: transient listing failure
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: scan result collect: bab/kass: dropped 1 expired result(s)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: scan result collect: bab/kass: dropped 1 expired result(s)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: scan drain: bab/kass: queue dropped — this store may no longer be scanned
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: scan drain: bab/kass: engine had a bad moment
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: scan pass: bab/aaa-broken: endpoint down
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: a clamd address is configured but object scanning is not enabled — run `carlos system antivirus enable`
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000004
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000004 maxTXID=0000000000000004 size=537
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000004 txid.db=0000000000000004
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000004 txid.db=0000000000000005
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000005 maxTXID=0000000000000005 size=621
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000005 txid.db=0000000000000005
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000005 txid.db=0000000000000006
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000006 maxTXID=0000000000000006 size=704
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000006 txid.db=0000000000000006
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000006 txid.db=0000000000000007
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000007 maxTXID=0000000000000007 size=788
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000007 txid.db=0000000000000007
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000007 txid.db=0000000000000008
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000008 maxTXID=0000000000000008 size=871
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000008 txid.db=0000000000000008
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000008 txid.db=0000000000000009
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000009 maxTXID=0000000000000009 size=955
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000009 txid.db=0000000000000009
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000009 txid.db=000000000000000a
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000a maxTXID=000000000000000a size=1038
INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000a txid.db=000000000000000a
INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000a txid.db=000000000000000b
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000b maxTXID=000000000000000b size=1124
INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000b txid.db=000000000000000b
INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000b txid.db=000000000000000c
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000c maxTXID=000000000000000c size=1208
INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000c txid.db=000000000000000c
INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000c txid.db=000000000000000d
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000d maxTXID=000000000000000d size=1294
INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000d txid.db=000000000000000d
INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000d txid.db=000000000000000e
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000e maxTXID=000000000000000e size=1387
INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000e txid.db=000000000000000e
INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000e txid.db=000000000000000f
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000f maxTXID=000000000000000f size=1481
INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000f txid.db=000000000000000f
INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000f txid.db=0000000000000010
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000010 maxTXID=0000000000000010 size=1569
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000010 txid.db=0000000000000010
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000010 txid.db=0000000000000011
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000011 maxTXID=0000000000000011 size=1661
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000011 txid.db=0000000000000011
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000011 txid.db=0000000000000012
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000012 maxTXID=0000000000000012 size=1755
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000012 txid.db=0000000000000012
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000012 txid.db=0000000000000013
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000013 maxTXID=0000000000000013 size=1843
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000013 txid.db=0000000000000013
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000013 txid.db=0000000000000014
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000014 maxTXID=0000000000000014 size=1935
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000014 txid.db=0000000000000014
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000014 txid.db=0000000000000015
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000015 maxTXID=0000000000000015 size=2031
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000015 txid.db=0000000000000015
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000015 txid.db=0000000000000016
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000016 maxTXID=0000000000000016 size=2119
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000016 txid.db=0000000000000016
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000016 txid.db=0000000000000017
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000017 maxTXID=0000000000000017 size=2216
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000017 txid.db=0000000000000017
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000017 txid.db=0000000000000018
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000018 maxTXID=0000000000000018 size=2309
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000018 txid.db=0000000000000018
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000018 txid.db=0000000000000019
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000019 maxTXID=0000000000000019 size=2403
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000019 txid.db=0000000000000019
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: instance bab/shop/other.shop.example.com binds environment "canary": the store seed sd_kegjzn2o2m6n2mtbnjglmvrtju made (bucket carlos-bab-shop-canary) is no longer that seed's, and its finish leaves it standing
console: finished seed sd_kegjzn2o2m6n2mtbnjglmvrtju of bab/shop/canary.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: instance bab/shop/other.shop.example.com binds environment "canary": the store seed sd_btw3j37zg33avxoagbwnj4hjgi made (bucket carlos-bab-shop-canary) is no longer that seed's, and its finish leaves it standing
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: instance bab/shop/other.shop.example.com binds environment "canary": the store seed sd_yjblpezmqirf7k7oyqvux275dq made (bucket carlos-bab-shop-canary) is no longer that seed's, and its finish leaves it standing
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: instance bab/shop/other.shop.example.com binds environment "canary": the store seed sd_uoobfsjvqhaa5mvakfjm7dpbzm made (bucket carlos-bab-shop-canary) is no longer that seed's, and its finish leaves it standing
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: seed store check bab/shop/canary: instance src.shop.example.com already names the environment
console: seed store check bab/shop/canary: instance src.shop.example.com already names the environment
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: instance store bab/shop/old: seed sd_qpfl46keutoc6mp5birw3niaxi: instance other.shop.example.com already names the environment
console: finished seed sd_qpfl46keutoc6mp5birw3niaxi of bab/shop/old.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seed store check bab/shop/old: who names the environment: 1 records of bab/shop could not be read, so one may name environment "old"
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
console: finish seed sd_yn4qtobzcyrnrzwop67o53ddmm of bab/shop/canary.shop.example.com: tore down its store (bucket carlos-bab-shop-canary)
console: finish seed sd_yn4qtobzcyrnrzwop67o53ddmm of canary.shop.example.com: deleted 2 replica objects under instances/canary.shop.example.com/
console: finished seed sd_yn4qtobzcyrnrzwop67o53ddmm of bab/shop/canary.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: finish seed sd_mqzrhjye4rwwb6t6hfbli7guny of bab/shop/canary.shop.example.com: tore down its store (bucket carlos-bab-shop-canary)
console: finished seed sd_mqzrhjye4rwwb6t6hfbli7guny of bab/shop/canary.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: finished seed sd_7vpn7e5wacmqg75zjk4ra76br4 of bab/shop/canary.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: finished seed sd_7hkp263vdsexpfh52zanslzfge of bab/shop/canary.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: finished seed sd_rquztg7hemr64pcvyg7twrdmxi of bab/shop/canary.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: finish seed sd_hnnw3qxipj26tgs7u3hkyzgpwu of bab/shop/canary.shop.example.com: OPERATOR: instance other.shop.example.com also uses environment "canary", so the store seed sd_hnnw3qxipj26tgs7u3hkyzgpwu made (bucket carlos-bab-shop-canary) is left standing; tear it down by hand if it is not wanted
console: finished seed sd_hnnw3qxipj26tgs7u3hkyzgpwu of bab/shop/canary.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: finish seed sd_ynur3ju2fpfpr37ggghuwb2nni of bab/shop/canary.shop.example.com: OPERATOR: the record of instance other.shop.example.com could not be read, so it may use environment "canary", and the store seed sd_ynur3ju2fpfpr37ggghuwb2nni made (bucket carlos-bab-shop-canary) is left standing; tear it down by hand if it is not wanted
console: finished seed sd_ynur3ju2fpfpr37ggghuwb2nni of bab/shop/canary.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
console: finished seed sd_4fvnawxdpaezt6ocbt5umzmg34 of bab/shop/canary.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: finish seed sd_xy7xkkenywivrgtdotl3syebaq of canary.shop.example.com: deleted 3 replica objects under instances/canary.shop.example.com/
console: finished seed sd_xy7xkkenywivrgtdotl3syebaq of bab/shop/canary.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: finish seed sd_oas3h2nqfletkctvtkm6e5zrsy of canary.shop.example.com: deleted 3 replica objects under instances/canary.shop.example.com/
console: finished seed sd_oas3h2nqfletkctvtkm6e5zrsy of bab/shop/canary.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: finish seed sd_sqqhrkfqi44gsahj7waexiy2ry of canary.shop.example.com: deleted 3 replica objects under instances/canary.shop.example.com/
console: finished seed sd_sqqhrkfqi44gsahj7waexiy2ry of bab/shop/canary.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: finish seed sd_wbdzsfw3yufmkjpg5s73oyqdqy of canary.shop.example.com: deleted 3 replica objects under instances/canary.shop.example.com/
console: finished seed sd_wbdzsfw3yufmkjpg5s73oyqdqy of bab/shop/canary.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: finish seed sd_ilnawh6bo7canp5rb5gu46kytu of canary.shop.example.com: its replica is outside this console's data bucket; not deleting it
console: finished seed sd_ilnawh6bo7canp5rb5gu46kytu of bab/shop/canary.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: finished seed sd_fdij4hsbjbcnv3cjhftth7ymjq of bab/shop/canary.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds readiness: box "kass-1" in region "the home region" is unconfirmed: no layout report
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds readiness: box "kass-2" in region "the home region" is unconfirmed: stale heartbeat, generated 2026-10-21T08:37:17Z
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds floor: published floor has no usable min_release ""
console: seeds floor: published floor has no usable min_release ""
console: seeds floor: published floor has no usable min_release "next"
console: seeds floor: seeds: parse floor: invalid character 'o' in literal null (expecting 'u')
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds readiness: box "kass-1" in region "the home region" is unconfirmed: stale heartbeat, generated 2026-10-21T08:37:17Z
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds readiness: box "kass-1" in region "the home region" is unconfirmed: more than one heartbeat with this label
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: place bab/shop: read instances: records that do not read: [broken.example.com]
console: place bab/shop: read instances: provision: read record apps/bab/shop/instances/plain.example.com.json: injected read failure
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seed scratch relative/dir: refusing to clear "relative/dir": it must be an absolute path other than / (the seed doors will refuse)
console: seed scratch relative/dir: refusing to clear "relative/dir": it must be an absolute path other than / (the seed doors will refuse)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds pass: abandoned seed sd_45bns7a73xz6chcas5tonvjqfe of bab/shop/canary.shop.example.com (reserving since 2026-10-21T09:27:18Z)
console: seeds pass: deleted seeds/canary.shop.example.com/sd_45bns7a73xz6chcas5tonvjqfe/snapshot.db
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds pass: abandoned seed sd_3vae3wrkrxaykmn2ynbczanwia of bab/shop/uploaded.shop.example.com (uploaded since 2026-10-13T09:37:18Z)
console: seeds pass: abandoned seed sd_wfkmo3zeaxuv5le65sww5sdeom of bab/shop/waiting.shop.example.com (awaiting-upload since 2026-10-13T09:37:18Z)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds pass: deleted seeds/a.shop.example.com/sd_xhugz2r7z4ljuno2q53dtymfpa/snapshot.db
console: seeds pass: deleted seeds/b.shop.example.com/sd_wpx4f7vejx2s4q24qfq3sgc2ay/snapshot.db
console: seeds pass: deleted seeds/c.shop.example.com/sd_zhva4gknh7erzclbmxbygnesa4/snapshot.db
console: seeds pass: deleted seeds/e.shop.example.com/sd_ngii2kj34uquz72oxhwqml3wnm/snapshot.db
console: seeds pass: deleted seeds/f.shop.example.com/sd_foe37g7x2i32zpjibanbj6u4sq/snapshot.db
console: seeds pass: deleted seeds/g.shop.example.com/sd_p4vpqtm3iqgapqx2djsdx6afzu/snapshot.db
console: seeds pass: deleted seeds/left.shop.example.com/sd_o5qplhxauyvjszovzq4b33z3hm/snapshot.db
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
provision: skipping record apps/bab/shop/instances/a.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
console: seeds pass: a record of a.shop.example.com could not be read; nothing of a.shop.example.com is swept this pass
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds pass: OPERATOR: 2 records hold twice.shop.example.com; nothing of twice.shop.example.com is swept until one remains
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds pass: deleted seeds/gone.shop.example.com/sd_fje5u55mazkchbovvjp6a6atzy/snapshot.db
console: finished seed sd_fje5u55mazkchbovvjp6a6atzy of bab/shop/gone.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds pass: list records: provision: list accounts: the bucket is unreachable (nothing swept this pass)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds pass: list snapshots: the bucket is unreachable (nothing swept this pass)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds pass: abandoned seed sd_6xg4uy7grvv3f52v36tyyaxfdy of bab/shop/stale.shop.example.com (reserving since 2026-10-21T07:37:18Z)
console: finished seed sd_hidf4ksyohqcel6pi4rgatqmsy of bab/shop/done.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds pass: off on a host-claim console, where every seed door refuses
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds pass: list records: provision: list accounts: context deadline exceeded (nothing swept this pass)
console: seeds pass: cut short: context deadline exceeded (the next pass resumes)
console: seeds pass: abandoned seed sd_f5xwepsfi4lw63xex7eli7vw5a of bab/shop/stale.shop.example.com (reserving since 2026-10-21T07:37:18Z)
console: seeds pass: deleted seeds/left.shop.example.com/sd_zp6ta4avebyznmyc5hijpnzn6q/snapshot.db
console: seeds pass: deleted seeds/right.shop.example.com/sd_dajt6sutgcvkq7i6i4xqhjzfv4/snapshot.db
console: finished seed sd_wp7wi5psy5jwfwmc24saaulvpe of bab/shop/done.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds pass: list snapshots: context deadline exceeded (nothing swept this pass)
console: seeds pass: cut short: context deadline exceeded (the next pass resumes)
console: seeds pass: abandoned seed sd_pb2rda6ciqmfmgmbx5avnwzgrq of bab/shop/stale.shop.example.com (reserving since 2026-10-21T07:37:18Z)
console: seeds pass: deleted seeds/left.shop.example.com/sd_zfdjlhsoclg7sn6l77kle6rqka/snapshot.db
console: seeds pass: deleted seeds/right.shop.example.com/sd_e4umts2lho2glerxq5hdxxuhoq/snapshot.db
console: finished seed sd_hpwt3nz2wfaxw42t6rhnygkd2u of bab/shop/done.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: seeds pass: abandoned seed sd_gwg4a5lfw2pnmwltr36fn2gj5i of bab/shop/stale.shop.example.com (reserving since 2026-10-21T07:37:19Z)
console: seeds pass: delete seeds/left.shop.example.com/sd_p5g326ogbyqqk4fjfzwmkzjnzi/snapshot.db: context deadline exceeded
console: seeds pass: cut short: context deadline exceeded (the next pass resumes)
console: seeds pass: deleted seeds/left.shop.example.com/sd_p5g326ogbyqqk4fjfzwmkzjnzi/snapshot.db
console: seeds pass: deleted seeds/right.shop.example.com/sd_awcbuu3lostosfcez5ik2m5ciy/snapshot.db
console: finished seed sd_fobbcrkxm4iizwb5wqnxxyz73i of bab/shop/done.shop.example.com
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
console: seeds pass: deleted seeds/canary.shop.example.com/sd_6a32cba3ri5345gb57lhr6xwmy/snapshot.db
console: seeds pass: finish seed sd_6a32cba3ri5345gb57lhr6xwmy of canary.shop.example.com: finish seed sd_6a32cba3ri5345gb57lhr6xwmy of canary.shop.example.com: this console has no storage backend to tear its store down with
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: serial bump: AccessDenied: s3://carlos-prod-secret-bucket/ledgers request id ABC123 (boxes fall back to the hourly pass)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: account telemetry cyk: dirstore: invalid key "apps/cyk//telemetry.json"
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: app region bab/blog:  (default)
console: backfilled account manifest for bab (ops)
console: app region czg/blog:  (default)
console: backfilled account manifest for czg (Second)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: confirmation send to paul@keymail.dev: keymail: grant revoked or invalid
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: app region bab/zephyr:  (default)
console: backfilled account manifest for bab (ops)
console: app region bab/orphan:  (default)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: retire kass canary/x: check followers: unable to open database file (14)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: app region bab/zephyr:  (default)
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: steering hostname "*.oncarlos.com" is not a valid domain — custom-domain guidance keeps the A-record form
console: steering hostname "not a host" is not a valid domain — custom-domain guidance keeps the A-record form
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: fleet hosts: bucket list refused
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: app metrics kass: list metrics/boxes/: boom
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: ses events: refused topic "arn:aws:sns:eu-west-1:9:someone-else" — this deployment expects "arn:aws:sns:eu-west-1:1:carlos-mail"
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: ses events: refused topic "arn:aws:sns:eu-west-1:9:someone-else" — this deployment expects "arn:aws:sns:eu-west-1:1:carlos-mail"
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: ses events: refusing SubscribeURL: sns: SigningCertURL is not https
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: ses events: signature verification failed: fake: signature does not verify
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: bab/tmp-a is in the trash in the bucket; marking it trashed here
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: bab/kass is in the trash in the bucket; marking it trashed here
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: bab/tmp-a: a restore did not remove the trash marker; it stays in the trash
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: bab/tmp-a has no trash marker and still has objects; restoring it here
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: bab/tmp-a has no trash marker and still has objects; restoring it here
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: bab/tmp-a is gone from the bucket; releasing the name here
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: bab/tmp-a has no trash marker and no objects, but the apps/ listing holds nothing else either; leaving the row. Is CARLOS_DEPLOYMENT_BUCKET pointing at the right bucket?
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: materialized account bac (Testco) from the bucket
console: bac/perm is in the trash in the bucket — marking it trashed here
console: bac/tmp-a is in the trash in the bucket — marking it trashed here
console: materialized account bac (Testco) from the bucket
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: step-up refused: http://127.0.0.1:33003 does not advertise re-authentication
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: step-up capability check: Get "http://127.0.0.1:45389/.well-known/keymail": dial tcp 127.0.0.1:45389: connect: connection refused
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: step-up produced no usable auth_time (zero=true age=2562047h47m16.854775807s)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: step-up produced no usable auth_time (zero=false age=10m0.832421119s)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: step-up address mismatch for session of paul@keymail.dev
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: remove member: console: paul@keymail.dev is the last owner of this account — transfer ownership first
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: storage pass: store record bab/kass in environment beta: objstore: apps/bab/kass/stores/beta.json: invalid character 'n' looking for beginning of object key string
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: store application bab: no keymail grant for missing@keymail.dev — not notified (they must sign in to the console once)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: store application bab: keymail to ops@keymail.dev: send failed
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: store decision bab: keymail to paul@keymail.dev: delivery failed
console: store application bab: keymail to paul@keymail.dev: delivery failed
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: store decision bab: no keymail grant for paul@keymail.dev — not notified (they must sign in to the console once)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: store decision bab: keymail to paul@keymail.dev: Post "http://127.0.0.1:45423/api/app/send": dial tcp 127.0.0.1:45423: connect: connection refused
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: render account_settings: write tcp 127.0.0.1:45151->127.0.0.1:59008: write: broken pipe
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
--- FAIL: TestEveryCLIDoorNamesItsRoles (0.32s)
    --- FAIL: TestEveryCLIDoorNamesItsRoles/flag-off (0.02s)
        svcroutes_test.go:345: doors registered with an empty role set: got ["DELETE /api/cli/apps/{account}/{app}/email/credentials/{name}" "DELETE /api/cli/system/geoip" "GET /api/cli/accounts/{account}/plan" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}/{span}" "GET /api/cli/apps/{account}/{app}/door-keys" "GET /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}" "GET /api/cli/apps/{account}/{app}/instances/{host}/updates" "GET /api/cli/apps/{account}/{app}/releases/{version}/authorize" "GET /api/cli/apps/{account}/{app}/routes" "GET /api/cli/fleets/{account}" "GET /api/cli/services/{account}" "GET /api/cli/status/instances" "GET /api/cli/status/layout" "GET /api/cli/store/approvals" "GET /api/cli/system/antivirus" "GET /api/cli/system/geoip" "GET /api/cli/system/jobs/{id}" "GET /api/cli/system/layout" "GET /api/cli/system/pointer-digests" "GET /api/cli/system/status" "POST /api/cli/accounts/{account}/plan" "POST /api/cli/accounts/{account}/store/apply" "POST /api/cli/accounts/{account}/store/approve" "POST /api/cli/accounts/{account}/store/decline" "POST /api/cli/apps/{account}/{app}/build-probe" "POST /api/cli/apps/{account}/{app}/channels/resign" "POST /api/cli/apps/{account}/{app}/door-keys" "POST /api/cli/apps/{account}/{app}/door-keys/{id}/revoke" "POST /api/cli/apps/{account}/{app}/email/credentials" "POST /api/cli/apps/{account}/{app}/email/pause" "POST /api/cli/apps/{account}/{app}/instance-token" "POST /api/cli/apps/{account}/{app}/instances/{host}/channel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/ack" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/cancel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/expire" "POST /api/cli/apps/{account}/{app}/instances/{host}/updates/install" "POST /api/cli/apps/{account}/{app}/releases/{version}/authorize" "POST /api/cli/fleets/{account}/new" "POST /api/cli/fleets/{account}/{fleet}/boxes" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/detach" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/rotate" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/tags" "POST /api/cli/services/{account}" "POST /api/cli/services/{account}/{name}/revoke" "POST /api/cli/services/{account}/{name}/rotate" "POST /api/cli/system/activation/cancel" "POST /api/cli/system/antivirus" "POST /api/cli/system/antivirus/rotate-webhook-key" "POST /api/cli/system/layout" "POST /api/cli/system/legacy-routes" "POST /api/cli/system/pointer-digests" "POST /api/cli/system/rollback" "POST /api/cli/system/seeds-floor" "POST /api/cli/system/update" "PUT /api/cli/apps/{account}/{app}/instances-manifest" "PUT /api/cli/apps/{account}/{app}/instances/{host}/updates" "PUT /api/cli/apps/{account}/{app}/sidecars-manifest" "PUT /api/cli/apps/{account}/{app}/swap" "PUT /api/cli/apps/{account}/{app}/updates" "PUT /api/cli/system/geoip" "PUT /api/cli/system/upload"], want ["DELETE /api/cli/apps/{account}/{app}/email/credentials/{name}" "DELETE /api/cli/system/geoip" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}/{span}" "GET /api/cli/apps/{account}/{app}/door-keys" "GET /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}" "GET /api/cli/apps/{account}/{app}/instances/{host}/updates" "GET /api/cli/apps/{account}/{app}/releases/{version}/authorize" "GET /api/cli/apps/{account}/{app}/routes" "GET /api/cli/fleets/{account}" "GET /api/cli/services/{account}" "GET /api/cli/status/instances" "GET /api/cli/status/layout" "GET /api/cli/store/approvals" "GET /api/cli/system/antivirus" "GET /api/cli/system/geoip" "GET /api/cli/system/jobs/{id}" "GET /api/cli/system/layout" "GET /api/cli/system/pointer-digests" "GET /api/cli/system/status" "POST /api/cli/accounts/{account}/store/apply" "POST /api/cli/accounts/{account}/store/approve" "POST /api/cli/accounts/{account}/store/decline" "POST /api/cli/apps/{account}/{app}/build-probe" "POST /api/cli/apps/{account}/{app}/channels/resign" "POST /api/cli/apps/{account}/{app}/door-keys" "POST /api/cli/apps/{account}/{app}/door-keys/{id}/revoke" "POST /api/cli/apps/{account}/{app}/email/credentials" "POST /api/cli/apps/{account}/{app}/email/pause" "POST /api/cli/apps/{account}/{app}/instance-token" "POST /api/cli/apps/{account}/{app}/instances/{host}/channel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/ack" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/cancel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/expire" "POST /api/cli/apps/{account}/{app}/instances/{host}/updates/install" "POST /api/cli/apps/{account}/{app}/releases/{version}/authorize" "POST /api/cli/fleets/{account}/new" "POST /api/cli/fleets/{account}/{fleet}/boxes" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/detach" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/rotate" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/tags" "POST /api/cli/services/{account}" "POST /api/cli/services/{account}/{name}/revoke" "POST /api/cli/services/{account}/{name}/rotate" "POST /api/cli/system/activation/cancel" "POST /api/cli/system/antivirus" "POST /api/cli/system/antivirus/rotate-webhook-key" "POST /api/cli/system/layout" "POST /api/cli/system/legacy-routes" "POST /api/cli/system/pointer-digests" "POST /api/cli/system/rollback" "POST /api/cli/system/seeds-floor" "POST /api/cli/system/update" "PUT /api/cli/apps/{account}/{app}/instances-manifest" "PUT /api/cli/apps/{account}/{app}/instances/{host}/updates" "PUT /api/cli/apps/{account}/{app}/sidecars-manifest" "PUT /api/cli/apps/{account}/{app}/swap" "PUT /api/cli/apps/{account}/{app}/updates" "PUT /api/cli/system/geoip" "PUT /api/cli/system/upload"]
    --- FAIL: TestEveryCLIDoorNamesItsRoles/flag-on (0.06s)
        svcroutes_test.go:345: doors registered with an empty role set: got ["DELETE /api/cli/apps/{account}/{app}/email/credentials/{name}" "DELETE /api/cli/system/geoip" "GET /api/cli/accounts/{account}/plan" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}/{span}" "GET /api/cli/apps/{account}/{app}/door-keys" "GET /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}" "GET /api/cli/apps/{account}/{app}/instances/{host}/updates" "GET /api/cli/apps/{account}/{app}/releases/{version}/authorize" "GET /api/cli/apps/{account}/{app}/routes" "GET /api/cli/fleets/{account}" "GET /api/cli/services/{account}" "GET /api/cli/status/instances" "GET /api/cli/status/layout" "GET /api/cli/store/approvals" "GET /api/cli/system/antivirus" "GET /api/cli/system/geoip" "GET /api/cli/system/jobs/{id}" "GET /api/cli/system/layout" "GET /api/cli/system/pointer-digests" "GET /api/cli/system/status" "POST /api/cli/accounts/{account}/plan" "POST /api/cli/accounts/{account}/store/apply" "POST /api/cli/accounts/{account}/store/approve" "POST /api/cli/accounts/{account}/store/decline" "POST /api/cli/apps/{account}/{app}/build-probe" "POST /api/cli/apps/{account}/{app}/channels/resign" "POST /api/cli/apps/{account}/{app}/door-keys" "POST /api/cli/apps/{account}/{app}/door-keys/{id}/revoke" "POST /api/cli/apps/{account}/{app}/email/credentials" "POST /api/cli/apps/{account}/{app}/email/pause" "POST /api/cli/apps/{account}/{app}/instance-token" "POST /api/cli/apps/{account}/{app}/instances/{host}/channel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/ack" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/cancel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/expire" "POST /api/cli/apps/{account}/{app}/instances/{host}/updates/install" "POST /api/cli/apps/{account}/{app}/releases/{version}/authorize" "POST /api/cli/fleets/{account}/new" "POST /api/cli/fleets/{account}/{fleet}/boxes" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/detach" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/rotate" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/tags" "POST /api/cli/ops/hosts/{host}/resolve" "POST /api/cli/ops/hosts/{host}/resolve/inspect" "POST /api/cli/services/{account}" "POST /api/cli/services/{account}/{name}/revoke" "POST /api/cli/services/{account}/{name}/rotate" "POST /api/cli/system/activation/cancel" "POST /api/cli/system/antivirus" "POST /api/cli/system/antivirus/rotate-webhook-key" "POST /api/cli/system/layout" "POST /api/cli/system/legacy-routes" "POST /api/cli/system/pointer-digests" "POST /api/cli/system/rollback" "POST /api/cli/system/seeds-floor" "POST /api/cli/system/update" "PUT /api/cli/apps/{account}/{app}/instances-manifest" "PUT /api/cli/apps/{account}/{app}/instances/{host}/updates" "PUT /api/cli/apps/{account}/{app}/sidecars-manifest" "PUT /api/cli/apps/{account}/{app}/swap" "PUT /api/cli/apps/{account}/{app}/updates" "PUT /api/cli/system/geoip" "PUT /api/cli/system/upload"], want ["DELETE /api/cli/apps/{account}/{app}/email/credentials/{name}" "DELETE /api/cli/system/geoip" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}/{span}" "GET /api/cli/apps/{account}/{app}/door-keys" "GET /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}" "GET /api/cli/apps/{account}/{app}/instances/{host}/updates" "GET /api/cli/apps/{account}/{app}/releases/{version}/authorize" "GET /api/cli/apps/{account}/{app}/routes" "GET /api/cli/fleets/{account}" "GET /api/cli/services/{account}" "GET /api/cli/status/instances" "GET /api/cli/status/layout" "GET /api/cli/store/approvals" "GET /api/cli/system/antivirus" "GET /api/cli/system/geoip" "GET /api/cli/system/jobs/{id}" "GET /api/cli/system/layout" "GET /api/cli/system/pointer-digests" "GET /api/cli/system/status" "POST /api/cli/accounts/{account}/store/apply" "POST /api/cli/accounts/{account}/store/approve" "POST /api/cli/accounts/{account}/store/decline" "POST /api/cli/apps/{account}/{app}/build-probe" "POST /api/cli/apps/{account}/{app}/channels/resign" "POST /api/cli/apps/{account}/{app}/door-keys" "POST /api/cli/apps/{account}/{app}/door-keys/{id}/revoke" "POST /api/cli/apps/{account}/{app}/email/credentials" "POST /api/cli/apps/{account}/{app}/email/pause" "POST /api/cli/apps/{account}/{app}/instance-token" "POST /api/cli/apps/{account}/{app}/instances/{host}/channel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/ack" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/cancel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/expire" "POST /api/cli/apps/{account}/{app}/instances/{host}/updates/install" "POST /api/cli/apps/{account}/{app}/releases/{version}/authorize" "POST /api/cli/fleets/{account}/new" "POST /api/cli/fleets/{account}/{fleet}/boxes" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/detach" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/rotate" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/tags" "POST /api/cli/ops/hosts/{host}/resolve" "POST /api/cli/ops/hosts/{host}/resolve/inspect" "POST /api/cli/services/{account}" "POST /api/cli/services/{account}/{name}/revoke" "POST /api/cli/services/{account}/{name}/rotate" "POST /api/cli/system/activation/cancel" "POST /api/cli/system/antivirus" "POST /api/cli/system/antivirus/rotate-webhook-key" "POST /api/cli/system/layout" "POST /api/cli/system/legacy-routes" "POST /api/cli/system/pointer-digests" "POST /api/cli/system/rollback" "POST /api/cli/system/seeds-floor" "POST /api/cli/system/update" "PUT /api/cli/apps/{account}/{app}/instances-manifest" "PUT /api/cli/apps/{account}/{app}/instances/{host}/updates" "PUT /api/cli/apps/{account}/{app}/sidecars-manifest" "PUT /api/cli/apps/{account}/{app}/swap" "PUT /api/cli/apps/{account}/{app}/updates" "PUT /api/cli/system/geoip" "PUT /api/cli/system/upload"]
    --- FAIL: TestEveryCLIDoorNamesItsRoles/moves-on (0.02s)
        svcroutes_test.go:345: doors registered with an empty role set: got ["DELETE /api/cli/apps/{account}/{app}/email/credentials/{name}" "DELETE /api/cli/system/geoip" "GET /api/cli/accounts/{account}/plan" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}/{span}" "GET /api/cli/apps/{account}/{app}/door-keys" "GET /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}" "GET /api/cli/apps/{account}/{app}/instances/{host}/updates" "GET /api/cli/apps/{account}/{app}/releases/{version}/authorize" "GET /api/cli/apps/{account}/{app}/routes" "GET /api/cli/fleets/{account}" "GET /api/cli/services/{account}" "GET /api/cli/status/instances" "GET /api/cli/status/layout" "GET /api/cli/store/approvals" "GET /api/cli/system/antivirus" "GET /api/cli/system/geoip" "GET /api/cli/system/jobs/{id}" "GET /api/cli/system/layout" "GET /api/cli/system/pointer-digests" "GET /api/cli/system/status" "POST /api/cli/accounts/{account}/plan" "POST /api/cli/accounts/{account}/store/apply" "POST /api/cli/accounts/{account}/store/approve" "POST /api/cli/accounts/{account}/store/decline" "POST /api/cli/apps/{account}/{app}/build-probe" "POST /api/cli/apps/{account}/{app}/channels/resign" "POST /api/cli/apps/{account}/{app}/door-keys" "POST /api/cli/apps/{account}/{app}/door-keys/{id}/revoke" "POST /api/cli/apps/{account}/{app}/email/credentials" "POST /api/cli/apps/{account}/{app}/email/pause" "POST /api/cli/apps/{account}/{app}/instance-token" "POST /api/cli/apps/{account}/{app}/instances/{host}/channel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/ack" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/cancel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/expire" "POST /api/cli/apps/{account}/{app}/instances/{host}/updates/install" "POST /api/cli/apps/{account}/{app}/releases/{version}/authorize" "POST /api/cli/fleets/{account}/new" "POST /api/cli/fleets/{account}/{fleet}/boxes" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/detach" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/rotate" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/tags" "POST /api/cli/services/{account}" "POST /api/cli/services/{account}/{name}/revoke" "POST /api/cli/services/{account}/{name}/rotate" "POST /api/cli/system/activation/cancel" "POST /api/cli/system/antivirus" "POST /api/cli/system/antivirus/rotate-webhook-key" "POST /api/cli/system/layout" "POST /api/cli/system/legacy-routes" "POST /api/cli/system/pointer-digests" "POST /api/cli/system/rollback" "POST /api/cli/system/seeds-floor" "POST /api/cli/system/update" "PUT /api/cli/apps/{account}/{app}/instances-manifest" "PUT /api/cli/apps/{account}/{app}/instances/{host}/updates" "PUT /api/cli/apps/{account}/{app}/sidecars-manifest" "PUT /api/cli/apps/{account}/{app}/swap" "PUT /api/cli/apps/{account}/{app}/updates" "PUT /api/cli/system/geoip" "PUT /api/cli/system/upload"], want ["DELETE /api/cli/apps/{account}/{app}/email/credentials/{name}" "DELETE /api/cli/system/geoip" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}/{span}" "GET /api/cli/apps/{account}/{app}/door-keys" "GET /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}" "GET /api/cli/apps/{account}/{app}/instances/{host}/updates" "GET /api/cli/apps/{account}/{app}/releases/{version}/authorize" "GET /api/cli/apps/{account}/{app}/routes" "GET /api/cli/fleets/{account}" "GET /api/cli/services/{account}" "GET /api/cli/status/instances" "GET /api/cli/status/layout" "GET /api/cli/store/approvals" "GET /api/cli/system/antivirus" "GET /api/cli/system/geoip" "GET /api/cli/system/jobs/{id}" "GET /api/cli/system/layout" "GET /api/cli/system/pointer-digests" "GET /api/cli/system/status" "POST /api/cli/accounts/{account}/store/apply" "POST /api/cli/accounts/{account}/store/approve" "POST /api/cli/accounts/{account}/store/decline" "POST /api/cli/apps/{account}/{app}/build-probe" "POST /api/cli/apps/{account}/{app}/channels/resign" "POST /api/cli/apps/{account}/{app}/door-keys" "POST /api/cli/apps/{account}/{app}/door-keys/{id}/revoke" "POST /api/cli/apps/{account}/{app}/email/credentials" "POST /api/cli/apps/{account}/{app}/email/pause" "POST /api/cli/apps/{account}/{app}/instance-token" "POST /api/cli/apps/{account}/{app}/instances/{host}/channel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/ack" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/cancel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/expire" "POST /api/cli/apps/{account}/{app}/instances/{host}/updates/install" "POST /api/cli/apps/{account}/{app}/releases/{version}/authorize" "POST /api/cli/fleets/{account}/new" "POST /api/cli/fleets/{account}/{fleet}/boxes" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/detach" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/rotate" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/tags" "POST /api/cli/services/{account}" "POST /api/cli/services/{account}/{name}/revoke" "POST /api/cli/services/{account}/{name}/rotate" "POST /api/cli/system/activation/cancel" "POST /api/cli/system/antivirus" "POST /api/cli/system/antivirus/rotate-webhook-key" "POST /api/cli/system/layout" "POST /api/cli/system/legacy-routes" "POST /api/cli/system/pointer-digests" "POST /api/cli/system/rollback" "POST /api/cli/system/seeds-floor" "POST /api/cli/system/update" "PUT /api/cli/apps/{account}/{app}/instances-manifest" "PUT /api/cli/apps/{account}/{app}/instances/{host}/updates" "PUT /api/cli/apps/{account}/{app}/sidecars-manifest" "PUT /api/cli/apps/{account}/{app}/swap" "PUT /api/cli/apps/{account}/{app}/updates" "PUT /api/cli/system/geoip" "PUT /api/cli/system/upload"]
    --- FAIL: TestEveryCLIDoorNamesItsRoles/flag-on-moves-on (0.06s)
        svcroutes_test.go:345: doors registered with an empty role set: got ["DELETE /api/cli/apps/{account}/{app}/email/credentials/{name}" "DELETE /api/cli/system/geoip" "GET /api/cli/accounts/{account}/plan" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}/{span}" "GET /api/cli/apps/{account}/{app}/door-keys" "GET /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}" "GET /api/cli/apps/{account}/{app}/instances/{host}/updates" "GET /api/cli/apps/{account}/{app}/releases/{version}/authorize" "GET /api/cli/apps/{account}/{app}/routes" "GET /api/cli/fleets/{account}" "GET /api/cli/services/{account}" "GET /api/cli/status/instances" "GET /api/cli/status/layout" "GET /api/cli/store/approvals" "GET /api/cli/system/antivirus" "GET /api/cli/system/geoip" "GET /api/cli/system/jobs/{id}" "GET /api/cli/system/layout" "GET /api/cli/system/pointer-digests" "GET /api/cli/system/status" "POST /api/cli/accounts/{account}/plan" "POST /api/cli/accounts/{account}/store/apply" "POST /api/cli/accounts/{account}/store/approve" "POST /api/cli/accounts/{account}/store/decline" "POST /api/cli/apps/{account}/{app}/build-probe" "POST /api/cli/apps/{account}/{app}/channels/resign" "POST /api/cli/apps/{account}/{app}/door-keys" "POST /api/cli/apps/{account}/{app}/door-keys/{id}/revoke" "POST /api/cli/apps/{account}/{app}/email/credentials" "POST /api/cli/apps/{account}/{app}/email/pause" "POST /api/cli/apps/{account}/{app}/instance-token" "POST /api/cli/apps/{account}/{app}/instances/{host}/channel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/ack" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/cancel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/expire" "POST /api/cli/apps/{account}/{app}/instances/{host}/updates/install" "POST /api/cli/apps/{account}/{app}/releases/{version}/authorize" "POST /api/cli/fleets/{account}/new" "POST /api/cli/fleets/{account}/{fleet}/boxes" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/detach" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/rotate" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/tags" "POST /api/cli/ops/hosts/{host}/resolve" "POST /api/cli/ops/hosts/{host}/resolve/inspect" "POST /api/cli/services/{account}" "POST /api/cli/services/{account}/{name}/revoke" "POST /api/cli/services/{account}/{name}/rotate" "POST /api/cli/system/activation/cancel" "POST /api/cli/system/antivirus" "POST /api/cli/system/antivirus/rotate-webhook-key" "POST /api/cli/system/layout" "POST /api/cli/system/legacy-routes" "POST /api/cli/system/pointer-digests" "POST /api/cli/system/rollback" "POST /api/cli/system/seeds-floor" "POST /api/cli/system/update" "PUT /api/cli/apps/{account}/{app}/instances-manifest" "PUT /api/cli/apps/{account}/{app}/instances/{host}/updates" "PUT /api/cli/apps/{account}/{app}/sidecars-manifest" "PUT /api/cli/apps/{account}/{app}/swap" "PUT /api/cli/apps/{account}/{app}/updates" "PUT /api/cli/system/geoip" "PUT /api/cli/system/upload"], want ["DELETE /api/cli/apps/{account}/{app}/email/credentials/{name}" "DELETE /api/cli/system/geoip" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}/{span}" "GET /api/cli/apps/{account}/{app}/door-keys" "GET /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}" "GET /api/cli/apps/{account}/{app}/instances/{host}/updates" "GET /api/cli/apps/{account}/{app}/releases/{version}/authorize" "GET /api/cli/apps/{account}/{app}/routes" "GET /api/cli/fleets/{account}" "GET /api/cli/services/{account}" "GET /api/cli/status/instances" "GET /api/cli/status/layout" "GET /api/cli/store/approvals" "GET /api/cli/system/antivirus" "GET /api/cli/system/geoip" "GET /api/cli/system/jobs/{id}" "GET /api/cli/system/layout" "GET /api/cli/system/pointer-digests" "GET /api/cli/system/status" "POST /api/cli/accounts/{account}/store/apply" "POST /api/cli/accounts/{account}/store/approve" "POST /api/cli/accounts/{account}/store/decline" "POST /api/cli/apps/{account}/{app}/build-probe" "POST /api/cli/apps/{account}/{app}/channels/resign" "POST /api/cli/apps/{account}/{app}/door-keys" "POST /api/cli/apps/{account}/{app}/door-keys/{id}/revoke" "POST /api/cli/apps/{account}/{app}/email/credentials" "POST /api/cli/apps/{account}/{app}/email/pause" "POST /api/cli/apps/{account}/{app}/instance-token" "POST /api/cli/apps/{account}/{app}/instances/{host}/channel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/ack" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/cancel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/expire" "POST /api/cli/apps/{account}/{app}/instances/{host}/updates/install" "POST /api/cli/apps/{account}/{app}/releases/{version}/authorize" "POST /api/cli/fleets/{account}/new" "POST /api/cli/fleets/{account}/{fleet}/boxes" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/detach" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/rotate" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/tags" "POST /api/cli/ops/hosts/{host}/resolve" "POST /api/cli/ops/hosts/{host}/resolve/inspect" "POST /api/cli/services/{account}" "POST /api/cli/services/{account}/{name}/revoke" "POST /api/cli/services/{account}/{name}/rotate" "POST /api/cli/system/activation/cancel" "POST /api/cli/system/antivirus" "POST /api/cli/system/antivirus/rotate-webhook-key" "POST /api/cli/system/layout" "POST /api/cli/system/legacy-routes" "POST /api/cli/system/pointer-digests" "POST /api/cli/system/rollback" "POST /api/cli/system/seeds-floor" "POST /api/cli/system/update" "PUT /api/cli/apps/{account}/{app}/instances-manifest" "PUT /api/cli/apps/{account}/{app}/instances/{host}/updates" "PUT /api/cli/apps/{account}/{app}/sidecars-manifest" "PUT /api/cli/apps/{account}/{app}/swap" "PUT /api/cli/apps/{account}/{app}/updates" "PUT /api/cli/system/geoip" "PUT /api/cli/system/upload"]
    --- FAIL: TestEveryCLIDoorNamesItsRoles/region-ha-on (0.02s)
        svcroutes_test.go:345: doors registered with an empty role set: got ["DELETE /api/cli/apps/{account}/{app}/email/credentials/{name}" "DELETE /api/cli/system/geoip" "GET /api/cli/accounts/{account}/plan" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}/{span}" "GET /api/cli/apps/{account}/{app}/door-keys" "GET /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}" "GET /api/cli/apps/{account}/{app}/instances/{host}/updates" "GET /api/cli/apps/{account}/{app}/releases/{version}/authorize" "GET /api/cli/apps/{account}/{app}/routes" "GET /api/cli/fleets/{account}" "GET /api/cli/services/{account}" "GET /api/cli/status/instances" "GET /api/cli/status/layout" "GET /api/cli/store/approvals" "GET /api/cli/system/antivirus" "GET /api/cli/system/geoip" "GET /api/cli/system/jobs/{id}" "GET /api/cli/system/layout" "GET /api/cli/system/pointer-digests" "GET /api/cli/system/status" "POST /api/cli/accounts/{account}/plan" "POST /api/cli/accounts/{account}/store/apply" "POST /api/cli/accounts/{account}/store/approve" "POST /api/cli/accounts/{account}/store/decline" "POST /api/cli/apps/{account}/{app}/build-probe" "POST /api/cli/apps/{account}/{app}/channels/resign" "POST /api/cli/apps/{account}/{app}/door-keys" "POST /api/cli/apps/{account}/{app}/door-keys/{id}/revoke" "POST /api/cli/apps/{account}/{app}/email/credentials" "POST /api/cli/apps/{account}/{app}/email/pause" "POST /api/cli/apps/{account}/{app}/instance-token" "POST /api/cli/apps/{account}/{app}/instances/{host}/channel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/ack" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/cancel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/expire" "POST /api/cli/apps/{account}/{app}/instances/{host}/updates/install" "POST /api/cli/apps/{account}/{app}/releases/{version}/authorize" "POST /api/cli/fleets/{account}/new" "POST /api/cli/fleets/{account}/{fleet}/boxes" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/detach" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/rotate" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/tags" "POST /api/cli/services/{account}" "POST /api/cli/services/{account}/{name}/revoke" "POST /api/cli/services/{account}/{name}/rotate" "POST /api/cli/system/activation/cancel" "POST /api/cli/system/antivirus" "POST /api/cli/system/antivirus/rotate-webhook-key" "POST /api/cli/system/layout" "POST /api/cli/system/legacy-routes" "POST /api/cli/system/pointer-digests" "POST /api/cli/system/rollback" "POST /api/cli/system/seeds-floor" "POST /api/cli/system/update" "PUT /api/cli/apps/{account}/{app}/instances-manifest" "PUT /api/cli/apps/{account}/{app}/instances/{host}/updates" "PUT /api/cli/apps/{account}/{app}/sidecars-manifest" "PUT /api/cli/apps/{account}/{app}/swap" "PUT /api/cli/apps/{account}/{app}/updates" "PUT /api/cli/system/geoip" "PUT /api/cli/system/upload"], want ["DELETE /api/cli/apps/{account}/{app}/email/credentials/{name}" "DELETE /api/cli/system/geoip" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}/{span}" "GET /api/cli/apps/{account}/{app}/door-keys" "GET /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}" "GET /api/cli/apps/{account}/{app}/instances/{host}/updates" "GET /api/cli/apps/{account}/{app}/releases/{version}/authorize" "GET /api/cli/apps/{account}/{app}/routes" "GET /api/cli/fleets/{account}" "GET /api/cli/services/{account}" "GET /api/cli/status/instances" "GET /api/cli/status/layout" "GET /api/cli/store/approvals" "GET /api/cli/system/antivirus" "GET /api/cli/system/geoip" "GET /api/cli/system/jobs/{id}" "GET /api/cli/system/layout" "GET /api/cli/system/pointer-digests" "GET /api/cli/system/status" "POST /api/cli/accounts/{account}/store/apply" "POST /api/cli/accounts/{account}/store/approve" "POST /api/cli/accounts/{account}/store/decline" "POST /api/cli/apps/{account}/{app}/build-probe" "POST /api/cli/apps/{account}/{app}/channels/resign" "POST /api/cli/apps/{account}/{app}/door-keys" "POST /api/cli/apps/{account}/{app}/door-keys/{id}/revoke" "POST /api/cli/apps/{account}/{app}/email/credentials" "POST /api/cli/apps/{account}/{app}/email/pause" "POST /api/cli/apps/{account}/{app}/instance-token" "POST /api/cli/apps/{account}/{app}/instances/{host}/channel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/ack" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/cancel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/expire" "POST /api/cli/apps/{account}/{app}/instances/{host}/updates/install" "POST /api/cli/apps/{account}/{app}/releases/{version}/authorize" "POST /api/cli/fleets/{account}/new" "POST /api/cli/fleets/{account}/{fleet}/boxes" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/detach" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/rotate" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/tags" "POST /api/cli/services/{account}" "POST /api/cli/services/{account}/{name}/revoke" "POST /api/cli/services/{account}/{name}/rotate" "POST /api/cli/system/activation/cancel" "POST /api/cli/system/antivirus" "POST /api/cli/system/antivirus/rotate-webhook-key" "POST /api/cli/system/layout" "POST /api/cli/system/legacy-routes" "POST /api/cli/system/pointer-digests" "POST /api/cli/system/rollback" "POST /api/cli/system/seeds-floor" "POST /api/cli/system/update" "PUT /api/cli/apps/{account}/{app}/instances-manifest" "PUT /api/cli/apps/{account}/{app}/instances/{host}/updates" "PUT /api/cli/apps/{account}/{app}/sidecars-manifest" "PUT /api/cli/apps/{account}/{app}/swap" "PUT /api/cli/apps/{account}/{app}/updates" "PUT /api/cli/system/geoip" "PUT /api/cli/system/upload"]
    --- FAIL: TestEveryCLIDoorNamesItsRoles/flag-on-region-ha-on (0.06s)
        svcroutes_test.go:345: doors registered with an empty role set: got ["DELETE /api/cli/apps/{account}/{app}/email/credentials/{name}" "DELETE /api/cli/system/geoip" "GET /api/cli/accounts/{account}/plan" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}/{span}" "GET /api/cli/apps/{account}/{app}/door-keys" "GET /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}" "GET /api/cli/apps/{account}/{app}/instances/{host}/updates" "GET /api/cli/apps/{account}/{app}/releases/{version}/authorize" "GET /api/cli/apps/{account}/{app}/routes" "GET /api/cli/fleets/{account}" "GET /api/cli/services/{account}" "GET /api/cli/status/instances" "GET /api/cli/status/layout" "GET /api/cli/store/approvals" "GET /api/cli/system/antivirus" "GET /api/cli/system/geoip" "GET /api/cli/system/jobs/{id}" "GET /api/cli/system/layout" "GET /api/cli/system/pointer-digests" "GET /api/cli/system/status" "POST /api/cli/accounts/{account}/plan" "POST /api/cli/accounts/{account}/store/apply" "POST /api/cli/accounts/{account}/store/approve" "POST /api/cli/accounts/{account}/store/decline" "POST /api/cli/apps/{account}/{app}/build-probe" "POST /api/cli/apps/{account}/{app}/channels/resign" "POST /api/cli/apps/{account}/{app}/door-keys" "POST /api/cli/apps/{account}/{app}/door-keys/{id}/revoke" "POST /api/cli/apps/{account}/{app}/email/credentials" "POST /api/cli/apps/{account}/{app}/email/pause" "POST /api/cli/apps/{account}/{app}/instance-token" "POST /api/cli/apps/{account}/{app}/instances/{host}/channel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/ack" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/cancel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/expire" "POST /api/cli/apps/{account}/{app}/instances/{host}/updates/install" "POST /api/cli/apps/{account}/{app}/releases/{version}/authorize" "POST /api/cli/fleets/{account}/new" "POST /api/cli/fleets/{account}/{fleet}/boxes" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/detach" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/rotate" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/tags" "POST /api/cli/ops/hosts/{host}/resolve" "POST /api/cli/ops/hosts/{host}/resolve/inspect" "POST /api/cli/services/{account}" "POST /api/cli/services/{account}/{name}/revoke" "POST /api/cli/services/{account}/{name}/rotate" "POST /api/cli/system/activation/cancel" "POST /api/cli/system/antivirus" "POST /api/cli/system/antivirus/rotate-webhook-key" "POST /api/cli/system/boxes/{box}/role" "POST /api/cli/system/groups/{region}/role" "POST /api/cli/system/layout" "POST /api/cli/system/legacy-routes" "POST /api/cli/system/pointer-digests" "POST /api/cli/system/rollback" "POST /api/cli/system/seeds-floor" "POST /api/cli/system/update" "PUT /api/cli/apps/{account}/{app}/instances-manifest" "PUT /api/cli/apps/{account}/{app}/instances/{host}/updates" "PUT /api/cli/apps/{account}/{app}/sidecars-manifest" "PUT /api/cli/apps/{account}/{app}/swap" "PUT /api/cli/apps/{account}/{app}/updates" "PUT /api/cli/system/geoip" "PUT /api/cli/system/upload"], want ["DELETE /api/cli/apps/{account}/{app}/email/credentials/{name}" "DELETE /api/cli/system/geoip" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}" "GET /api/cli/apps/{account}/{app}/db/{host}/ltx/{level}/{span}" "GET /api/cli/apps/{account}/{app}/door-keys" "GET /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}" "GET /api/cli/apps/{account}/{app}/instances/{host}/updates" "GET /api/cli/apps/{account}/{app}/releases/{version}/authorize" "GET /api/cli/apps/{account}/{app}/routes" "GET /api/cli/fleets/{account}" "GET /api/cli/services/{account}" "GET /api/cli/status/instances" "GET /api/cli/status/layout" "GET /api/cli/store/approvals" "GET /api/cli/system/antivirus" "GET /api/cli/system/geoip" "GET /api/cli/system/jobs/{id}" "GET /api/cli/system/layout" "GET /api/cli/system/pointer-digests" "GET /api/cli/system/status" "POST /api/cli/accounts/{account}/store/apply" "POST /api/cli/accounts/{account}/store/approve" "POST /api/cli/accounts/{account}/store/decline" "POST /api/cli/apps/{account}/{app}/build-probe" "POST /api/cli/apps/{account}/{app}/channels/resign" "POST /api/cli/apps/{account}/{app}/door-keys" "POST /api/cli/apps/{account}/{app}/door-keys/{id}/revoke" "POST /api/cli/apps/{account}/{app}/email/credentials" "POST /api/cli/apps/{account}/{app}/email/pause" "POST /api/cli/apps/{account}/{app}/instance-token" "POST /api/cli/apps/{account}/{app}/instances/{host}/channel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/ack" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/cancel" "POST /api/cli/apps/{account}/{app}/instances/{host}/runs/{id}/expire" "POST /api/cli/apps/{account}/{app}/instances/{host}/updates/install" "POST /api/cli/apps/{account}/{app}/releases/{version}/authorize" "POST /api/cli/fleets/{account}/new" "POST /api/cli/fleets/{account}/{fleet}/boxes" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/detach" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/rotate" "POST /api/cli/fleets/{account}/{fleet}/boxes/{label}/tags" "POST /api/cli/ops/hosts/{host}/resolve" "POST /api/cli/ops/hosts/{host}/resolve/inspect" "POST /api/cli/services/{account}" "POST /api/cli/services/{account}/{name}/revoke" "POST /api/cli/services/{account}/{name}/rotate" "POST /api/cli/system/activation/cancel" "POST /api/cli/system/antivirus" "POST /api/cli/system/antivirus/rotate-webhook-key" "POST /api/cli/system/boxes/{box}/role" "POST /api/cli/system/groups/{region}/role" "POST /api/cli/system/layout" "POST /api/cli/system/legacy-routes" "POST /api/cli/system/pointer-digests" "POST /api/cli/system/rollback" "POST /api/cli/system/seeds-floor" "POST /api/cli/system/update" "PUT /api/cli/apps/{account}/{app}/instances-manifest" "PUT /api/cli/apps/{account}/{app}/instances/{host}/updates" "PUT /api/cli/apps/{account}/{app}/sidecars-manifest" "PUT /api/cli/apps/{account}/{app}/swap" "PUT /api/cli/apps/{account}/{app}/updates" "PUT /api/cli/system/geoip" "PUT /api/cli/system/upload"]
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: could not notify paul@keymail.dev of a CLI token issue: Post "http://127.0.0.1:36581/api/app/send": dial tcp 127.0.0.1:36581: connect: connection refused
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: app region bab/four:  (default)
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: app region bab/tmp-tz: uk (timezone)
console: backfilled account manifest for bab (ops)
console: app region bab/tmp-chosen: uk (chosen)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: app region bab/tmp-plain: ie (default)
console: backfilled account manifest for bab (ops)
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
status: fleet: skipping status/boxes/zz-1.json: corrupt snapshot: invalid character 'n' looking for beginning of object key string
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
console: api updates bab/km/a.example.com: enable refused, not every box applies update settings: fx/bx-1: runs a binary that does not apply update settings
console: api updates bab/km policy: enable refused, not every box applies update settings: fx/bx-1: runs a binary that does not apply update settings
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
console: api updates bab/km/a.example.com: enable refused, not every box applies update settings: fx/bx-1: no heartbeat since 2026-10-21T09:22:32Z
console: api updates bab/km policy: enable refused, not every box applies update settings: fx/bx-1: no heartbeat since 2026-10-21T09:22:32Z
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
status: fleet: skipping status/boxes/zz-1.json: corrupt snapshot: invalid character 'n' looking for beginning of object key string
console: api updates bab/km/a.example.com: enable refused, not every box applies update settings: the list of boxes could not be read in full
status: fleet: skipping status/boxes/zz-1.json: corrupt snapshot: invalid character 'n' looking for beginning of object key string
console: api updates bab/km policy: enable refused, not every box applies update settings: the list of boxes could not be read in full
status: fleet: skipping status/boxes/zz-1.json: corrupt snapshot: invalid character 'n' looking for beginning of object key string
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
console: api updates bab/km/a.example.com: enable refused, not every box applies update settings: the fleet registry could not be read (no registry path is configured), so no fleet box was checked
console: api updates bab/km policy: enable refused, not every box applies update settings: the fleet registry could not be read (no registry path is configured), so no fleet box was checked
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
console: api updates bab/km/a.example.com: enable refused, not every box applies update settings: the fleet registry could not be read (registry /tmp/TestEnableDoorsFailClosedOnAnUncheckedBoxregistry_missing2470459320/003/absent-registry.db: stat /tmp/TestEnableDoorsFailClosedOnAnUncheckedBoxregistry_missing2470459320/003/absent-registry.db: no such file or directory), so no fleet box was checked
console: api updates bab/km policy: enable refused, not every box applies update settings: the fleet registry could not be read (registry /tmp/TestEnableDoorsFailClosedOnAnUncheckedBoxregistry_missing2470459320/003/absent-registry.db: stat /tmp/TestEnableDoorsFailClosedOnAnUncheckedBoxregistry_missing2470459320/003/absent-registry.db: no such file or directory), so no fleet box was checked
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
console: api updates bab/km/a.example.com: enable refused, not every box applies update settings: fx/bx-1: no heartbeat
console: api updates bab/km policy: enable refused, not every box applies update settings: fx/bx-1: no heartbeat
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
FAIL
FAIL	github.com/carlosframework/platform/internal/console	437.327s
?   	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.688s
ok  	github.com/carlosframework/platform/internal/dbdoor/dbdoortest	0.009s
ok  	github.com/carlosframework/platform/internal/dbverify	0.004s
ok  	github.com/carlosframework/platform/internal/dnsrec	0.003s
ok  	github.com/carlosframework/platform/internal/docsite	0.006s
ok  	github.com/carlosframework/platform/internal/domains	2.340s
ok  	github.com/carlosframework/platform/internal/doorkey	0.006s
ok  	github.com/carlosframework/platform/internal/economics	0.005s
ok  	github.com/carlosframework/platform/internal/edge	45.060s
?   	github.com/carlosframework/platform/internal/edgeproof	[no test files]
ok  	github.com/carlosframework/platform/internal/edgesfile	0.008s
ok  	github.com/carlosframework/platform/internal/fleetapi	0.131s
ok  	github.com/carlosframework/platform/internal/gate	1.657s
ok  	github.com/carlosframework/platform/internal/genselect	0.014s
ok  	github.com/carlosframework/platform/internal/geo	0.016s
ok  	github.com/carlosframework/platform/internal/geoip	0.031s
ok  	github.com/carlosframework/platform/internal/historyreadback	0.152s
ok  	github.com/carlosframework/platform/internal/host	188.500s
ok  	github.com/carlosframework/platform/internal/hostactors	6.103s
ok  	github.com/carlosframework/platform/internal/hostactors/awsmembership	0.012s
ok  	github.com/carlosframework/platform/internal/hostbox	2.864s
ok  	github.com/carlosframework/platform/internal/hostclaim	0.544s
ok  	github.com/carlosframework/platform/internal/hostenv	0.012s
ok  	github.com/carlosframework/platform/internal/hostevidence	0.013s
ok  	github.com/carlosframework/platform/internal/hostexec	4.999s
ok  	github.com/carlosframework/platform/internal/hostfence	0.032s
ok  	github.com/carlosframework/platform/internal/hostfiles	10.530s
ok  	github.com/carlosframework/platform/internal/hostfloor	0.017s
ok  	github.com/carlosframework/platform/internal/hostguard	1.033s
ok  	github.com/carlosframework/platform/internal/hostops	1.573s
?   	github.com/carlosframework/platform/internal/hostops/fencerelease	[no test files]
ok  	github.com/carlosframework/platform/internal/hostops/internal/fencerelease	0.012s
ok  	github.com/carlosframework/platform/internal/hostquarantine	0.012s
ok  	github.com/carlosframework/platform/internal/hostrelocate	0.448s
ok  	github.com/carlosframework/platform/internal/hostresolve	0.156s
ok  	github.com/carlosframework/platform/internal/hostwrite	0.012s
ok  	github.com/carlosframework/platform/internal/infraview	0.012s
ok  	github.com/carlosframework/platform/internal/instancectl	5.242s
ok  	github.com/carlosframework/platform/internal/instanceexec	2.759s
ok  	github.com/carlosframework/platform/internal/instancefs	0.017s
ok  	github.com/carlosframework/platform/internal/instancekey	0.017s
ok  	github.com/carlosframework/platform/internal/instanceupdates	0.018s
ok  	github.com/carlosframework/platform/internal/layout	1.556s
ok  	github.com/carlosframework/platform/internal/lbhealth	0.017s
ok  	github.com/carlosframework/platform/internal/lease	9.903s
ok  	github.com/carlosframework/platform/internal/lease/leasetest	0.362s
ok  	github.com/carlosframework/platform/internal/ledger	0.014s
ok  	github.com/carlosframework/platform/internal/mail	0.182s
ok  	github.com/carlosframework/platform/internal/maintenance	0.077s
ok  	github.com/carlosframework/platform/internal/maintenanceexec	5.516s
ok  	github.com/carlosframework/platform/internal/maintenanceguard	0.064s
ok  	github.com/carlosframework/platform/internal/metrics	0.005s
ok  	github.com/carlosframework/platform/internal/moves	21.041s
ok  	github.com/carlosframework/platform/internal/moves/archive	0.774s
ok  	github.com/carlosframework/platform/internal/objstore	0.208s
ok  	github.com/carlosframework/platform/internal/ops	0.181s
ok  	github.com/carlosframework/platform/internal/park	0.220s
ok  	github.com/carlosframework/platform/internal/plans	0.006s
ok  	github.com/carlosframework/platform/internal/privatefile	0.009s
2026/10/21 09:30:22 provision: listing apps/bab/blog/instances/: list refused — its records are unseen this pass
2026/10/21 09:30:22 provision: listing apps/bab/: listdirs refused — its records are unseen this pass
2026/10/21 09:30:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:22 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/21 09:30:22 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/21 09:30:22 provision: skipping record apps/bac/tito/instances/one.example.com.json: unreadable: read refused
2026/10/21 09:30:22 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/21 09:30:22 provision: an app's records could not be listed: they are skipped
2026/10/21 09:30:22 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/21 09:30:22 provision: remove retired instance route shop.example: provision: claim admission unavailable
2026/10/21 09:30:22 provision: remove retired instance route shop.example: provision: claim admission unavailable
2026/10/21 09:30:22 provision: remove retired sidecar route worker.sidecar.internal: provision: claim admission unavailable
2026/10/21 09:30:22 provision: remove retired sidecar route worker.sidecar.internal: provision: claim admission unavailable
2026/10/21 09:30:22 provision: claim install acme.go.tito.io: provision: claim admission unavailable
2026/10/21 09:30:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:22 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/21 09:30:22 provision: claim install bot.eleven.bac.sidecar.internal: provision: claim admission unavailable
2026/10/21 09:30:22 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/21 09:30:22 provision: claim install bot.eleven.bac.sidecar.internal: registry: claim row ownership changed or unknown
2026/10/21 09:30:22 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/21 09:30:22 provision: acme.go.tito.io: not minting this pass: the box's layout intent could not be read: no sealed config
2026/10/21 09:30:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:22 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/21 09:30:22 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/21 09:30:22 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/21 09:30:22 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/21 09:30:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:22 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/21 09:30:22 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/21 09:30:22 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/21 09:30:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:22 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/21 09:30:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:22 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/21 09:30:22 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/21 09:30:22 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/21 09:30:22 provision: claim install bot.eleven.bac.sidecar.internal: registry: claim row ownership changed or unknown
2026/10/21 09:30:22 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/21 09:30:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:22 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/21 09:30:22 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/21 09:30:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:22 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/21 09:30:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:22 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/21 09:30:22 provision: skipping record apps/bac/tito/instances/new.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/21 09:30:22 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/21 09:30:22 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/21 09:30:22 provision: skipping record apps/bac/tito/instances/new.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/21 09:30:23 provision: minted instance route rj.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route rc.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route re.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route rh.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route ri.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route rk.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route rl.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route ra.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route rb.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route rd.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route rf.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route rg.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route ra.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route rb.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route rc.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route rd.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: skipping record apps/bac/tito/instances/rb.go.tito.io.json: read failed: read refused
2026/10/21 09:30:23 provision: skipping record apps/bac/tito/instances/rb.go.tito.io.json: read failed: read refused
2026/10/21 09:30:23 provision: minted instance route re.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route x.appb.example (app "appb" acct "bac")
2026/10/21 09:30:23 provision: minted instance route x.appd.example (app "appd" acct "bac")
2026/10/21 09:30:23 provision: minted instance route x.appg.example (app "appg" acct "bac")
2026/10/21 09:30:23 provision: minted instance route x.apph.example (app "apph" acct "bac")
2026/10/21 09:30:23 provision: minted instance route x.appj.example (app "appj" acct "bac")
2026/10/21 09:30:23 provision: minted instance route x.appa.example (app "appa" acct "bac")
2026/10/21 09:30:23 provision: minted instance route x.appc.example (app "appc" acct "bac")
2026/10/21 09:30:23 provision: minted instance route x.appe.example (app "appe" acct "bac")
2026/10/21 09:30:23 provision: minted instance route x.appf.example (app "appf" acct "bac")
2026/10/21 09:30:23 provision: minted instance route x.appi.example (app "appi" acct "bac")
2026/10/21 09:30:23 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/21 09:30:23 provision: minted instance route r0024.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0037.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0040.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0056.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0071.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0107.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0000.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0020.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0093.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0005.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0011.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0047.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0073.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0112.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0013.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0124.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0002.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0035.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0050.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0074.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0083.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0105.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0004.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0115.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0119.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0014.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0068.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0081.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0006.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0012.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0032.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0042.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0060.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0066.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0078.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0038.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0059.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0063.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0120.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0114.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0118.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0010.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0026.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0065.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0067.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0082.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0085.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0116.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0036.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0076.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0106.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0033.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0104.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0113.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0122.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0025.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0046.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0110.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0023.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0034.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0043.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0049.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0072.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0008.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0052.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0055.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0087.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0029.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0039.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0080.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0097.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0101.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0041.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0125.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0075.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0086.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0127.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0062.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0001.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0058.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0064.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0089.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0027.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0028.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0079.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0048.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0121.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0123.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0126.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0021.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0016.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0017.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0030.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0044.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0096.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0100.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0015.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0051.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0061.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0069.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0103.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0108.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0111.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0009.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0019.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0045.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0053.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0054.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0070.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0007.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0057.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0077.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0084.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0088.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0090.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0095.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0098.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0022.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0031.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0099.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0117.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0128.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0091.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0092.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0129.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0018.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0094.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0102.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0109.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:23 provision: minted instance route r0003.go.tito.io (app "tito" acct "bac")
--- FAIL: TestPlan14RootReadCensus (4.63s)
    plan14_root_reads_test.go:1040: root read census: 16 discrepancies
        changed root read cmd/console/main.go:serve; review class, task, sites and digest
        changed root read internal/console/store.go:Store.migrate; review class, task, sites and digest
        changed root source envelope .
        changed root source envelope cmd/console
        changed root source envelope internal/console
        changed root source envelope internal/hostops
        changed root source envelope internal/plans
        unclassified root read accounts_plan.go:runAccountsPlanWithSession file:ReadFile@1162
        unclassified root read internal/console/accountplans.go:Store.AccountPlan file:QueryRow@99
        unclassified root read internal/console/accountplans.go:Store.EnsureDefaultPlans file:Exec@98
        unclassified root read internal/console/accountplans.go:Store.MarkPlanPublished file:Exec@98
        unclassified root read internal/console/accountplans.go:Store.PlansToPublish file:Query@124
        unclassified root read internal/console/accountplans.go:Store.SetAccountPlan file:QueryRow@442
        unclassified root read internal/plans/catalog.go:LoadCatalog file:ReadFile@61
        changed legacy declaration cmd/console/main.go:serve
        changed legacy declaration internal/console/store.go:Store.migrate
--- FAIL: TestPlan9B8RecordWriteCensus (0.55s)
    plan9_b8_census_test.go:372: record-write census rejected 6 site(s); update the explicit inventory only after reviewing the source:
          changed site internal/console/authcli.go:Server.registerCLIRoutes: source differs from the reviewed digest
          changed site internal/hostops/mutation_classifier.go:ClassifyMutation: source differs from the reviewed digest
          unlisted site internal/plans/record.go:GetRecord [key:RecordKey]: review it, classify it, and update its explicit inventory entry
          unlisted site internal/plans/record.go:ParseRecord [key:RecordKey]: review it, classify it, and update its explicit inventory entry
          unlisted site internal/plans/record.go:PutRecord [key:RecordKey,sel:Put]: review it, classify it, and update its explicit inventory entry
          unlisted site internal/plans/record.go:RecordKey [key:RecordKey]: review it, classify it, and update its explicit inventory entry
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 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/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted instance route console.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted service route ha.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted service route svc.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted instance route whole.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted instance route shared.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: converged acme.go.tito.io channel stable -> edge
2026/10/21 09:30:54 provision: converged acme.go.tito.io channel edge -> canary/rehearsal
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: empty channel
2026/10/21 09:30:54 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: converged acme.go.tito.io environment "" -> "staging"
2026/10/21 09:30:54 provision: converged acme.go.tito.io environment "staging" -> ""
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: converged acme.go.tito.io steering "" -> "latency"
2026/10/21 09:30:54 provision: converged acme.go.tito.io steering "latency" -> ""
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: converged acme.go.tito.io hibernate false -> true
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: converged acme.go.tito.io hibernate true -> false (replication "daily" cleared: only a hibernating route's rung is read)
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: converged acme.go.tito.io status-named false -> true
2026/10/21 09:30:54 provision: converged acme.go.tito.io status-named true -> false
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted service route ha.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 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/21 09:30:54 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/21 09:30:54 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/21 09:30:54 provision: minted service route whole.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 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/21 09:30:54 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/21 09:30:54 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/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: minted service route whole.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: skipping accounts/bac/account.json: malformed account manifest: invalid character 'o' in literal null (expecting 'u')
2026/10/21 09:30:54 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: manifest bac/tito: read failed: provision: manifest bac/tito: invalid character 'o' in literal null (expecting 'u')
2026/10/21 09:30:54 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/21 09:30:54 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/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 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/21 09:30:54 provision: not removing acme$evil.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/21 09:30:54 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/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 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/21 09:30:54 provision: not removing bad-service.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/21 09:30:54 provision: skipping record apps/bac/tito/instances/no-channel.go.tito.io.json: empty channel
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: skipping record apps/bac/tito/instances/no-channel.go.tito.io.json: empty channel
2026/10/21 09:30:54 provision: not removing no-channel.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/21 09:30:54 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/21 09:30:54 provision: removed retired instance route ghost.go.tito.io (record gone)
2026/10/21 09:30:54 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/21 09:30:54 provision: minted instance route dup.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/21 09:30:54 provision: removed retired instance route acme.go.tito.io (app in the trash)
2026/10/21 09:30:54 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/21 09:30:54 provision: removed retired static route site.go.tito.io (app in the trash)
2026/10/21 09:30:54 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/21 09:30:54 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/21 09:30:54 provision: removed retired instance route acme.go.tito.io (app in the trash)
2026/10/21 09:30:54 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/21 09:30:54 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/21 09:30:54 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/21 09:30:54 provision: converged acme.go.tito.io channel stable -> edge
2026/10/21 09:30:54 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/21 09:30:54 provision: converged acme.go.tito.io channel canary/rehearsal -> edge
2026/10/21 09:30:54 provision: converged acme.go.tito.io environment "staging" -> ""
2026/10/21 09:30:54 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/21 09:30:54 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/21 09:30:54 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/21 09:30:54 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/21 09:30:54 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/21 09:30:54 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/21 09:30:54 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/21 09:30:54 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/21 09:30:54 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/21 09:30:54 provision: dry-run: would mint instance route acme.go.tito.io (app "tito" acct "bac" channel "stable")
2026/10/21 09:30:54 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/21 09:30:54 provision: dry-run: would converge adopt.go.tito.io channel stable -> edge
2026/10/21 09:30:54 provision: dry-run: would converge adopt.go.tito.io environment "" -> "staging"
2026/10/21 09:30:54 provision: dry-run: would converge owned.go.tito.io channel stable -> edge
2026/10/21 09:30:54 provision: dry-run: would converge owned.go.tito.io environment "" -> "staging"
2026/10/21 09:30:54 provision: dry-run: would converge owned.go.tito.io hibernate false -> true
2026/10/21 09:30:54 provision: dry-run: would converge owned.go.tito.io seed
2026/10/21 09:30:54 provision: dry-run: would remove retired instance route gone.go.tito.io (record gone)
2026/10/21 09:30:54 provision: adopted existing route adopt.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/21 09:30:54 provision: converged adopt.go.tito.io channel stable -> edge
2026/10/21 09:30:54 provision: converged adopt.go.tito.io environment "" -> "staging"
2026/10/21 09:30:54 provision: converged owned.go.tito.io channel stable -> edge
2026/10/21 09:30:54 provision: converged owned.go.tito.io environment "" -> "staging"
2026/10/21 09:30:54 provision: converged owned.go.tito.io hibernate false -> true
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:54 provision: removed retired instance route gone.go.tito.io (record gone)
2026/10/21 09:30:54 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: adopted existing route story.carlosframework.com (app "story" acct "bad") — this record now owns its channel and environment
2026/10/21 09:30:55 provision: story.carlosframework.com exists but is not the route this record describes (kind "instance"/"static") — leaving it alone
2026/10/21 09:30:55 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted service route pub.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted service route pubs.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted instance route exec.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted service route loop.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted service route named.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted service route priv.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted instance route unit.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted static route pisite.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: removed retired static route site.go.tito.io (record gone)
2026/10/21 09:30:55 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted instance route acme-uk.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: converged acme.go.tito.io replicas "ie,uk" -> "uk"
2026/10/21 09:30:55 provision: converged acme.go.tito.io replicas "uk" -> ""
2026/10/21 09:30:55 provision: minted instance route acme-uk.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: converged acme-uk.go.tito.io replica mark true -> false
2026/10/21 09:30:55 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 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/21 09:30:55 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:55 provision: acme.go.tito.io: not minting this pass: the box's layout intent could not be read: store down
2026/10/21 09:30:55 provision: router.go.tito.io: not minting this pass: the box's layout intent could not be read: store down
2026/10/21 09:30:55 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/21 09:30:55 provision: converged acme.go.tito.io channel stable -> edge
2026/10/21 09:30:55 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/21 09:30:55 provision: not removing acme.go.tito.io (record gone): participant of a running operation
2026/10/21 09:30:55 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/21 09:30:55 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/21 09:30:55 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/21 09:30:55 provision: held acme.go.tito.io landing by mv_acme (was ready)
2026/10/21 09:30:55 provision: acme.go.tito.io: held restoring by rb_other, not by mv_acme; leaving it
2026/10/21 09:30:55 provision: acme.go.tito.io: the row is not this pass's (app "other" acct ""); not holding it for mv_acme
2026/10/21 09:30:55 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/21 09:30:55 provision: dry-run: would mint instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac" channel "stable")
2026/10/21 09:30:55 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/21 09:30:55 provision: held acme.go.tito.io landing by mv_acme (was ready)
2026/10/21 09:30:55 provision: minted instance route plain.example.com (app "shop" acct "bac")
2026/10/21 09:30:55 provision: minted instance route acme.example.com (app "shop" acct "bac")
2026/10/21 09:30:55 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/21 09:30:55 provision: skipping record apps/bac/shop/instances/liar.shop.example.com.json: disagrees with its own path (host="other.shop.example.com" account="bac" app="shop")
2026/10/21 09:30:55 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/21 09:30:55 provision: skipping record apps/bac/shop/instances/liar.shop.example.com.json: disagrees with its own path (host="other.shop.example.com" account="bac" app="shop")
2026/10/21 09:30:55 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/21 09:30:55 provision: skipping record apps/bac/shop/instances/liar.shop.example.com.json: disagrees with its own path (host="other.shop.example.com" account="bac" app="shop")
2026/10/21 09:30:55 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/21 09:30:55 provision: listing apps/bac/shop/instances/: list refused — its records are unseen this pass
2026/10/21 09:30:56 provision: a.shop.example.com: swapped for import sd_3zs5qat6r4yhrvpl7kz2ferhva (the original route is journaled)
2026/10/21 09:30:56 provision: a.shop.example.com: import sd_3zs5qat6r4yhrvpl7kz2ferhva committed: its gate is cleared and its journal row dropped
2026/10/21 09:30:56 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/21 09:30:56 provision: a.shop.example.com: import sd_nfoi5s5rxdtb5xgwglxfduy55u rolled back to its original route
2026/10/21 09:30:56 provision: a.shop.example.com: import sd_nfoi5s5rxdtb5xgwglxfduy55u: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/21 09:30:56 provision: a.shop.example.com: import sd_nfoi5s5rxdtb5xgwglxfduy55u is cleaned up and its journal row retired
2026/10/21 09:30:56 provision: a.shop.example.com: import sd_sahxq6csoe52qahyrv7rrc4kji rolled back to its original route
2026/10/21 09:30:56 provision: a.shop.example.com: import sd_sahxq6csoe52qahyrv7rrc4kji: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/21 09:30:56 provision: a.shop.example.com: import sd_sahxq6csoe52qahyrv7rrc4kji is cleaned up and its journal row retired
2026/10/21 09:30:56 provision: dry-run: would redo a.shop.example.com's swap record CAS for import sd_6yw3nd2zit7n2faeze52zibady
2026/10/21 09:30:56 provision: dry-run: would clear a.shop.example.com's import gate
2026/10/21 09:30:56 provision: dry-run: would converge a.shop.example.com seed source
2026/10/21 09:30:56 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/21 09:30:56 provision: a.shop.example.com: the import's record apps/bac/shop/instances/a.shop.example.com.json is not one this pass can use (connection reset)
2026/10/21 09:30:56 provision: a.shop.example.com: the import's record apps/bac/shop/instances/a.shop.example.com.json is not one this pass can use (provision: invalid maintenance projection or protected fields)
2026/10/21 09:30:56 provision: a.shop.example.com: the import's record apps/bac/shop/instances/a.shop.example.com.json is not one this pass can use (the record under apps/bac/shop/instances/a.shop.example.com.json is apps/bac/shop/instances/b.shop.example.com.json's)
2026/10/21 09:30:56 provision: a.shop.example.com: import sd_2dlxlhye25f5xzadnswnpi6q3e cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/21 09:30:56 provision: a.shop.example.com: import sd_lpyn22ku3trdlo6tkn2sqgmeq4 cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/21 09:30:56 provision: a.shop.example.com: import sd_kuyt5qysv6mm72mz2tiup3afge is journaled, but this box cannot act on imports; its row is left alone
2026/10/21 09:30:56 provision: a.shop.example.com: import sd_eysqnsdzcyew4hivpgduqzxedi is journaled, but this box cannot act on imports; its row is left alone
2026/10/21 09:30:56 provision: a.shop.example.com: import sd_hbxadzcc3k3lpvvwn7ubmfjkii is journaled, but this box cannot act on imports; its row is left alone
2026/10/21 09:30:56 provision: the import journal could not be read: registry: import journal a.shop.example.com: original row: unexpected end of JSON input (no import is acted on and no route is removed this pass)
2026/10/21 09:30:56 provision: b.shop.example.com: import sd_45pqu3wbdwiwbpkdk7ajins6wy left alone this pass: the import journal could not be read
2026/10/21 09:30:56 provision: c.shop.example.com: import sd_z36ojxfwxtxh2lvewcdo3g7l6e left alone this pass: the import journal could not be read
2026/10/21 09:30:56 provision: a.shop.example.com: import sd_xyivvoijqzj62kjkxck4rxs5aq committed: its gate is cleared and its journal row dropped
2026/10/21 09:30:56 provision: a.shop.example.com: not converging import sd_vuhs46k4lawou6j3q2vk7e7ixy: it is swapped but not committed, and the row on this box has no import gate
2026/10/21 09:30:56 provision: a.shop.example.com: not converging import sd_ztrcopqqry4mr5ueap3id7zeba: it is swapped but not committed, and the row on this box has no import gate
2026/10/21 09:30:56 provision: a.shop.example.com: not converging import sd_hrm66nfsfteyhuwm7tqqw3ydsy: it is placed but not committed, and the row on this box has no import gate
2026/10/21 09:30:56 provision: a.shop.example.com: not converging import sd_5sieqjydyub33bruo4kf4ovqfm: it is placed but not committed, and the row on this box has no import gate
2026/10/21 09:30:56 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/21 09:30:56 provision: converge seed source on a.shop.example.com: constraint failed: seed_source is read-only here (1811)
2026/10/21 09:30:56 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/21 09:30:56 provision: a.shop.example.com: import sd_iesixu7abih46idjpnolnumxca committed: its gate is cleared and its journal row dropped
2026/10/21 09:30:56 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/21 09:30:56 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:56 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/21 09:30:56 provision: acme.go.tito.io: not minting a seeded instance: this box does not mint nested (<nil>)
2026/10/21 09:30:56 provision: acme.go.tito.io: not minting a seeded instance: claim control is on for this box
2026/10/21 09:30:56 provision: acme.go.tito.io: aborted seed sd_lpytfmhhxvtunyoqh42dk4yeza: this box cannot read seed markers, and places no seed; nothing local is removed
2026/10/21 09:30:56 provision: acme.go.tito.io: aborted seed sd_lpytfmhhxvtunyoqh42dk4yeza rolled back (no box had swapped it)
2026/10/21 09:30:56 provision: acme.go.tito.io: not minting a seeded instance: its record does not describe a hibernating instance
2026/10/21 09:30:56 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:56 provision: removed instance route acme.go.tito.io (its seed sd_xyu33keaudb7vep7agsbthll5a was aborted); the next pass rolls it back
2026/10/21 09:30:56 provision: acme.go.tito.io: aborted seed sd_xyu33keaudb7vep7agsbthll5a: this box cannot read seed markers, and places no seed; nothing local is removed
2026/10/21 09:30:56 provision: acme.go.tito.io: aborted seed sd_xyu33keaudb7vep7agsbthll5a rolled back (no box had swapped it)
2026/10/21 09:30:56 provision: acme.go.tito.io: aborted seed sd_jp7cyintuttem2xnav4h355gqi has a row this pass may not remove; leaving the seed aborted
2026/10/21 09:30:56 provision: acme.go.tito.io: aborted seed sd_chev6unj5depmi6m7xup6riw34 rolled back (no box had swapped it)
2026/10/21 09:30:56 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:56 provision: removed instance route acme.go.tito.io (its seed sd_mz5qcmf5ghojqjseqeqmsz2tym was aborted); the next pass rolls it back
2026/10/21 09:30:56 provision: acme.go.tito.io: aborted seed sd_mz5qcmf5ghojqjseqeqmsz2tym has no route on this box: its local data is removed
2026/10/21 09:30:56 provision: acme.go.tito.io: aborted seed sd_mz5qcmf5ghojqjseqeqmsz2tym rolled back (no box had swapped it)
2026/10/21 09:30:56 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:56 provision: a.shop.example.com: swapped for import sd_fb5x6tma7mohrw7nbutzc7olhi (the original route is journaled)
2026/10/21 09:30:56 provision: a.shop.example.com: import sd_fb5x6tma7mohrw7nbutzc7olhi rolled back to its original route
2026/10/21 09:30:56 provision: a.shop.example.com: import sd_fb5x6tma7mohrw7nbutzc7olhi is cleaned up and its journal row retired
2026/10/21 09:30:56 provision: a.shop.example.com: swapped for import sd_bsdspb473utqw4t5uj53a5nr7i (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_bsdspb473utqw4t5uj53a5nr7i rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_bsdspb473utqw4t5uj53a5nr7i is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_zlcytbrg7v756wvtrgnlvhocwa (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_zlcytbrg7v756wvtrgnlvhocwa rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_zlcytbrg7v756wvtrgnlvhocwa: the host's replica is left alone: its record no longer names this seed
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_zlcytbrg7v756wvtrgnlvhocwa is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_xs2celhkaiaqebtei24lbwqnay (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_xs2celhkaiaqebtei24lbwqnay rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_xs2celhkaiaqebtei24lbwqnay rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_xs2celhkaiaqebtei24lbwqnay is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_uvsh66sdxxybjkh5fl5amxfdle (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_uvsh66sdxxybjkh5fl5amxfdle rollback deferred: the host is not fenced and stopped yet (stop unproven)
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_od27houtqbmvbca3k3x2d5hlnu (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_od27houtqbmvbca3k3x2d5hlnu is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_tpx3nhhkixeqz5avmkhnbryrui (the original route is journaled)
2026/10/21 09:30:57 provision: skipping record apps/bac/shop/instances/a.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_tpx3nhhkixeqz5avmkhnbryrui left alone this pass: its record could not be read
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_3bzbbpgapiajsemybjllwuw4eu (the original route is journaled)
2026/10/21 09:30:57 provision: skipping record apps/bac/shop/instances/a.shop.example.com.json: read failed: connection reset
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_3bzbbpgapiajsemybjllwuw4eu left alone this pass: its record could not be read
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_qbettvcfcpi25qc7wcxeihuc6i (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_qbettvcfcpi25qc7wcxeihuc6i: close the import gate: constraint failed: injected (1811)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_qbettvcfcpi25qc7wcxeihuc6i rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_qbettvcfcpi25qc7wcxeihuc6i is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_dmxoxazyfvlf4qc3ebtwyykkle (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_dmxoxazyfvlf4qc3ebtwyykkle: close the import gate: constraint failed: injected (1811)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_dmxoxazyfvlf4qc3ebtwyykkle rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_dmxoxazyfvlf4qc3ebtwyykkle is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_ti7supvda3gcf2a6g6jfuqvljq (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_ti7supvda3gcf2a6g6jfuqvljq rollback deferred: the host is not fenced and stopped yet (injected failure at fence)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_ti7supvda3gcf2a6g6jfuqvljq rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_ti7supvda3gcf2a6g6jfuqvljq is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_ejbcql76ktoqgyma4lwtmtzkly (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_ejbcql76ktoqgyma4lwtmtzkly rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_ejbcql76ktoqgyma4lwtmtzkly is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_dc6qlw3aahcliu23wbdz75bxsa (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_dc6qlw3aahcliu23wbdz75bxsa: retire its instance key: injected failure at retire-key
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_dc6qlw3aahcliu23wbdz75bxsa rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_dc6qlw3aahcliu23wbdz75bxsa is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_hwvn4lzkcikcjuiszxi656t7ha (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_hwvn4lzkcikcjuiszxi656t7ha rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_hwvn4lzkcikcjuiszxi656t7ha is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_jwaiolrshz4f2c7ddzkpmrtyqm (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_jwaiolrshz4f2c7ddzkpmrtyqm: remove its local data: injected failure at remove-local
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_jwaiolrshz4f2c7ddzkpmrtyqm rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_jwaiolrshz4f2c7ddzkpmrtyqm is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_3qg7wj3jc2d3nktzrg3n6pq7be (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_3qg7wj3jc2d3nktzrg3n6pq7be rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_3qg7wj3jc2d3nktzrg3n6pq7be is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_rbz2r5fxug3ahdkdwi7mpqwkli (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_rbz2r5fxug3ahdkdwi7mpqwkli: remove its local data: injected failure at remove-local-done
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_rbz2r5fxug3ahdkdwi7mpqwkli rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_rbz2r5fxug3ahdkdwi7mpqwkli is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_ol3t676q3x6oxf4ngsdrbkwjeu (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_ol3t676q3x6oxf4ngsdrbkwjeu rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_ol3t676q3x6oxf4ngsdrbkwjeu is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_f5iqi5hodemppfsk4rg2ho2tbm (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_f5iqi5hodemppfsk4rg2ho2tbm: restore the original route: constraint failed: injected (1811)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_f5iqi5hodemppfsk4rg2ho2tbm rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_f5iqi5hodemppfsk4rg2ho2tbm is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_7shnj63umabfzra4h6p5tgo6za (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_7shnj63umabfzra4h6p5tgo6za: restore the original route: constraint failed: injected (1811)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_7shnj63umabfzra4h6p5tgo6za rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_7shnj63umabfzra4h6p5tgo6za is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_pznljzd7qhkqi3bfoopqjp4ism (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_pznljzd7qhkqi3bfoopqjp4ism is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_kqcs7nxqp4lizbssdk3zvuomxi (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_kqcs7nxqp4lizbssdk3zvuomxi rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_kqcs7nxqp4lizbssdk3zvuomxi: delete its snapshot: injected failure at delete-snapshot
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_kqcs7nxqp4lizbssdk3zvuomxi is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_53a5jpt565v2cjxpdsoyaogvnm (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_53a5jpt565v2cjxpdsoyaogvnm rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_53a5jpt565v2cjxpdsoyaogvnm is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_2rrowwa2e6wvw5jvsselzjcdye (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_2rrowwa2e6wvw5jvsselzjcdye rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_2rrowwa2e6wvw5jvsselzjcdye: delete the host's replica: injected failure at delete-replica
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_2rrowwa2e6wvw5jvsselzjcdye is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_ar5j3owt7oxldhafdj43h5unzy (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_ar5j3owt7oxldhafdj43h5unzy rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_ar5j3owt7oxldhafdj43h5unzy is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_43uyr6ijjjngrrwtxuflv6v3ma (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_43uyr6ijjjngrrwtxuflv6v3ma rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_43uyr6ijjjngrrwtxuflv6v3ma: retire its journal row: constraint failed: injected (1811)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_43uyr6ijjjngrrwtxuflv6v3ma is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_qdwxsbwoygryd3lwrfccvfenty (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_qdwxsbwoygryd3lwrfccvfenty rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_qdwxsbwoygryd3lwrfccvfenty: retire its journal row: constraint failed: injected (1811)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_qdwxsbwoygryd3lwrfccvfenty is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_mfaxr7rrli74v2bts7lmqtbgsa (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_mfaxr7rrli74v2bts7lmqtbgsa rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_mfaxr7rrli74v2bts7lmqtbgsa is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: mark import sd_mfaxr7rrli74v2bts7lmqtbgsa rolled back: injected failure at cas
2026/10/21 09:30:57 provision: a.shop.example.com: aborted seed sd_mfaxr7rrli74v2bts7lmqtbgsa rolled back (no box had swapped it)
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_pl3sp5api5jmanptcstb43a37y (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_pl3sp5api5jmanptcstb43a37y rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_pl3sp5api5jmanptcstb43a37y is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: aborted seed sd_pl3sp5api5jmanptcstb43a37y rolled back (no box had swapped it)
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_yxi4rtpcqgth4seox6ru7lyzai (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_yxi4rtpcqgth4seox6ru7lyzai rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_yxi4rtpcqgth4seox6ru7lyzai rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_yxi4rtpcqgth4seox6ru7lyzai rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_yxi4rtpcqgth4seox6ru7lyzai is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_4ymakosrplqjiei5x4nqat63uy (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_4ymakosrplqjiei5x4nqat63uy rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_4ymakosrplqjiei5x4nqat63uy is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_dbsazf24bo5qi5iemoq23ik3hm (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_dbsazf24bo5qi5iemoq23ik3hm rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_dbsazf24bo5qi5iemoq23ik3hm is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_cznoy4nptqshrs4pk3spfakmaa (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_cznoy4nptqshrs4pk3spfakmaa rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_cznoy4nptqshrs4pk3spfakmaa is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_ksg6oovsxhcb4sprbf5qj5fe74 (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_ksg6oovsxhcb4sprbf5qj5fe74 rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_ksg6oovsxhcb4sprbf5qj5fe74 is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_uswmlsb4vqk24yqh35obui34om (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_uswmlsb4vqk24yqh35obui34om rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_uswmlsb4vqk24yqh35obui34om is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_vttw3nbpjqmdlxohfnb6omn3f4 (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_vttw3nbpjqmdlxohfnb6omn3f4 rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_vttw3nbpjqmdlxohfnb6omn3f4 is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_nfezkvo4iryeda52e7466djmwm (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_nfezkvo4iryeda52e7466djmwm rolled back to its original route
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_nfezkvo4iryeda52e7466djmwm is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_xkdpj7mwbb35nbnn4hi4fekbmu (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_xkdpj7mwbb35nbnn4hi4fekbmu has no route on this box: its local data is removed and no route is put back
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_xkdpj7mwbb35nbnn4hi4fekbmu is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_5b4a4pozjqhvlkt2ojdn44akay (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_jzx33qgg3nhn42csqvntqz4noe (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_7opiq4ihaa2xhrnn36ilxzmbpm (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_7opiq4ihaa2xhrnn36ilxzmbpm cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_ojmiv77dgq56b7ah5mgpeoczfe (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_ojmiv77dgq56b7ah5mgpeoczfe is not rolled back: the route changed under the fence, so nothing there is touched
2026/10/21 09:30:57 provision: a.shop.example.com: import "../not-a-seed" names no snapshot and no replica; only its journal row is cleaned up
2026/10/21 09:30:57 provision: a.shop.example.com: import ../not-a-seed is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_q5subqkywl5bk54geyh62glnte (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_dor2wfbondkshkbkrcwfvas4gi (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_bub6ipbqjx7c2brljls3hhmpny (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_e5agsdrrwlrgjalr3pohpco7ea (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_67ixkvkprkou565hppa2f5pqvu (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_67ixkvkprkou565hppa2f5pqvu rollback deferred: the host is not fenced and stopped yet (stop evidence unreadable)
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_zyhkbz7wahjgvcdecud4ebm7lu (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_zyhkbz7wahjgvcdecud4ebm7lu has no route on this box: its local data is removed and no route is put back
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_zyhkbz7wahjgvcdecud4ebm7lu is cleaned up and its journal row retired
2026/10/21 09:30:57 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_lpkebckxa27crcktgsns3qdhra (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_lpkebckxa27crcktgsns3qdhra: remove its local data: injected failure at remove-local
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_lpkebckxa27crcktgsns3qdhra is not rolled back: the route at the host is not the import's, so nothing there is touched
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_5s7ngq22ad5ux54s75ctt2s33u (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_5s7ngq22ad5ux54s75ctt2s33u: a route appeared at the host, so its local database is left and the rollback waits
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_eapeeoc7xvw33h55dc3mehxg2y (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_eapeeoc7xvw33h55dc3mehxg2y rollback deferred: no fence generation: registry busy
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_wjg5jnqhnobd27rvnq5wbd4u7e (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: import sd_wjg5jnqhnobd27rvnq5wbd4u7e rollback deferred: no fence generation: the generation source answered 0
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_zn64tf7tndtm2hm4w4lrf6molm (the original route is journaled)
2026/10/21 09:30:57 provision: a.shop.example.com: swapped for import sd_xgz2kvr3inaenz6boocth634uq (the original route is journaled)
2026/10/21 09:30:58 provision: a.shop.example.com: swapped for import sd_zyt5s5f67agw2tr2vu5otbdbca (the original route is journaled)
2026/10/21 09:30:58 provision: a.shop.example.com: import deferred: the instance's env file could not be read: a symlink
2026/10/21 09:30:58 provision: a.shop.example.com: import deferred: this box cannot read the instance's env file
2026/10/21 09:30:58 provision: a.shop.example.com: swapped for import sd_mpjjy3ykdtbmq4lr24i5xf7qtq (the original route is journaled)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_mpjjy3ykdtbmq4lr24i5xf7qtq rolled back to its original route
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_mpjjy3ykdtbmq4lr24i5xf7qtq is cleaned up and its journal row retired
2026/10/21 09:30:58 provision: a.shop.example.com: swapped for import sd_vgbsjmws3i6zz6n2zrlwwi7lvi (the original route is journaled)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_vgbsjmws3i6zz6n2zrlwwi7lvi rolled back to its original route
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_vgbsjmws3i6zz6n2zrlwwi7lvi is cleaned up and its journal row retired
2026/10/21 09:30:58 provision: a.shop.example.com: swapped for import sd_pg4rrr6olnc3q4rflnb6onbjha (the original route is journaled)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_pg4rrr6olnc3q4rflnb6onbjha rolled back to its original route
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_pg4rrr6olnc3q4rflnb6onbjha is cleaned up and its journal row retired
2026/10/21 09:30:58 provision: a.shop.example.com: swapped for import sd_tomoqzmdx6opvxgmspdx5des4y (the original route is journaled)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_tomoqzmdx6opvxgmspdx5des4y: retire its instance key: the env file is a symlink
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_tomoqzmdx6opvxgmspdx5des4y rolled back to its original route
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_tomoqzmdx6opvxgmspdx5des4y is cleaned up and its journal row retired
2026/10/21 09:30:58 provision: a.shop.example.com: swapped for import sd_ixbdgrvy7bn76cq5v64odkmmry (the original route is journaled)
2026/10/21 09:30:58 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/21 09:30:58 provision: a.shop.example.com: swapped for import sd_547hwe4yxlf65rpk5cjhcszg6q (the original route is journaled)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_gu7oizfkqdah3rdlfacx57klry refused: there is no route at a.shop.example.com to replace
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_ybwtw43yn4grsswsilnir5az74 refused: the route's address is 127.0.0.1:9, not 127.0.0.1:8401
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_l65w3zxphfq3qsvne3q2io2lum refused: the route's address is 127.0.0.1:8401,127.0.0.1:8402, not 127.0.0.1:8401
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_lr7fu6x5mxcmhbezembnqv6qaq refused: the route's address is 127.0.0.1:9, not 127.0.0.1:8401
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_hshtu3xjyl6lmc3gd7zemkfw44 refused: the route belongs to app other
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_zt6x7g7hr5yuoli6skc7ly6vuy refused: the route is filed under another account
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_4n4l3o4gzyhgvsaadcg7a2wf64 refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_z3jxz5awa3ngbb4pnmeethdydy refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_ncm4o54egn7wqpg63mvfyrttum refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_l5msz6yy6peunzr5fy2biqqum4 refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_3hfzs3figxcjzvkjcainc42lsy refused: the route is not an address route this import can take over (socket)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_63b4noqusfe5uyc6z2hwmvtoqe refused: the route is not an address route this import can take over (no address)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_clvhrg7gap3zdkgzr5chuyy4hm refused: the route is not an address route this import can take over (provisioned)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_xgemiiyp5wqx3oenn4dkpl7wca refused: the route is not an address route this import can take over (kind static)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_4j5xwakhz4heiy3moytrpvbe4y refused: the route is not an address route this import can take over (backing)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_zspmvdadmwzkk67u5ggihfcbom refused: the route is not an address route this import can take over (tunnel)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_5aoetm7oy4a3q3kyogaw6owbs4 refused: the route is not an address route this import can take over (caps)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_ntfs4pwfrxfwo2akkyz4szlad4 refused: the route is not an address route this import can take over (platform)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_j36q6qj64rnetkrc5xgmcj6ffe refused: the route is not an address route this import can take over (canary)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_uuggqtbiur3a3o4sanazvmg75y refused: the route is not an address route this import can take over (kind sidecar)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_zlqt5fnc35gcysz3xjkv7qkh24 refused: the route is not an address route this import can take over (region)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_b7lecms26337wbhxzefkeyjs2a refused: the route is not an address route this import can take over (fleet_box)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_qk7k5pwgzoi3nuvyzbnt6rdo34 refused: the route is not an address route this import can take over (hibernate)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_vvw5qs4kzokwpgvvf57xj4dcne refused: the route is not an address route this import can take over (claim_owner)
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_f6iemttgbtwoqidgo7sducwflq refused: this box does not run instances nested
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_ggqnmkic3nvj53kztn5tbfisv4 refused: this box does not run instances nested
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_bv4ilomg7pgw7nl2we3zcyqo2e refused: claim control is on for this box
2026/10/21 09:30:58 provision: a.shop.example.com: swapped for import sd_sltbx23hcfnyajucc4b7rxn7i4 (the original route is journaled)
2026/10/21 09:30:58 provision: a.shop.example.com: swapped for import sd_b35nccyqns6ccvicvqgnm4wvni (the original route is journaled)
2026/10/21 09:30:58 provision: a.shop.example.com: import deferred: this box cannot read the legacy route assignments
2026/10/21 09:30:58 provision: a.shop.example.com: import deferred: the legacy route assignments could not be read: store down
2026/10/21 09:30:58 provision: a.shop.example.com: not swapping for import sd_i46jdixxdiru4edmi5mqgw7yiu: its verify hash is not a sha256
2026/10/21 09:30:58 provision: a.shop.example.com: not swapping for import sd_7yw4lmxydvm6s5qmhosou7rzba: its verify hash is not a sha256
2026/10/21 09:30:58 provision: a.shop.example.com: not swapping for import sd_jgdhbbeluzblbkmvecm7mqi7ke: its verify hash is not a sha256
2026/10/21 09:30:58 provision: a.shop.example.com: not swapping for import sd_../../x: its host or seed id is malformed (seeds: not a seed id)
2026/10/21 09:30:58 provision: A.shop.example.com/..: not swapping for import sd_lnngyrmwwlrxiowm6gk7qal6ye: its host or seed id is malformed (seeds: not a host)
2026/10/21 09:30:58 provision: a.shop.example.com: not swapping for import sd_6kam2zcdsbm7xjnno5pbuxjvbe: its record does not describe a nested, hibernating instance
2026/10/21 09:30:58 provision: a.shop.example.com: not swapping for import sd_6sydyqqgwxwzu2raphsjmwobiu: its record does not describe a nested, hibernating instance
2026/10/21 09:30:58 provision: a.shop.example.com: not swapping for import sd_6gxjywjccpl5xe7izynriolbwi: its record does not describe a nested, hibernating instance
2026/10/21 09:30:58 provision: a.shop.example.com: not swapping for import sd_ap7rxye6kuhnqt6g3s3zdxotq4: its record does not describe a nested, hibernating instance
2026/10/21 09:30:58 provision: a.shop.example.com: import deferred: the box's layout intent could not be read: store down
2026/10/21 09:30:58 provision: a.shop.example.com: swapped for import sd_wp4jnmt7zyyc5my3ikncduv6b4 (the original route is journaled)
2026/10/21 09:30:58 provision: a.shop.example.com: import deferred: the box's nested probe did not answer: ready probe timed out
2026/10/21 09:30:58 provision: a.shop.example.com: swapped for import sd_7sglk5dtmlydpqctk64wypktlu (the original route is journaled)
2026/10/21 09:30:58 provision: a.shop.example.com: swapped for import sd_ku6rifrzhifkhuc45dw7tavj4a (the original route is journaled)
2026/10/21 09:30:58 provision: a.shop.example.com: import deferred: the route is held by operation op_1
2026/10/21 09:30:58 provision: dry-run: would consider swapping a.shop.example.com for import sd_edprnx66wd5atgrm24hmr3d66i
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_zrrb3txkdq7xlxk4cpfhntvrq4 rolled back to its original route
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_zrrb3txkdq7xlxk4cpfhntvrq4: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_zrrb3txkdq7xlxk4cpfhntvrq4 is cleaned up and its journal row retired
2026/10/21 09:30:58 provision: a.shop.example.com: import sd_kbiv5blofli2leyu4lhkcwjbem left alone: the import journal holds seed sd_6vhxs3ldxhfg6sec4pnbwwrg5a at swapped
2026/10/21 09:30:58 provision: a.shop.example.com: not minting import sd_sztxh5byj6naapmw7otypymzty: it is swapped but not committed, and only its swap makes its row
2026/10/21 09:30:58 provision: a.shop.example.com: not minting import sd_ediuz6dgexnjgfc4krhgoawvmi: it is placed but not committed, and only its swap makes its row
2026/10/21 09:30:58 provision: a.shop.example.com: swapped for import sd_avskrjwxop4rdwrtik43api7xi (the original route is journaled)
2026/10/21 09:30:58 provision: a.shop.example.com: not minting import sd_avskrjwxop4rdwrtik43api7xi: it is swapped but not committed, and only its swap makes its row
2026/10/21 09:30:58 provision: a.shop.example.com: not minting import sd_avskrjwxop4rdwrtik43api7xi: it is placed but not committed, and only its swap makes its row
2026/10/21 09:30:58 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/21 09:30:58 provision: removed retired sidecar route gone.eleven.bac.sidecar.internal (record gone)
2026/10/21 09:30:58 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/21 09:30:58 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/21 09:30:58 provision: converged sidecar bot.eleven.bac.sidecar.internal args ["sidecar","run"] -> ["worker","run"]
2026/10/21 09:30:58 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/21 09:30:58 provision: converged sidecar bot.eleven.bac.sidecar.internal ceilings 300/3600 -> 60/120
2026/10/21 09:30:58 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/21 09:30:58 provision: converged sidecar bot.eleven.bac.sidecar.internal channel stable -> canary/eleven
2026/10/21 09:30:58 provision: converged sidecar bot.eleven.bac.sidecar.internal environment "other" -> "relay"
2026/10/21 09:30:58 provision: converged sidecar bot.eleven.bac.sidecar.internal hibernate true -> false
2026/10/21 09:30:59 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: read failed: failStore: reads disabled under apps/bac/eleven/sidecars/
2026/10/21 09:30:59 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: malformed: invalid character 'n' looking for beginning of object key string
2026/10/21 09:30:59 provision: not removing sidecar bot.eleven.bac.sidecar.internal: its record exists but could not be read cleanly this pass
2026/10/21 09:30:59 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: empty channel
2026/10/21 09:30:59 provision: skipping sidecar record apps/bac/eleven/sidecars/held.json: empty channel
2026/10/21 09:30:59 provision: not removing sidecar held.eleven.bac.sidecar.internal: its record exists but could not be read cleanly this pass
2026/10/21 09:30:59 provision: removed retired sidecar route old.eleven.bac.sidecar.internal (record gone)
2026/10/21 09:30:59 provision: bac/eleven has sidecar records but no sidecars manifest — not minting
2026/10/21 09:30:59 provision: bac/eleven is in the trash — not minting sidecar routes for it
2026/10/21 09:30:59 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/21 09:30:59 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/21 09:30:59 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/21 09:30:59 provision: minted sidecar route hub.relay.bac.sidecar.internal (app "relay" acct "bac" args ["relay"])
2026/10/21 09:30:59 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/21 09:30:59 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/21 09:30:59 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/21 09:30:59 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/21 09:30:59 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/21 09:30:59 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/21 09:30:59 provision: removed retired sidecar route bot.eleven.bac.sidecar.internal (record gone)
2026/10/21 09:30:59 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/21 09:30:59 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/21 09:30:59 provision: skipping sidecar record apps/bac/relay/sidecars/hub.json: read failed: failStore: reads disabled under apps/bac/relay/sidecars/
2026/10/21 09:30:59 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/21 09:30:59 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/21 09:30:59 provision: dry-run: would mint sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" channel "stable" args ["sidecar","run"])
2026/10/21 09:30:59 provision: dry-run: would remove retired sidecar route gone.eleven.bac.sidecar.internal (record gone)
2026/10/21 09:30:59 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/21 09:30:59 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:59 provision: converged acme.go.tito.io update settings "{\"updates\":\"manual\",\"channel\":\"stable\"}" -> ""
2026/10/21 09:30:59 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:59 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:59 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/21 09:30:59 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/21 09:30:59 provision: acme.go.tito.io: not minted this pass: the app's update policy could not be read
2026/10/21 09:30:59 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/21 09:30:59 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/21 09:30:59 provision: acme.go.tito.io: not minted this pass: the app's update policy could not be read
2026/10/21 09:30:59 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
FAIL
FAIL	github.com/carlosframework/platform/internal/provision	36.957s
ok  	github.com/carlosframework/platform/internal/publicrelease	0.008s
?   	github.com/carlosframework/platform/internal/regionname	[no test files]
ok  	github.com/carlosframework/platform/internal/registry	5.491s
ok  	github.com/carlosframework/platform/internal/relay	7.230s
ok  	github.com/carlosframework/platform/internal/release	23.653s
ok  	github.com/carlosframework/platform/internal/rollout	3.830s
ok  	github.com/carlosframework/platform/internal/rolloutwords	0.004s
ok  	github.com/carlosframework/platform/internal/rootaws	0.007s
ok  	github.com/carlosframework/platform/internal/rootparticipation	0.057s
ok  	github.com/carlosframework/platform/internal/rootstate	0.026s
ok  	github.com/carlosframework/platform/internal/runs	0.577s
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.576s
ok  	github.com/carlosframework/platform/internal/seeds	0.012s
ok  	github.com/carlosframework/platform/internal/sim/hostlife	9.549s
ok  	github.com/carlosframework/platform/internal/sim/litestreamfacts	3.886s
ok  	github.com/carlosframework/platform/internal/status	0.066s
ok  	github.com/carlosframework/platform/internal/steering	0.006s
ok  	github.com/carlosframework/platform/internal/stopevidence	0.297s
ok  	github.com/carlosframework/platform/internal/svcrole	0.002s
ok  	github.com/carlosframework/platform/internal/telemetry	0.008s
ok  	github.com/carlosframework/platform/internal/termfence	0.004s
ok  	github.com/carlosframework/platform/internal/tunnelclient	0.005s
ok  	github.com/carlosframework/platform/internal/unixdial	0.003s
ok  	github.com/carlosframework/platform/internal/updatewords	0.004s
ok  	github.com/carlosframework/platform/internal/usage	0.006s
ok  	github.com/carlosframework/platform/internal/version	0.002s
ok  	github.com/carlosframework/platform/internal/vet	1.570s
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
diff --git a/accounts_plan.go b/accounts_plan.go
index 7c88a453c..30796de9b 100644
--- a/accounts_plan.go
+++ b/accounts_plan.go
@@ -5,6 +5,7 @@ package main
// (internal/console/apiaccountplan.go; plans-caps-packs spec §4, §8.7).
import (
+ "bytes"
"context"
"encoding/json"
"errors"
@@ -126,8 +127,12 @@ func runAccountsPlanWithSession(ctx context.Context, sess *apiSession, args []st
if *sponsored != "" {
b, err := os.ReadFile(*sponsored)
if err == nil {
+ // Strict: a misspelt limit would otherwise vanish and lower
+ // the account's limits.
req.Sponsored = &plans.Limits{}
- err = json.Unmarshal(b, req.Sponsored)
+ dec := json.NewDecoder(bytes.NewReader(b))
+ dec.DisallowUnknownFields()
+ err = dec.Decode(req.Sponsored)
}
if err != nil {
return fmt.Errorf(cliPlanCopySponsoredFile, *sponsored, err)
diff --git a/accounts_plan_test.go b/accounts_plan_test.go
index 5b6ed5767..5463acbb3 100644
--- a/accounts_plan_test.go
+++ b/accounts_plan_test.go
@@ -103,10 +103,10 @@ func TestAccountsPlanValidationStopsBeforeNetwork(t *testing.T) {
s := newTestSession(ts.URL)
missing := filepath.Join(t.TempDir(), "missing.json")
for _, args := range [][]string{
- {}, // no account
- {"--account", "bac", "--set", "free"}, // no reason
- {"--account", "bac", "--pack", "apps=1"}, // pack without set
- {"--account", "bac", "--reason", "r"}, // reason without set
+ {}, // no account
+ {"--account", "bac", "--set", "free"}, // no reason
+ {"--account", "bac", "--pack", "apps=1"}, // pack without set
+ {"--account", "bac", "--reason", "r"}, // reason without set
{"--account", "bac", "--set", "free", "--pack", "apps", "--reason", "r"},
{"--account", "bac", "--set", "free", "--sponsored", missing, "--reason", "r"},
{"--account", "bac", "extra"},
@@ -123,3 +123,20 @@ func TestAccountsPlanValidationStopsBeforeNetwork(t *testing.T) {
t.Fatalf("%d requests reached the console", hits)
}
}
+
+func TestAccountsPlanRefusesAMisspeltSponsoredFile(t *testing.T) {
+ hits := 0
+ ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { hits++ }))
+ defer ts.Close()
+ f := filepath.Join(t.TempDir(), "limits.json")
+ if err := os.WriteFile(f, []byte(`{"running_thing": 40}`), 0o600); err != nil {
+ t.Fatal(err)
+ }
+ args := []string{"--account", "bac", "--set", "free", "--sponsored", f, "--reason", "r"}
+ if err := runAccountsPlanWithSession(context.Background(), newTestSession(ts.URL), args, io.Discard); err == nil {
+ t.Fatal("accepted a sponsored file with an unknown field")
+ }
+ if hits != 0 {
+ t.Fatalf("%d requests reached the console", hits)
+ }
+}
diff --git a/cmd/console/claimworkers_started_test.go b/cmd/console/claimworkers_started_test.go
new file mode 100644
index 000000000..8e44fd76c
--- /dev/null
+++ b/cmd/console/claimworkers_started_test.go
@@ -0,0 +1,35 @@
+package main
+
+import (
+ "os"
+ "regexp"
+ "testing"
+)
+
+// TestEveryRegisteredClaimWorkerIsStarted: registerClaimWorkers
+// (internal/console/claim_workers.go) names each background worker, but only
+// serve's explicit RunClaimWorker list starts one. A worker registered and
+// never started passes every console test and does nothing in production.
+func TestEveryRegisteredClaimWorkerIsStarted(t *testing.T) {
+ reg, err := os.ReadFile("../../internal/console/claim_workers.go")
+ if err != nil {
+ t.Fatal(err)
+ }
+ main, err := os.ReadFile("main.go")
+ if err != nil {
+ t.Fatal(err)
+ }
+ registered := regexp.MustCompile(`(?m)^\t\t"([A-Za-z]+)":\s+s\.`).FindAllSubmatch(reg, -1)
+ if len(registered) < 10 {
+ t.Fatalf("found only %d registered workers; the pattern no longer matches claim_workers.go", len(registered))
+ }
+ started := map[string]bool{}
+ for _, m := range regexp.MustCompile(`RunClaimWorker\(context\.Background\(\), "([A-Za-z]+)"\)`).FindAllSubmatch(main, -1) {
+ started[string(m[1])] = true
+ }
+ for _, m := range registered {
+ if name := string(m[1]); !started[name] {
+ t.Errorf("claim worker %s is registered but serve never starts it", name)
+ }
+ }
+}
diff --git a/cmd/console/main.go b/cmd/console/main.go
index 57435555d..bdee22837 100644
--- a/cmd/console/main.go
+++ b/cmd/console/main.go
@@ -523,6 +523,9 @@ func serve() {
// The temporary-app expiry pass (internal/console/expirypass.go). Same
// placement rule as every pass above: started here, never in NewServer.
go srv.RunClaimWorker(context.Background(), "StartExpiryPass")
+ // The plan limits pass (internal/console/planlimits.go): publishes each
+ // account's limits record. A no-op with CARLOS_PLAN_CATALOG unset.
+ go srv.RunClaimWorker(context.Background(), "StartPlanLimitsPass")
// The run sweep (internal/console/runsweep.go): expires queued runs,
// ends lost ones, deletes a day-old run's objects. Same placement rule.
go srv.RunClaimWorker(context.Background(), "StartRunSweep")
diff --git a/docs/superpowers/specs/CODEX-FINDINGS-PLANS-1-CODE.md b/docs/superpowers/specs/CODEX-FINDINGS-PLANS-1-CODE.md
new file mode 100644
index 000000000..1f1a1a1aa
--- /dev/null
+++ b/docs/superpowers/specs/CODEX-FINDINGS-PLANS-1-CODE.md
@@ -0,0 +1,28 @@
+1. **Important — Publishing worker never starts.** [claim_workers.go:17](internal/console/claim_workers.go:17) registers `StartPlanLimitsPass`, but the explicit worker startup list in `cmd/console/main.go` never invokes it. Configuring a catalog therefore publishes no default records; catalog changes never propagate; failed inline publishes never retry. Start it through `RunClaimWorker` alongside the other workers, and test the startup wiring.
+
+2. **Important — Orphaned assignments can permanently block other accounts.** [accountplans.go:126](internal/console/accountplans.go:126) always selects the first 200 outstanding accounts. If a catalog change orphans those assignments, each publish fails and they occupy every subsequent batch. Later valid accounts never publish. I reproduced this selection behavior with an in-memory SQLite database. Use pagination or a rotating cursor that advances past failures while retaining them for retry.
+
+3. **Minor — An in-flight request can publish after account deletion.** [apiaccountplan.go:120](internal/console/apiaccountplan.go:120) relies on the account lookup performed before reading the request body. An operator request can pass that lookup, pause while the owner deletes the account, then resume. `SetAccountPlan` accepts the tombstoned account, `AccountPlan` returns its row, and the handler publishes its limits. The SQL behavior reproduced in memory. Make assignment writes conditional on a live account and synchronize publishing with deletion; cover both inline and background publishing races.
+
+4. **Minor — Misspelled sponsored fields silently disappear.** [accounts_plan.go:130](accounts_plan.go:130) accepts `{"running_thing":40}` as an empty override. The command succeeds and publishes the base plan’s lower limit; updating an existing sponsorship can also remove its previous allowance. Direct API requests have the same permissive decoding. Reject unknown fields in sponsored files and assignment requests before changing the row.
+
+5. **Minor — Pack arithmetic can overflow before ceiling enforcement.** [catalog.go:214](internal/plans/catalog.go:214) multiplies and adds unchecked integers. An accepted catalog with base storage `1`, pack increment `4611686018427387904`, quantity `2`, and ceiling `100` produces `-9223372036854775807`; the ceiling does not correct it. Use checked multiplication and addition, rejecting overflow or saturating safely before clamping.
+
+The executor’s rulings are reasonable: additional catalog validation, SQL classification, the absent-record convention, the corrected census test name, the exact put-only host-claim family and probes, and request validation alongside `Effective`. The copy organization and review rulings introduce no functional objection.
+
+The remaining deliberate checks look sound statically: content changes alter catalog identity without a version bump; partial sponsorship preserves unset fields and schedule minimums; same-catalog CAS retries protect newer revisions; stale publication cannot mark a newer SQL revision published; authenticated non-operators receive the stdlib 404.
+
+**Declined to judge**
+
+- Enforcement, box caching, grace periods, checkout, and sponsorship measurement: assigned to later plans.
+- Approved human-facing wording: expressly excluded.
+- Inherited unauthenticated/service-credential responses: existing authentication policy, matching the referenced store-door convention.
+- Concurrent consoles using different catalogs: beyond the specified single-writer model.
+- Catalog identity after programmatic mutation: no production path mutates the loaded catalog.
+- Unsupported nonadditive ceilings: the implementation plan explicitly limits which ceilings apply.
+- Ignored negative sponsored values or unknown memory tiers: no demonstrated harmful effective-limit change.
+- Repeated `--pack` flags replacing earlier values: conventional map behavior without a contrary requirement.
+
+Go tests could not start because the read-only sandbox prevented creation of Go’s build directory. Darwin/Windows portability was inspected but not compiled. HEAD remains `80672fad599ca72aba577f78d783d8c6107599f1`; the working tree is unchanged.
+
+**Verdict: not ready.** The missing worker startup and batch starvation block the core publishing behavior.
\ No newline at end of file
diff --git a/internal/console/accountplans.go b/internal/console/accountplans.go
index 4d34b2cfc..2f5a5ce7c 100644
--- a/internal/console/accountplans.go
+++ b/internal/console/accountplans.go
@@ -118,12 +118,14 @@ func (s *Store) EnsureDefaultPlans(defaultPlan string, now time.Time) (int, erro
}
// PlansToPublish lists live accounts whose bucket record is behind their
-// row: an unpublished revision, or a record from another catalog.
-func (s *Store) PlansToPublish(catalogID string, limit int) ([]AccountPlanRow, error) {
+// row (an unpublished revision, or a record from another catalog), in
+// account order after afterAccountID, so a caller can page past rows it
+// cannot publish.
+func (s *Store) PlansToPublish(catalogID string, afterAccountID int64, limit int) ([]AccountPlanRow, error) {
rows, err := s.db.Query(`SELECT `+accountPlanColumns+`
FROM account_plans p JOIN accounts a ON a.id = p.account_id
- WHERE a.deleted_at = 0 AND (p.published_revision < p.revision OR p.published_catalog != ?)
- ORDER BY p.account_id LIMIT ?`, catalogID, limit)
+ WHERE a.deleted_at = 0 AND p.account_id > ? AND (p.published_revision < p.revision OR p.published_catalog != ?)
+ ORDER BY p.account_id LIMIT ?`, afterAccountID, catalogID, limit)
if err != nil {
return nil, err
}
diff --git a/internal/console/accountplans_test.go b/internal/console/accountplans_test.go
index 3aea77d54..bd099ba56 100644
--- a/internal/console/accountplans_test.go
+++ b/internal/console/accountplans_test.go
@@ -112,17 +112,17 @@ func TestPlansToPublish(t *testing.T) {
if _, err := st.EnsureDefaultPlans("free", planNow); err != nil {
t.Fatal(err)
}
- rows, err := st.PlansToPublish("v1@abc", 10)
+ rows, err := st.PlansToPublish("v1@abc", 0, 10)
if err != nil || len(rows) != 3 {
t.Fatalf("got %d rows, %v; want 3", len(rows), err)
}
- if rows, _ := st.PlansToPublish("v1@abc", 2); len(rows) != 2 {
+ if rows, _ := st.PlansToPublish("v1@abc", 0, 2); len(rows) != 2 {
t.Fatalf("limit ignored: %d rows", len(rows))
}
if err := st.MarkPlanPublished(ids["aaa"], 1, "v1@abc"); err != nil {
t.Fatal(err)
}
- rows, _ = st.PlansToPublish("v1@abc", 10)
+ rows, _ = st.PlansToPublish("v1@abc", 0, 10)
for _, r := range rows {
if r.Sqid == "aaa" {
t.Fatal("published row still due for the same catalog")
@@ -131,14 +131,14 @@ func TestPlansToPublish(t *testing.T) {
if len(rows) != 2 {
t.Fatalf("got %d rows, want 2", len(rows))
}
- rows, _ = st.PlansToPublish("v2@def", 10)
+ rows, _ = st.PlansToPublish("v2@def", 0, 10)
if len(rows) != 3 {
t.Fatalf("catalog change: got %d rows, want 3", len(rows))
}
if _, err := st.db.Exec(`UPDATE accounts SET deleted_at = ? WHERE id = ?`, planNow.Unix(), ids["bbb"]); err != nil {
t.Fatal(err)
}
- rows, _ = st.PlansToPublish("v2@def", 10)
+ rows, _ = st.PlansToPublish("v2@def", 0, 10)
if len(rows) != 2 {
t.Fatalf("deleted account still due: got %d rows, want 2", len(rows))
}
diff --git a/internal/console/apiaccountplan.go b/internal/console/apiaccountplan.go
index 0181e0ca0..88c5cc853 100644
--- a/internal/console/apiaccountplan.go
+++ b/internal/console/apiaccountplan.go
@@ -96,7 +96,8 @@ func (s *Server) handleAPIAccountPlanSet(w http.ResponseWriter, r *http.Request)
return
}
var req setAccountPlanRequest
- if !readJSON(w, r, &req) {
+ // Strict: a misspelt sponsored limit must be refused, not dropped.
+ if !readJSONStrictLimit(w, r, &req, 8<<10) {
return
}
reason := strings.TrimSpace(req.Reason)
diff --git a/internal/console/apiaccountplan_test.go b/internal/console/apiaccountplan_test.go
index b4abe289f..cfa1382a4 100644
--- a/internal/console/apiaccountplan_test.go
+++ b/internal/console/apiaccountplan_test.go
@@ -180,3 +180,23 @@ func TestAccountPlanSetSurvivesABucketFailure(t *testing.T) {
t.Fatalf("the next pass did not publish: %+v", r)
}
}
+
+// A misspelt sponsored limit must be refused, not silently dropped: an
+// override that quietly vanished would lower a sponsored account's limits.
+func TestAccountPlanSetRefusesUnknownFields(t *testing.T) {
+ fx := newConsoleFixture(t)
+ fx.srv.cfg.PlanCatalog = examplePlanCatalog(t)
+ acct := planAccount(t, fx, 501)
+ token := planOperatorToken(t, fx, "ops@keymail.dev", "code-plan-strict")
+ for name, body := range map[string]map[string]any{
+ "misspelt sponsored limit": {"plan": "free", "sponsored": map[string]any{"running_thing": 12}, "reason": "r"},
+ "misspelt top-level field": {"plan": "free", "pack": map[string]int{"apps": 1}, "reason": "r"},
+ } {
+ if status, out := postJSON(t, accountPlanURL(fx, acct.Sqid), body, token); status != http.StatusBadRequest {
+ t.Errorf("%s: %d %v, want 400", name, status, out)
+ }
+ }
+ if row, _ := fx.st.AccountPlan(acct.ID); row != nil {
+ t.Fatalf("a refused POST wrote %+v", row)
+ }
+}
diff --git a/internal/console/planlimits.go b/internal/console/planlimits.go
index d5e510f47..98acf0039 100644
--- a/internal/console/planlimits.go
+++ b/internal/console/planlimits.go
@@ -10,10 +10,11 @@ import (
"github.com/carlosframework/platform/internal/release"
)
-const (
- planLimitsPassInterval = time.Minute
- planLimitsPassBatch = 200
-)
+const planLimitsPassInterval = time.Minute
+
+// planLimitsPassBatch is how many rows one query reads; the pass pages
+// through every due row regardless. A var so a test can shrink it.
+var planLimitsPassBatch = 200
// StartPlanLimitsPass keeps every account's limits record in the bucket in
// step with its plan row and the configured catalog: now, then every
@@ -46,17 +47,26 @@ func (s *Server) planLimitsPass(ctx context.Context, now time.Time) {
log.Printf("console: plan limits: default plans: %v", err)
return
}
- rows, err := s.store.PlansToPublish(cat.ID(), planLimitsPassBatch)
- if err != nil {
- log.Printf("console: plan limits: list: %v", err)
- return
- }
- for _, row := range rows {
- if ctx.Err() != nil {
+ // Page by account id: a row that cannot be published (an orphaned
+ // assignment) stays due, but never holds a later account back.
+ var after int64
+ for {
+ rows, err := s.store.PlansToPublish(cat.ID(), after, planLimitsPassBatch)
+ if err != nil {
+ log.Printf("console: plan limits: list: %v", err)
return
}
- if err := s.publishAccountLimits(ctx, row, now); err != nil {
- log.Printf("console: plan limits: %s: %v", row.Sqid, err)
+ for _, row := range rows {
+ if ctx.Err() != nil {
+ return
+ }
+ if err := s.publishAccountLimits(ctx, row, now); err != nil {
+ log.Printf("console: plan limits: %s: %v", row.Sqid, err)
+ }
+ after = row.AccountID
+ }
+ if len(rows) < planLimitsPassBatch {
+ return
}
}
}
diff --git a/internal/console/planlimits_test.go b/internal/console/planlimits_test.go
index 1bbdcedd1..4665219ca 100644
--- a/internal/console/planlimits_test.go
+++ b/internal/console/planlimits_test.go
@@ -217,3 +217,24 @@ func TestEffectiveLimits(t *testing.T) {
t.Fatalf("personal + apps: %+v, %v", l, err)
}
}
+
+// Orphaned assignments must not starve the rest: with a batch of two and
+// the two lowest accounts orphaned, one pass still reaches the third.
+func TestPlanLimitsPassOrphansDoNotStarveLaterAccounts(t *testing.T) {
+ fx := newConsoleFixture(t)
+ fx.srv.cfg.PlanCatalog = examplePlanCatalog(t)
+ defer func(n int) { planLimitsPassBatch = n }(planLimitsPassBatch)
+ planLimitsPassBatch = 2
+ a := planAccount(t, fx, 501)
+ b := planAccount(t, fx, 502)
+ c := planAccount(t, fx, 503)
+ for _, acct := range []*Account{a, b} {
+ if _, err := fx.st.SetAccountPlan(acct.ID, "gold", nil, PlanSourceOperator, nil, "r", "ops@example.com", planNow); err != nil {
+ t.Fatal(err)
+ }
+ }
+ fx.srv.planLimitsPass(context.Background(), planNow)
+ if r, _ := readLimits(t, fx, c.Sqid); r == nil {
+ t.Fatal("orphaned accounts starved a later valid account")
+ }
+}