carlos / platform Public

console: explain an edge reference code from its seal and its record

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev 0449605c32bcbd462ab63221a05169ea0fd87380 parent 6671ea3
6 files changed, +275 −0
  • internal/console/apiedgeref.go +100 −0
  • internal/console/apiedgeref_test.go +160 −0
  • internal/console/authcli.go +4 −0
  • internal/console/claim_invariant_fixtures_test.go +1 −0
  • internal/console/claim_invariant_probes_read_test.go +5 −0
  • internal/console/svcroutes_test.go +5 −0

CI failed — run details

CI log
=== gate ===
.amadan/test-gate.sh
=== launchctx (1 s)
ok  	amadan.net/carlos/platform.git/launchctx	0.016s
?   	amadan.net/carlos/platform.git/launchctx/controlname	[no test files]
?   	amadan.net/carlos/platform.git/launchctx/wireid	[no test files]
=== vet (16 s)
=== gofmt (1 s)
gofmt -l .: clean
=== rest (170 s)
?   	github.com/carlosframework/platform/cmd/changelog	[no test files]
ok  	github.com/carlosframework/platform/cmd/console	4.568s
ok  	github.com/carlosframework/platform/cmd/moveprobe	12.420s
ok  	github.com/carlosframework/platform/cmd/zddprobe	0.867s
ok  	github.com/carlosframework/platform/internal/activator	60.632s
ok  	github.com/carlosframework/platform/internal/agentsock	0.046s
ok  	github.com/carlosframework/platform/internal/alerting	0.015s
ok  	github.com/carlosframework/platform/internal/analytics	0.052s
ok  	github.com/carlosframework/platform/internal/appconfig	3.657s
ok  	github.com/carlosframework/platform/internal/apperr	0.207s
ok  	github.com/carlosframework/platform/internal/applog	0.428s
ok  	github.com/carlosframework/platform/internal/awsinv	0.008s
ok  	github.com/carlosframework/platform/internal/boxchoice	0.014s
ok  	github.com/carlosframework/platform/internal/boxid	1.142s
?   	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.039s
ok  	github.com/carlosframework/platform/internal/caps	0.040s
ok  	github.com/carlosframework/platform/internal/certwarm	0.033s
ok  	github.com/carlosframework/platform/internal/cgroup	0.910s
ok  	github.com/carlosframework/platform/internal/changelog	0.802s
ok  	github.com/carlosframework/platform/internal/claimactivation	1.912s
ok  	github.com/carlosframework/platform/internal/clamd	0.074s
?   	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	7.719s
ok  	github.com/carlosframework/platform/internal/dbdoor/dbdoortest	0.034s
ok  	github.com/carlosframework/platform/internal/dbquery	0.015s
ok  	github.com/carlosframework/platform/internal/dbreads	2.134s
?   	github.com/carlosframework/platform/internal/dbreads/dbreadstest	[no test files]
ok  	github.com/carlosframework/platform/internal/dbverify	0.005s
ok  	github.com/carlosframework/platform/internal/dnsrec	0.030s
ok  	github.com/carlosframework/platform/internal/docsite	0.019s
ok  	github.com/carlosframework/platform/internal/domains	3.656s
ok  	github.com/carlosframework/platform/internal/doorkey	0.015s
ok  	github.com/carlosframework/platform/internal/economics	0.006s
ok  	github.com/carlosframework/platform/internal/edge	46.953s
?   	github.com/carlosframework/platform/internal/edgeproof	[no test files]
ok  	github.com/carlosframework/platform/internal/edgesfile	0.009s
ok  	github.com/carlosframework/platform/internal/fleetapi	0.141s
ok  	github.com/carlosframework/platform/internal/gate	1.660s
ok  	github.com/carlosframework/platform/internal/genselect	0.015s
ok  	github.com/carlosframework/platform/internal/geo	0.016s
ok  	github.com/carlosframework/platform/internal/geoip	0.034s
ok  	github.com/carlosframework/platform/internal/historyreadback	0.163s
ok  	github.com/carlosframework/platform/internal/host	142.544s
ok  	github.com/carlosframework/platform/internal/hostactors	6.311s
ok  	github.com/carlosframework/platform/internal/hostactors/awsmembership	0.005s
ok  	github.com/carlosframework/platform/internal/hostbox	3.683s
ok  	github.com/carlosframework/platform/internal/hostclaim	1.299s
ok  	github.com/carlosframework/platform/internal/hostenv	0.013s
ok  	github.com/carlosframework/platform/internal/hostevidence	0.018s
ok  	github.com/carlosframework/platform/internal/hostexec	7.093s
ok  	github.com/carlosframework/platform/internal/hostfence	0.069s
ok  	github.com/carlosframework/platform/internal/hostfiles	10.717s
ok  	github.com/carlosframework/platform/internal/hostfloor	0.024s
ok  	github.com/carlosframework/platform/internal/hostguard	1.137s
ok  	github.com/carlosframework/platform/internal/hostops	3.085s
?   	github.com/carlosframework/platform/internal/hostops/fencerelease	[no test files]
ok  	github.com/carlosframework/platform/internal/hostops/internal/fencerelease	0.004s
ok  	github.com/carlosframework/platform/internal/hostquarantine	0.004s
ok  	github.com/carlosframework/platform/internal/hostrelocate	0.946s
ok  	github.com/carlosframework/platform/internal/hostresolve	0.324s
ok  	github.com/carlosframework/platform/internal/hostwrite	0.004s
ok  	github.com/carlosframework/platform/internal/infraview	0.004s
ok  	github.com/carlosframework/platform/internal/instancectl	5.297s
ok  	github.com/carlosframework/platform/internal/instanceexec	2.994s
ok  	github.com/carlosframework/platform/internal/instancefs	0.036s
ok  	github.com/carlosframework/platform/internal/instancekey	0.014s
ok  	github.com/carlosframework/platform/internal/instanceupdates	0.017s
ok  	github.com/carlosframework/platform/internal/layout	2.407s
ok  	github.com/carlosframework/platform/internal/lbhealth	0.006s
ok  	github.com/carlosframework/platform/internal/lease	10.195s
ok  	github.com/carlosframework/platform/internal/lease/leasetest	0.879s
ok  	github.com/carlosframework/platform/internal/ledger	0.036s
ok  	github.com/carlosframework/platform/internal/mail	0.340s
ok  	github.com/carlosframework/platform/internal/maintenance	0.129s
ok  	github.com/carlosframework/platform/internal/maintenanceexec	5.797s
ok  	github.com/carlosframework/platform/internal/maintenanceguard	0.219s
ok  	github.com/carlosframework/platform/internal/metrics	0.010s
ok  	github.com/carlosframework/platform/internal/moves	23.915s
ok  	github.com/carlosframework/platform/internal/moves/archive	1.358s
ok  	github.com/carlosframework/platform/internal/objstore	0.481s
ok  	github.com/carlosframework/platform/internal/ops	0.292s
ok  	github.com/carlosframework/platform/internal/park	0.395s
ok  	github.com/carlosframework/platform/internal/plans	0.007s
ok  	github.com/carlosframework/platform/internal/privatefile	0.012s
2026/10/24 23:56:34 provision: listing apps/bab/blog/instances/: list refused — its records are unseen this pass
2026/10/24 23:56:34 provision: listing apps/bab/: listdirs refused — its records are unseen this pass
2026/10/24 23:56:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:34 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/24 23:56:34 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/24 23:56:34 provision: skipping record apps/bac/tito/instances/one.example.com.json: unreadable: read refused
2026/10/24 23:56:34 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/24 23:56:34 provision: an app's records could not be listed: they are skipped
2026/10/24 23:56:34 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 23:56:34 provision: remove retired instance route shop.example: provision: claim admission unavailable
2026/10/24 23:56:34 provision: remove retired instance route shop.example: provision: claim admission unavailable
2026/10/24 23:56:34 provision: remove retired sidecar route worker.sidecar.internal: provision: claim admission unavailable
2026/10/24 23:56:34 provision: remove retired sidecar route worker.sidecar.internal: provision: claim admission unavailable
2026/10/24 23:56:34 provision: claim install acme.go.tito.io: provision: claim admission unavailable
2026/10/24 23:56:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:34 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/24 23:56:34 provision: claim install bot.eleven.bac.sidecar.internal: provision: claim admission unavailable
2026/10/24 23:56:34 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 23:56:34 provision: claim install bot.eleven.bac.sidecar.internal: registry: claim row ownership changed or unknown
2026/10/24 23:56:34 provision: refusing to mint route acme.go.tito.io (app "tito" acct "bac"): this box declares CARLOS_INBOUND=none (no-inbound) and cannot serve routed instance traffic
2026/10/24 23:56:34 provision: acme.go.tito.io: not minting this pass: the box's layout intent could not be read: no sealed config
2026/10/24 23:56:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:34 provision: REFUSING to mint sidecar bot.eleven.bac.sidecar.internal: bot.eleven.bac.sidecar.internal-sidecar.env is staged on this box — the legacy file co-spawn and a native sidecar row are two mechanisms for one host; remove the file to migrate this host onto sidecar records
2026/10/24 23:56:34 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 23:56:34 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 23:56:34 provision: refusing to mint route acme.go.tito.io (app "tito" acct "bac"): this box declares CARLOS_INBOUND=none (no-inbound) and cannot serve routed instance traffic
2026/10/24 23:56:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:34 provision: REFUSING to mint sidecar bot.eleven.bac.sidecar.internal: bot.eleven.bac.sidecar.internal-sidecar.env is staged on this box — the legacy file co-spawn and a native sidecar row are two mechanisms for one host; remove the file to migrate this host onto sidecar records
2026/10/24 23:56:34 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 23:56:34 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 23:56:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:34 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/24 23:56:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:34 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/24 23:56:34 provision: bot.eleven.bac.sidecar.internal exists but is not a sidecar row this pass owns (kind "sidecar" provisioned false app "eleven" acct "bac") — leaving it alone
2026/10/24 23:56:34 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 23:56:34 provision: claim install bot.eleven.bac.sidecar.internal: registry: claim row ownership changed or unknown
2026/10/24 23:56:34 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 23:56:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:34 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 23:56:34 provision: bot.eleven.bac.sidecar.internal exists but is not a sidecar row this pass owns (kind "sidecar" provisioned false app "eleven" acct "bac") — leaving it alone
2026/10/24 23:56:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:34 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 23:56:35 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:35 provision: skipping record apps/bac/tito/instances/new.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:35 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 23:56:35 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:35 provision: skipping record apps/bac/tito/instances/new.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:35 provision: minted instance route rh.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route ri.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route rj.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route rk.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route rc.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route rd.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route re.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route rg.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route rl.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route ra.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route rb.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route rf.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route ra.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route rb.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route rc.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route rd.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: skipping record apps/bac/tito/instances/rb.go.tito.io.json: read failed: read refused
2026/10/24 23:56:35 provision: skipping record apps/bac/tito/instances/rb.go.tito.io.json: read failed: read refused
2026/10/24 23:56:35 provision: minted instance route re.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route x.apph.example (app "apph" acct "bac")
2026/10/24 23:56:35 provision: minted instance route x.appi.example (app "appi" acct "bac")
2026/10/24 23:56:35 provision: minted instance route x.appj.example (app "appj" acct "bac")
2026/10/24 23:56:35 provision: minted instance route x.appb.example (app "appb" acct "bac")
2026/10/24 23:56:35 provision: minted instance route x.appc.example (app "appc" acct "bac")
2026/10/24 23:56:35 provision: minted instance route x.appe.example (app "appe" acct "bac")
2026/10/24 23:56:35 provision: minted instance route x.appf.example (app "appf" acct "bac")
2026/10/24 23:56:35 provision: minted instance route x.appg.example (app "appg" acct "bac")
2026/10/24 23:56:35 provision: minted instance route x.appa.example (app "appa" acct "bac")
2026/10/24 23:56:35 provision: minted instance route x.appd.example (app "appd" acct "bac")
2026/10/24 23:56:35 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 23:56:35 provision: minted instance route r0049.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0116.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0117.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0127.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0002.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0014.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0012.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0087.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0094.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0027.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0036.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0041.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0018.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0039.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0045.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0070.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0078.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0129.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0007.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0058.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0107.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0009.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0059.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0060.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0105.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0053.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0006.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0025.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0086.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0050.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0071.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0128.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0019.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0035.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0047.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0073.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0075.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0081.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0115.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0010.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0040.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0026.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0062.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0085.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0118.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0003.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0020.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0034.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0043.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0067.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0108.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0032.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0069.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0091.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0016.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0038.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0100.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0022.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0029.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0017.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0051.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0061.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0122.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0126.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0015.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0057.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0088.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0099.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0119.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0021.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0033.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0072.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0056.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0114.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0112.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0097.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0102.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0042.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0048.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0065.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0066.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0080.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0084.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0103.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0037.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0044.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0074.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0090.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0092.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0124.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0004.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0023.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0031.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0068.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0064.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0079.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0011.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0024.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0076.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0077.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0083.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0098.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0063.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0121.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0125.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0000.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0005.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0055.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0101.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0104.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0111.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0028.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0030.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0082.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0089.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0109.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0110.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0008.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0046.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0054.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0096.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0123.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0013.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0052.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0106.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0120.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0001.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0093.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0095.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:35 provision: minted instance route r0113.go.tito.io (app "tito" acct "bac")
--- FAIL: TestPlan9B8RecordWriteCensus (1.23s)
    plan9_b8_census_test.go:372: record-write census rejected 1 site(s); update the explicit inventory only after reviewing the source:
          changed site internal/console/authcli.go:Server.registerCLIRoutes: source differs from the reviewed digest
2026/10/24 23:56:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: refusing to mint route acme.go.tito.io (app "tito" acct "bac"): this box declares CARLOS_INBOUND=none (no-inbound) and cannot serve routed instance traffic
2026/10/24 23:56:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: minted instance route console.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: minted service route ha.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: minted service route svc.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: minted instance route whole.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: minted instance route shared.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: converged acme.go.tito.io channel stable -> edge
2026/10/24 23:56:37 provision: converged acme.go.tito.io channel edge -> canary/rehearsal
2026/10/24 23:56:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: empty channel
2026/10/24 23:56:37 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 23:56:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: converged acme.go.tito.io environment "" -> "staging"
2026/10/24 23:56:37 provision: converged acme.go.tito.io environment "staging" -> ""
2026/10/24 23:56:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: converged acme.go.tito.io steering "" -> "latency"
2026/10/24 23:56:37 provision: converged acme.go.tito.io steering "latency" -> ""
2026/10/24 23:56:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: converged acme.go.tito.io hibernate false -> true
2026/10/24 23:56:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:37 provision: converged acme.go.tito.io hibernate true -> false (replication "daily" cleared: only a hibernating route's rung is read)
2026/10/24 23:56:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: converged acme.go.tito.io status-named false -> true
2026/10/24 23:56:38 provision: converged acme.go.tito.io status-named true -> false
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted service route ha.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: converged ha.go.tito.io upstreams addr "" -> "", addrs "127.0.0.1:7001,127.0.0.1:7002" -> "127.0.0.1:7001,127.0.0.1:7003" (probe "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}" -> "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}")
2026/10/24 23:56:38 provision: converged ha.go.tito.io upstreams addr "" -> "", addrs "127.0.0.1:7001,127.0.0.1:7003" -> "127.0.0.1:7003,127.0.0.1:7001" (probe "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}" -> "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}")
2026/10/24 23:56:38 provision: converged ha.go.tito.io upstreams addr "" -> "", addrs "127.0.0.1:7003,127.0.0.1:7001" -> "127.0.0.1:7003,127.0.0.1:7001" (probe "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}" -> "{\"path\":\"/healthz\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}")
2026/10/24 23:56:38 provision: minted service route whole.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: converged whole.go.tito.io upstreams addr "127.0.0.1:9443" -> "", addrs "" -> "127.0.0.1:9443,127.0.0.1:9444" (probe "" -> "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}")
2026/10/24 23:56:38 provision: converged whole.go.tito.io upstreams addr "" -> "", addrs "127.0.0.1:9443,127.0.0.1:9444" -> "" (probe "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}" -> "")
2026/10/24 23:56:38 provision: whole.go.tito.io: record describes a different route SHAPE than the row (kind "instance"/"service" unit ""/"" socket "/run/carlos/whole.go.tito.io.sock"/"" db "/data/whole.go.tito.io.db"/"") — not converged in place; `carlos remove whole.go.tito.io` purges this route's capability grants (registry.Delete's contract, not a bug) before the next pass re-mints it, so treat that as a last resort, not a routine fix
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted service route whole.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: skipping accounts/bac/account.json: malformed account manifest: invalid character 'o' in literal null (expecting 'u')
2026/10/24 23:56:38 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: manifest bac/tito: read failed: provision: manifest bac/tito: invalid character 'o' in literal null (expecting 'u')
2026/10/24 23:56:38 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: disagrees with its own path (host="wrong-host.go.tito.io" account="bac" app="tito")
2026/10/24 23:56:38 provision: skipping record apps/bac/tito/instances/acme$evil.go.tito.io.json: host "acme$evil.go.tito.io" is not a hostname
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: skipping record apps/bac/tito/instances/acme$evil.go.tito.io.json: host "acme$evil.go.tito.io" is not a hostname
2026/10/24 23:56:38 provision: not removing acme$evil.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 23:56:38 provision: skipping record apps/bac/tito/instances/bad-service.go.tito.io.json: invalid shape: kind service with no addr: the platform only proxies to a service, so the record must name the upstream it proxies to
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: skipping record apps/bac/tito/instances/bad-service.go.tito.io.json: invalid shape: kind service with no addr: the platform only proxies to a service, so the record must name the upstream it proxies to
2026/10/24 23:56:38 provision: not removing bad-service.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 23:56:38 provision: skipping record apps/bac/tito/instances/no-channel.go.tito.io.json: empty channel
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: skipping record apps/bac/tito/instances/no-channel.go.tito.io.json: empty channel
2026/10/24 23:56:38 provision: not removing no-channel.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:38 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 23:56:38 provision: removed retired instance route ghost.go.tito.io (record gone)
2026/10/24 23:56:38 provision: duplicate host dup.go.tito.io: keeping apps/bac/tito/instances/dup.go.tito.io.json, skipping apps/bad/tito/instances/dup.go.tito.io.json
2026/10/24 23:56:38 provision: minted instance route dup.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 23:56:38 provision: removed retired instance route acme.go.tito.io (app in the trash)
2026/10/24 23:56:38 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 23:56:38 provision: removed retired static route site.go.tito.io (app in the trash)
2026/10/24 23:56:38 provision: trash marker for bac/tito unreadable: release: malformed trash marker for bac/tito: invalid character 'n' looking for beginning of object key string — not minting for this app
2026/10/24 23:56:38 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 23:56:38 provision: removed retired instance route acme.go.tito.io (app in the trash)
2026/10/24 23:56:38 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 23:56:38 provision: trash marker for bac/tito unreadable: release: malformed trash marker for bac/tito: invalid character 'n' looking for beginning of object key string — not minting for this app
2026/10/24 23:56:38 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 23:56:38 provision: converged acme.go.tito.io channel stable -> edge
2026/10/24 23:56:38 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 23:56:38 provision: converged acme.go.tito.io channel canary/rehearsal -> edge
2026/10/24 23:56:38 provision: converged acme.go.tito.io environment "staging" -> ""
2026/10/24 23:56:38 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 23:56:38 provision: acme.go.tito.io exists but is not the route this record describes (backing "unit" (box-scoped, not expressible in a record)) — leaving it alone
2026/10/24 23:56:38 provision: acme.go.tito.io exists but is not the route this record describes (tunnel "pi-fleet" (box-scoped, not expressible in a record)) — leaving it alone
2026/10/24 23:56:38 provision: acme.go.tito.io exists but is not the route this record describes (caps "port:25" (box-scoped, not expressible in a record)) — leaving it alone
2026/10/24 23:56:38 provision: acme.go.tito.io exists but is not the route this record describes (platform (owned by the domains reconcile pass)) — leaving it alone
2026/10/24 23:56:38 provision: acme.go.tito.io exists but is not the route this record describes (canary (owned by the domains reconcile pass)) — leaving it alone
2026/10/24 23:56:38 provision: acme.go.tito.io exists but is not the route this record describes (db "/data/other.db"/"/data/acme.go.tito.io.db") — leaving it alone
2026/10/24 23:56:38 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 23:56:38 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 23:56:38 provision: dry-run: would mint instance route acme.go.tito.io (app "tito" acct "bac" channel "stable")
2026/10/24 23:56:38 provision: dry-run: would adopt existing route adopt.go.tito.io (app "tito" acct "bac") — this record would own its channel and environment
2026/10/24 23:56:38 provision: dry-run: would converge adopt.go.tito.io channel stable -> edge
2026/10/24 23:56:38 provision: dry-run: would converge adopt.go.tito.io environment "" -> "staging"
2026/10/24 23:56:38 provision: dry-run: would converge owned.go.tito.io channel stable -> edge
2026/10/24 23:56:38 provision: dry-run: would converge owned.go.tito.io environment "" -> "staging"
2026/10/24 23:56:38 provision: dry-run: would converge owned.go.tito.io hibernate false -> true
2026/10/24 23:56:38 provision: dry-run: would converge owned.go.tito.io seed
2026/10/24 23:56:38 provision: dry-run: would remove retired instance route gone.go.tito.io (record gone)
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: adopted existing route adopt.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 23:56:38 provision: converged adopt.go.tito.io channel stable -> edge
2026/10/24 23:56:38 provision: converged adopt.go.tito.io environment "" -> "staging"
2026/10/24 23:56:38 provision: converged owned.go.tito.io channel stable -> edge
2026/10/24 23:56:38 provision: converged owned.go.tito.io environment "" -> "staging"
2026/10/24 23:56:38 provision: converged owned.go.tito.io hibernate false -> true
2026/10/24 23:56:38 provision: removed retired instance route gone.go.tito.io (record gone)
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: adopted existing route story.carlosframework.com (app "story" acct "bad") — this record now owns its channel and environment
2026/10/24 23:56:38 provision: story.carlosframework.com exists but is not the route this record describes (kind "instance"/"static") — leaving it alone
2026/10/24 23:56:38 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted service route pub.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted service route pubs.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted service route named.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted service route priv.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted instance route unit.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted instance route exec.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted service route loop.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted static route pisite.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: removed retired static route site.go.tito.io (record gone)
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted instance route acme-uk.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: converged acme.go.tito.io replicas "ie,uk" -> "uk"
2026/10/24 23:56:38 provision: converged acme.go.tito.io replicas "uk" -> ""
2026/10/24 23:56:38 provision: minted instance route acme-uk.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:38 provision: converged acme-uk.go.tito.io replica mark true -> false
2026/10/24 23:56:39 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:39 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:39 provision: acme.go.tito.io: row is on the nested layout (db "/data/instances/acme.go.tito.io/acme.go.tito.io.db" socket "/run/carlos/instances/acme.go.tito.io/app.sock"); the record's shared paths are not drift
2026/10/24 23:56:39 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:39 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:39 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:39 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:39 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:39 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:39 provision: acme.go.tito.io: not minting this pass: the box's layout intent could not be read: store down
2026/10/24 23:56:39 provision: router.go.tito.io: not minting this pass: the box's layout intent could not be read: store down
2026/10/24 23:56:39 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 23:56:39 provision: converged acme.go.tito.io channel stable -> edge
2026/10/24 23:56:39 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/24 23:56:39 provision: not removing acme.go.tito.io (record gone): participant of a running operation
2026/10/24 23:56:39 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 23:56:39 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/24 23:56:39 provision: refusing to mint held route acme.go.tito.io (app "tito" acct "bac"): this box declares CARLOS_INBOUND=none (no-inbound) and cannot serve routed instance traffic
2026/10/24 23:56:39 provision: held acme.go.tito.io landing by mv_acme (was ready)
2026/10/24 23:56:39 provision: acme.go.tito.io: held restoring by rb_other, not by mv_acme; leaving it
2026/10/24 23:56:39 provision: acme.go.tito.io: the row is not this pass's (app "other" acct ""); not holding it for mv_acme
2026/10/24 23:56:39 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 23:56:39 provision: dry-run: would mint instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac" channel "stable")
2026/10/24 23:56:39 provision: acme.go.tito.io: not held landing by mv_acme: the row's hold changed under this pass; the next pass judges it afresh
2026/10/24 23:56:39 provision: held acme.go.tito.io landing by mv_acme (was ready)
2026/10/24 23:56:39 provision: minted instance route acme.example.com (app "shop" acct "bac")
2026/10/24 23:56:39 provision: minted instance route plain.example.com (app "shop" acct "bac")
2026/10/24 23:56:39 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:39 provision: skipping record apps/bac/shop/instances/liar.shop.example.com.json: disagrees with its own path (host="other.shop.example.com" account="bac" app="shop")
2026/10/24 23:56:39 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:39 provision: skipping record apps/bac/shop/instances/liar.shop.example.com.json: disagrees with its own path (host="other.shop.example.com" account="bac" app="shop")
2026/10/24 23:56:39 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:39 provision: skipping record apps/bac/shop/instances/liar.shop.example.com.json: disagrees with its own path (host="other.shop.example.com" account="bac" app="shop")
2026/10/24 23:56:39 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:39 provision: listing apps/bac/shop/instances/: list refused — its records are unseen this pass
2026/10/24 23:56:40 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:40 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:40 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 23:56:40 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:40 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 23:56:40 provision: minted sidecar route bot.shop.bac.sidecar.internal (app "shop" acct "bac" args ["run"])
2026/10/24 23:56:40 provision: removed retired sidecar route bot.shop.bac.sidecar.internal (record gone)
2026/10/24 23:56:40 provision: minted sidecar route bot.shop.bum.sidecar.internal (app "shop" acct "bum" args ["run"])
2026/10/24 23:56:40 provision: sidecar bot.shop.bum.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 23:56:40 provision: minted sidecar route bot.shop.bum.sidecar.internal (app "shop" acct "bum" args ["run"])
2026/10/24 23:56:40 provision: sidecar bot.shop.bum.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 23:56:40 provision: sidecar bot.shop.bum.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 23:56:40 provision: removed retired sidecar route bot.shop.bum.sidecar.internal (record gone)
2026/10/24 23:56:40 provision: sidecar bot.shop.bum.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 23:56:40 provision: removed retired sidecar route bot.shop.bum.sidecar.internal (record gone)
2026/10/24 23:56:40 provision: a.shop.example.com: swapped for import sd_qshwqv43h7ejzzk3burohbkhre (the original route is journaled)
2026/10/24 23:56:40 provision: a.shop.example.com: import sd_qshwqv43h7ejzzk3burohbkhre committed: its gate is cleared and its journal row dropped
2026/10/24 23:56:40 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/24 23:56:41 provision: a.shop.example.com: import sd_fru6owqihv7ylzs4hs5nojdtvy rolled back to its original route
2026/10/24 23:56:41 provision: a.shop.example.com: import sd_fru6owqihv7ylzs4hs5nojdtvy: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/24 23:56:41 provision: a.shop.example.com: import sd_fru6owqihv7ylzs4hs5nojdtvy is cleaned up and its journal row retired
2026/10/24 23:56:41 provision: a.shop.example.com: import sd_4zyvtt5liwq2sbwbkue2av7kve rolled back to its original route
2026/10/24 23:56:41 provision: a.shop.example.com: import sd_4zyvtt5liwq2sbwbkue2av7kve: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/24 23:56:41 provision: a.shop.example.com: import sd_4zyvtt5liwq2sbwbkue2av7kve is cleaned up and its journal row retired
2026/10/24 23:56:41 provision: dry-run: would redo a.shop.example.com's swap record CAS for import sd_xxsob7ue4dqye3j5u2uezm7jbi
2026/10/24 23:56:41 provision: dry-run: would clear a.shop.example.com's import gate
2026/10/24 23:56:41 provision: dry-run: would converge a.shop.example.com seed source
2026/10/24 23:56:41 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/24 23:56:41 provision: a.shop.example.com: the import's record apps/bac/shop/instances/a.shop.example.com.json is not one this pass can use (connection reset)
2026/10/24 23:56:41 provision: a.shop.example.com: the import's record apps/bac/shop/instances/a.shop.example.com.json is not one this pass can use (provision: invalid maintenance projection or protected fields)
2026/10/24 23:56:41 provision: a.shop.example.com: the import's record apps/bac/shop/instances/a.shop.example.com.json is not one this pass can use (the record under apps/bac/shop/instances/a.shop.example.com.json is apps/bac/shop/instances/b.shop.example.com.json's)
2026/10/24 23:56:41 provision: a.shop.example.com: import sd_nqv4xv7a4dnmh2fggle4pva75y cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/24 23:56:41 provision: a.shop.example.com: import sd_w4nxeegfpdwt4urcvvacdqffwi cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/24 23:56:41 provision: a.shop.example.com: import sd_hvtkpzebf45yszrsnux5ps5bvi is journaled, but this box cannot act on imports; its row is left alone
2026/10/24 23:56:41 provision: a.shop.example.com: import sd_iy6inzhlasn2sbapctg26n2ngm is journaled, but this box cannot act on imports; its row is left alone
2026/10/24 23:56:41 provision: a.shop.example.com: import sd_vz6oootnc3e64pnjahvx6j7yzq is journaled, but this box cannot act on imports; its row is left alone
2026/10/24 23:56:41 provision: the import journal could not be read: registry: import journal a.shop.example.com: original row: unexpected end of JSON input (no import is acted on and no route is removed this pass)
2026/10/24 23:56:41 provision: b.shop.example.com: import sd_s3glp7gts3bynxd2fqvpbr5n7u left alone this pass: the import journal could not be read
2026/10/24 23:56:41 provision: c.shop.example.com: import sd_22fd5sr54hra75zw3b6wkvjdru left alone this pass: the import journal could not be read
2026/10/24 23:56:41 provision: a.shop.example.com: import sd_5eopmjpkvahk7mwaucoyl6emom committed: its gate is cleared and its journal row dropped
2026/10/24 23:56:41 provision: a.shop.example.com: not converging import sd_blzcuov6zll2h5yfmwmfgqbvwu: it is swapped but not committed, and the row on this box has no import gate
2026/10/24 23:56:41 provision: a.shop.example.com: not converging import sd_7bscgdh4wvqayowcirsqdsi6n4: it is swapped but not committed, and the row on this box has no import gate
2026/10/24 23:56:41 provision: a.shop.example.com: not converging import sd_rgvfowuyrn6bfprtgecmjkxfa4: it is placed but not committed, and the row on this box has no import gate
2026/10/24 23:56:41 provision: a.shop.example.com: not converging import sd_m4t2wsidvzntdt3g7dy2g4jvsu: it is placed but not committed, and the row on this box has no import gate
2026/10/24 23:56:41 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/24 23:56:41 provision: converge seed source on a.shop.example.com: constraint failed: seed_source is read-only here (1811)
2026/10/24 23:56:41 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/24 23:56:41 provision: a.shop.example.com: import sd_slklqc4vrs4zy66rd3iyzjpcl4 committed: its gate is cleared and its journal row dropped
2026/10/24 23:56:41 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/24 23:56:41 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:41 provision: acme.go.tito.io: row is on the nested layout (db "/data/instances/acme.go.tito.io/acme.go.tito.io.db" socket "/run/carlos/instances/acme.go.tito.io/app.sock"); the record's shared paths are not drift
2026/10/24 23:56:41 provision: acme.go.tito.io: not minting a seeded instance: this box does not mint nested (<nil>)
2026/10/24 23:56:41 provision: acme.go.tito.io: not minting a seeded instance: claim control is on for this box
2026/10/24 23:56:41 provision: acme.go.tito.io: aborted seed sd_32imxq6cszrp6rmqbmc5ndnmzu: this box cannot read seed markers, and places no seed; nothing local is removed
2026/10/24 23:56:41 provision: acme.go.tito.io: aborted seed sd_32imxq6cszrp6rmqbmc5ndnmzu rolled back (no box had swapped it)
2026/10/24 23:56:41 provision: acme.go.tito.io: not minting a seeded instance: its record does not describe a hibernating instance
2026/10/24 23:56:41 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:41 provision: removed instance route acme.go.tito.io (its seed sd_mpvysuubuubewrxri5f42qszyu was aborted); the next pass rolls it back
2026/10/24 23:56:41 provision: acme.go.tito.io: aborted seed sd_mpvysuubuubewrxri5f42qszyu: this box cannot read seed markers, and places no seed; nothing local is removed
2026/10/24 23:56:41 provision: acme.go.tito.io: aborted seed sd_mpvysuubuubewrxri5f42qszyu rolled back (no box had swapped it)
2026/10/24 23:56:41 provision: acme.go.tito.io: aborted seed sd_teld4dtcdao3miov4b65qkktde has a row this pass may not remove; leaving the seed aborted
2026/10/24 23:56:41 provision: acme.go.tito.io: aborted seed sd_zlhqdckd77gx34j5qdrojjmodu rolled back (no box had swapped it)
2026/10/24 23:56:41 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:41 provision: removed instance route acme.go.tito.io (its seed sd_uncja7wzukhcm5lidu4nbobjsu was aborted); the next pass rolls it back
2026/10/24 23:56:41 provision: acme.go.tito.io: aborted seed sd_uncja7wzukhcm5lidu4nbobjsu has no route on this box: its local data is removed
2026/10/24 23:56:41 provision: acme.go.tito.io: aborted seed sd_uncja7wzukhcm5lidu4nbobjsu rolled back (no box had swapped it)
2026/10/24 23:56:41 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_kzot6jbvyksuhunjkh2kpcyhmq (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_kzot6jbvyksuhunjkh2kpcyhmq rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_kzot6jbvyksuhunjkh2kpcyhmq is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_ljwkeioowihqpdii4zbpffnx7m (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_ljwkeioowihqpdii4zbpffnx7m rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_ljwkeioowihqpdii4zbpffnx7m is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_ghk5bnehs7ukpk77zqxz2yz36y (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_ghk5bnehs7ukpk77zqxz2yz36y rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_ghk5bnehs7ukpk77zqxz2yz36y: the host's replica is left alone: its record no longer names this seed
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_ghk5bnehs7ukpk77zqxz2yz36y is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_xat5ne7rbecrph3yje4jfmb6uy (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_xat5ne7rbecrph3yje4jfmb6uy rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_xat5ne7rbecrph3yje4jfmb6uy rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_xat5ne7rbecrph3yje4jfmb6uy is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_a7ajhyeubybpqftociphe6y66u (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_a7ajhyeubybpqftociphe6y66u rollback deferred: the host is not fenced and stopped yet (stop unproven)
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_45k7lehn6poqi5movpdc2zak2u (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_45k7lehn6poqi5movpdc2zak2u is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_fgdl7aglmeaa6gjv4sgd2x7uh4 (the original route is journaled)
2026/10/24 23:56:42 provision: skipping record apps/bac/shop/instances/a.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_fgdl7aglmeaa6gjv4sgd2x7uh4 left alone this pass: its record could not be read
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_jg7vklinrfax75siwc2qlnl2ea (the original route is journaled)
2026/10/24 23:56:42 provision: skipping record apps/bac/shop/instances/a.shop.example.com.json: read failed: connection reset
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_jg7vklinrfax75siwc2qlnl2ea left alone this pass: its record could not be read
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_4ddfcw2y53w52wlahxqqx4symq (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_4ddfcw2y53w52wlahxqqx4symq: close the import gate: constraint failed: injected (1811)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_4ddfcw2y53w52wlahxqqx4symq rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_4ddfcw2y53w52wlahxqqx4symq is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_6qcvb5j4kacrfor632iydvcyfm (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_6qcvb5j4kacrfor632iydvcyfm: close the import gate: constraint failed: injected (1811)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_6qcvb5j4kacrfor632iydvcyfm rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_6qcvb5j4kacrfor632iydvcyfm is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_e5dynynb4x4bxymwtqtxv7ahia (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_e5dynynb4x4bxymwtqtxv7ahia rollback deferred: the host is not fenced and stopped yet (injected failure at fence)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_e5dynynb4x4bxymwtqtxv7ahia rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_e5dynynb4x4bxymwtqtxv7ahia is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_fie5nmoamn3c5zhl6bwrktlo54 (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_fie5nmoamn3c5zhl6bwrktlo54 rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_fie5nmoamn3c5zhl6bwrktlo54 is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_46uywqtdccav4o3z64fecqsh3m (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_46uywqtdccav4o3z64fecqsh3m: retire its instance key: injected failure at retire-key
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_46uywqtdccav4o3z64fecqsh3m rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_46uywqtdccav4o3z64fecqsh3m is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_midxzcbh32qy2l3r3mlmx3uaim (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_midxzcbh32qy2l3r3mlmx3uaim rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_midxzcbh32qy2l3r3mlmx3uaim is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_fxshzf2ehtttpvxd6y6tyxafs4 (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_fxshzf2ehtttpvxd6y6tyxafs4: remove its local data: injected failure at remove-local
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_fxshzf2ehtttpvxd6y6tyxafs4 rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_fxshzf2ehtttpvxd6y6tyxafs4 is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_erksfinwwk4yxau6jczffo4rnq (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_erksfinwwk4yxau6jczffo4rnq rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_erksfinwwk4yxau6jczffo4rnq is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_wfblbv7ednfu5idc25cz6fojb4 (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_wfblbv7ednfu5idc25cz6fojb4: remove its local data: injected failure at remove-local-done
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_wfblbv7ednfu5idc25cz6fojb4 rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_wfblbv7ednfu5idc25cz6fojb4 is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_p2mgm6vey3j3srxxgarzm2ftji (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_p2mgm6vey3j3srxxgarzm2ftji rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_p2mgm6vey3j3srxxgarzm2ftji is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_w7fzrarbayosmnr4xvgmynxohq (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_w7fzrarbayosmnr4xvgmynxohq: restore the original route: constraint failed: injected (1811)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_w7fzrarbayosmnr4xvgmynxohq rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_w7fzrarbayosmnr4xvgmynxohq is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_xvmhuhuzgwl7g4lxw5dkc3brii (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_xvmhuhuzgwl7g4lxw5dkc3brii: restore the original route: constraint failed: injected (1811)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_xvmhuhuzgwl7g4lxw5dkc3brii rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_xvmhuhuzgwl7g4lxw5dkc3brii is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_kkl5hmzw522w6beisvwgsankfq (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_kkl5hmzw522w6beisvwgsankfq is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_koquxwnuobakvgqi7exsxdfjbu (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_koquxwnuobakvgqi7exsxdfjbu rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_koquxwnuobakvgqi7exsxdfjbu: delete its snapshot: injected failure at delete-snapshot
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_koquxwnuobakvgqi7exsxdfjbu is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_nxn7a6bcmcm7iwar4ffgddzfdi (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_nxn7a6bcmcm7iwar4ffgddzfdi rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_nxn7a6bcmcm7iwar4ffgddzfdi is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_huy7rauidqfikda6o3bdpel4qi (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_huy7rauidqfikda6o3bdpel4qi rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_huy7rauidqfikda6o3bdpel4qi: delete the host's replica: injected failure at delete-replica
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_huy7rauidqfikda6o3bdpel4qi is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_24q3feqfbql44iahx3ejdogulm (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_24q3feqfbql44iahx3ejdogulm rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_24q3feqfbql44iahx3ejdogulm is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_uqm5jwm7icdy46sjjysjzhrscq (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_uqm5jwm7icdy46sjjysjzhrscq rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_uqm5jwm7icdy46sjjysjzhrscq: retire its journal row: constraint failed: injected (1811)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_uqm5jwm7icdy46sjjysjzhrscq is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_z3ajuoorzhsn3bf2yotfkkujme (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_z3ajuoorzhsn3bf2yotfkkujme rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_z3ajuoorzhsn3bf2yotfkkujme: retire its journal row: constraint failed: injected (1811)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_z3ajuoorzhsn3bf2yotfkkujme is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_th7o4elfvjsusyreqphmddrlbm (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_th7o4elfvjsusyreqphmddrlbm rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_th7o4elfvjsusyreqphmddrlbm is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: mark import sd_th7o4elfvjsusyreqphmddrlbm rolled back: injected failure at cas
2026/10/24 23:56:42 provision: a.shop.example.com: aborted seed sd_th7o4elfvjsusyreqphmddrlbm rolled back (no box had swapped it)
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_jusq5gslrazz5i4w5w4mkrvqe4 (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_jusq5gslrazz5i4w5w4mkrvqe4 rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_jusq5gslrazz5i4w5w4mkrvqe4 is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: aborted seed sd_jusq5gslrazz5i4w5w4mkrvqe4 rolled back (no box had swapped it)
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_s4ni6olmgsr62kjr6ai3m6u5qm (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_s4ni6olmgsr62kjr6ai3m6u5qm rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_s4ni6olmgsr62kjr6ai3m6u5qm rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_s4ni6olmgsr62kjr6ai3m6u5qm rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_s4ni6olmgsr62kjr6ai3m6u5qm is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_iaojq434jtlmb2kdbiwnel6ypa (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_iaojq434jtlmb2kdbiwnel6ypa rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_iaojq434jtlmb2kdbiwnel6ypa is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_hkd2ffbnl55u22ujw77ynxxuue (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_hkd2ffbnl55u22ujw77ynxxuue rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_hkd2ffbnl55u22ujw77ynxxuue is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_hbnozb4cyf7la6bwed5by4btza (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_hbnozb4cyf7la6bwed5by4btza rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_hbnozb4cyf7la6bwed5by4btza is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_6nozvebzbqgdqtw6cnlc75drfq (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_6nozvebzbqgdqtw6cnlc75drfq rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_6nozvebzbqgdqtw6cnlc75drfq is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_s3tg7ml2mu2hcs4vl3abw5omb4 (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_s3tg7ml2mu2hcs4vl3abw5omb4 rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_s3tg7ml2mu2hcs4vl3abw5omb4 is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_rqhgx6pky7ue73xssnvg4lhwlm (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_rqhgx6pky7ue73xssnvg4lhwlm rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_rqhgx6pky7ue73xssnvg4lhwlm is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_utaicedm342l6erwy2aopip5ya (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_utaicedm342l6erwy2aopip5ya rolled back to its original route
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_utaicedm342l6erwy2aopip5ya is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_q3bkm4mbda3724fzjttc6xegyq (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_q3bkm4mbda3724fzjttc6xegyq has no route on this box: its local data is removed and no route is put back
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_q3bkm4mbda3724fzjttc6xegyq is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_tf3qnnnaevuwnkqyih4e6d24cq (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_uxyfckvr4xzk27c6rr52anbrs4 (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_iz4umhsppu6mvexvt4ixsh7gfa (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_iz4umhsppu6mvexvt4ixsh7gfa cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_saidzhcucqaytaocwp4yntntni (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: import sd_saidzhcucqaytaocwp4yntntni is not rolled back: the route changed under the fence, so nothing there is touched
2026/10/24 23:56:42 provision: a.shop.example.com: import "../not-a-seed" names no snapshot and no replica; only its journal row is cleaned up
2026/10/24 23:56:42 provision: a.shop.example.com: import ../not-a-seed is cleaned up and its journal row retired
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_hlidspbcdo2if7hgm7y2flvbk4 (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_3xnql5ufzywcgysx6d55qf2y6q (the original route is journaled)
2026/10/24 23:56:42 provision: a.shop.example.com: swapped for import sd_rdva6xynae46nggbv5k3akm7qa (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_qcepa3xkcvt7ouqxj4pwpryuxu (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_6zj5yqocu3tfi4c3dr72mvmgse (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_6zj5yqocu3tfi4c3dr72mvmgse rollback deferred: the host is not fenced and stopped yet (stop evidence unreadable)
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_stcdhoz6nnc66ndvfilts426sq (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_stcdhoz6nnc66ndvfilts426sq has no route on this box: its local data is removed and no route is put back
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_stcdhoz6nnc66ndvfilts426sq is cleaned up and its journal row retired
2026/10/24 23:56:43 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_cd5xstyyg6qj25brjqnymkh6ga (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_cd5xstyyg6qj25brjqnymkh6ga: remove its local data: injected failure at remove-local
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_cd5xstyyg6qj25brjqnymkh6ga is not rolled back: the route at the host is not the import's, so nothing there is touched
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_v5e2fg7e4737g6eocuwi6ma3ka (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_v5e2fg7e4737g6eocuwi6ma3ka: a route appeared at the host, so its local database is left and the rollback waits
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_ohkprzc63csuyrnohyhlxpubpu (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_ohkprzc63csuyrnohyhlxpubpu rollback deferred: no fence generation: registry busy
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_6hejde74hso5iex4kcvnnqmwqy (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_6hejde74hso5iex4kcvnnqmwqy rollback deferred: no fence generation: the generation source answered 0
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_725vb4hw4w7b545dt2bss5f3li (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_v74r4wzryxicg5lrbhkaevmfye (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_inlresjsnlzduqzbkxepl5g6ui (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: import deferred: this box cannot read the instance's env file
2026/10/24 23:56:43 provision: a.shop.example.com: import deferred: the instance's env file could not be read: a symlink
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_dc5cjpmvx7p66cvzpjj3gcf57i (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_dc5cjpmvx7p66cvzpjj3gcf57i rolled back to its original route
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_dc5cjpmvx7p66cvzpjj3gcf57i is cleaned up and its journal row retired
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_yagrssp3vyrc4la5wj5e3o5tiy (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_yagrssp3vyrc4la5wj5e3o5tiy rolled back to its original route
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_yagrssp3vyrc4la5wj5e3o5tiy is cleaned up and its journal row retired
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_4mzv4ypxbecygx6j2xs2sqmpa4 (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_4mzv4ypxbecygx6j2xs2sqmpa4 rolled back to its original route
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_4mzv4ypxbecygx6j2xs2sqmpa4 is cleaned up and its journal row retired
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_uvsp2aouiodpkswdesoe7zj46y (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_uvsp2aouiodpkswdesoe7zj46y: retire its instance key: the env file is a symlink
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_uvsp2aouiodpkswdesoe7zj46y rolled back to its original route
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_uvsp2aouiodpkswdesoe7zj46y is cleaned up and its journal row retired
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_5ulza45xxc5pnda7ffxij33n5q (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_oypjyst4lmv2fekav4kyfnqvaa (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_obqnzupzbxeinjqa5mfppclpni refused: there is no route at a.shop.example.com to replace
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_n7jg4tclsotnwpj2zjqgox2xty refused: the route's address is 127.0.0.1:9, not 127.0.0.1:8401
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_vy7cklq3fdbfyk77ga5p7gmqbu refused: the route's address is 127.0.0.1:8401,127.0.0.1:8402, not 127.0.0.1:8401
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_4p2xiypihp66laifn7yvkzwvdi refused: the route's address is 127.0.0.1:9, not 127.0.0.1:8401
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_sjkwxyx6nvdhf2q5rie6xjowx4 refused: the route belongs to app other
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_oqcmt2sgfikadaaxn427h7uyw4 refused: the route is filed under another account
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_ifabfvn4lfii4hlehcsj4buwre refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_nqxvsp4naimr5pxy3dyopflaxa refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_gwtvvd3mukee4lhczlu7o7txsq refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_tddt47m7yp2fu2375unrloeq6q refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_cxrud6xht7d3k2maevecbnhpha refused: the route is not an address route this import can take over (socket)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_tmnyowpikjae5khklre3gayxxa refused: the route is not an address route this import can take over (no address)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_as4fxj725hmhtcu6bfzuyumkqy refused: the route is not an address route this import can take over (provisioned)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_kkxgsibyx5umyxc6a3ri4praye refused: the route is not an address route this import can take over (kind static)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_46zwprsvwfsrb56qgdmaz2uhzu refused: the route is not an address route this import can take over (backing)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_btaub2qybjrayrfe3mg7sjrt2m refused: the route is not an address route this import can take over (tunnel)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_mv74n6eu7ae7jwtx2is5hrqwla refused: the route is not an address route this import can take over (caps)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_7p2xuqd3pvm544tijbc5epxrsu refused: the route is not an address route this import can take over (platform)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_sfosrzn66ro3kpnefi5cy2d3qi refused: the route is not an address route this import can take over (canary)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_m3gzrlrgvqnav3p2fduavjk254 refused: the route is not an address route this import can take over (kind sidecar)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_jkafdg6rei5qqootkguhltw3v4 refused: the route is not an address route this import can take over (region)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_zxmvjkqlnfiozqsha65jr67hyq refused: the route is not an address route this import can take over (fleet_box)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_vp5p5vyxclj2mpj75g3r33jaza refused: the route is not an address route this import can take over (hibernate)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_rveahnc3zpv6rdlgwbarokcnza refused: the route is not an address route this import can take over (claim_owner)
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_u4ulq24v2ey32x7rkobcqwsvzy refused: this box does not run instances nested
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_4tncxgcqpmrfgl4rwsg6zeburu refused: this box does not run instances nested
2026/10/24 23:56:43 provision: a.shop.example.com: import sd_pvxbgoaehdm7twh7srmgffcqom refused: claim control is on for this box
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_vrohco33dfmsygel5aphmn7mxa (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_twapv6xpewob5box7265re3nbe (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: import deferred: this box cannot read the legacy route assignments
2026/10/24 23:56:43 provision: a.shop.example.com: import deferred: the legacy route assignments could not be read: store down
2026/10/24 23:56:43 provision: a.shop.example.com: not swapping for import sd_4h73bsaqf5qx46zsxadkgquhuy: its verify hash is not a sha256
2026/10/24 23:56:43 provision: a.shop.example.com: not swapping for import sd_jwrxwhjevn3lznpurzbptaicni: its verify hash is not a sha256
2026/10/24 23:56:43 provision: a.shop.example.com: not swapping for import sd_uxqqp4bpcebzbjinushfpaeswm: its verify hash is not a sha256
2026/10/24 23:56:43 provision: a.shop.example.com: not swapping for import sd_../../x: its host or seed id is malformed (seeds: not a seed id)
2026/10/24 23:56:43 provision: A.shop.example.com/..: not swapping for import sd_p2nbmhu4y4jxbn73iuk5u76sja: its host or seed id is malformed (seeds: not a host)
2026/10/24 23:56:43 provision: a.shop.example.com: not swapping for import sd_ytngj65ik6go6pzjanwzp6z3ia: its record does not describe a nested, hibernating instance
2026/10/24 23:56:43 provision: a.shop.example.com: not swapping for import sd_jl2x5mwj2ukdmwpoipmc74agvi: its record does not describe a nested, hibernating instance
2026/10/24 23:56:43 provision: a.shop.example.com: not swapping for import sd_qzvmkjtpfhzxe6ijdzuwr6pe4q: its record does not describe a nested, hibernating instance
2026/10/24 23:56:43 provision: a.shop.example.com: not swapping for import sd_pwafyfjg5tesv2rs7od6crhsbu: its record does not describe a nested, hibernating instance
2026/10/24 23:56:43 provision: a.shop.example.com: import deferred: the box's layout intent could not be read: store down
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_o4tt2geztsjcb6qdkmvkiriyii (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: import deferred: the box's nested probe did not answer: ready probe timed out
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_7arc74ckulczizqc47yh7fgvhi (the original route is journaled)
2026/10/24 23:56:43 provision: a.shop.example.com: swapped for import sd_fzma2iaq5b274y7okfmdjatdyq (the original route is journaled)
2026/10/24 23:56:44 provision: a.shop.example.com: import deferred: the route is held by operation op_1
2026/10/24 23:56:44 provision: dry-run: would consider swapping a.shop.example.com for import sd_5gxxd5q7lzanemhjqunwsaptme
2026/10/24 23:56:44 provision: a.shop.example.com: import sd_xmnrljbp5lqhqv3yjwwnz3zi2a rolled back to its original route
2026/10/24 23:56:44 provision: a.shop.example.com: import sd_xmnrljbp5lqhqv3yjwwnz3zi2a: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/24 23:56:44 provision: a.shop.example.com: import sd_xmnrljbp5lqhqv3yjwwnz3zi2a is cleaned up and its journal row retired
2026/10/24 23:56:44 provision: a.shop.example.com: import sd_drfpvxpacmymlf2hlf4upuomu4 left alone: the import journal holds seed sd_lk4hq2yty5ssl64t3p462ijxiu at swapped
2026/10/24 23:56:44 provision: a.shop.example.com: not minting import sd_x4lrmeissrtqsqptqqjxqcdn4u: it is swapped but not committed, and only its swap makes its row
2026/10/24 23:56:44 provision: a.shop.example.com: not minting import sd_jzupr5ycsva2zpr2znwp7uo25m: it is placed but not committed, and only its swap makes its row
2026/10/24 23:56:44 provision: a.shop.example.com: swapped for import sd_hlftwgrrjmvttvaruvpqghoapq (the original route is journaled)
2026/10/24 23:56:44 provision: a.shop.example.com: not minting import sd_hlftwgrrjmvttvaruvpqghoapq: it is swapped but not committed, and only its swap makes its row
2026/10/24 23:56:44 provision: a.shop.example.com: not minting import sd_hlftwgrrjmvttvaruvpqghoapq: it is placed but not committed, and only its swap makes its row
2026/10/24 23:56:44 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 23:56:44 provision: removed retired sidecar route gone.eleven.bac.sidecar.internal (record gone)
2026/10/24 23:56:44 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 23:56:44 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 23:56:44 provision: converged sidecar bot.eleven.bac.sidecar.internal args ["sidecar","run"] -> ["worker","run"]
2026/10/24 23:56:44 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 23:56:44 provision: converged sidecar bot.eleven.bac.sidecar.internal ceilings 300/3600 -> 60/120
2026/10/24 23:56:44 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 23:56:44 provision: converged sidecar bot.eleven.bac.sidecar.internal channel stable -> canary/eleven
2026/10/24 23:56:44 provision: converged sidecar bot.eleven.bac.sidecar.internal environment "other" -> "relay"
2026/10/24 23:56:44 provision: converged sidecar bot.eleven.bac.sidecar.internal hibernate true -> false
2026/10/24 23:56:44 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: read failed: failStore: reads disabled under apps/bac/eleven/sidecars/
2026/10/24 23:56:44 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: malformed: invalid character 'n' looking for beginning of object key string
2026/10/24 23:56:44 provision: not removing sidecar bot.eleven.bac.sidecar.internal: its record exists but could not be read cleanly this pass
2026/10/24 23:56:44 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: empty channel
2026/10/24 23:56:44 provision: skipping sidecar record apps/bac/eleven/sidecars/held.json: empty channel
2026/10/24 23:56:44 provision: not removing sidecar held.eleven.bac.sidecar.internal: its record exists but could not be read cleanly this pass
2026/10/24 23:56:44 provision: removed retired sidecar route old.eleven.bac.sidecar.internal (record gone)
2026/10/24 23:56:44 provision: bac/eleven has sidecar records but no sidecars manifest — not minting
2026/10/24 23:56:44 provision: bac/eleven is in the trash — not minting sidecar routes for it
2026/10/24 23:56:44 provision: sidecar bot.eleven.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 23:56:44 provision: sidecar hub.relay.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 23:56:44 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 23:56:44 provision: minted sidecar route hub.relay.bac.sidecar.internal (app "relay" acct "bac" args ["relay"])
2026/10/24 23:56:44 provision: sidecar bot.eleven.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 23:56:44 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 23:56:44 provision: sidecar bot.eleven.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 23:56:44 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 23:56:44 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 23:56:44 provision: sidecar bot.eleven.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 23:56:44 provision: removed retired sidecar route bot.eleven.bac.sidecar.internal (record gone)
2026/10/24 23:56:44 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 23:56:44 provision: sidecar bot.eleven.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 23:56:44 provision: skipping sidecar record apps/bac/relay/sidecars/hub.json: read failed: failStore: reads disabled under apps/bac/relay/sidecars/
2026/10/24 23:56:44 provision: REFUSING to mint sidecar bot.eleven.bac.sidecar.internal: bot.eleven.bac.sidecar.internal-sidecar.env is staged on this box — the legacy file co-spawn and a native sidecar row are two mechanisms for one host; remove the file to migrate this host onto sidecar records
2026/10/24 23:56:44 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 23:56:44 provision: dry-run: would mint sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" channel "stable" args ["sidecar","run"])
2026/10/24 23:56:44 provision: dry-run: would remove retired sidecar route gone.eleven.bac.sidecar.internal (record gone)
2026/10/24 23:56:44 provision: bot.eleven.bac.sidecar.internal exists but is not a sidecar row this pass owns (kind "sidecar" provisioned false app "eleven" acct "bac") — leaving it alone
2026/10/24 23:56:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:44 provision: converged acme.go.tito.io update settings "{\"updates\":\"manual\",\"channel\":\"stable\"}" -> ""
2026/10/24 23:56:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:44 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/24 23:56:44 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/24 23:56:44 provision: acme.go.tito.io: not minted this pass: the app's update policy could not be read
2026/10/24 23:56:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 23:56:44 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/24 23:56:44 provision: acme.go.tito.io: not minted this pass: the app's update policy could not be read
2026/10/24 23:56:44 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/24 23:56:44 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 23:56:44 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 23:56:44 provision: record view: change index unusable (release: change index malformed: invalid character 'n' looking for beginning of object key string): walking
2026/10/24 23:56:44 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 23:56:44 provision: record view: re-reading apps/bqc/shop failed: retrying on the next refresh
2026/10/24 23:56:44 provision: listing apps/bqc/shop/instances/: list refused — its records are unseen this pass
2026/10/24 23:56:44 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 23:56:44 provision: listing apps/bqc/shop/instances/: list refused — its records are unseen this pass
2026/10/24 23:56:44 provision: an app's records could not be listed: they are skipped
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: record view: change index unusable (release: change index unreadable: store has no conditional read: unsupported operation): the walk records no generations
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: record view: re-reading apps/bqc/shop failed: retrying on the next refresh
2026/10/24 23:56:44 provision: listing apps/bqc/shop/instances/: context canceled — its records are unseen this pass
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: record view: change index unusable (get refused): walking
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping accounts/bqd/account.json: malformed account manifest: invalid character 'n' looking for beginning of object key string
2026/10/24 23:56:44 provision: skipping accounts/bqd/account.json: malformed account manifest: invalid character 'n' looking for beginning of object key string
2026/10/24 23:56:44 provision: skipping accounts/bqd/account.json: malformed account manifest: invalid character 'n' looking for beginning of object key string
2026/10/24 23:56:44 provision: record view: re-reading accounts/bqd failed: retrying on the next refresh
2026/10/24 23:56:44 provision: skipping accounts/bqd/account.json: read failed: list refused
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: minted instance route one.example.com (app "shop" acct "bum")
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: minted instance route one.example.com (app "shop" acct "bum")
2026/10/24 23:56:44 provision: skipping record apps/bum/shop/instances/one.example.com.json: empty channel
2026/10/24 23:56:44 provision: not removing one.example.com: its record exists but could not be read cleanly this pass
2026/10/24 23:56:44 provision: removed retired instance route one.example.com (record gone)
2026/10/24 23:56:44 provision: skipping record apps/bum/shop/instances/one.example.com.json: empty channel
2026/10/24 23:56:44 provision: not removing one.example.com: its record exists but could not be read cleanly this pass
2026/10/24 23:56:44 provision: minted instance route one.example.com (app "shop" acct "bum")
2026/10/24 23:56:44 provision: removed retired instance route one.example.com (record gone)
2026/10/24 23:56:44 provision: record view: change index unusable (context deadline exceeded): walking
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 23:56:44 provision: record view: change index unusable (context deadline exceeded): the walk records no generations
2026/10/24 23:56:44 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
--- FAIL: TestPlan14RootReadCensus (15.43s)
    plan14_root_reads_test.go:600: root read census: 21 discrepancies
        changed root read internal/activator/activator.go:Service.begin; review class, task, sites and digest
        changed root read internal/activator/activator.go:Service.beginRequest; review class, task, sites and digest
        changed root read internal/activator/activator.go:Service.serve; review class, task, sites and digest
        changed root read internal/activator/cmd.go:Service.RunCmd; review class, task, sites and digest
        changed root read internal/edge/edge.go:Edge.ServeHTTP; review class, task, sites and digest
        changed root read internal/host/agent.go:runAgent; review class, task, sites and digest
        changed root source envelope internal/activator
        changed root source envelope internal/applog
        changed root source envelope internal/console
        changed root source envelope internal/edge
        changed root source envelope internal/host
        changed root source envelope internal/reqrec
        unclassified root read internal/edge/reqrecords.go:Edge.observeRecords whole:Route@491
        unclassified root read internal/edge/reqrecords.go:Edge.recordMatch whole:Route@327
        unclassified root read internal/edge/reqrecords.go:requestResponse registry:App@192,registry:Host@206,whole:Route@182
        unclassified root read internal/reqrec/ref.go:NewRef file:Read@484
        changed legacy declaration internal/activator/activator.go:Service.begin
        changed legacy declaration internal/activator/activator.go:Service.beginRequest
        changed legacy declaration internal/activator/activator.go:Service.serve
        changed legacy declaration internal/activator/cmd.go:Service.RunCmd
        changed legacy declaration internal/edge/edge.go:Edge.ServeHTTP
        
        make census-card shows what changed; make census-propose NAME=<branch> CLAIMS=<file> writes the overlay and its approval card (AGENTS.md, The census)
FAIL
FAIL	github.com/carlosframework/platform/internal/provision	25.935s
ok  	github.com/carlosframework/platform/internal/publicrelease	0.012s
?   	github.com/carlosframework/platform/internal/regionname	[no test files]
ok  	github.com/carlosframework/platform/internal/registry	6.270s
ok  	github.com/carlosframework/platform/internal/relay	7.230s
ok  	github.com/carlosframework/platform/internal/release	27.403s
ok  	github.com/carlosframework/platform/internal/reqrec	0.023s
ok  	github.com/carlosframework/platform/internal/rollout	4.564s
ok  	github.com/carlosframework/platform/internal/rolloutwords	0.007s
ok  	github.com/carlosframework/platform/internal/rootaws	0.012s
ok  	github.com/carlosframework/platform/internal/rootparticipation	0.065s
ok  	github.com/carlosframework/platform/internal/rootstate	0.028s
ok  	github.com/carlosframework/platform/internal/runs	0.571s
ok  	github.com/carlosframework/platform/internal/s3compat	0.005s
ok  	github.com/carlosframework/platform/internal/safefile	0.004s
ok  	github.com/carlosframework/platform/internal/schedule	3.243s
ok  	github.com/carlosframework/platform/internal/seeds	0.016s
ok  	github.com/carlosframework/platform/internal/sim/engines	4.705s
ok  	github.com/carlosframework/platform/internal/sim/hostlife	18.701s
ok  	github.com/carlosframework/platform/internal/sim/litestreamfacts	4.141s
ok  	github.com/carlosframework/platform/internal/status	0.089s
ok  	github.com/carlosframework/platform/internal/steering	0.007s
ok  	github.com/carlosframework/platform/internal/stopevidence	0.296s
ok  	github.com/carlosframework/platform/internal/svcrole	0.005s
ok  	github.com/carlosframework/platform/internal/telemetry	0.006s
ok  	github.com/carlosframework/platform/internal/termfence	0.004s
ok  	github.com/carlosframework/platform/internal/tunnelclient	0.007s
ok  	github.com/carlosframework/platform/internal/unixdial	0.003s
ok  	github.com/carlosframework/platform/internal/updatewords	0.006s
ok  	github.com/carlosframework/platform/internal/usage	0.009s
ok  	github.com/carlosframework/platform/internal/version	0.002s
ok  	github.com/carlosframework/platform/internal/vet	1.999s
FAIL
=== internal_console@0 (86 s)
ok  	github.com/carlosframework/platform/internal/console	84.285s
=== internal_console@1 (42 s)
ok  	github.com/carlosframework/platform/internal/console	40.307s
=== internal_console@2 (40 s)
ok  	github.com/carlosframework/platform/internal/console	38.267s
=== internal_console@3 (47 s)
2026/10/24 23:56:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:25 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:25 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:25 console: alert watch: no keymail grant for ops-b@keymail.dev — not notified (they must sign in to the console once)
2026/10/24 23:56:25 console: alert watch: no keymail grant for ops-b@keymail.dev — not notified (they must sign in to the console once)
2026/10/24 23:56:26 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:26 console: alert watch: keymail box-a/disk to ops-b@keymail.dev: context deadline exceeded
2026/10/24 23:56:26 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:26 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:26 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:26 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:26 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:26 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:26 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:26 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:26 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:26 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:26 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:26 console: trashed bab/titogo: settle: release: read trash marker for bab/titogo: AccessDenied: s3://carlos-prod-secret/deleted.json request id ABC123
2026/10/24 23:56:26 console: bab/titogo is in the trash in the bucket; marking it trashed here
2026/10/24 23:56:27 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:27 console: app region bab/titogo:  (default)
2026/10/24 23:56:27 console: claim bab/titogo: set placement fleet/pi: SQL logic error: no such column: placement (1)
2026/10/24 23:56:27 console: backfilled account manifest for bab ()
2026/10/24 23:56:27 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:27 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:27 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:27 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:27 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:27 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:27 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:27 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/24 23:56:27 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:27 console: api db bab/titogo/acme.go.tito.io: stream level 0 1-1: context canceled
2026/10/24 23:56:27 console: api db bab/titogo/acme.go.tito.io: stream level 0 1-1: context canceled
2026/10/24 23:56:27 console: api db bab/titogo/acme.go.tito.io: stream level 0 1-1: context canceled
2026/10/24 23:56:27 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:27 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:27 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/24 23:56:27 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:28 console: api db bab/titogo/acme.go.tito.io: stream level 0 1-1: write tcp 127.0.0.1:33563->127.0.0.1:55740: i/o timeout
2026/10/24 23:56:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:28 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:28 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/24 23:56:28 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:28 console: could not notify member@example.com of a CLI token issue: keymail: lookup member@example.com: keymail: GET /api/federation/lookup?addr=member%40example.com&from=console%40127.0.0.1%3A43361: could not determine target mailbox
2026/10/24 23:56:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:28 console: could not notify member@example.com of a CLI token issue: keymail: lookup member@example.com: keymail: GET /api/federation/lookup?addr=member%40example.com&from=console%40127.0.0.1%3A38543: could not determine target mailbox
2026/10/24 23:56:28 console: db read dbr_jxttim5b56m6mb6spcl74vojli: relayed 0 chunks (0 bytes) in 0s, ended not-picked
2026/10/24 23:56:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:28 console: could not notify member@example.com of a CLI token issue: keymail: lookup member@example.com: Get "http://127.0.0.1:35793/api/federation/lookup?addr=member%40example.com&from=console%40127.0.0.1%3A40129": dial tcp 127.0.0.1:35793: connect: connection refused
2026/10/24 23:56:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:28 console: could not notify member@example.com of a CLI token issue: keymail: lookup member@example.com: keymail: GET /api/federation/lookup?addr=member%40example.com&from=console%40127.0.0.1%3A44003: could not determine target mailbox
2026/10/24 23:56:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:28 console: could not notify member@example.com of a CLI token issue: keymail: lookup member@example.com: keymail: GET /api/federation/lookup?addr=member%40example.com&from=console%40127.0.0.1%3A40799: could not determine target mailbox
2026/10/24 23:56:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:28 console: could not notify member@example.com of a CLI token issue: keymail: lookup member@example.com: keymail: GET /api/federation/lookup?addr=member%40example.com&from=console%40127.0.0.1%3A35421: could not determine target mailbox
2026/10/24 23:56:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:28 console: could not notify member@example.com of a CLI token issue: keymail: lookup member@example.com: keymail: GET /api/federation/lookup?addr=member%40example.com&from=console%40127.0.0.1%3A33993: could not determine target mailbox
2026/10/24 23:56:28 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:28 console: could not notify member@example.com of a CLI token issue: keymail: lookup member@example.com: keymail: GET /api/federation/lookup?addr=member%40example.com&from=console%40127.0.0.1%3A45779: could not determine target mailbox
2026/10/24 23:56:29 console: db read dbr_lixcpazaxubpemea53zximh3yi: relayed 0 chunks (0 bytes) in 501ms, ended no-result
2026/10/24 23:56:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:29 console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
2026/10/24 23:56:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:29 console: CARLOS_ACME_DELEGATION_ZONE "*.bad zone" is not a valid domain — delegation off, wildcard-enable requests refuse with "no delegation zone configured" until it's fixed
2026/10/24 23:56:29 console: CARLOS_ACME_DELEGATION_ZONE "-leading-hyphen.example.com" is not a valid domain — delegation off, wildcard-enable requests refuse with "no delegation zone configured" until it's fixed
2026/10/24 23:56:29 console: CARLOS_ACME_DELEGATION_ZONE "has a space.example.com" is not a valid domain — delegation off, wildcard-enable requests refuse with "no delegation zone configured" until it's fixed
2026/10/24 23:56:29 console: CARLOS_ACME_DELEGATION_ZONE "*.bad zone" is not a valid domain — delegation off, wildcard-enable requests refuse with "no delegation zone configured" until it's fixed
2026/10/24 23:56:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:29 console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
2026/10/24 23:56:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:29 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:29 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:30 console: instance store provision bab/shop/old: objstore: bucket or IAM user name belongs to another store: carlos-bab-shop-old
2026/10/24 23:56:30 console: finished seed sd_vetgnztri5i5jwugwz5ngpjf6u of bab/shop/old.shop.example.com
2026/10/24 23:56:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:30 console: import bad.shop.example.com: seed "not-a-seed-id": seeds: not a seed id
2026/10/24 23:56:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:30 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:31 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:31 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:31 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:31 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:31 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:31 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:32 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:32 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:32 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:32 console: api instance move bab/titogo/acme.go.tito.io: termination fence of uk-box: hostactors: roster authority refused
2026/10/24 23:56:32 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:32 console: api instance move bab/titogo/acme.go.tito.io: begin move mv_egixnduudip3clt74idweyyimy: hostops: identity mismatch
2026/10/24 23:56:32 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:32 console: api instance move bab/titogo/acme.go.tito.io: typed move write refused: hostops: identity mismatch
2026/10/24 23:56:32 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:32 console: api instance move bab/titogo/acme.go.tito.io: typed move write refused: hostops: identity mismatch
2026/10/24 23:56:32 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:33 console: api instance move bab/titogo/acme.go.tito.io: typed move write refused: hostops: identity mismatch
2026/10/24 23:56:33 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:33 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:33 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:33 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:33 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:33 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:33 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:33 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:33 edges: box "se-box" 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/24 23:56:33 edges: 2 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/24 23:56:33 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/24 23:56:33 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:33 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:34 console: api instance move bab/titogo/acme.go.tito.io: the claim is moving under mv_ntvvmlzz47apv7aywfzlkbupyy but the record write failed: write timeout
2026/10/24 23:56:34 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:34 console: api instance move bab/titogo/acme.go.tito.io: the claim is moving under mv_gjffep5bjb3arnjmip5iuuaoda but the record write failed: write timeout
2026/10/24 23:56:34 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:34 console: api instance move bab/titogo/acme.go.tito.io: the claim is moving under mv_itrhw5r7owpmrpvscepg3kiftu but the record write failed: write timeout
2026/10/24 23:56:34 console: api instance move bab/titogo/acme.go.tito.io: move mv_itrhw5r7owpmrpvscepg3kiftu: record reread: read timeout; the claim is left moving
2026/10/24 23:56:34 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:34 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:34 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:34 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:34 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:34 console: api instances create bab/titogo/acme.go.tito.io: AccessDenied: s3://carlos-prod-secret-bucket/ledgers request id ABC123
2026/10/24 23:56:34 console: api instances manifest bab/titogo: AccessDenied: s3://carlos-prod-secret-bucket/ledgers request id ABC123
2026/10/24 23:56:34 console: api instances delete bab/titogo/acme.go.tito.io: AccessDenied: s3://carlos-prod-secret-bucket/ledgers request id ABC123
2026/10/24 23:56:34 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:34 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:35 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:35 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000004
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000004 maxTXID=0000000000000004 size=537
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000004 txid.db=0000000000000004
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000004 txid.db=0000000000000005
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000005 maxTXID=0000000000000005 size=621
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000005 txid.db=0000000000000005
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000005 txid.db=0000000000000006
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000006 maxTXID=0000000000000006 size=704
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000006 txid.db=0000000000000006
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000006 txid.db=0000000000000007
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000007 maxTXID=0000000000000007 size=788
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000007 txid.db=0000000000000007
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000007 txid.db=0000000000000008
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000008 maxTXID=0000000000000008 size=871
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000008 txid.db=0000000000000008
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000008 txid.db=0000000000000009
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000009 maxTXID=0000000000000009 size=955
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000009 txid.db=0000000000000009
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000009 txid.db=000000000000000a
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000a maxTXID=000000000000000a size=1038
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000a txid.db=000000000000000a
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000a txid.db=000000000000000b
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000b maxTXID=000000000000000b size=1124
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000b txid.db=000000000000000b
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000b txid.db=000000000000000c
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000c maxTXID=000000000000000c size=1208
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000c txid.db=000000000000000c
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000c txid.db=000000000000000d
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000d maxTXID=000000000000000d size=1294
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000d txid.db=000000000000000d
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000d txid.db=000000000000000e
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000e maxTXID=000000000000000e size=1387
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000e txid.db=000000000000000e
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000e txid.db=000000000000000f
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000f maxTXID=000000000000000f size=1481
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000f txid.db=000000000000000f
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000f txid.db=0000000000000010
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000010 maxTXID=0000000000000010 size=1569
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000010 txid.db=0000000000000010
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000010 txid.db=0000000000000011
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000011 maxTXID=0000000000000011 size=1661
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000011 txid.db=0000000000000011
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000011 txid.db=0000000000000012
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000012 maxTXID=0000000000000012 size=1755
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000012 txid.db=0000000000000012
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000012 txid.db=0000000000000013
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000013 maxTXID=0000000000000013 size=1843
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000013 txid.db=0000000000000013
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000013 txid.db=0000000000000014
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000014 maxTXID=0000000000000014 size=1935
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000014 txid.db=0000000000000014
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000014 txid.db=0000000000000015
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000015 maxTXID=0000000000000015 size=2031
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000015 txid.db=0000000000000015
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000015 txid.db=0000000000000016
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000016 maxTXID=0000000000000016 size=2119
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000016 txid.db=0000000000000016
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000016 txid.db=0000000000000017
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000017 maxTXID=0000000000000017 size=2216
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000017 txid.db=0000000000000017
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000017 txid.db=0000000000000018
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000018 maxTXID=0000000000000018 size=2309
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000018 txid.db=0000000000000018
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000018 txid.db=0000000000000019
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000019 maxTXID=0000000000000019 size=2403
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000019 txid.db=0000000000000019
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000019 txid.db=000000000000001a
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000001a maxTXID=000000000000001a size=2498
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001a txid.db=000000000000001a
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001a txid.db=000000000000001b
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000001b maxTXID=000000000000001b size=5397
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001b txid.db=000000000000001b
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001b txid.db=000000000000001c
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000001c maxTXID=000000000000001c size=312
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001c txid.db=000000000000001c
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001c txid.db=000000000000001d
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000001d maxTXID=000000000000001d size=403
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001d txid.db=000000000000001d
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001d txid.db=000000000000001e
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000001e maxTXID=000000000000001e size=495
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001e txid.db=000000000000001e
2026/10/24 23:56:35 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000004
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000004 maxTXID=0000000000000004 size=537
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000004 txid.db=0000000000000004
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000004 txid.db=0000000000000005
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000005 maxTXID=0000000000000005 size=621
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000005 txid.db=0000000000000005
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000005 txid.db=0000000000000006
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000006 maxTXID=0000000000000006 size=704
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000006 txid.db=0000000000000006
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000006 txid.db=0000000000000007
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000007 maxTXID=0000000000000007 size=788
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000007 txid.db=0000000000000007
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000007 txid.db=0000000000000008
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000008 maxTXID=0000000000000008 size=871
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000008 txid.db=0000000000000008
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000008 txid.db=0000000000000009
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000009 maxTXID=0000000000000009 size=955
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000009 txid.db=0000000000000009
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000009 txid.db=000000000000000a
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000a maxTXID=000000000000000a size=1038
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000a txid.db=000000000000000a
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000a txid.db=000000000000000b
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000b maxTXID=000000000000000b size=1124
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000b txid.db=000000000000000b
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000b txid.db=000000000000000c
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000c maxTXID=000000000000000c size=1208
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000c txid.db=000000000000000c
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000c txid.db=000000000000000d
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000d maxTXID=000000000000000d size=1294
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000d txid.db=000000000000000d
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000d txid.db=000000000000000e
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000e maxTXID=000000000000000e size=1387
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000e txid.db=000000000000000e
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000e txid.db=000000000000000f
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000000f maxTXID=000000000000000f size=1481
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000f txid.db=000000000000000f
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000000f txid.db=0000000000000010
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000010 maxTXID=0000000000000010 size=1569
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000010 txid.db=0000000000000010
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000010 txid.db=0000000000000011
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000011 maxTXID=0000000000000011 size=1661
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000011 txid.db=0000000000000011
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000011 txid.db=0000000000000012
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000012 maxTXID=0000000000000012 size=1755
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000012 txid.db=0000000000000012
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000012 txid.db=0000000000000013
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000013 maxTXID=0000000000000013 size=1843
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000013 txid.db=0000000000000013
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000013 txid.db=0000000000000014
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000014 maxTXID=0000000000000014 size=1935
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000014 txid.db=0000000000000014
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000014 txid.db=0000000000000015
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000015 maxTXID=0000000000000015 size=2031
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000015 txid.db=0000000000000015
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000015 txid.db=0000000000000016
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000016 maxTXID=0000000000000016 size=2119
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000016 txid.db=0000000000000016
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000016 txid.db=0000000000000017
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000017 maxTXID=0000000000000017 size=2216
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000017 txid.db=0000000000000017
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000017 txid.db=0000000000000018
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000018 maxTXID=0000000000000018 size=2309
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000018 txid.db=0000000000000018
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000018 txid.db=0000000000000019
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000019 maxTXID=0000000000000019 size=2403
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000019 txid.db=0000000000000019
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000019 txid.db=000000000000001a
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000001a maxTXID=000000000000001a size=2498
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001a txid.db=000000000000001a
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001a txid.db=000000000000001b
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000001b maxTXID=000000000000001b size=5397
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001b txid.db=000000000000001b
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001b txid.db=000000000000001c
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000001c maxTXID=000000000000001c size=312
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001c txid.db=000000000000001c
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001c txid.db=000000000000001d
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000001d maxTXID=000000000000001d size=403
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001d txid.db=000000000000001d
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001d txid.db=000000000000001e
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=000000000000001e maxTXID=000000000000001e size=495
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=000000000000001e txid.db=000000000000001e
2026/10/24 23:56:35 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/24 23:56:35 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/24 23:56:35 console: from main.shop.example.com: restore: dbdoor: history before the target is no longer kept
2026/10/24 23:56:35 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/24 23:56:35 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/24 23:56:35 console: from main.shop.example.com: restore: bucket read failed
2026/10/24 23:56:35 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/24 23:56:35 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/24 23:56:35 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/24 23:56:35 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/24 23:56:35 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:36 console: could not notify alice@keymail.dev of a CLI token issue: keymail: lookup alice@keymail.dev: Get "http://127.0.0.1:33905/api/federation/lookup?addr=alice%40keymail.dev&from=console%40127.0.0.1%3A42365": dial tcp 127.0.0.1:33905: connect: connection refused
2026/10/24 23:56:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:36 console: could not notify paul@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
2026/10/24 23:56:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:36 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:36 console: could not notify random-operator@keymail.dev of a CLI token issue: Post "http://127.0.0.1:34127/api/app/send": dial tcp 127.0.0.1:34127: connect: connection refused
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: relay enabled bab/titogo in eu-west-1 by alice@keymail.dev (incarnation fd46b814f69295d3, op 1)
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: relay enabled bab/titogo in eu-west-1 by alice@keymail.dev (incarnation 4e62dce0618493c1, op 1)
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:37 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: api schedule status bab/titogo: AccessDenied: s3://carlos-prod-secret-bucket/ledgers request id ABC123
2026/10/24 23:56:38 console: could not notify alice@keymail.dev of a CLI token issue: Post "http://127.0.0.1:33109/api/app/send": dial tcp 127.0.0.1:33109: connect: connection refused
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:38 console: api sidecars create bab/titogo/bot: AccessDenied: s3://carlos-prod-secret-bucket/ledgers request id ABC123
2026/10/24 23:56:38 console: api sidecars manifest bab/titogo: AccessDenied: s3://carlos-prod-secret-bucket/ledgers request id ABC123
2026/10/24 23:56:39 console: api sidecars list bab/titogo: AccessDenied: s3://carlos-prod-secret-bucket/ledgers request id ABC123
2026/10/24 23:56:39 console: api sidecars delete bab/titogo/bot: AccessDenied: s3://carlos-prod-secret-bucket/ledgers request id ABC123
2026/10/24 23:56:39 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:39 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:39 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:39 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:39 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:39 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:39 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:39 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:39 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:39 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:39 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:39 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:39 console: could not notify alice@keymail.dev of a CLI token issue: Post "http://127.0.0.1:39687/api/app/send": dial tcp 127.0.0.1:39687: connect: connection refused
2026/10/24 23:56:39 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:39 console: geoip published ed972738 (GeoIP2-City, manual)
2026/10/24 23:56:39 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:39 console: could not notify paul@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
2026/10/24 23:56:39 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:40 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:40 console: api system: list fleets: unable to open database file (14) — reporting the platform's own boxes only
2026/10/24 23:56:40 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:42 console: could not notify paul@keymail.dev of a CLI token issue: Post "http://127.0.0.1:34109/api/app/send": dial tcp 127.0.0.1:34109: connect: connection refused
2026/10/24 23:56:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:42 console: app region bab/tmp-ci:  (default)
2026/10/24 23:56:42 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:42 console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
2026/10/24 23:56:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:42 console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
2026/10/24 23:56:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:42 console: could not notify alice@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
2026/10/24 23:56:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:42 console: app region bab/console:  (default)
2026/10/24 23:56:42 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:42 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:42 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:42 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:42 console: settings mail read bab/kass: AccessDenied: s3://carlos-releases/apps/.../email.json request id XYZ
2026/10/24 23:56:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:42 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:43 console: app region bab/person-a0:  (default)
2026/10/24 23:56:43 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:43 console: app region bab/person-a1:  (default)
2026/10/24 23:56:43 console: app region bab/person-a2:  (default)
2026/10/24 23:56:43 console: app region bab/person-a3:  (default)
2026/10/24 23:56:43 console: app region bab/person-a4:  (default)
2026/10/24 23:56:43 console: app region bab/person-a5:  (default)
2026/10/24 23:56:43 console: app region bab/person-a6:  (default)
2026/10/24 23:56:43 console: app region bab/person-a7:  (default)
2026/10/24 23:56:43 console: app region bab/person-a8:  (default)
2026/10/24 23:56:43 console: app region bab/person-a9:  (default)
2026/10/24 23:56:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:43 console: app region bab/hub-a-0:  (default)
2026/10/24 23:56:43 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:43 console: app region bab/hub-a-1:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-2:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-3:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-4:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-5:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-6:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-7:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-8:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-9:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-10:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-11:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-12:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-13:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-14:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-15:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-16:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-17:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-18:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-19:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-20:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-21:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-22:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-23:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-24:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-25:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-26:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-27:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-28:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-29:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-30:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-31:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-32:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-33:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-34:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-35:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-36:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-37:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-38:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-39:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-40:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-41:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-42:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-43:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-44:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-45:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-46:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-47:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-48:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-49:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-50:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-51:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-52:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-53:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-54:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-55:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-56:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-57:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-58:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-59:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-60:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-61:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-62:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-63:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-64:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-65:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-66:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-67:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-68:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-69:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-70:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-71:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-72:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-73:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-74:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-75:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-76:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-77:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-78:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-79:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-80:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-81:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-82:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-83:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-84:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-85:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-86:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-87:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-88:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-89:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-90:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-91:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-92:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-93:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-94:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-95:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-96:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-97:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-98:  (default)
2026/10/24 23:56:43 console: app region bab/hub-a-99:  (default)
2026/10/24 23:56:43 console: app region bab/hub-b-fresh:  (default)
2026/10/24 23:56:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:43 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:43 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:43 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:43 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:43 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:43 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:43 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:44 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:44 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:44 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:44 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:44 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:44 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:45 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:47 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:47 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:47 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:47 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
--- FAIL: TestClaimConsoleRouteCensus (0.31s)
    claim_routes_test.go:39: new: route GET /api/cli/apps/{account}/{app}/edge-refs/{code}
2026/10/24 23:56:51 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:51 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:51 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:51 console: could not notify paul@keymail.dev of a CLI token issue: keymail: grant revoked or invalid
2026/10/24 23:56:51 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:51 console: control-plane check console in account bab: SQL logic error: no such column: control_plane (1)
2026/10/24 23:56:51 console: control-plane check console in account bab: SQL logic error: no such column: control_plane (1)
2026/10/24 23:56:51 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:51 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:51 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:51 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:52 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:52 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/24 23:56:52 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:52 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:52 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:52 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:52 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/24 23:56:52 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:52 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:52 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:52 console: api instances create bab/titogo: read existing record for acme.go.tito.io: get secret-bucket: connection reset
2026/10/24 23:56:52 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:52 console: api sidecars create bab/titogo: read existing record for bot.titogo.bab.sidecar.internal: get secret-bucket: connection reset
2026/10/24 23:56:52 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:52 console: purge preflight bab/kass: release: bab/kass is flagged production — a trashed production app should be impossible; refusing to purge
2026/10/24 23:56:52 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:53 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:53 console: delivery to x@example.com: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://127.0.0.1:35391/api/federation/lookup?addr=x%40example.com&from=console%40127.0.0.1%3A37151": context deadline exceeded
2026/10/24 23:56:53 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:53 console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
2026/10/24 23:56:53 console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
2026/10/24 23:56:53 console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
2026/10/24 23:56:53 console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
2026/10/24 23:56:53 console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
2026/10/24 23:56:53 console: account telemetry bab: dirstore: invalid key "apps/bab//telemetry.json"
2026/10/24 23:56:53 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:53 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:53 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:53 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:53 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: sign-in email to bob@example.com from 127.0.0.1 refused by its limits; not sent
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: sign-in email to bob@example.com from 127.0.0.1 refused by its limits; not sent
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: sign-in email to bob@example.com from 127.0.0.1 refused by its limits; not sent
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: expiry pass: early purge bab/tmp-a: release: purge apps/bab/tmp-a/releases/v1/site.tar.gz: hookStore: delete refused
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:54 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:55 console: geoip published ed972738 (GeoIP2-City, feed:test-feed)
2026/10/24 23:56:55 console: geoip published b3760190 (GeoIP2-Country, manual)
2026/10/24 23:56:55 console: geoip published b3760190 (GeoIP2-Country, manual)
2026/10/24 23:56:55 console: geoip published ed972738 (GeoIP2-City, manual)
2026/10/24 23:56:55 console: geoip published ed972738 (GeoIP2-City, manual)
2026/10/24 23:56:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:55 console: infra pass: console: infra inventory not granted (disabled for this process): awsinv: every read was denied — this deployment has no inventory grant
2026/10/24 23:56:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:55 console: promote kass v3 -> stable: promote kass v3 -> stable: stable is entered from beta only, and this build is on edge — use --hotfix to bypass the ladder
2026/10/24 23:56:55 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:55 console: backfilled account manifest for bab (ops)
2026/10/24 23:56:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:55 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:56 console: materialized account bac (Kass) from the bucket
2026/10/24 23:56:56 console: materialized account bac (Testco) from the bucket
2026/10/24 23:56:56 console: reaped account bac (Testco) — its manifest is tombstoned
2026/10/24 23:56:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:56 console: moves: acme.go.tito.io: the start of move mv_sloixfdbqjuei2kswjlociwbz4 settled not-applied
2026/10/24 23:56:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:56 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:58 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:59 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:57:00 console: api instance move bab/titogo/acme.go.tito.io: declared loss refused: hostresolve: evidence or operation does not authorize resolution
2026/10/24 23:57:00 console: moves: warning: acme.go.tito.io: the log of move mv_c6qnu3cycixl7lqscyx33q7wvm at rolling_back-target-lost has been unwritten for over an hour: unconfirmed: no loss of the move's target has committed, and the move can still be declared lost
2026/10/24 23:57:00 console: moves: acme.go.tito.io: the log of move mv_c6qnu3cycixl7lqscyx33q7wvm at rolling_back-target-lost was never confirmed and the claim no longer holds the instance it was queued for; dropped
2026/10/24 23:57:00 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:57:01 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:57:02 console: api instance move bab/titogo/acme.go.tito.io: typed move write: moves: the declared loss cannot be queued in the move log: SQL logic error: no such table: move_log_outbox (1)
2026/10/24 23:57:03 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:57:04 console: claim request refused: moves: the declared loss cannot be queued in the move log: SQL logic error: no such table: move_log_outbox (1)
2026/10/24 23:57:04 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:57:04 console: backfilled account manifest for bab (ops)
2026/10/24 23:57:04 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:57:04 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:57:04 console: api promote widget abc1234 -> production: promote widget abc1234 -> production: production is entered from beta only, and this build is on edge — use --hotfix to bypass the order
2026/10/24 23:57:04 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:57:04 console: app region bab/solocan:  (default)
2026/10/24 23:57:04 console: backfilled account manifest for bab (ops)
2026/10/24 23:57:04 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:57:05 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
FAIL
FAIL	github.com/carlosframework/platform/internal/console	44.841s
FAIL
=== internal_console@4 (45 s)
ok  	github.com/carlosframework/platform/internal/console	42.483s
=== internal_console@5 (45 s)
ok  	github.com/carlosframework/platform/internal/console	43.256s
=== internal_console@6 (42 s)
ok  	github.com/carlosframework/platform/internal/console	39.916s
=== internal_console@7 (52 s)
ok  	github.com/carlosframework/platform/internal/console	49.684s
=== root@0 (113 s)
ok  	github.com/carlosframework/platform	111.222s
=== root@1 (45 s)
using http://127.0.0.1:32841 as a@keymail.dev
shipped titogo abc1234
2026/10/24 23:56:41 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:41 console: delivery to paul@keymail.dev: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=paul%40keymail.dev&from=console%40127.0.0.1%3A41387": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:41 console: could not notify paul@keymail.dev of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:41 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:41 console: delivery to paul@keymail.dev: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=paul%40keymail.dev&from=console%40127.0.0.1%3A35165": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:41 console: could not notify paul@keymail.dev of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:41 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:41 console: delivery to paul@keymail.dev: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=paul%40keymail.dev&from=console%40127.0.0.1%3A45053": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:41 console: could not notify paul@keymail.dev of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:41 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:41 console: delivery to paul@keymail.dev: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=paul%40keymail.dev&from=console%40127.0.0.1%3A42191": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:41 console: could not notify paul@keymail.dev of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:41 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:41 console: delivery to paul@keymail.dev: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=paul%40keymail.dev&from=console%40127.0.0.1%3A43069": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:41 console: could not notify paul@keymail.dev of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:41 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:41 console: delivery to paul@keymail.dev: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=paul%40keymail.dev&from=console%40127.0.0.1%3A32911": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:41 console: could not notify paul@keymail.dev of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:41 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:41 console: delivery to paul@keymail.dev: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=paul%40keymail.dev&from=console%40127.0.0.1%3A35933": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:41 console: could not notify paul@keymail.dev of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:41 console: api instances get bab/titogo/probe-titogo.bab.oncarlos.test: read timeout
2026/10/24 23:56:41 console: api instances get bab/titogo/probe-titogo.bab.oncarlos.test: read timeout
2026/10/24 23:56:41 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:41 console: delivery to paul@keymail.dev: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=paul%40keymail.dev&from=console%40127.0.0.1%3A37851": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:41 console: could not notify paul@keymail.dev of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:41 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:41 console: delivery to paul@keymail.dev: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=paul%40keymail.dev&from=console%40127.0.0.1%3A39113": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:41 console: could not notify paul@keymail.dev of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:41 edges: box "uk-box" 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/24 23:56:41 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/24 23:56:41 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/24 23:56:42 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:42 INFO ltx file uploaded system=store db=shop.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=708
2026/10/24 23:56:42 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:43 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/24 23:56:43 INFO ltx file uploaded system=store db=shop.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=265
2026/10/24 23:56:43 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/24 23:56:43 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:43 console: delivery to member@example.com: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=member%40example.com&from=console%40127.0.0.1%3A46237": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:43 console: could not notify member@example.com of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:44 console: db read dbr_yesazpijd3mvfscyooyc3u2gyy: relayed 1 chunks (187 bytes) in 1.001s, ended done
2026/10/24 23:56:45 console: db read dbr_zb5ociequzgqo7hlc4dygdciki: relayed 1 chunks (169 bytes) in 1.001s, ended done
2026/10/24 23:56:45 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:45 INFO ltx file uploaded system=store db=shop.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=708
2026/10/24 23:56:45 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:46 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/24 23:56:46 INFO ltx file uploaded system=store db=shop.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=265
2026/10/24 23:56:46 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/24 23:56:46 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:46 console: delivery to member@example.com: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=member%40example.com&from=console%40127.0.0.1%3A35279": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:46 console: could not notify member@example.com of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:46 httputil: ReverseProxy read error during body copy: read tcp 127.0.0.1:42330->127.0.0.1:40715: use of closed network connection
2026/10/24 23:56:46 console: db read dbr_zsiolqxsjx3poucdky3ftbin5u: relayed 0 chunks (0 bytes) in 0s, ended client gone
--- FAIL: TestDBForwardLongRequestThroughTheEdge (0.94s)
    dbforward_e2e_test.go:582: unexpected EOF
2026/10/24 23:56:46 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:46 INFO ltx file uploaded system=store db=shop.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=708
2026/10/24 23:56:46 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:47 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/24 23:56:47 INFO ltx file uploaded system=store db=shop.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=265
2026/10/24 23:56:47 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/24 23:56:47 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:47 console: delivery to member@example.com: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=member%40example.com&from=console%40127.0.0.1%3A39505": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:47 console: could not notify member@example.com of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:47 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:47 INFO ltx file uploaded system=store db=shop.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=708
2026/10/24 23:56:47 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:48 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/24 23:56:48 INFO ltx file uploaded system=store db=shop.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=265
2026/10/24 23:56:48 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/24 23:56:48 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:48 console: delivery to member@example.com: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=member%40example.com&from=console%40127.0.0.1%3A40913": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:48 console: could not notify member@example.com of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:48 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:48 INFO ltx file uploaded system=store db=shop.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=708
2026/10/24 23:56:48 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:49 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/24 23:56:49 INFO ltx file uploaded system=store db=shop.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=265
2026/10/24 23:56:49 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/24 23:56:49 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:49 console: delivery to member@example.com: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=member%40example.com&from=console%40127.0.0.1%3A33509": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:49 console: could not notify member@example.com of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:50 console: db read dbr_iyrug3uupjwun6wdnasywzy47e: relayed 1 chunks (1070 bytes) in 1.002s, ended done
2026/10/24 23:56:50 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:50 INFO ltx file uploaded system=store db=shop.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=708
2026/10/24 23:56:50 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:51 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/24 23:56:51 INFO ltx file uploaded system=store db=shop.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=265
2026/10/24 23:56:51 INFO replica sync system=store db=shop.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/24 23:56:51 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:51 console: delivery to member@example.com: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=member%40example.com&from=console%40127.0.0.1%3A38719": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:51 console: could not notify member@example.com of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:51 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:56:51 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/24 23:56:51 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:56:51 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/24 23:56:51 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/24 23:56:51 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/24 23:56:51 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/24 23:56:51 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/24 23:56:51 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
fetching a copy of shop.example.com's database from region uk.
2026/10/24 23:56:51 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:51 console: delivery to paul@keymail.dev: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=paul%40keymail.dev&from=console%40127.0.0.1%3A37611": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:51 console: could not notify paul@keymail.dev of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:51 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:51 console: delivery to paul@keymail.dev: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=paul%40keymail.dev&from=console%40127.0.0.1%3A41127": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:51 console: could not notify paul@keymail.dev of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:53 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:53 console: delivery to paul@keymail.dev: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=paul%40keymail.dev&from=console%40127.0.0.1%3A44949": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:53 console: could not notify paul@keymail.dev of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:53 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:53 console: delivery to paul@keymail.dev: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=paul%40keymail.dev&from=console%40127.0.0.1%3A35355": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:53 console: could not notify paul@keymail.dev of a CLI token issue: console: no email sender is configured
2026/10/24 23:56:53 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:53 console: delivery to paul@keymail.dev: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=paul%40keymail.dev&from=console%40127.0.0.1%3A34145": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:53 console: could not notify paul@keymail.dev of a CLI token issue: console: no email sender is configured
using http://127.0.0.1:46067 as paul@keymail.dev
account: ops (bab)
attached tickets.example.com -> default.go.tito.io
DNS: pointing
using http://127.0.0.1:46067 as paul@keymail.dev
account: ops (bab)
attached tickets.example.com -> default.go.tito.io
DNS: pointing
using http://127.0.0.1:46067 as paul@keymail.dev
account: ops (bab)
attached tickets.example.com -> default.go.tito.io
DNS: pointing
using http://127.0.0.1:46067 as paul@keymail.dev
account: ops (bab)
attached tickets.example.com -> default.go.tito.io
DNS: pointing
2026/10/24 23:56:58 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/24 23:56:58 console: delivery to paul@keymail.dev: keymail lookup unreachable, trying email: keymail: lookup unreachable: Get "http://keymail.invalid/api/federation/lookup?addr=paul%40keymail.dev&from=console%40127.0.0.1%3A39461": dial tcp: lookup keymail.invalid on 127.0.0.53:53: no such host
2026/10/24 23:56:58 console: could not notify paul@keymail.dev of a CLI token issue: console: no email sender is configured
2026/10/24 23:57:11 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/24 23:57:11 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/24 23:57:11 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/24 23:57:11 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/24 23:57:11 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/24 23:57:11 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
FAIL
FAIL	github.com/carlosframework/platform	43.264s
FAIL
=== root@2 (94 s)
ok  	github.com/carlosframework/platform	92.201s

FAILED: rest internal_console@3 root@1
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/internal/console/apiedgeref.go b/internal/console/apiedgeref.go
new file mode 100644
index 000000000..1b4293d92
--- /dev/null
+++ b/internal/console/apiedgeref.go
@@ -0,0 +1,100 @@
+// The edge reference code API — what an app's owner asks when a visitor
+// reads out the code from a block page. The code carries the rule, the tier
+// and the minute, sealed with the deployment's mesh key, so this answers even
+// when the full request record was sampled away; when the record survives it
+// comes back too. It sits behind the logs door's gate for the same reason it
+// reads the same data: whoever may read an app's logs may read its edge
+// records, and no one else learns anything about a code.
+package console
+
+import (
+ "context"
+ "fmt"
+ "log"
+ "net/http"
+ "strings"
+ "time"
+
+ "github.com/carlosframework/platform/internal/applog"
+ "github.com/carlosframework/platform/internal/reqrec"
+)
+
+// apiEdgeRef is the wire shape of one explained code. Record is null when
+// the edge record is gone (sampled, evicted, or past retention); the seal
+// still tells the owner which rule fired and when.
+type apiEdgeRef struct {
+ Code string `json:"code"`
+ Verified bool `json:"verified"`
+ At time.Time `json:"at"`
+ Tier string `json:"tier"`
+ RuleHash string `json:"rule_hash"`
+ Record *applog.Record `json:"record"`
+}
+
+// canonicalRefCode is the form the edge writes into a record's ref field:
+// lower case, no spaces, no dashes. It deliberately does not fold the
+// look-alike letters the way ParseRef does, because the edge never writes
+// them; a pasted code that only parses by folding finds no record, and the
+// answer says so rather than guessing.
+func canonicalRefCode(code string) string {
+ return strings.Map(func(r rune) rune {
+ if r == ' ' || r == '-' {
+ return -1
+ }
+ return r
+ }, strings.ToLower(code))
+}
+
+// handleAPIEdgeRef answers GET /api/cli/apps/{account}/{app}/edge-refs/{code}.
+// A malformed code and a forged one are the instance gate's own 404, so the
+// answer never confirms that a code was looked at.
+func (s *Server) handleAPIEdgeRef(w http.ResponseWriter, r *http.Request) {
+ _, acct, app, ok := s.instanceGate(w, r)
+ if !ok {
+ return
+ }
+ cur, next := s.edgeProofKeys(r.Context())
+ var keys [][]byte
+ for _, k := range [][]byte{cur, next} {
+ if len(k) > 0 {
+ keys = append(keys, k)
+ }
+ }
+ code := r.PathValue("code")
+ ref, err := reqrec.ParseRef(code, keys...)
+ if err != nil {
+ // ErrBadRef and ErrForgedRef alike: the gate's own 404.
+ http.NotFound(w, r)
+ return
+ }
+ canon := canonicalRefCode(code)
+
+ ctx, cancel := context.WithTimeout(r.Context(), instanceStoreTimeout)
+ defer cancel()
+ // The code names its own minute, so the read is three minutes of one
+ // stream rather than a walk of the retention window. The slack on each
+ // side covers clock skew between the box that minted the code and the
+ // one that shipped the record.
+ recs, _, err := applog.ReadWindow(ctx, s.cfg.Releases, acct.Sqid, app, applog.Filter{
+ Since: ref.At.Add(-time.Minute),
+ Until: ref.At.Add(2 * time.Minute),
+ Stream: applog.StreamEdge,
+ Fields: map[string]string{"ref": canon},
+ }, 1000)
+ if err != nil {
+ log.Printf("console: api edge ref %s/%s: %v", acct.Sqid, app, err)
+ jsonError(w, http.StatusBadGateway, "could not read the logs")
+ return
+ }
+ resp := apiEdgeRef{
+ Code: canon,
+ Verified: ref.Verified,
+ At: ref.At,
+ Tier: ref.Tier.String(),
+ RuleHash: fmt.Sprintf("%08x", ref.RuleHash),
+ }
+ if len(recs) > 0 {
+ resp.Record = &recs[0]
+ }
+ writeJSON(w, http.StatusOK, resp)
+}
diff --git a/internal/console/apiedgeref_test.go b/internal/console/apiedgeref_test.go
new file mode 100644
index 000000000..2cb90c874
--- /dev/null
+++ b/internal/console/apiedgeref_test.go
@@ -0,0 +1,160 @@
+package console
+
+import (
+ "context"
+ "encoding/hex"
+ "encoding/json"
+ "fmt"
+ "net/http"
+ "strings"
+ "testing"
+ "time"
+
+ "github.com/carlosframework/platform/internal/applog"
+ "github.com/carlosframework/platform/internal/edgeproof"
+ "github.com/carlosframework/platform/internal/release"
+ "github.com/carlosframework/platform/internal/reqrec"
+)
+
+var edgeRefTestKey = []byte("0123456789abcdef0123456789abcdef")
+
+func edgeRefURL(fx *consoleFixture, acct, app, code string) string {
+ return fx.ts.URL + "/api/cli/apps/" + acct + "/" + app + "/edge-refs/" + code
+}
+
+// edgeRefFixture is an app with a member and the deployment's mesh key in
+// the store, so the console can verify a sealed code.
+func edgeRefFixture(t *testing.T, oauthCode string) (*consoleFixture, string) {
+ t.Helper()
+ fx, token := instanceFixture(t, oauthCode)
+ if _, err := fx.rel.Put(context.Background(), edgeproof.MeshKeyObject, []byte(hex.EncodeToString(edgeRefTestKey)), ""); err != nil {
+ t.Fatal(err)
+ }
+ return fx, token
+}
+
+// seedEdgeRecord ships one edge request record carrying code in its ref
+// field, the way the box's shipper does.
+func seedEdgeRecord(t *testing.T, fx *consoleFixture, code string, at time.Time) {
+ t.Helper()
+ recs := []applog.Record{{TS: at, Box: "box1", Host: "titogo.example.com",
+ Stream: applog.StreamEdge, Msg: "blocked", Seq: 500,
+ Fields: map[string]string{"ref": code, "rule": "probe-paths"}}}
+ body, err := applog.EncodeChunk(recs)
+ if err != nil {
+ t.Fatal(err)
+ }
+ key := mustKey(t)(applog.ChunkKey(release.OpsAccount, "titogo", "box1", applog.HourOf(at), recs[0].Seq, len(body)))
+ if _, err := fx.rel.Put(context.Background(), key, body, ""); err != nil {
+ t.Fatal(err)
+ }
+}
+
+func getEdgeRef(t *testing.T, fx *consoleFixture, token, code string) apiEdgeRef {
+ t.Helper()
+ status, _, body := rawReq(t, http.MethodGet, edgeRefURL(fx, fx.sqid, "titogo", code), token, "")
+ if status != http.StatusOK {
+ t.Fatalf("GET edge-refs/%s = %d: %s", code, status, body)
+ }
+ var resp apiEdgeRef
+ if err := json.Unmarshal([]byte(body), &resp); err != nil {
+ t.Fatalf("bad JSON: %v: %s", err, body)
+ }
+ return resp
+}
+
+func TestEdgeRefFound(t *testing.T) {
+ fx, token := edgeRefFixture(t, "code-edgeref-found")
+ at := time.Now().UTC()
+ code := reqrec.NewRef(at, reqrec.TierProbe, "probe-paths", "box1", edgeRefTestKey)
+ seedEdgeRecord(t, fx, code, at)
+
+ resp := getEdgeRef(t, fx, token, code)
+ if !resp.Verified || resp.Tier != "probe" {
+ t.Fatalf("verified/tier: %+v", resp)
+ }
+ if resp.Code != code {
+ t.Fatalf("code = %q, want %q", resp.Code, code)
+ }
+ if want := reqrec.RuleHash("probe-paths"); resp.RuleHash != fmt.Sprintf("%08x", want) {
+ t.Fatalf("rule_hash = %q, want %08x", resp.RuleHash, want)
+ }
+ if resp.Record == nil || resp.Record.Fields["ref"] != code {
+ t.Fatalf("record: %+v", resp.Record)
+ }
+}
+
+func TestEdgeRefRecordGone(t *testing.T) {
+ fx, token := edgeRefFixture(t, "code-edgeref-gone")
+ at := time.Now().UTC()
+ code := reqrec.NewRef(at, reqrec.TierAttack, "probe-paths", "box1", edgeRefTestKey)
+
+ status, _, body := rawReq(t, http.MethodGet, edgeRefURL(fx, fx.sqid, "titogo", code), token, "")
+ if status != http.StatusOK {
+ t.Fatalf("status = %d: %s", status, body)
+ }
+ if !strings.Contains(body, `"record":null`) {
+ t.Fatalf("want record null: %s", body)
+ }
+ var resp apiEdgeRef
+ if err := json.Unmarshal([]byte(body), &resp); err != nil {
+ t.Fatal(err)
+ }
+ if resp.Tier != "attack" || !resp.Verified {
+ t.Fatalf("tier/verified: %+v", resp)
+ }
+ if want := at.Truncate(time.Minute); !resp.At.Equal(want) {
+ t.Fatalf("at = %v, want the minute %v", resp.At, want)
+ }
+ if !strings.Contains(body, `"at":"`+at.Truncate(time.Minute).Format(time.RFC3339)+`"`) {
+ t.Fatalf("at is not RFC3339 UTC: %s", body)
+ }
+}
+
+// TestEdgeRefForged: a code sealed with another key, and a malformed one,
+// both get the instance gate's own 404, byte for byte, so neither confirms
+// that the console looked at the code.
+func TestEdgeRefForged(t *testing.T) {
+ fx, token := edgeRefFixture(t, "code-edgeref-forged")
+ want := canonicalNotFound(t)
+ forged := reqrec.NewRef(time.Now(), reqrec.TierProbe, "probe-paths", "box1", []byte("some other deployment's key....."))
+ for what, code := range map[string]string{"forged": forged, "malformed": "not-a-code"} {
+ status, h, body := rawReq(t, http.MethodGet, edgeRefURL(fx, fx.sqid, "titogo", code), token, "")
+ assertNotFound(t, what, want, status, h, body)
+ }
+}
+
+func TestEdgeRefOtherAccount(t *testing.T) {
+ fx, _ := edgeRefFixture(t, "code-edgeref-owner")
+ now := time.Now()
+ if err := fx.st.CreateAccount(42, "cdef", "widgets", "bob@keymail.dev", now); err != nil {
+ t.Fatal(err)
+ }
+ bob := cliToken(t, fx, "bob@keymail.dev", "code-edgeref-bob")
+ code := reqrec.NewRef(now, reqrec.TierProbe, "probe-paths", "box1", edgeRefTestKey)
+ seedEdgeRecord(t, fx, code, now)
+
+ status, h, body := rawReq(t, http.MethodGet, edgeRefURL(fx, fx.sqid, "titogo", code), bob, "")
+ assertNotFound(t, "other account's member", canonicalNotFound(t), status, h, body)
+}
+
+// TestEdgeRefPastedUpper: a visitor reads the code out in capitals with
+// dashes between groups, and the owner pastes it as given.
+func TestEdgeRefPastedUpper(t *testing.T) {
+ fx, token := edgeRefFixture(t, "code-edgeref-upper")
+ at := time.Now().UTC()
+ code := reqrec.NewRef(at, reqrec.TierProbe, "probe-paths", "box1", edgeRefTestKey)
+ seedEdgeRecord(t, fx, code, at)
+
+ var groups []string
+ for i := 0; i < len(code); i += 4 {
+ groups = append(groups, strings.ToUpper(code[i:i+4]))
+ }
+ resp := getEdgeRef(t, fx, token, strings.Join(groups, "-"))
+ if !resp.Verified || resp.Code != code {
+ t.Fatalf("code/verified: %+v", resp)
+ }
+ if resp.Record == nil {
+ t.Fatal("record not found for the pasted form")
+ }
+}
diff --git a/internal/console/authcli.go b/internal/console/authcli.go
index 954e47d57..ad7eb0ce5 100644
--- a/internal/console/authcli.go
+++ b/internal/console/authcli.go
@@ -673,6 +673,10 @@ func (s *Server) registerCLIRoutes() {
// The logs read (`carlos logs`, apilogs.go) — same gate, same 404
// discipline, and an app token may read its own app's logs.
s.cliRoute("GET /api/cli/apps/{account}/{app}/logs", svcrole.Allow(svcrole.Instance, svcrole.Operate), s.handleAPILogs)
+ // The edge reference code read (apiedgeref.go): what the owner asks when
+ // a visitor reads out the code from a block page. It reads the app's own
+ // edge records, so it takes the logs door's gate and roles.
+ s.cliRoute("GET /api/cli/apps/{account}/{app}/edge-refs/{code}", svcrole.Allow(svcrole.Instance, svcrole.Operate), s.handleAPIEdgeRef)
// The errors read (`carlos errors`, apierrors.go) — the logs door's twin,
// over the same window from the other end: the same gate, the same roles,
// and an app token may read its own app's errors for the same reason it
diff --git a/internal/console/claim_invariant_fixtures_test.go b/internal/console/claim_invariant_fixtures_test.go
index 20b1b8dab..b18abd04a 100644
--- a/internal/console/claim_invariant_fixtures_test.go
+++ b/internal/console/claim_invariant_fixtures_test.go
@@ -817,6 +817,7 @@ var claimFixtures = map[string]claimFixture{
"route GET /api/cli/apps/{account}/{app}/domains": claimRead("lists domain claims"),
"route GET /api/cli/apps/{account}/{app}/domains/{host}": claimRead("reads one domain claim and its DNS status"),
"route GET /api/cli/apps/{account}/{app}/door-keys": claimRead("lists door keys"),
+ "route GET /api/cli/apps/{account}/{app}/edge-refs/{code}": claimRead("reads one edge record and the mesh key to verify the code"),
"route GET /api/cli/apps/{account}/{app}/email": claimRead("reads the email record"),
"route GET /api/cli/apps/{account}/{app}/email/events": claimRead("reads mail events"),
"route GET /api/cli/apps/{account}/{app}/email/events/push": claimRead("reads the push hook status"),
diff --git a/internal/console/claim_invariant_probes_read_test.go b/internal/console/claim_invariant_probes_read_test.go
index 5c814388d..b1956cf1b 100644
--- a/internal/console/claim_invariant_probes_read_test.go
+++ b/internal/console/claim_invariant_probes_read_test.go
@@ -17,6 +17,7 @@ import (
"github.com/carlosframework/platform/internal/geo"
"github.com/carlosframework/platform/internal/geoip"
"github.com/carlosframework/platform/internal/release"
+ "github.com/carlosframework/platform/internal/reqrec"
)
// claimPageRead is a browser GET of a page, the owner signed in.
@@ -174,6 +175,10 @@ var claimReadProbes = map[string]claimProbe{
"/api/cli/apps/bab/titogo/email/events", `"events"`),
"route GET /api/cli/apps/{account}/{app}/email/events/push": claimAPIRead(func(t *testing.T, cx *claimCase) { cx.emailPush(t) },
"/api/cli/apps/bab/titogo/email/events/push", "/mail/events"),
+ // An unsealed code needs no mesh key to decode, so the probe answers 200
+ // without seeding one; the record is simply not found.
+ "route GET /api/cli/apps/{account}/{app}/edge-refs/{code}": claimAPIRead(nil,
+ "/api/cli/apps/bab/titogo/edge-refs/"+reqrec.NewRef(time.Now(), reqrec.TierProbe, "probe-paths", "box1", nil), `"tier":"probe"`),
"route GET /api/cli/apps/{account}/{app}/errors": claimAPIRead(nil, "/api/cli/apps/bab/titogo/errors", `"log_level"`),
"route GET /api/cli/apps/{account}/{app}/features": claimAPIRead(nil, "/api/cli/apps/bab/titogo/features", `"features"`),
"route GET /api/cli/apps/{account}/{app}/geo": claimAPIRead(func(t *testing.T, cx *claimCase) {
diff --git a/internal/console/svcroutes_test.go b/internal/console/svcroutes_test.go
index 92d8e2fdb..a1168244b 100644
--- a/internal/console/svcroutes_test.go
+++ b/internal/console/svcroutes_test.go
@@ -562,6 +562,11 @@ var exemptFromLegacyPin = map[string]bool{
// nothing about the account; only what the deployment's database says
// about an address the caller chose.
"GET /api/cli/apps/{account}/{app}/geo": true,
+ // The edge reference code read (apiedgeref.go) is new access on the logs
+ // read's footing: it reads the same app's edge records, and says nothing
+ // about a code that does not verify. It did not exist before service
+ // principals.
+ "GET /api/cli/apps/{account}/{app}/edge-refs/{code}": true,
// The import door (seeded-instances spec §6.1) is new access on the
// create door's footing: every import call takes the instance role, as
// the create that begins the import does. It did not exist before