carlos / platform Public

console: lifetimes cutover review fixes: the docs say every change waits while lifetimes switch on, the CLI retries failed polls, a bounded test wait

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev b81a95341bab2bc75e07c421b23833fc555382ed parent 76b5971
6 files changed, +75 −15
  • docs/site/cli.md +4 −2
  • internal/console/lifetimes_cutover.go +1 −0
  • internal/console/lifetimes_cutover_test.go +4 −2
  • internal/provision/testdata/plan14-root-reads-self-serve-moves-1.tsv +2 −2
  • system_lifetimes.go +34 −9
  • system_lifetimes_test.go +30 −0

CI failed — run details

CI log
=== gate ===
.amadan/test-gate.sh
go: downloading github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.68.0
go: downloading github.com/aws/aws-sdk-go-v2/service/costexplorer v1.67.5
go: downloading github.com/aws/aws-sdk-go-v2/service/s3 v1.105.0
go: downloading github.com/aws/smithy-go v1.28.1
go: downloading github.com/aws/aws-sdk-go-v2 v1.44.0
go: downloading github.com/superfly/ltx v0.5.1
go: downloading golang.org/x/net v0.56.0
go: downloading modernc.org/sqlite v1.55.0
go: downloading github.com/aws/aws-sdk-go-v2/config v1.32.6
go: downloading github.com/aws/aws-sdk-go-v2/service/sns v1.43.0
go: downloading github.com/aws/aws-sdk-go-v2/service/acm v1.45.0
go: downloading github.com/aws/aws-sdk-go-v2/service/ec2 v1.324.0
go: downloading github.com/aws/aws-sdk-go-v2/service/iam v1.58.2
go: downloading github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.37.0
go: downloading github.com/aws/aws-sdk-go-v2/service/route53 v1.64.1
go: downloading github.com/aws/aws-sdk-go-v2/service/sts v1.45.6
go: downloading github.com/benbjohnson/litestream v0.5.14
go: downloading golang.org/x/crypto v0.53.0
go: downloading github.com/oschwald/maxminddb-golang v1.13.1
go: downloading github.com/aws/aws-sdk-go-v2/service/autoscaling v1.74.0
go: downloading golang.org/x/sys v0.46.0
go: downloading modernc.org/sqlite v1.55.0
go: downloading golang.org/x/crypto v0.53.0
go: downloading github.com/aws/aws-sdk-go-v2/service/ssm v1.74.0
go: downloading github.com/aws/aws-sdk-go-v2/credentials v1.19.6
go: downloading github.com/benbjohnson/litestream v0.5.14
go: downloading github.com/aws/aws-sdk-go-v2/service/ec2 v1.324.0
go: downloading github.com/klauspost/compress v1.18.0
go: downloading github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.6
go: downloading github.com/pion/logging v0.2.4
go: downloading github.com/pion/turn/v4 v4.1.4
go: downloading github.com/pion/logging v0.2.4
go: downloading github.com/pion/stun/v3 v3.0.1
go: downloading github.com/pion/turn/v4 v4.1.4
go: downloading github.com/pion/stun/v3 v3.0.1
go: downloading github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.6
go: downloading github.com/pierrec/lz4/v4 v4.1.22
go: downloading github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.40
go: downloading github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.38
go: downloading github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.19
go: downloading github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.40
go: downloading github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.14
go: downloading github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.23
go: downloading github.com/pierrec/lz4/v4 v4.1.22
go: downloading github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.40
go: downloading github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.40
go: downloading github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.31
go: downloading github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.31
go: downloading github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.16
go: downloading github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4
go: downloading github.com/aws/aws-sdk-go-v2/service/signin v1.0.4
go: downloading github.com/aws/aws-sdk-go-v2/service/sso v1.30.8
go: downloading github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.12
go: downloading github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.40
go: downloading github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.12
go: downloading github.com/prometheus/client_golang v1.17.0
go: downloading golang.org/x/sync v0.21.0
go: downloading github.com/lmittmann/tint v1.1.3
go: downloading github.com/mattn/go-isatty v0.0.20
go: downloading github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.40
go: downloading github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.20.18
go: downloading github.com/prometheus/client_golang v1.17.0
go: downloading github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.20.18
go: downloading github.com/lmittmann/tint v1.1.3
go: downloading github.com/prometheus/client_model v0.5.0
go: downloading github.com/beorn7/perks v1.0.1
go: downloading github.com/cespare/xxhash/v2 v2.3.0
go: downloading github.com/prometheus/procfs v0.12.0
go: downloading github.com/prometheus/common v0.45.0
go: downloading google.golang.org/protobuf v1.36.10
go: downloading github.com/prometheus/procfs v0.12.0
go: downloading github.com/beorn7/perks v1.0.1
go: downloading github.com/prometheus/client_model v0.5.0
go: downloading github.com/cespare/xxhash/v2 v2.3.0
go: downloading google.golang.org/protobuf v1.36.10
go: downloading github.com/prometheus/common v0.45.0
go: downloading github.com/pion/dtls/v3 v3.0.7
go: downloading github.com/pion/transport/v3 v3.0.8
go: downloading github.com/pion/transport/v3 v3.0.8
go: downloading github.com/pion/dtls/v3 v3.0.7
go: downloading github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0
go: downloading github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0
go: downloading github.com/pion/randutil v0.1.0
go: downloading github.com/pion/transport/v4 v4.0.1
go: downloading github.com/pion/transport/v4 v4.0.1
go: downloading github.com/pion/randutil v0.1.0
go: downloading golang.org/x/text v0.38.0
go: downloading golang.org/x/text v0.38.0
go: downloading github.com/wlynxg/anet v0.0.5
go: downloading github.com/wlynxg/anet v0.0.5
go: downloading modernc.org/libc v1.74.1
go: downloading modernc.org/libc v1.74.1
go: downloading modernc.org/memory v1.11.0
go: downloading github.com/dustin/go-humanize v1.0.1
go: downloading github.com/google/uuid v1.6.0
go: downloading modernc.org/mathutil v1.7.1
go: downloading github.com/dustin/go-humanize v1.0.1
go: downloading github.com/google/uuid v1.6.0
go: downloading modernc.org/memory v1.11.0
go: downloading modernc.org/mathutil v1.7.1
go: downloading github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec
go: downloading github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec
=== launchctx (3 s)
ok  	amadan.net/carlos/platform.git/launchctx	0.012s
?   	amadan.net/carlos/platform.git/launchctx/controlname	[no test files]
?   	amadan.net/carlos/platform.git/launchctx/wireid	[no test files]
=== vet (52 s)
go: downloading golang.org/x/crypto v0.53.0
go: downloading github.com/benbjohnson/litestream v0.5.14
go: downloading modernc.org/sqlite v1.55.0
go: downloading github.com/aws/aws-sdk-go-v2/service/ssm v1.74.0
go: downloading github.com/aws/aws-sdk-go-v2/service/ec2 v1.324.0
go: downloading github.com/aws/aws-sdk-go-v2/credentials v1.19.6
go: downloading github.com/aws/aws-sdk-go-v2/service/sesv2 v1.66.6
go: downloading github.com/klauspost/compress v1.18.0
go: downloading github.com/pion/logging v0.2.4
go: downloading github.com/pion/stun/v3 v3.0.1
go: downloading github.com/pion/turn/v4 v4.1.4
go: downloading golang.org/x/tools v0.47.0
go: downloading github.com/pierrec/lz4/v4 v4.1.22
go: downloading github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.40
go: downloading github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.40
go: downloading github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.12
go: downloading github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.40
go: downloading github.com/prometheus/client_golang v1.17.0
go: downloading github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.20.18
go: downloading github.com/lmittmann/tint v1.1.3
go: downloading github.com/prometheus/common v0.45.0
go: downloading github.com/cespare/xxhash/v2 v2.3.0
go: downloading github.com/prometheus/procfs v0.12.0
go: downloading google.golang.org/protobuf v1.36.10
go: downloading github.com/pion/dtls/v3 v3.0.7
go: downloading github.com/pion/transport/v3 v3.0.8
go: downloading github.com/pion/transport/v4 v4.0.1
go: downloading github.com/pion/randutil v0.1.0
go: downloading github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0
go: downloading golang.org/x/text v0.38.0
go: downloading github.com/wlynxg/anet v0.0.5
go: downloading golang.org/x/mod v0.37.0
go: downloading modernc.org/libc v1.74.1
go: downloading github.com/dustin/go-humanize v1.0.1
go: downloading modernc.org/memory v1.11.0
go: downloading github.com/google/uuid v1.6.0
go: downloading modernc.org/mathutil v1.7.1
go: downloading github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec
=== gofmt (1 s)
gofmt -l .: clean
=== rest (253 s)
?   	github.com/carlosframework/platform/cmd/changelog	[no test files]
ok  	github.com/carlosframework/platform/cmd/console	4.834s
ok  	github.com/carlosframework/platform/cmd/moveprobe	11.861s
ok  	github.com/carlosframework/platform/cmd/zddprobe	0.725s
ok  	github.com/carlosframework/platform/internal/activator	73.643s
ok  	github.com/carlosframework/platform/internal/agentsock	0.021s
ok  	github.com/carlosframework/platform/internal/alerting	0.004s
ok  	github.com/carlosframework/platform/internal/analytics	0.043s
ok  	github.com/carlosframework/platform/internal/appconfig	2.639s
ok  	github.com/carlosframework/platform/internal/apperr	0.118s
ok  	github.com/carlosframework/platform/internal/applog	0.223s
ok  	github.com/carlosframework/platform/internal/awsinv	0.011s
ok  	github.com/carlosframework/platform/internal/boxchoice	0.006s
ok  	github.com/carlosframework/platform/internal/boxid	0.697s
?   	github.com/carlosframework/platform/internal/boxid/boxidtest	[no test files]
?   	github.com/carlosframework/platform/internal/boxid/internal/signtest	[no test files]
ok  	github.com/carlosframework/platform/internal/boxvolumes	0.010s
ok  	github.com/carlosframework/platform/internal/caps	0.017s
ok  	github.com/carlosframework/platform/internal/certwarm	0.004s
ok  	github.com/carlosframework/platform/internal/cgroup	0.730s
ok  	github.com/carlosframework/platform/internal/changelog	0.411s
ok  	github.com/carlosframework/platform/internal/claimactivation	1.077s
ok  	github.com/carlosframework/platform/internal/clamd	0.056s
?   	github.com/carlosframework/platform/internal/cliflag	[no test files]
?   	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	6.299s
ok  	github.com/carlosframework/platform/internal/dbdoor/dbdoortest	0.010s
ok  	github.com/carlosframework/platform/internal/dbverify	0.007s
ok  	github.com/carlosframework/platform/internal/dnsrec	0.005s
--- FAIL: TestFenceLanguagesAreDeclared (0.00s)
    fences_test.go:32: cli.md:2345: fence declares no language
    fences_test.go:32: cli.md:2351: fence declares no language
FAIL
FAIL	github.com/carlosframework/platform/internal/docsite	0.014s
ok  	github.com/carlosframework/platform/internal/domains	2.788s
ok  	github.com/carlosframework/platform/internal/doorkey	0.009s
ok  	github.com/carlosframework/platform/internal/economics	0.006s
ok  	github.com/carlosframework/platform/internal/edge	48.054s
?   	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.148s
ok  	github.com/carlosframework/platform/internal/gate	1.665s
ok  	github.com/carlosframework/platform/internal/genselect	0.023s
ok  	github.com/carlosframework/platform/internal/geo	0.025s
ok  	github.com/carlosframework/platform/internal/geoip	0.043s
ok  	github.com/carlosframework/platform/internal/historyreadback	0.181s
ok  	github.com/carlosframework/platform/internal/host	188.827s
ok  	github.com/carlosframework/platform/internal/hostactors	9.389s
ok  	github.com/carlosframework/platform/internal/hostactors/awsmembership	0.006s
ok  	github.com/carlosframework/platform/internal/hostbox	5.683s
ok  	github.com/carlosframework/platform/internal/hostclaim	2.620s
ok  	github.com/carlosframework/platform/internal/hostenv	0.006s
ok  	github.com/carlosframework/platform/internal/hostevidence	0.007s
ok  	github.com/carlosframework/platform/internal/hostexec	11.523s
ok  	github.com/carlosframework/platform/internal/hostfence	0.107s
ok  	github.com/carlosframework/platform/internal/hostfiles	12.049s
ok  	github.com/carlosframework/platform/internal/hostfloor	0.067s
ok  	github.com/carlosframework/platform/internal/hostguard	1.518s
ok  	github.com/carlosframework/platform/internal/hostops	5.492s
?   	github.com/carlosframework/platform/internal/hostops/fencerelease	[no test files]
ok  	github.com/carlosframework/platform/internal/hostops/internal/fencerelease	0.009s
ok  	github.com/carlosframework/platform/internal/hostquarantine	0.004s
ok  	github.com/carlosframework/platform/internal/hostrelocate	1.634s
ok  	github.com/carlosframework/platform/internal/hostresolve	0.509s
ok  	github.com/carlosframework/platform/internal/hostwrite	0.005s
ok  	github.com/carlosframework/platform/internal/infraview	0.006s
ok  	github.com/carlosframework/platform/internal/instancectl	5.267s
ok  	github.com/carlosframework/platform/internal/instanceexec	3.018s
ok  	github.com/carlosframework/platform/internal/instancefs	0.010s
ok  	github.com/carlosframework/platform/internal/instancekey	0.003s
ok  	github.com/carlosframework/platform/internal/instanceupdates	0.016s
ok  	github.com/carlosframework/platform/internal/layout	4.231s
ok  	github.com/carlosframework/platform/internal/lbhealth	0.009s
ok  	github.com/carlosframework/platform/internal/lease	10.320s
ok  	github.com/carlosframework/platform/internal/lease/leasetest	1.011s
ok  	github.com/carlosframework/platform/internal/ledger	0.037s
ok  	github.com/carlosframework/platform/internal/mail	0.452s
ok  	github.com/carlosframework/platform/internal/maintenance	0.129s
ok  	github.com/carlosframework/platform/internal/maintenanceexec	6.008s
ok  	github.com/carlosframework/platform/internal/maintenanceguard	0.173s
ok  	github.com/carlosframework/platform/internal/metrics	0.021s
ok  	github.com/carlosframework/platform/internal/moves	33.916s
ok  	github.com/carlosframework/platform/internal/moves/archive	1.795s
ok  	github.com/carlosframework/platform/internal/objstore	0.774s
ok  	github.com/carlosframework/platform/internal/ops	0.195s
ok  	github.com/carlosframework/platform/internal/park	0.762s
ok  	github.com/carlosframework/platform/internal/plans	0.007s
ok  	github.com/carlosframework/platform/internal/privatefile	0.005s
ok  	github.com/carlosframework/platform/internal/provision	100.370s
ok  	github.com/carlosframework/platform/internal/publicrelease	0.036s
?   	github.com/carlosframework/platform/internal/regionname	[no test files]
ok  	github.com/carlosframework/platform/internal/registry	8.754s
ok  	github.com/carlosframework/platform/internal/relay	7.428s
ok  	github.com/carlosframework/platform/internal/release	62.916s
ok  	github.com/carlosframework/platform/internal/rollout	6.390s
ok  	github.com/carlosframework/platform/internal/rolloutwords	0.011s
ok  	github.com/carlosframework/platform/internal/rootaws	0.111s
ok  	github.com/carlosframework/platform/internal/rootparticipation	0.064s
ok  	github.com/carlosframework/platform/internal/rootstate	0.027s
ok  	github.com/carlosframework/platform/internal/runs	0.701s
ok  	github.com/carlosframework/platform/internal/s3compat	0.008s
ok  	github.com/carlosframework/platform/internal/safefile	0.005s
ok  	github.com/carlosframework/platform/internal/schedule	3.515s
ok  	github.com/carlosframework/platform/internal/seeds	0.012s
ok  	github.com/carlosframework/platform/internal/sim/hostlife	35.190s
ok  	github.com/carlosframework/platform/internal/sim/litestreamfacts	3.794s
ok  	github.com/carlosframework/platform/internal/status	0.112s
ok  	github.com/carlosframework/platform/internal/steering	0.007s
ok  	github.com/carlosframework/platform/internal/stopevidence	1.469s
ok  	github.com/carlosframework/platform/internal/svcrole	0.090s
ok  	github.com/carlosframework/platform/internal/telemetry	0.005s
ok  	github.com/carlosframework/platform/internal/termfence	0.006s
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.008s
ok  	github.com/carlosframework/platform/internal/version	0.003s
ok  	github.com/carlosframework/platform/internal/vet	2.206s
FAIL
=== internal_console@0 (110 s)
ok  	github.com/carlosframework/platform/internal/console	107.976s
=== internal_console@1 (54 s)
ok  	github.com/carlosframework/platform/internal/console	51.529s
=== internal_console@2 (53 s)
2026/10/22 20:11:08 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:08 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:08 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:08 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:08 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:08 console: alert watch: no keymail grant for ops-b@keymail.dev — not notified (they must sign in to the console once)
2026/10/22 20:11:08 console: alert watch: unparsable alerts/boxes/box-junk.json: invalid character 'n' looking for beginning of object key string
2026/10/22 20:11:08 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:08 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:08 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:08 console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
2026/10/22 20:11:08 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:08 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:08 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: could not notify alice@keymail.dev of a CLI token issue: Post "http://127.0.0.1:44457/api/app/send": dial tcp 127.0.0.1:44457: connect: connection refused
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: app region bab/piped:  (default)
2026/10/22 20:11:09 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: could not notify alice@keymail.dev of a CLI token issue: Post "http://127.0.0.1:36901/api/app/send": dial tcp 127.0.0.1:36901: connect: connection refused
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:09 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:10 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:10 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:10 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:10 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:10 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: door keys bab/titogo: overwriting an unverifiable object: invalid character 'o' in literal null (expecting 'u')
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: door keys bab/titogo: overwriting an unverifiable object: doorkey: bad signature
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: api features block bab/titogo: features at apps/bab/titogo/features.json: unknown schema 9
2026/10/22 20:11:11 console: api features get bab/titogo: features at apps/bab/titogo/features.json: unknown schema 9
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: import old.shop.example.com: panic in the upload of seed sd_ksxlxvdoq5jxc6izocjygkxlyi: a fault in the check
goroutine 2296 [running]:
runtime/debug.Stack()
	/usr/local/go/src/runtime/debug/stack.go:26 +0x64
github.com/carlosframework/platform/internal/console.(*Server).runImportUpload.func2()
	/var/lib/amadan-runner/w2/repos/carlos__platform/wt/design-self-serve-offline-moves/internal/console/apiinstanceimport.go:561 +0x48
panic({0x18a7e40?, 0x1db1f90?})
	/usr/local/go/src/runtime/panic.go:860 +0x12c
github.com/carlosframework/platform/internal/console.TestImportUploadPanicAborts.func2({0x1dd6ce0?, 0x7f504a3838a0?}, {0x1a3185c5000?, 0x3a22393436347463?})
	/var/lib/amadan-runner/w2/repos/carlos__platform/wt/design-self-serve-offline-moves/internal/console/apiinstanceimport_test.go:976 +0x2c
github.com/carlosframework/platform/internal/console.(*Server).runImportUpload(0x7f50491bd508, 0x7f5049c0d440)
	/var/lib/amadan-runner/w2/repos/carlos__platform/wt/design-self-serve-offline-moves/internal/console/apiinstanceimport.go:568 +0x198
created by github.com/carlosframework/platform/internal/console.(*Server).handleAPIImportUpload in goroutine 2268
	/var/lib/amadan-runner/w2/repos/carlos__platform/wt/design-self-serve-offline-moves/internal/console/apiinstanceimport.go:442 +0x8ec
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:11 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:12 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:12 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:12 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:12 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:12 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:12 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:12 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:12 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:12 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:12 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:12 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:13 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:13 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:13 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:13 console: api instance move bab/titogo/acme.go.tito.io: typed move write refused: hostops: identity mismatch
2026/10/22 20:11:13 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:13 console: api instance move bab/titogo/acme.go.tito.io: typed move write refused: hostops: identity mismatch
2026/10/22 20:11:13 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:13 console: api instance move bab/titogo/acme.go.tito.io: typed move write refused: hostops: identity mismatch
2026/10/22 20:11:13 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:15 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:15 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:15 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:15 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:15 console: offline move acme.shop.example.com: ignoring control/offline-moves/acme.shop.example.com/mv_c6k66oxcrje4jczqlkvtlbqymq/source/ie-x.json: not a report of this move
2026/10/22 20:11:15 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:15 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:15 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:15 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:15 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:15 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:16 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:16 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:16 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:16 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:16 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:16 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:16 edges: box "legacy" has an edges file under control/edges/ but no status snapshot at all, so no region outside the home is automatically eligible until it reports; said once
2026/10/22 20:11:16 edges: 1 edges file(s) under control/edges/ but no fresh box snapshot matched any of them, so automatic region placement sees the home alone (are edges and status in different buckets? see CARLOS_STATUS_BUCKET/CARLOS_STATUS_PREFIX)
2026/10/22 20:11:16 console: an incomplete read of the edges files or box snapshots (edges complete true, snapshots complete false), so no region outside the home is automatically eligible this request; said once
2026/10/22 20:11:16 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:16 console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
2026/10/22 20:11:16 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:16 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:16 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/22 20:11:16 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/22 20:11:16 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/22 20:11:16 console: from main.shop.example.com: plan: dbdoor: the last planned file's header does not describe it
2026/10/22 20:11:16 console: from main.shop.example.com: plan: file does not exist
2026/10/22 20:11:16 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:16 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/22 20:11:16 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/22 20:11:16 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/22 20:11:16 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:16 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/22 20:11:16 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/22 20:11:16 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/22 20:11:16 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/22 20:11:16 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:17 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/22 20:11:17 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/22 20:11:17 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/22 20:11:17 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:17 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/22 20:11:17 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/22 20:11:17 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:17 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/22 20:11:17 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/22 20:11:17 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/22 20:11:17 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/22 20:11:17 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:17 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:17 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:17 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:17 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:17 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:17 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:17 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:17 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:17 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:17 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:17 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: relay enabled bab/titogo in eu-west-1 by alice@keymail.dev (incarnation 7168ec1c8dbfc46c, op 1)
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:18 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:19 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:19 console: api run bab/shop/acme.example.com run_wfgfn6ejgvrbi52okjvr7vj3hy: delete after ack: delete refused
2026/10/22 20:11:19 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:19 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:19 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:19 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:19 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:19 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:19 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:19 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:19 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:19 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:19 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:19 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:20 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:20 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:20 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:20 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:20 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:20 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:20 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:20 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:20 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:20 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:20 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:20 console: could not notify owner@example.teſt of a CLI token issue: keymail: lookup owner@example.teſt: keymail: GET /api/federation/lookup?addr=owner%40example.te%C5%BFt&from=console%40127.0.0.1%3A43767: could not determine target mailbox
2026/10/22 20:11:20 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:20 console: api store approvals: read store/entitlements/bab.json: objstore: store/entitlements/bab.json: invalid character 'o' in literal null (expecting 'u')
2026/10/22 20:11:20 console: could not notify ops@keymail.dev of a CLI token issue: Post "http://127.0.0.1:35833/api/app/send": EOF
2026/10/22 20:11:20 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:20 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:20 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:20 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: could not notify owner@example.teſt of a CLI token issue: keymail: lookup owner@example.teſt: keymail: GET /api/federation/lookup?addr=owner%40example.te%C5%BFt&from=console%40127.0.0.1%3A42003: could not determine target mailbox
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: api system antivirus: read: release: system/antivirus.json: schema 99 is not 1
2026/10/22 20:11:21 console: api system antivirus: replacing an unreadable record on disable: release: system/antivirus.json: schema 99 is not 1
2026/10/22 20:11:21 console: object scanning disabled deployment-wide by alice@keymail.dev
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: geoip upload: unexpected EOF
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: could not notify paul@keymail.dev of a CLI token issue: Post "http://127.0.0.1:41447/api/app/send": dial tcp 127.0.0.1:41447: connect: connection refused
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: bab/tmp-a is in the trash in the bucket; marking it trashed here
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: bab/tmp-b is in the trash in the bucket; marking it trashed here
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:21 console: could not notify paul@keymail.dev of a CLI token issue: Post "http://127.0.0.1:35435/api/app/send": dial tcp 127.0.0.1:35435: connect: connection refused
2026/10/22 20:11:21 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:22 console: api updates install bab/km/a.example.com: AccessDenied: s3://carlos-prod-secret-bucket/ledgers request id ABC123
2026/10/22 20:11:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:22 console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
2026/10/22 20:11:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:22 console: api releases list bab/km: tags: AccessDenied: s3://carlos-prod-secret-bucket/tags request id DEF456
2026/10/22 20:11:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:22 console: app region bab/console:  (default)
2026/10/22 20:11:22 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:22 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:22 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:22 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:22 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:22 console: architecture refresh: console: infra inventory disabled for this process
2026/10/22 20:11:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:22 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:22 console: app region bab/hub-a-0:  (default)
2026/10/22 20:11:22 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:22 console: app region bab/hub-a-1:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-2:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-3:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-4:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-5:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-6:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-7:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-8:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-9:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-10:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-11:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-12:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-13:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-14:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-15:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-16:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-17:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-18:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-19:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-20:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-21:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-22:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-23:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-24:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-25:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-26:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-27:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-28:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-29:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-30:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-31:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-32:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-33:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-34:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-35:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-36:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-37:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-38:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-39:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-40:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-41:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-42:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-43:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-44:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-45:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-46:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-47:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-48:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-49:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-50:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-51:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-52:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-53:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-54:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-55:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-56:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-57:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-58:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-59:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-60:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-61:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-62:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-63:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-64:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-65:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-66:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-67:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-68:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-69:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-70:  (default)
2026/10/22 20:11:22 console: app region bab/hub-a-71:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-72:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-73:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-74:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-75:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-76:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-77:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-78:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-79:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-80:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-81:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-82:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-83:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-84:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-85:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-86:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-87:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-88:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-89:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-90:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-91:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-92:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-93:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-94:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-95:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-96:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-97:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-98:  (default)
2026/10/22 20:11:23 console: app region bab/hub-a-99:  (default)
2026/10/22 20:11:23 console: app region bab/hub-b-fresh:  (default)
2026/10/22 20:11:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:23 console: materialized account bac (Kass) from the bucket
2026/10/22 20:11:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:23 edges: skipping control/edges/uk-box.json in the placement join: not a versioned edges file
2026/10/22 20:11:23 edges: box "uk-box" has a fresh status snapshot but no edges file under control/edges/, so no region outside the home is automatically eligible until it publishes one; said once
2026/10/22 20:11:23 console: claim request refused: hostops: the placement read was incomplete, so no box could be judged
2026/10/22 20:11:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:23 console: claim request refused: hostops: the placement read was incomplete, so no box could be judged
2026/10/22 20:11:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:23 console: claim request refused: move room check: edges store down
2026/10/22 20:11:23 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:24 console: claim request refused: move room check: hostops: the placement read was incomplete, so no box could be judged
2026/10/22 20:11:24 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:24 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:24 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:24 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:24 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:24 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:24 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:24 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:24 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:25 console: claim recovery: context canceled
2026/10/22 20:11:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:26 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:26 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:26 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:26 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:27 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:28 console: could not notify eve@keymail.dev of a CLI token issue: Post "http://127.0.0.1:34189/api/app/send": dial tcp 127.0.0.1:34189: connect: connection refused
2026/10/22 20:11:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:28 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:28 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:28 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:28 console: api instances create bab/titogo: refused: acme.go.tito.io still holds replica data from a deleted record (#199); purge it to free the host
2026/10/22 20:11:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:28 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:28 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:28 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:28 console: api sidecars create bab/titogo: refused: bot.titogo.bab.sidecar.internal still holds replica data from a deleted record (#199); purge it to free the host
2026/10/22 20:11:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:28 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:28 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:28 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:28 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:28 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:28 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:28 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:28 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:28 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:28 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:28 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:28 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:28 console: materialized account bac (Testco) from the bucket
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:29 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:29 console: deploy signer for bab/hello: mint key grant: invalid name "deploy.bad name!" (letters, digits, . _ - ; up to 64)
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:29 console: attach story.carlosframework.com: existing record is not this door's to adopt (read: provision: record bab/story/story.carlosframework.com: provision: record is corrupt: provision: invalid maintenance projection or protected fields)
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:29 console: attach story.carlosframework.com: record write: opStore: timed out after the object landed
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:29 console: attach story.carlosframework.com: record write: opStore: bucket unavailable
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:29 console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:30 console: edge proof: first signed request from the edge — X-Forwarded-For from loopback now needs a proof
2026/10/22 20:11:30 console: a loopback request carried X-Forwarded-For with no valid edge proof; counting it against the peer address. Expected now and then from a process on this box; on every request it means the edge no longer signs (rolled back?) and every client shares one rate limit
2026/10/22 20:11:30 console: a loopback request carried X-Forwarded-For with no valid edge proof; counting it against the peer address. Expected now and then from a process on this box; on every request it means the edge no longer signs (rolled back?) and every client shares one rate limit
2026/10/22 20:11:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:30 console: expiry pass: bab/tmp-a is marked as the control plane; not purging it
2026/10/22 20:11:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:30 console: expiry pass: bab/tmp-a has email estate; not purging it
2026/10/22 20:11:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:30 console: geoip feed test-feed: edition 2026-10 rejected: wrong type
2026/10/22 20:11:30 console: geoip feed status unreadable; this check's outcome was not recorded
2026/10/22 20:11:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:31 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:31 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:31 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:31 console: instance store bab/shop/canary: seed sd_aaaaaaaaaaaaaaaaaaaaaaaaaa declaration not rolled back: the record was written since (its grant block or another writer), left as it is
2026/10/22 20:11:31 console: instance store provision bab/shop/canary: objstore: ensure user carlos-store-bab-shop-canary: iam is down
2026/10/22 20:11:31 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:31 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:31 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:31 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:31 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:31 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:32 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:32 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:32 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:32 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:32 console: materialized account bac (Kass) from the bucket
2026/10/22 20:11:32 console: materialized account bac (Testco) from the bucket
2026/10/22 20:11:32 console: reaped account bac (Testco) — its manifest is tombstoned
2026/10/22 20:11:32 console: materialized account bac (Testco) from the bucket
2026/10/22 20:11:32 console: bac/alpha is in the trash in the bucket — marking it trashed here
2026/10/22 20:11:32 console: bac/beta has no trash marker and still has objects — restoring it here
2026/10/22 20:11:32 console: bac/gamma is gone from the bucket — releasing the name here
2026/10/22 20:11:32 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:33 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:33 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/22 20:11:33 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/22 20:11:33 console: audit instance-delete titogo: hostops: pending
2026/10/22 20:11:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:43 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:43 console: execute promote 6b0f3de969402e52ceb1043834bafda8: 1 of 2 confirmations counted (1 rows, quorum stored 2)
2026/10/22 20:11:43 console: execute promote fa2f91891d84c9c8580292c58b8b613b: change belongs to 1/"kass", not 1/"widget"
2026/10/22 20:11:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:43 console: app region bab/bakeapp:  (default)
2026/10/22 20:11:43 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:44 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:44 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:44 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:45 console: claim SQL receipt database moved from instance i-original to i-replacement; it has a new database ID, and effects bound to the old one stay unsettled
2026/10/22 20:11:45 console: claim SQL receipt database moved from instance i-replacement to i-original; it has a new database ID, and effects bound to the old one stay unsettled
2026/10/22 20:11:46 console: alert watch: no keymail grant for ops-b@keymail.dev — not notified (they must sign in to the console once)
2026/10/22 20:11:46 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:46 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:46 console: plan limits: bab: bucket unavailable
2026/10/22 20:11:46 console: plan limits: byv: bucket unavailable
2026/10/22 20:11:47 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:47 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:47 console: api instances create bab/titogo: incomplete edges or snapshot read, region uk unconfirmed
2026/10/22 20:11:47 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:47 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:47 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:47 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:47 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:47 console: relay enabled bab/titogo in eu-west-1 by alice@keymail.dev (incarnation 37ee80c228941d3c, op 1)
2026/10/22 20:11:47 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:47 console: relay enabled bab/titogo in eu-west-1 by alice@keymail.dev (incarnation 63cb9948f09d60a6, op 1)
2026/10/22 20:11:47 console: relay rotated eu-west-1 to kid k2, re-issued 1 app(s)
2026/10/22 20:11:47 console: relay rotated eu-west-1 to kid k3, re-issued 1 app(s)
2026/10/22 20:11:47 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:48 console: api instances list bab/kass: 1 record(s) unreadable [pi-host.example.test]; every fleet counts toward the rollout join
2026/10/22 20:11:48 status: fleet: skipping status/boxes/broken.json: corrupt snapshot: invalid character 'n' looking for beginning of object key string
2026/10/22 20:11:48 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:48 status: fleet: skipping status/boxes/broken.json: corrupt snapshot: invalid character 'n' looking for beginning of object key string
2026/10/22 20:11:48 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:48 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:48 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:48 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:48 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:48 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:48 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:48 console: scan drain: bab/kass: queue dropped — this store may no longer be scanned
2026/10/22 20:11:48 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:49 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:49 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:49 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:49 console: a clamd address is configured but object scanning is not enabled — run `carlos system antivirus enable`
2026/10/22 20:11:49 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:49 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/22 20:11:49 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/22 20:11:49 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/22 20:11:49 console: instance bab/shop/other.shop.example.com binds environment "canary": the store seed sd_erba5jzmszqrytdsxna2matdgi made (bucket carlos-bab-shop-canary) is no longer that seed's, and its finish leaves it standing
2026/10/22 20:11:49 console: finished seed sd_erba5jzmszqrytdsxna2matdgi of bab/shop/canary.shop.example.com
2026/10/22 20:11:49 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:49 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/22 20:11:49 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/22 20:11:49 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/22 20:11:49 console: instance bab/shop/other.shop.example.com binds environment "canary": the store seed sd_i5doceyabom5ex7afjw6bvff5a made (bucket carlos-bab-shop-canary) is no longer that seed's, and its finish leaves it standing
2026/10/22 20:11:49 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:49 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/22 20:11:49 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/22 20:11:49 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/22 20:11:49 console: finish seed sd_5byvakmg36u2fwofbwstfsvb7i of canary.shop.example.com: its replica is outside this console's data bucket; not deleting it
2026/10/22 20:11:49 console: finished seed sd_5byvakmg36u2fwofbwstfsvb7i of bab/shop/canary.shop.example.com
2026/10/22 20:11:49 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:49 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/22 20:11:49 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/22 20:11:49 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/22 20:11:49 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:49 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:49 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:49 console: seeds pass: off on a host-claim console, where every seed door refuses
2026/10/22 20:11:49 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/22 20:11:49 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/22 20:11:49 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/22 20:11:49 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/22 20:11:49 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/22 20:11:49 console: seeds pass: deleted seeds/canary.shop.example.com/sd_ffypgc5cpby2m4lylo2aolp26q/snapshot.db
2026/10/22 20:11:49 console: seeds pass: finish seed sd_ffypgc5cpby2m4lylo2aolp26q of canary.shop.example.com: finish seed sd_ffypgc5cpby2m4lylo2aolp26q of canary.shop.example.com: this console has no storage backend to tear its store down with
2026/10/22 20:11:50 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:50 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:50 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:50 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:50 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:50 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:50 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:50 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:50 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:50 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:50 console: steering hostname "*.oncarlos.com" is not a valid domain — custom-domain guidance keeps the A-record form
2026/10/22 20:11:50 console: steering hostname "not a host" is not a valid domain — custom-domain guidance keeps the A-record form
2026/10/22 20:11:50 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:50 console: fleet hosts: bucket list refused
2026/10/22 20:11:50 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:50 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:50 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:50 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:51 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:51 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:51 console: ses events: signature verification failed: fake: signature does not verify
2026/10/22 20:11:51 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:51 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:51 console: store decision bab: keymail to paul@keymail.dev: delivery failed
2026/10/22 20:11:51 console: store application bab: keymail to paul@keymail.dev: delivery failed
2026/10/22 20:11:51 console: could not notify paul@keymail.dev of a CLI token issue: Post "http://127.0.0.1:45059/api/app/send": dial tcp 127.0.0.1:45059: connect: connection refused
2026/10/22 20:11:52 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:52 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:52 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:52 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:52 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:52 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:52 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:52 console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
2026/10/22 20:11:53 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
--- FAIL: TestEveryClosedDoorRefusesAServiceCredential (0.63s)
    svcroutes_test.go:1011: walked 64 closed doors, want all 64 (and 63 today: instance-token, three door-key doors, the routes door, instances-manifest, the app update policy, sidecars-manifest, the route-channel move, three instance update settings doors, two db replica doors, six fleets, four services, two email credentials, email pause, the build probe, the swap policy, the live tenancy read, the layout read, the activation-cancel door, nine system doors, three deployment-wide antivirus, three platform geoip doors, two pointer digest doors, the channel resign, two release authorize doors, four store-entitlement doors, two account plan doors, and the five run doors)
2026/10/22 20:11:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:56 console: app region bab/four:  (default)
2026/10/22 20:11:56 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:56 console: backfilled account manifest for bab (ops)
2026/10/22 20:11:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/22 20:11:57 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
FAIL
FAIL	github.com/carlosframework/platform/internal/console	50.947s
FAIL
=== internal_console@3 (64 s)
ok  	github.com/carlosframework/platform/internal/console	62.451s
=== internal_console@4 (80 s)
ok  	github.com/carlosframework/platform/internal/console	77.598s
=== internal_console@5 (60 s)
ok  	github.com/carlosframework/platform/internal/console	57.520s
=== internal_console@6 (59 s)
ok  	github.com/carlosframework/platform/internal/console	56.958s
=== internal_console@7 (69 s)
ok  	github.com/carlosframework/platform/internal/console	66.194s
=== root@0 (63 s)
ok  	github.com/carlosframework/platform	59.179s
=== root@1 (76 s)
ok  	github.com/carlosframework/platform	73.339s
=== root@2 (80 s)
ok  	github.com/carlosframework/platform	78.238s

FAILED: rest internal_console@2
make: *** [Makefile:19: 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/docs/site/cli.md b/docs/site/cli.md
index 6e15a3688..b0a782208 100644
--- a/docs/site/cli.md
+++ b/docs/site/cli.md
@@ -2340,7 +2340,7 @@ Run it in this order:
carlos system lifetimes cutover
```
-The console writes control/lifetimes-cutover.json and stops taking new changes to instances at once. Reads still answer. Work it had already started is allowed to finish, and the command says how much is left:
+The console writes control/lifetimes-cutover.json and at once stops taking changes of every kind. While it switches on instance lifetimes, every change made through the console answers 503 "the console is switching on instance lifetimes. try again in a minute". That covers changes to instances, deploys and promotions, invites and account actions, from the CLI and from the browser. Reads keep working. The refusal lasts at least a minute. It lasts longer while changes the console took before the marker are still finishing, and the command prints how many are left:
```
instance lifetimes: switching on; 2 unit(s) of earlier work still finishing
@@ -2352,7 +2352,9 @@ A minute after the last of that work ends, lifetimes are on:
instance lifetimes: on since 2026-10-22T12:01:30Z
```
-Until then, a change to an instance is refused with "the console is switching on instance lifetimes. try again in a minute". The command asks again every 5 seconds until lifetimes are on. Running it again is safe: it only reports how far the console has got. With --no-wait it prints the state once and returns.
+The command asks again every 5 seconds until lifetimes are on. Running it again is safe: it only reports how far the console has got. With --no-wait it prints the state once and returns.
+
+While the console starts, until it has read the marker, every page answers 503 "the console is starting. try again in a minute". This is usually over in a moment.
A console that restarts after the cutover waits a minute after its own start before it turns lifetimes on again. A marker written by hand closes the console to changes within 10 seconds. If the marker exists but cannot be read, the command says so; repair control/lifetimes-cutover.json by hand. A console with host claims has no lifetimes, and refuses the command.
diff --git a/internal/console/lifetimes_cutover.go b/internal/console/lifetimes_cutover.go
index 0906d5a54..44aa078f1 100644
--- a/internal/console/lifetimes_cutover.go
+++ b/internal/console/lifetimes_cutover.go
@@ -195,6 +195,7 @@ func (g *cutoverGate) observe(m *cutoverMarker, readErr error, now time.Time) {
case readErr != nil:
// Uncertainty closes admission but can never activate: markerSeen
// stays as it was, and is false unless a marker was validated.
+ // A marker validated once stays validated: by rule it is never deleted.
if g.state != cutoverUnknown {
g.state = cutoverDraining
}
diff --git a/internal/console/lifetimes_cutover_test.go b/internal/console/lifetimes_cutover_test.go
index 2fa5def86..373ff190b 100644
--- a/internal/console/lifetimes_cutover_test.go
+++ b/internal/console/lifetimes_cutover_test.go
@@ -728,8 +728,10 @@ func TestWorkersLoopAcrossTheCutover(t *testing.T) {
if code, st, body := l.cutover(t, l.operator); code != http.StatusOK || st.Pending < 1 {
t.Fatalf("cutover = %d %s, want draining with the sweep pending", code, body)
}
- for iterations.Load() < 20 {
- time.Sleep(time.Millisecond)
+ for spun := time.Now(); iterations.Load() < 20; time.Sleep(time.Millisecond) {
+ if time.Since(spun) > 10*time.Second {
+ t.Fatalf("the stand-in passes iterated %d times in 10 s, want 20", iterations.Load())
+ }
}
select {
case <-ran:
diff --git a/internal/provision/testdata/plan14-root-reads-self-serve-moves-1.tsv b/internal/provision/testdata/plan14-root-reads-self-serve-moves-1.tsv
index d2e3fc985..b14faf9f5 100644
--- a/internal/provision/testdata/plan14-root-reads-self-serve-moves-1.tsv
+++ b/internal/provision/testdata/plan14-root-reads-self-serve-moves-1.tsv
@@ -45,7 +45,7 @@ internal/console/store_gate.go claimSQLCensus legacy accepted-legacy accepted-le
@remove internal/console/tempstore.go Store.CreateTemporaryAppInRegion
@removed internal/console/tempstore.go Store.CreateTemporaryAppInRegion H3 census-ruling-PROPOSED-self-serve-moves-1;rev3=PROPOSED-self-serve-moves-1;basis=constructor remains declared but has no direct read; app insertion and lifetime minting moved to insertAppRow, classified above; proposed removal only
# Task 2 envelopes, rev3=PROPOSED-self-serve-moves-1: internal/console covers the lifetime store, app constructors, lifetime projection and table-scoped gate labels; internal/provision (above) adds only ErrLifetimeExhausted beyond Task 1. Registry fields are unchanged.
-@coverage internal/console c3b410d7e8d1c98c61d3278a7e1a5351baa4284e311dc90294efe4251f1544a9
+@coverage internal/console 91dfd69fe16f100052635575cac99818d9bd89c8b477c481ef44663524ea6311
# Task 6a: rev3=PROPOSED-self-serve-moves-1; reviewed provision envelope now includes bounded record-then-slot observations, judged read/list/update gates and signed-counter exhaustion at slot read. No removal-loop, host or console change; registry fields and the legacy seal stand.
internal/provision/rootrecord.go IndexRecords authority B3,C rev3=PROPOSED-self-serve-moves-1;basis=retain every discovered candidate owner key per host for fresh lifetime judgement at Find; partial discovery still retries and no verdict or body is cached e44ac431865bf38baa4105f66c9cb23014cc3c7ffcd41d5385244cc76fc4c0b9
internal/provision/rootrecord.go RecordIndex.Find authority B3,C rev3=PROPOSED-self-serve-moves-1;basis=observe each candidate through the context judge, refuse corruption and read failures, require one valid owner and validate its schema and shape; nil-judge duplicates retain permission refusal 760eed59cbd6a8ddab1098ce3a5f7a4272ecda81c17cc079dc135aba3a85a8f8
@@ -60,5 +60,5 @@ internal/console/apiinstanceseed.go Server.runFrom legacy accepted-legacy accept
internal/console/server.go NewServer legacy accepted-legacy accepted-legacy;rev3=PROPOSED-self-serve-moves-1;basis=console construction adds the lifetime judge, the cutover admission gate and its first marker read; claims-off app materialisation moves to the cutover watch; the existing logs/data route literal moves and is not a filesystem read data-literal@9149 737b2f91242d1a6750de07b43ea0c72bc0bc24365211e8a6abf7b3307126f5e8
system.go runSystem authority B,C,D,F,G,J4 rev3=PROPOSED-self-serve-moves-1;identity=explicit operator CLI uid 0;basis=adds the lifetimes family to the system dispatch (carlos system lifetimes cutover, a console door call as the operator); every existing command branch unchanged 8276403c56bc08639e62dee3a348573707c6f5b6909c8b1423bdc21e900390c1
system.go systemVerb authority B,C,D,F,G,J4 rev3=PROPOSED-self-serve-moves-1;identity=explicit operator CLI uid 0;basis=adds the lifetimes family to the system dispatch (carlos system lifetimes cutover, a console door call as the operator); every existing command branch unchanged 5952f7a80803ed5279dea42b3b2166e2d2d93ddd9fbe2e13ac8b1c00044bdb70
-@coverage . a523e20ce94095ba3023f1abe6f3af29dac8dc8cecca221f2c8a7d827549d10b
+@coverage . fc604d5a74c58e761759747a2a4b8f166c51576eb4c457c55370fa2d678f4bd1
@coverage cmd/console 3d40f88dab5d2cb0eff35c526ef7c2a19fd3fb700dad33678e630e9e0ced10f5
diff --git a/system_lifetimes.go b/system_lifetimes.go
index 83c139a57..7e0ee7c0c 100644
--- a/system_lifetimes.go
+++ b/system_lifetimes.go
@@ -24,6 +24,14 @@ const lifetimesCutoverDoor = "/api/cli/system/lifetimes/cutover"
// is still switching. A variable so a test need not wait.
var lifetimesCutoverPoll = 5 * time.Second
+// lifetimesCutoverRetries and lifetimesCutoverRetryFor bound how long the
+// command keeps asking through failed polls: the door is idempotent, so a
+// failed poll is asked again, until this many in a row or this long.
+const (
+ lifetimesCutoverRetries = 5
+ lifetimesCutoverRetryFor = 60 * time.Second
+)
+
// lifetimesCutoverStatus is what the door answers.
type lifetimesCutoverStatus struct {
State string `json:"state"`
@@ -38,18 +46,24 @@ func (s *apiSession) SystemLifetimesCutover(ctx context.Context) (lifetimesCutov
}
func systemLifetimesCutover(ctx context.Context, post rolePost) (lifetimesCutoverStatus, error) {
+ st, _, err := pollLifetimesCutover(ctx, post)
+ return st, err
+}
+
+// pollLifetimesCutover is one door call. retry says whether a failure is
+// worth asking again: no answer, or a 5xx. A refusal (404, 409) is final.
+func pollLifetimesCutover(ctx context.Context, post rolePost) (st lifetimesCutoverStatus, retry bool, err error) {
status, body, err := post(ctx, lifetimesCutoverDoor, map[string]string{})
if err != nil {
- return lifetimesCutoverStatus{}, err
+ return lifetimesCutoverStatus{}, true, err
}
if status != http.StatusOK {
- return lifetimesCutoverStatus{}, apiErrorFromBody(status, body)
+ return lifetimesCutoverStatus{}, status >= http.StatusInternalServerError, apiErrorFromBody(status, body)
}
- var out lifetimesCutoverStatus
- if err := json.Unmarshal(body, &out); err != nil {
- return lifetimesCutoverStatus{}, fmt.Errorf("unreadable response: %w", err)
+ if err := json.Unmarshal(body, &st); err != nil {
+ return lifetimesCutoverStatus{}, true, fmt.Errorf("unreadable response: %w", err)
}
- return out, nil
+ return st, false, nil
}
// lifetimesCutoverLine is the line the command prints for a status.
@@ -62,14 +76,25 @@ func lifetimesCutoverLine(st lifetimesCutoverStatus) string {
// waitLifetimesCutover calls the door, prints its line, and with wait asks
// again every lifetimesCutoverPoll until lifetimes are on, printing each line
-// that differs from the last.
+// that differs from the last. A poll that got no answer or a 5xx is asked
+// again (a refusal is final), up to
+// lifetimesCutoverRetries in a row or lifetimesCutoverRetryFor of polling
+// time, then the last error is returned. Polling time is counted in polls,
+// not the wall clock, so a test's sleep need not wait.
func waitLifetimesCutover(ctx context.Context, post rolePost, w io.Writer, wait bool, sleep func(time.Duration)) error {
last := ""
+ failures := 0
for {
- st, err := systemLifetimesCutover(ctx, post)
+ st, retry, err := pollLifetimesCutover(ctx, post)
if err != nil {
- return err
+ failures++
+ if !retry || failures >= lifetimesCutoverRetries || time.Duration(failures)*lifetimesCutoverPoll >= lifetimesCutoverRetryFor {
+ return err
+ }
+ sleep(lifetimesCutoverPoll)
+ continue
}
+ failures = 0
if line := lifetimesCutoverLine(st); line != last {
fmt.Fprintln(w, line)
last = line
diff --git a/system_lifetimes_test.go b/system_lifetimes_test.go
index da6b3ccb3..7e3d10ace 100644
--- a/system_lifetimes_test.go
+++ b/system_lifetimes_test.go
@@ -86,3 +86,33 @@ func TestSystemLifetimesCutoverCLI(t *testing.T) {
t.Fatalf("--no-wait printed %q after %d calls", out.String(), len(c.paths))
}
}
+
+// A failed poll is asked again: the door is idempotent. Up to five failures
+// in a row are retried; a sixth is not needed, and the fifth is returned. A
+// refusal is final at once.
+func TestSystemLifetimesCutoverRetriesFailedPolls(t *testing.T) {
+ flaky := &cutoverReplies{}
+ flaky.reply(http.StatusBadGateway, `{"error":"could not write the cutover marker. Try again."}`).
+ reply(http.StatusBadGateway, `{"error":"could not write the cutover marker. Try again."}`).
+ reply(http.StatusOK, `{"state":"on","at":"2026-10-22T12:01:30Z","pending":0}`)
+ var out bytes.Buffer
+ if err := waitLifetimesCutover(context.Background(), flaky.post, &out, true, func(d time.Duration) { flaky.sleeps = append(flaky.sleeps, d) }); err != nil {
+ t.Fatalf("two failed polls then on = %v, want on", err)
+ }
+ if out.String() != "instance lifetimes: on since 2026-10-22T12:01:30Z\n" || len(flaky.paths) != 3 || len(flaky.sleeps) != 2 {
+ t.Fatalf("printed %q after %d calls and %d sleeps", out.String(), len(flaky.paths), len(flaky.sleeps))
+ }
+
+ down := (&cutoverReplies{}).reply(http.StatusServiceUnavailable, `{"error":"the bucket did not answer"}`)
+ if err := waitLifetimesCutover(context.Background(), down.post, &out, true, func(time.Duration) {}); err == nil || err.Error() != "the bucket did not answer" {
+ t.Fatalf("five failed polls = %v, want the last error", err)
+ }
+ if len(down.paths) != lifetimesCutoverRetries {
+ t.Fatalf("asked %d times, want %d", len(down.paths), lifetimesCutoverRetries)
+ }
+
+ refused := (&cutoverReplies{}).reply(http.StatusConflict, `{"error":"this console runs host claims; lifetimes are not for it"}`)
+ if err := waitLifetimesCutover(context.Background(), refused.post, &out, true, func(time.Duration) { t.Fatal("a refusal was retried") }); err == nil || len(refused.paths) != 1 {
+ t.Fatalf("a refusal = %v after %d calls, want final at once", err, len(refused.paths))
+ }
+}