carlos / platform Public

plans: a rate field the plan leaves unset takes the catalog ceiling (#358)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev d55e0cdfe364cc389691b2638aee5f5b9a176712 parent ac8d9ba
2 files changed, +68 −3
  • internal/plans/catalog.go +13 −3
  • internal/plans/catalog_ratelimit_test.go +55 −0

CI failed — run details

CI log
=== gate ===
.amadan/test-gate.sh
=== launchctx (0 s)
ok  	amadan.net/carlos/platform.git/launchctx	0.012s
?   	amadan.net/carlos/platform.git/launchctx/controlname	[no test files]
?   	amadan.net/carlos/platform.git/launchctx/wireid	[no test files]
=== vet (17 s)
=== gofmt (0 s)
gofmt -l .: clean
=== rest (169 s)
?   	github.com/carlosframework/platform/cmd/changelog	[no test files]
ok  	github.com/carlosframework/platform/cmd/console	3.709s
ok  	github.com/carlosframework/platform/cmd/moveprobe	11.912s
ok  	github.com/carlosframework/platform/cmd/zddprobe	0.762s
ok  	github.com/carlosframework/platform/internal/activator	57.638s
ok  	github.com/carlosframework/platform/internal/agentsock	0.017s
ok  	github.com/carlosframework/platform/internal/alerting	0.005s
ok  	github.com/carlosframework/platform/internal/analytics	0.042s
ok  	github.com/carlosframework/platform/internal/appconfig	3.030s
ok  	github.com/carlosframework/platform/internal/apperr	0.161s
ok  	github.com/carlosframework/platform/internal/applog	0.292s
ok  	github.com/carlosframework/platform/internal/awsinv	0.016s
ok  	github.com/carlosframework/platform/internal/boxchoice	0.012s
ok  	github.com/carlosframework/platform/internal/boxid	1.004s
?   	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.015s
ok  	github.com/carlosframework/platform/internal/caps	0.015s
ok  	github.com/carlosframework/platform/internal/certwarm	0.002s
ok  	github.com/carlosframework/platform/internal/cgroup	0.741s
ok  	github.com/carlosframework/platform/internal/changelog	0.546s
ok  	github.com/carlosframework/platform/internal/claimactivation	1.154s
ok  	github.com/carlosframework/platform/internal/clamd	0.062s
?   	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	8.040s
ok  	github.com/carlosframework/platform/internal/dbdoor/dbdoortest	0.024s
ok  	github.com/carlosframework/platform/internal/dbquery	0.009s
ok  	github.com/carlosframework/platform/internal/dbreads	2.177s
?   	github.com/carlosframework/platform/internal/dbreads/dbreadstest	[no test files]
ok  	github.com/carlosframework/platform/internal/dbverify	0.009s
ok  	github.com/carlosframework/platform/internal/dnsrec	0.005s
ok  	github.com/carlosframework/platform/internal/docsite	0.012s
ok  	github.com/carlosframework/platform/internal/domains	2.918s
ok  	github.com/carlosframework/platform/internal/doorkey	0.009s
ok  	github.com/carlosframework/platform/internal/economics	0.012s
ok  	github.com/carlosframework/platform/internal/edge	45.873s
?   	github.com/carlosframework/platform/internal/edgeproof	[no test files]
ok  	github.com/carlosframework/platform/internal/edgesfile	0.008s
ok  	github.com/carlosframework/platform/internal/fleetapi	0.140s
ok  	github.com/carlosframework/platform/internal/gate	1.659s
ok  	github.com/carlosframework/platform/internal/genselect	0.014s
ok  	github.com/carlosframework/platform/internal/geo	0.022s
ok  	github.com/carlosframework/platform/internal/geoip	0.031s
ok  	github.com/carlosframework/platform/internal/historyreadback	0.159s
ok  	github.com/carlosframework/platform/internal/host	140.610s
ok  	github.com/carlosframework/platform/internal/hostactors	5.850s
ok  	github.com/carlosframework/platform/internal/hostactors/awsmembership	0.009s
ok  	github.com/carlosframework/platform/internal/hostbox	2.957s
ok  	github.com/carlosframework/platform/internal/hostclaim	0.763s
ok  	github.com/carlosframework/platform/internal/hostenv	0.005s
ok  	github.com/carlosframework/platform/internal/hostevidence	0.006s
ok  	github.com/carlosframework/platform/internal/hostexec	5.303s
ok  	github.com/carlosframework/platform/internal/hostfence	0.044s
ok  	github.com/carlosframework/platform/internal/hostfiles	10.366s
ok  	github.com/carlosframework/platform/internal/hostfloor	0.019s
ok  	github.com/carlosframework/platform/internal/hostguard	1.074s
ok  	github.com/carlosframework/platform/internal/hostops	1.945s
?   	github.com/carlosframework/platform/internal/hostops/fencerelease	[no test files]
ok  	github.com/carlosframework/platform/internal/hostops/internal/fencerelease	0.002s
ok  	github.com/carlosframework/platform/internal/hostquarantine	0.003s
ok  	github.com/carlosframework/platform/internal/hostrelocate	0.603s
ok  	github.com/carlosframework/platform/internal/hostresolve	0.213s
ok  	github.com/carlosframework/platform/internal/hostwrite	0.002s
ok  	github.com/carlosframework/platform/internal/infraview	0.004s
ok  	github.com/carlosframework/platform/internal/instancectl	5.240s
ok  	github.com/carlosframework/platform/internal/instanceexec	2.807s
ok  	github.com/carlosframework/platform/internal/instancefs	0.005s
ok  	github.com/carlosframework/platform/internal/instancekey	0.004s
ok  	github.com/carlosframework/platform/internal/instanceupdates	0.012s
ok  	github.com/carlosframework/platform/internal/layout	1.729s
ok  	github.com/carlosframework/platform/internal/lbhealth	0.017s
ok  	github.com/carlosframework/platform/internal/lease	10.168s
ok  	github.com/carlosframework/platform/internal/lease/leasetest	0.564s
ok  	github.com/carlosframework/platform/internal/ledger	0.029s
ok  	github.com/carlosframework/platform/internal/mail	0.244s
ok  	github.com/carlosframework/platform/internal/maintenance	0.085s
ok  	github.com/carlosframework/platform/internal/maintenanceexec	5.556s
ok  	github.com/carlosframework/platform/internal/maintenanceguard	0.080s
ok  	github.com/carlosframework/platform/internal/metrics	0.005s
ok  	github.com/carlosframework/platform/internal/moves	22.483s
ok  	github.com/carlosframework/platform/internal/moves/archive	0.990s
ok  	github.com/carlosframework/platform/internal/objstore	0.268s
ok  	github.com/carlosframework/platform/internal/ops	0.182s
ok  	github.com/carlosframework/platform/internal/park	0.248s
ok  	github.com/carlosframework/platform/internal/plans	0.011s
ok  	github.com/carlosframework/platform/internal/privatefile	0.004s
2026/10/24 21:01:08 provision: listing apps/bab/blog/instances/: list refused — its records are unseen this pass
2026/10/24 21:01:08 provision: listing apps/bab/: listdirs refused — its records are unseen this pass
2026/10/24 21:01:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:08 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/24 21:01:08 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/24 21:01:08 provision: skipping record apps/bac/tito/instances/one.example.com.json: unreadable: read refused
2026/10/24 21:01:08 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/24 21:01:08 provision: an app's records could not be listed: they are skipped
2026/10/24 21:01:08 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:01:08 provision: remove retired instance route shop.example: provision: claim admission unavailable
2026/10/24 21:01:08 provision: remove retired instance route shop.example: provision: claim admission unavailable
2026/10/24 21:01:08 provision: remove retired sidecar route worker.sidecar.internal: provision: claim admission unavailable
2026/10/24 21:01:08 provision: remove retired sidecar route worker.sidecar.internal: provision: claim admission unavailable
2026/10/24 21:01:08 provision: claim install acme.go.tito.io: provision: claim admission unavailable
2026/10/24 21:01:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:08 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/24 21:01:08 provision: claim install bot.eleven.bac.sidecar.internal: provision: claim admission unavailable
2026/10/24 21:01:08 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 21:01:08 provision: claim install bot.eleven.bac.sidecar.internal: registry: claim row ownership changed or unknown
2026/10/24 21:01:08 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 21:01:08 provision: acme.go.tito.io: not minting this pass: the box's layout intent could not be read: no sealed config
2026/10/24 21:01:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:08 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 21:01:08 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 21:01:08 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 21:01:08 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 21:01:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:08 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 21:01:08 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 21:01:08 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 21:01:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:08 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/24 21:01:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:08 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/24 21:01:08 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 21:01:08 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 21:01:08 provision: claim install bot.eleven.bac.sidecar.internal: registry: claim row ownership changed or unknown
2026/10/24 21:01:08 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 21:01:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:08 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 21:01:08 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 21:01:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:01:09 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:09 provision: skipping record apps/bac/tito/instances/new.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:09 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 21:01:09 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:09 provision: skipping record apps/bac/tito/instances/new.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:09 provision: minted instance route rg.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route ri.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route rj.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route rk.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route rl.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route ra.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route rb.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route rc.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route rf.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route rh.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route rd.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route re.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route rc.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route rd.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route ra.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route rb.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: skipping record apps/bac/tito/instances/rb.go.tito.io.json: read failed: read refused
2026/10/24 21:01:09 provision: skipping record apps/bac/tito/instances/rb.go.tito.io.json: read failed: read refused
2026/10/24 21:01:09 provision: minted instance route re.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route x.appa.example (app "appa" acct "bac")
2026/10/24 21:01:09 provision: minted instance route x.appc.example (app "appc" acct "bac")
2026/10/24 21:01:09 provision: minted instance route x.appf.example (app "appf" acct "bac")
2026/10/24 21:01:09 provision: minted instance route x.appg.example (app "appg" acct "bac")
2026/10/24 21:01:09 provision: minted instance route x.appi.example (app "appi" acct "bac")
2026/10/24 21:01:09 provision: minted instance route x.appj.example (app "appj" acct "bac")
2026/10/24 21:01:09 provision: minted instance route x.appb.example (app "appb" acct "bac")
2026/10/24 21:01:09 provision: minted instance route x.appd.example (app "appd" acct "bac")
2026/10/24 21:01:09 provision: minted instance route x.appe.example (app "appe" acct "bac")
2026/10/24 21:01:09 provision: minted instance route x.apph.example (app "apph" acct "bac")
2026/10/24 21:01:09 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 21:01:09 provision: minted instance route r0000.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0019.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0064.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0089.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0107.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0113.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0114.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0006.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0021.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0069.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0122.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0017.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0106.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0035.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0072.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0097.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0051.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0070.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0121.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0123.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0015.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0042.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0056.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0058.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0068.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0094.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0115.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0119.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0001.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0082.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0018.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0080.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0088.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0117.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0005.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0008.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0023.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0060.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0109.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0124.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0100.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0045.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0050.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0083.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0086.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0087.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0120.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0043.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0078.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0012.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0125.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0126.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0016.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0062.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0065.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0071.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0096.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0103.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0031.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0092.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0033.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0036.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0044.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0076.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0011.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0049.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0007.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0032.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0055.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0075.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0101.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0118.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0004.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0024.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0057.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0093.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0116.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0034.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0095.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0127.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0013.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0010.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0029.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0054.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0084.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0098.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0003.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0025.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0102.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0129.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0059.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0079.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0081.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0085.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0091.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0108.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0039.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0061.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0002.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0020.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0040.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0052.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0073.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0090.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0026.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0048.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0077.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0014.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0030.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0037.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0066.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0099.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0112.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0027.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0022.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0038.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0046.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0074.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0041.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0053.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0067.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0009.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0104.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0110.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0111.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0128.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0028.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0047.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0063.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:09 provision: minted instance route r0105.go.tito.io (app "tito" acct "bac")
--- FAIL: TestPlan9B8RecordWriteCensus (0.71s)
    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/provision/reconcile.go:Reconcile: source differs from the reviewed digest
2026/10/24 21:01:10 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 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 21:01:10 provision: minted instance route shop.example.com (app "shop" acct "bac")
2026/10/24 21:01:10 provision: minted instance route shop.example.com (app "shop" acct "bac")
2026/10/24 21:01:10 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 provision: minted instance route console.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 provision: minted service route ha.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 provision: minted service route svc.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 provision: minted instance route whole.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 provision: minted instance route shared.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 provision: converged acme.go.tito.io channel stable -> edge
2026/10/24 21:01:10 provision: converged acme.go.tito.io channel edge -> canary/rehearsal
2026/10/24 21:01:10 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: empty channel
2026/10/24 21:01:10 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 21:01:10 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 provision: converged acme.go.tito.io environment "" -> "staging"
2026/10/24 21:01:10 provision: converged acme.go.tito.io environment "staging" -> ""
2026/10/24 21:01:10 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 provision: converged acme.go.tito.io steering "" -> "latency"
2026/10/24 21:01:10 provision: converged acme.go.tito.io steering "latency" -> ""
2026/10/24 21:01:10 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:10 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: converged acme.go.tito.io hibernate false -> true
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: converged acme.go.tito.io hibernate true -> false (replication "daily" cleared: only a hibernating route's rung is read)
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: converged acme.go.tito.io status-named false -> true
2026/10/24 21:01:11 provision: converged acme.go.tito.io status-named true -> false
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted service route ha.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 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 21:01:11 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 21:01:11 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 21:01:11 provision: minted service route whole.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 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 21:01:11 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 21:01:11 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 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted service route whole.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: skipping accounts/bac/account.json: malformed account manifest: invalid character 'o' in literal null (expecting 'u')
2026/10/24 21:01:11 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: manifest bac/tito: read failed: provision: manifest bac/tito: invalid character 'o' in literal null (expecting 'u')
2026/10/24 21:01:11 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 21:01:11 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 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 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 21:01:11 provision: not removing acme$evil.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 21:01:11 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 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 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 21:01:11 provision: not removing bad-service.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 21:01:11 provision: skipping record apps/bac/tito/instances/no-channel.go.tito.io.json: empty channel
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: skipping record apps/bac/tito/instances/no-channel.go.tito.io.json: empty channel
2026/10/24 21:01:11 provision: not removing no-channel.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:11 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 21:01:11 provision: removed retired instance route ghost.go.tito.io (record gone)
2026/10/24 21:01:11 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 21:01:11 provision: minted instance route dup.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 21:01:11 provision: removed retired instance route acme.go.tito.io (app in the trash)
2026/10/24 21:01:11 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 21:01:11 provision: removed retired static route site.go.tito.io (app in the trash)
2026/10/24 21:01:11 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 21:01:11 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 21:01:11 provision: removed retired instance route acme.go.tito.io (app in the trash)
2026/10/24 21:01:11 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 21:01:11 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 21:01:11 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 21:01:11 provision: converged acme.go.tito.io channel stable -> edge
2026/10/24 21:01:11 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 21:01:11 provision: converged acme.go.tito.io channel canary/rehearsal -> edge
2026/10/24 21:01:11 provision: converged acme.go.tito.io environment "staging" -> ""
2026/10/24 21:01:11 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 21:01:11 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 21:01:11 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 21:01:11 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 21:01:11 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 21:01:11 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 21:01:11 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 21:01:11 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 21:01:11 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 21:01:11 provision: dry-run: would mint instance route acme.go.tito.io (app "tito" acct "bac" channel "stable")
2026/10/24 21:01:11 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 21:01:11 provision: dry-run: would converge adopt.go.tito.io channel stable -> edge
2026/10/24 21:01:11 provision: dry-run: would converge adopt.go.tito.io environment "" -> "staging"
2026/10/24 21:01:11 provision: dry-run: would converge owned.go.tito.io channel stable -> edge
2026/10/24 21:01:11 provision: dry-run: would converge owned.go.tito.io environment "" -> "staging"
2026/10/24 21:01:11 provision: dry-run: would converge owned.go.tito.io hibernate false -> true
2026/10/24 21:01:11 provision: dry-run: would converge owned.go.tito.io seed
2026/10/24 21:01:11 provision: dry-run: would remove retired instance route gone.go.tito.io (record gone)
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: adopted existing route adopt.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 21:01:11 provision: converged adopt.go.tito.io channel stable -> edge
2026/10/24 21:01:11 provision: converged adopt.go.tito.io environment "" -> "staging"
2026/10/24 21:01:11 provision: converged owned.go.tito.io channel stable -> edge
2026/10/24 21:01:11 provision: converged owned.go.tito.io environment "" -> "staging"
2026/10/24 21:01:11 provision: converged owned.go.tito.io hibernate false -> true
2026/10/24 21:01:11 provision: removed retired instance route gone.go.tito.io (record gone)
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: adopted existing route story.carlosframework.com (app "story" acct "bad") — this record now owns its channel and environment
2026/10/24 21:01:11 provision: story.carlosframework.com exists but is not the route this record describes (kind "instance"/"static") — leaving it alone
2026/10/24 21:01:11 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted service route pubs.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted service route pub.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted service route named.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted service route priv.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route unit.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route exec.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted service route loop.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted static route pisite.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: removed retired static route site.go.tito.io (record gone)
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route acme-uk.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: converged acme.go.tito.io replicas "ie,uk" -> "uk"
2026/10/24 21:01:11 provision: converged acme.go.tito.io replicas "uk" -> ""
2026/10/24 21:01:11 provision: minted instance route acme-uk.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: converged acme-uk.go.tito.io replica mark true -> false
2026/10/24 21:01:11 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 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 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:11 provision: acme.go.tito.io: not minting this pass: the box's layout intent could not be read: store down
2026/10/24 21:01:11 provision: router.go.tito.io: not minting this pass: the box's layout intent could not be read: store down
2026/10/24 21:01:11 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 21:01:11 provision: converged acme.go.tito.io channel stable -> edge
2026/10/24 21:01:12 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/24 21:01:12 provision: not removing acme.go.tito.io (record gone): participant of a running operation
2026/10/24 21:01:12 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 21:01:12 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/24 21:01:12 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 21:01:12 provision: held acme.go.tito.io landing by mv_acme (was ready)
2026/10/24 21:01:12 provision: acme.go.tito.io: held restoring by rb_other, not by mv_acme; leaving it
2026/10/24 21:01:12 provision: acme.go.tito.io: the row is not this pass's (app "other" acct ""); not holding it for mv_acme
2026/10/24 21:01:12 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 21:01:12 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 21:01:12 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 21:01:12 provision: held acme.go.tito.io landing by mv_acme (was ready)
2026/10/24 21:01:12 provision: minted instance route acme.example.com (app "shop" acct "bac")
2026/10/24 21:01:12 provision: minted instance route plain.example.com (app "shop" acct "bac")
2026/10/24 21:01:12 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:12 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 21:01:12 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:12 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 21:01:12 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:12 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 21:01:12 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:12 provision: listing apps/bac/shop/instances/: list refused — its records are unseen this pass
2026/10/24 21:01:13 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:13 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:13 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 21:01:13 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:13 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 21:01:13 provision: minted sidecar route bot.shop.bac.sidecar.internal (app "shop" acct "bac" args ["run"])
2026/10/24 21:01:13 provision: removed retired sidecar route bot.shop.bac.sidecar.internal (record gone)
2026/10/24 21:01:13 provision: minted sidecar route bot.shop.bum.sidecar.internal (app "shop" acct "bum" args ["run"])
2026/10/24 21:01:13 provision: minted sidecar route bot.shop.bum.sidecar.internal (app "shop" acct "bum" args ["run"])
2026/10/24 21:01:13 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 21:01:13 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 21:01:13 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 21:01:13 provision: removed retired sidecar route bot.shop.bum.sidecar.internal (record gone)
2026/10/24 21:01:13 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 21:01:13 provision: removed retired sidecar route bot.shop.bum.sidecar.internal (record gone)
2026/10/24 21:01:13 provision: a.shop.example.com: swapped for import sd_nizl23nygcp3eeffmt2qpvwply (the original route is journaled)
2026/10/24 21:01:13 provision: a.shop.example.com: import sd_nizl23nygcp3eeffmt2qpvwply committed: its gate is cleared and its journal row dropped
2026/10/24 21:01:13 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 21:01:13 provision: a.shop.example.com: import sd_c3prbbaptje6se4crbmshzfn5i rolled back to its original route
2026/10/24 21:01:13 provision: a.shop.example.com: import sd_c3prbbaptje6se4crbmshzfn5i: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/24 21:01:13 provision: a.shop.example.com: import sd_c3prbbaptje6se4crbmshzfn5i is cleaned up and its journal row retired
2026/10/24 21:01:13 provision: a.shop.example.com: import sd_wwkkcjptgurazrkdenx2umnosi rolled back to its original route
2026/10/24 21:01:13 provision: a.shop.example.com: import sd_wwkkcjptgurazrkdenx2umnosi: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/24 21:01:13 provision: a.shop.example.com: import sd_wwkkcjptgurazrkdenx2umnosi is cleaned up and its journal row retired
2026/10/24 21:01:13 provision: dry-run: would redo a.shop.example.com's swap record CAS for import sd_octparxmmvtt4td5o6k2gjlfse
2026/10/24 21:01:13 provision: dry-run: would clear a.shop.example.com's import gate
2026/10/24 21:01:13 provision: dry-run: would converge a.shop.example.com seed source
2026/10/24 21:01:13 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 21:01:13 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 21:01:13 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 21:01:13 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 21:01:13 provision: a.shop.example.com: import sd_sl5xtzngzc3skyv7mkhnm5kpd4 cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/24 21:01:13 provision: a.shop.example.com: import sd_oaholikbr5aodmzf74erv7kabm cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/24 21:01:13 provision: a.shop.example.com: import sd_gwzbbj35m3apcyhnpmtj4ravhe is journaled, but this box cannot act on imports; its row is left alone
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_zhazsj4aak7po26iio5niepzba is journaled, but this box cannot act on imports; its row is left alone
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_ogjtb5uzq5gxbhdf4aeampzcjm is journaled, but this box cannot act on imports; its row is left alone
2026/10/24 21:01:14 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 21:01:14 provision: c.shop.example.com: import sd_avkzt4t77gpjmo7bhjbr4lmzsu left alone this pass: the import journal could not be read
2026/10/24 21:01:14 provision: b.shop.example.com: import sd_pajsunb4jds6n6kn6245yanzxm left alone this pass: the import journal could not be read
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_rvek5jrchmxdbl57senjc47sf4 committed: its gate is cleared and its journal row dropped
2026/10/24 21:01:14 provision: a.shop.example.com: not converging import sd_wdxgoyv6hj5rgbvo4qxxgyabvy: it is swapped but not committed, and the row on this box has no import gate
2026/10/24 21:01:14 provision: a.shop.example.com: not converging import sd_m5jps23n3hzuvrwyf6o6sjb5pe: it is swapped but not committed, and the row on this box has no import gate
2026/10/24 21:01:14 provision: a.shop.example.com: not converging import sd_4v5xmsegpg62ibvz7anli3shli: it is placed but not committed, and the row on this box has no import gate
2026/10/24 21:01:14 provision: a.shop.example.com: not converging import sd_55yoahn6yrc3pfigz7cje6sgpa: it is placed but not committed, and the row on this box has no import gate
2026/10/24 21:01:14 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 21:01:14 provision: converge seed source on a.shop.example.com: constraint failed: seed_source is read-only here (1811)
2026/10/24 21:01:14 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 21:01:14 provision: a.shop.example.com: import sd_3ej3mi6fv7emfrugehw55azxsq committed: its gate is cleared and its journal row dropped
2026/10/24 21:01:14 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 21:01:14 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:14 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 21:01:14 provision: acme.go.tito.io: not minting a seeded instance: this box does not mint nested (<nil>)
2026/10/24 21:01:14 provision: acme.go.tito.io: not minting a seeded instance: claim control is on for this box
2026/10/24 21:01:14 provision: acme.go.tito.io: aborted seed sd_eyvwvxhsyojk4idtekp5ld4nk4: this box cannot read seed markers, and places no seed; nothing local is removed
2026/10/24 21:01:14 provision: acme.go.tito.io: aborted seed sd_eyvwvxhsyojk4idtekp5ld4nk4 rolled back (no box had swapped it)
2026/10/24 21:01:14 provision: acme.go.tito.io: not minting a seeded instance: its record does not describe a hibernating instance
2026/10/24 21:01:14 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:14 provision: removed instance route acme.go.tito.io (its seed sd_nydq4fnanyez65hbfmv6ay6sfe was aborted); the next pass rolls it back
2026/10/24 21:01:14 provision: acme.go.tito.io: aborted seed sd_nydq4fnanyez65hbfmv6ay6sfe: this box cannot read seed markers, and places no seed; nothing local is removed
2026/10/24 21:01:14 provision: acme.go.tito.io: aborted seed sd_nydq4fnanyez65hbfmv6ay6sfe rolled back (no box had swapped it)
2026/10/24 21:01:14 provision: acme.go.tito.io: aborted seed sd_meuxsxqwpbarybav6ckd4l6c3y has a row this pass may not remove; leaving the seed aborted
2026/10/24 21:01:14 provision: acme.go.tito.io: aborted seed sd_tulwhzll2zkp3hfsaw6dehbbiq rolled back (no box had swapped it)
2026/10/24 21:01:14 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:14 provision: removed instance route acme.go.tito.io (its seed sd_bqg6lrdoxuycl7lq4dyvpu6oei was aborted); the next pass rolls it back
2026/10/24 21:01:14 provision: acme.go.tito.io: aborted seed sd_bqg6lrdoxuycl7lq4dyvpu6oei has no route on this box: its local data is removed
2026/10/24 21:01:14 provision: acme.go.tito.io: aborted seed sd_bqg6lrdoxuycl7lq4dyvpu6oei rolled back (no box had swapped it)
2026/10/24 21:01:14 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_hfsslb6hcui6ook6lllattbvya (the original route is journaled)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_hfsslb6hcui6ook6lllattbvya rolled back to its original route
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_hfsslb6hcui6ook6lllattbvya is cleaned up and its journal row retired
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_ytisvw6hbwygvr4iu4bl4osqiy (the original route is journaled)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_ytisvw6hbwygvr4iu4bl4osqiy rolled back to its original route
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_ytisvw6hbwygvr4iu4bl4osqiy is cleaned up and its journal row retired
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_gp5gcuycqjdenzp4ig4h72zeee (the original route is journaled)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_gp5gcuycqjdenzp4ig4h72zeee rolled back to its original route
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_gp5gcuycqjdenzp4ig4h72zeee: the host's replica is left alone: its record no longer names this seed
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_gp5gcuycqjdenzp4ig4h72zeee is cleaned up and its journal row retired
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_dsvxwxdyhyxxid3bm4m4bhwb4m (the original route is journaled)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_dsvxwxdyhyxxid3bm4m4bhwb4m rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_dsvxwxdyhyxxid3bm4m4bhwb4m rolled back to its original route
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_dsvxwxdyhyxxid3bm4m4bhwb4m is cleaned up and its journal row retired
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_vsjcnqthqtglgtubaxnnnqqcfu (the original route is journaled)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_vsjcnqthqtglgtubaxnnnqqcfu rollback deferred: the host is not fenced and stopped yet (stop unproven)
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_yph7oz2nnepgug7urvx3zop34y (the original route is journaled)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_yph7oz2nnepgug7urvx3zop34y is cleaned up and its journal row retired
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_mkxgsktbjpoueid7wdchzlnkxy (the original route is journaled)
2026/10/24 21:01:14 provision: skipping record apps/bac/shop/instances/a.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_mkxgsktbjpoueid7wdchzlnkxy left alone this pass: its record could not be read
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_xhirfot3guiitxfacplrp2m3xy (the original route is journaled)
2026/10/24 21:01:14 provision: skipping record apps/bac/shop/instances/a.shop.example.com.json: read failed: connection reset
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_xhirfot3guiitxfacplrp2m3xy left alone this pass: its record could not be read
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_adadh43id63l4utsozgvdizcsi (the original route is journaled)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_adadh43id63l4utsozgvdizcsi: close the import gate: constraint failed: injected (1811)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_adadh43id63l4utsozgvdizcsi rolled back to its original route
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_adadh43id63l4utsozgvdizcsi is cleaned up and its journal row retired
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_37uvx6ryyeenp5kua4at2hfcje (the original route is journaled)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_37uvx6ryyeenp5kua4at2hfcje: close the import gate: constraint failed: injected (1811)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_37uvx6ryyeenp5kua4at2hfcje rolled back to its original route
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_37uvx6ryyeenp5kua4at2hfcje is cleaned up and its journal row retired
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_irt53lyuw2avp25kcler2f6kvm (the original route is journaled)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_irt53lyuw2avp25kcler2f6kvm rollback deferred: the host is not fenced and stopped yet (injected failure at fence)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_irt53lyuw2avp25kcler2f6kvm rolled back to its original route
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_irt53lyuw2avp25kcler2f6kvm is cleaned up and its journal row retired
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_2xeahodzkrqfxnazsmiaj4xtae (the original route is journaled)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_2xeahodzkrqfxnazsmiaj4xtae rolled back to its original route
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_2xeahodzkrqfxnazsmiaj4xtae is cleaned up and its journal row retired
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_xnnjoyeuvz4ttbbwvqicvs3nke (the original route is journaled)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_xnnjoyeuvz4ttbbwvqicvs3nke: retire its instance key: injected failure at retire-key
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_xnnjoyeuvz4ttbbwvqicvs3nke rolled back to its original route
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_xnnjoyeuvz4ttbbwvqicvs3nke is cleaned up and its journal row retired
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_z3xs7h5n2xn2oh2tewkk5opmo4 (the original route is journaled)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_z3xs7h5n2xn2oh2tewkk5opmo4 rolled back to its original route
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_z3xs7h5n2xn2oh2tewkk5opmo4 is cleaned up and its journal row retired
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_bcwdhu7ietsqk3r4flw6dkoiza (the original route is journaled)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_bcwdhu7ietsqk3r4flw6dkoiza: remove its local data: injected failure at remove-local
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_bcwdhu7ietsqk3r4flw6dkoiza rolled back to its original route
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_bcwdhu7ietsqk3r4flw6dkoiza is cleaned up and its journal row retired
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_nfmmmkl4e7z2qyeg62ahlmrh5q (the original route is journaled)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_nfmmmkl4e7z2qyeg62ahlmrh5q rolled back to its original route
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_nfmmmkl4e7z2qyeg62ahlmrh5q is cleaned up and its journal row retired
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_hlmb4jaq7346mz5hm5lzmfzt24 (the original route is journaled)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_hlmb4jaq7346mz5hm5lzmfzt24: remove its local data: injected failure at remove-local-done
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_hlmb4jaq7346mz5hm5lzmfzt24 rolled back to its original route
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_hlmb4jaq7346mz5hm5lzmfzt24 is cleaned up and its journal row retired
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_gynlv6m23dmhewpf3seuusbcuy (the original route is journaled)
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_gynlv6m23dmhewpf3seuusbcuy rolled back to its original route
2026/10/24 21:01:14 provision: a.shop.example.com: import sd_gynlv6m23dmhewpf3seuusbcuy is cleaned up and its journal row retired
2026/10/24 21:01:14 provision: a.shop.example.com: swapped for import sd_4uawwt6d4mvcano7nr7kj7qhsm (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_4uawwt6d4mvcano7nr7kj7qhsm: restore the original route: constraint failed: injected (1811)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_4uawwt6d4mvcano7nr7kj7qhsm rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_4uawwt6d4mvcano7nr7kj7qhsm is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_rzpccpynbvm344245l7v7kljcq (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_rzpccpynbvm344245l7v7kljcq: restore the original route: constraint failed: injected (1811)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_rzpccpynbvm344245l7v7kljcq rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_rzpccpynbvm344245l7v7kljcq is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_wdhxoibiz7yh46kukxe7kdnvay (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_wdhxoibiz7yh46kukxe7kdnvay is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_dga4vpg5xdrc445ua2ccafbvlq (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_dga4vpg5xdrc445ua2ccafbvlq rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_dga4vpg5xdrc445ua2ccafbvlq: delete its snapshot: injected failure at delete-snapshot
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_dga4vpg5xdrc445ua2ccafbvlq is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_4nschvx2okti6exqbs5m7l5nly (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_4nschvx2okti6exqbs5m7l5nly rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_4nschvx2okti6exqbs5m7l5nly is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_3wvmjlnr2fpz5ob62dckeagg4q (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_3wvmjlnr2fpz5ob62dckeagg4q rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_3wvmjlnr2fpz5ob62dckeagg4q: delete the host's replica: injected failure at delete-replica
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_3wvmjlnr2fpz5ob62dckeagg4q is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_2x4utonex6xjm4gv7gohijoade (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_2x4utonex6xjm4gv7gohijoade rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_2x4utonex6xjm4gv7gohijoade is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_ic4bjzv5vswdsuyddftsrhgti4 (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_ic4bjzv5vswdsuyddftsrhgti4 rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_ic4bjzv5vswdsuyddftsrhgti4: retire its journal row: constraint failed: injected (1811)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_ic4bjzv5vswdsuyddftsrhgti4 is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_5zskln3dpqgyhid2pcdherwf44 (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_5zskln3dpqgyhid2pcdherwf44 rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_5zskln3dpqgyhid2pcdherwf44: retire its journal row: constraint failed: injected (1811)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_5zskln3dpqgyhid2pcdherwf44 is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_sjlsam35pujisxmoliz4hf6qvi (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_sjlsam35pujisxmoliz4hf6qvi rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_sjlsam35pujisxmoliz4hf6qvi is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: mark import sd_sjlsam35pujisxmoliz4hf6qvi rolled back: injected failure at cas
2026/10/24 21:01:15 provision: a.shop.example.com: aborted seed sd_sjlsam35pujisxmoliz4hf6qvi rolled back (no box had swapped it)
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_apv4w2xqmbm7r67q73jv3karxu (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_apv4w2xqmbm7r67q73jv3karxu rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_apv4w2xqmbm7r67q73jv3karxu is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: aborted seed sd_apv4w2xqmbm7r67q73jv3karxu rolled back (no box had swapped it)
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_5bbbbf2mwxv7emkwesd46bfwl4 (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_5bbbbf2mwxv7emkwesd46bfwl4 rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_5bbbbf2mwxv7emkwesd46bfwl4 rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_5bbbbf2mwxv7emkwesd46bfwl4 rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_5bbbbf2mwxv7emkwesd46bfwl4 is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_izc63lyv34uggyn2trxzdgfzh4 (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_izc63lyv34uggyn2trxzdgfzh4 rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_izc63lyv34uggyn2trxzdgfzh4 is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_rdz6libek4emfrzphb6kv5ecum (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_rdz6libek4emfrzphb6kv5ecum rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_rdz6libek4emfrzphb6kv5ecum is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_htspwe4jy3ywbzfzugbeunqcja (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_htspwe4jy3ywbzfzugbeunqcja rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_htspwe4jy3ywbzfzugbeunqcja is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_7sfcmcf264cv5se7cr6yfqveye (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_7sfcmcf264cv5se7cr6yfqveye rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_7sfcmcf264cv5se7cr6yfqveye is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_itjw72k6i4ygf7r5pqesxdmjee (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_itjw72k6i4ygf7r5pqesxdmjee rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_itjw72k6i4ygf7r5pqesxdmjee is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_kiw3ear3ji5utbucfb3jwwyxri (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_kiw3ear3ji5utbucfb3jwwyxri rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_kiw3ear3ji5utbucfb3jwwyxri is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_i3uhj4hyt7lb6fjbkxbtjhognq (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_i3uhj4hyt7lb6fjbkxbtjhognq rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_i3uhj4hyt7lb6fjbkxbtjhognq is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_igrdwztxftyjercezke3vgx7zq (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_igrdwztxftyjercezke3vgx7zq has no route on this box: its local data is removed and no route is put back
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_igrdwztxftyjercezke3vgx7zq is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_dnm2s5dqyr3pwnott5ef4cukce (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_svelef77bglwxg6u72bkm5u47q (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_5ed4t6hiramgq5f7artl6t3sti (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_5ed4t6hiramgq5f7artl6t3sti cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_72t32uzwelpn2szv6kixfcz2xe (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_72t32uzwelpn2szv6kixfcz2xe is not rolled back: the route changed under the fence, so nothing there is touched
2026/10/24 21:01:15 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 21:01:15 provision: a.shop.example.com: import ../not-a-seed is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_pcfhpb6ik6ivgjohuvw4avw67y (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_htmaun4k2uljhycq7yqgzofy7e (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_w5k4uxj4tjgfknsym44a5gtq5a (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_5cjmltabyv5twi7ljx6t3zmi6i (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_yr5n7osibt7juplcfex5cwfpbq (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_yr5n7osibt7juplcfex5cwfpbq rollback deferred: the host is not fenced and stopped yet (stop evidence unreadable)
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_ed5dsivoesrxad2bs3sq6o4qve (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_ed5dsivoesrxad2bs3sq6o4qve has no route on this box: its local data is removed and no route is put back
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_ed5dsivoesrxad2bs3sq6o4qve is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_wvtnlpxy3t2qu6i7qyvl5jsnq4 (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_wvtnlpxy3t2qu6i7qyvl5jsnq4: remove its local data: injected failure at remove-local
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_wvtnlpxy3t2qu6i7qyvl5jsnq4 is not rolled back: the route at the host is not the import's, so nothing there is touched
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_67prklndhg35kjtvnawkjyuhzm (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_67prklndhg35kjtvnawkjyuhzm: a route appeared at the host, so its local database is left and the rollback waits
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_lofibvn6ab6nccrvytyligijru (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_lofibvn6ab6nccrvytyligijru rollback deferred: no fence generation: the generation source answered 0
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_hkddnr4emnrkxwk7mxl22ljtia (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_hkddnr4emnrkxwk7mxl22ljtia rollback deferred: no fence generation: registry busy
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_wepbnhaoo5iaog4262vjma263q (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_vqiuti5ivdzuxduchxksck6mby (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_4cxxhyiqdevgweep6kcb2ppwly (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import deferred: this box cannot read the instance's env file
2026/10/24 21:01:15 provision: a.shop.example.com: import deferred: the instance's env file could not be read: a symlink
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_7fytyzllyn7e3f3dtaxsjdtob4 (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_7fytyzllyn7e3f3dtaxsjdtob4 rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_7fytyzllyn7e3f3dtaxsjdtob4 is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_lwjafmuuil4ex3yra574kq33f4 (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_lwjafmuuil4ex3yra574kq33f4 rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_lwjafmuuil4ex3yra574kq33f4 is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_jd2bdyduunqoim2nbl5htxphle (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_jd2bdyduunqoim2nbl5htxphle rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_jd2bdyduunqoim2nbl5htxphle is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_7yy5fm3ailqzfxsb3rlrheximy (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_7yy5fm3ailqzfxsb3rlrheximy: retire its instance key: the env file is a symlink
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_7yy5fm3ailqzfxsb3rlrheximy rolled back to its original route
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_7yy5fm3ailqzfxsb3rlrheximy is cleaned up and its journal row retired
2026/10/24 21:01:15 provision: a.shop.example.com: swapped for import sd_4sjfepv2mvry64jwpgqrlw4bdi (the original route is journaled)
2026/10/24 21:01:15 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 21:01:15 provision: a.shop.example.com: swapped for import sd_cvmpkoi6ri6lb7staib4g3ktq4 (the original route is journaled)
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_h53vpv6cesx5a4q5cdokcwpvmm refused: there is no route at a.shop.example.com to replace
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_sanpzpc3o2nu3vtudgtocvvkxi refused: the route's address is 127.0.0.1:9, not 127.0.0.1:8401
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_mi7pqgt4rsrfjdkexyuup3mcvi 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 21:01:15 provision: a.shop.example.com: import sd_cfihcw5cjo4s64bww7atxwkam4 refused: the route's address is 127.0.0.1:9, not 127.0.0.1:8401
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_ma3fjmaz6zpk2ksrwpui5z3xhq refused: the route belongs to app other
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_w2q6wovlwcgkyvswawkmbulzgq refused: the route is filed under another account
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_umsj56nmirlq2lpykbk22ukjye refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/24 21:01:15 provision: a.shop.example.com: import sd_sxhdt7g6d2554a26ityvorpvaq refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_2bnvyqm45pk4ecisbrrdsqg7pu refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_eh5owszkq4w5l2sazed54b3geu refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_lbsbrtasje3q3vyxe2ezercbue refused: the route is not an address route this import can take over (socket)
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_czrc2lw6zdlgpvusqsjxkkznly refused: the route is not an address route this import can take over (no address)
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_exy5shivkwublxpjg5wo7l27ve refused: the route is not an address route this import can take over (provisioned)
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_26jdwpxok7u42phu4vhwlxvtim refused: the route is not an address route this import can take over (kind static)
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_2sgxhxbuua64lbnbtlazbu57mm refused: the route is not an address route this import can take over (backing)
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_dnqcsvcg4cyssy55mftecmjlqa refused: the route is not an address route this import can take over (tunnel)
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_fyht5rqhg3w3w7frfcjxf2yxce refused: the route is not an address route this import can take over (caps)
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_jqigug7kccdaz6e2kidrzezf24 refused: the route is not an address route this import can take over (platform)
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_a4o4kjase6oabym2pmu3r6dbuu refused: the route is not an address route this import can take over (canary)
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_72hucwvr5mdx6hdosklie3hx3m refused: the route is not an address route this import can take over (kind sidecar)
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_lveziklqxry7bn5sz3yhrlehny refused: the route is not an address route this import can take over (region)
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_gqcjvkfxf45edfdox3ivfz3isy refused: the route is not an address route this import can take over (fleet_box)
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_og5galzqsitotbximnreaj4jvu refused: the route is not an address route this import can take over (hibernate)
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_vffgdc233joxyjwtcv6lypkr5q refused: the route is not an address route this import can take over (claim_owner)
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_s75xrgb3x2dkmiigrrzlnjnyn4 refused: this box does not run instances nested
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_jdjdlal5ihphbx4mogejnixhv4 refused: this box does not run instances nested
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_oq363wqlwt4v5grvpji7ct5f5e refused: claim control is on for this box
2026/10/24 21:01:16 provision: a.shop.example.com: swapped for import sd_twyyyhpidbgc4c7uqw6t42p2xy (the original route is journaled)
2026/10/24 21:01:16 provision: a.shop.example.com: swapped for import sd_khrdycn2kzcvzxiyr4dpuag3zu (the original route is journaled)
2026/10/24 21:01:16 provision: a.shop.example.com: import deferred: this box cannot read the legacy route assignments
2026/10/24 21:01:16 provision: a.shop.example.com: import deferred: the legacy route assignments could not be read: store down
2026/10/24 21:01:16 provision: a.shop.example.com: not swapping for import sd_xxwhk2ylfxgr4wplzgyhmak6su: its verify hash is not a sha256
2026/10/24 21:01:16 provision: a.shop.example.com: not swapping for import sd_rqeieffnw75prpvtrmd5fmmxyq: its verify hash is not a sha256
2026/10/24 21:01:16 provision: a.shop.example.com: not swapping for import sd_a535m4zxoozwqzrswv2x353kvm: its verify hash is not a sha256
2026/10/24 21:01:16 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 21:01:16 provision: A.shop.example.com/..: not swapping for import sd_enru7rmf7e37xpqp5gbdlsospu: its host or seed id is malformed (seeds: not a host)
2026/10/24 21:01:16 provision: a.shop.example.com: not swapping for import sd_v2d25lhu5fihyn2ix26wpthuzu: its record does not describe a nested, hibernating instance
2026/10/24 21:01:16 provision: a.shop.example.com: not swapping for import sd_tb2xxzrjmoorjmgkvuvx7xrziq: its record does not describe a nested, hibernating instance
2026/10/24 21:01:16 provision: a.shop.example.com: not swapping for import sd_f56vefwkyzlv3655lpxrs7sjxe: its record does not describe a nested, hibernating instance
2026/10/24 21:01:16 provision: a.shop.example.com: not swapping for import sd_uynqmreicaxnt7g4bcneusv3cu: its record does not describe a nested, hibernating instance
2026/10/24 21:01:16 provision: a.shop.example.com: import deferred: the box's layout intent could not be read: store down
2026/10/24 21:01:16 provision: a.shop.example.com: swapped for import sd_q4efy5j7eo6bzkgifsed7py22e (the original route is journaled)
2026/10/24 21:01:16 provision: a.shop.example.com: import deferred: the box's nested probe did not answer: ready probe timed out
2026/10/24 21:01:16 provision: a.shop.example.com: swapped for import sd_vpaq2fppc3ytvc43mc5xb7rcue (the original route is journaled)
2026/10/24 21:01:16 provision: a.shop.example.com: swapped for import sd_w46znrefbtrud6erb5gqohomqi (the original route is journaled)
2026/10/24 21:01:16 provision: a.shop.example.com: import deferred: the route is held by operation op_1
2026/10/24 21:01:16 provision: dry-run: would consider swapping a.shop.example.com for import sd_4iytkuer6iqxgfd4chyif43poy
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_is4jpswsjvhdrro7mddotgkjhm rolled back to its original route
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_is4jpswsjvhdrro7mddotgkjhm: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_is4jpswsjvhdrro7mddotgkjhm is cleaned up and its journal row retired
2026/10/24 21:01:16 provision: a.shop.example.com: import sd_qibar72e7m7vnp2h72dizs5u2i left alone: the import journal holds seed sd_c3tu26wicdhqmdtz7lzcr66q7y at swapped
2026/10/24 21:01:16 provision: a.shop.example.com: not minting import sd_dehqlwooucikydf72rlbrdntgi: it is swapped but not committed, and only its swap makes its row
2026/10/24 21:01:16 provision: a.shop.example.com: not minting import sd_4y6itfj332r73gbnd3urust7ri: it is placed but not committed, and only its swap makes its row
2026/10/24 21:01:16 provision: a.shop.example.com: swapped for import sd_hkxfq4ghygwzvmwqmu777lbgkq (the original route is journaled)
2026/10/24 21:01:16 provision: a.shop.example.com: not minting import sd_hkxfq4ghygwzvmwqmu777lbgkq: it is swapped but not committed, and only its swap makes its row
2026/10/24 21:01:16 provision: a.shop.example.com: not minting import sd_hkxfq4ghygwzvmwqmu777lbgkq: it is placed but not committed, and only its swap makes its row
2026/10/24 21:01:16 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:01:16 provision: removed retired sidecar route gone.eleven.bac.sidecar.internal (record gone)
2026/10/24 21:01:16 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:01:16 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:01:16 provision: converged sidecar bot.eleven.bac.sidecar.internal args ["sidecar","run"] -> ["worker","run"]
2026/10/24 21:01:16 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:01:16 provision: converged sidecar bot.eleven.bac.sidecar.internal ceilings 300/3600 -> 60/120
2026/10/24 21:01:16 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:01:16 provision: converged sidecar bot.eleven.bac.sidecar.internal channel stable -> canary/eleven
2026/10/24 21:01:16 provision: converged sidecar bot.eleven.bac.sidecar.internal environment "other" -> "relay"
2026/10/24 21:01:16 provision: converged sidecar bot.eleven.bac.sidecar.internal hibernate true -> false
2026/10/24 21:01:16 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: read failed: failStore: reads disabled under apps/bac/eleven/sidecars/
2026/10/24 21:01:16 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: malformed: invalid character 'n' looking for beginning of object key string
2026/10/24 21:01:16 provision: not removing sidecar bot.eleven.bac.sidecar.internal: its record exists but could not be read cleanly this pass
2026/10/24 21:01:16 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: empty channel
2026/10/24 21:01:16 provision: skipping sidecar record apps/bac/eleven/sidecars/held.json: empty channel
2026/10/24 21:01:16 provision: not removing sidecar held.eleven.bac.sidecar.internal: its record exists but could not be read cleanly this pass
2026/10/24 21:01:16 provision: removed retired sidecar route old.eleven.bac.sidecar.internal (record gone)
2026/10/24 21:01:16 provision: bac/eleven has sidecar records but no sidecars manifest — not minting
2026/10/24 21:01:16 provision: bac/eleven is in the trash — not minting sidecar routes for it
2026/10/24 21:01:16 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 21:01:16 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 21:01:16 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:01:16 provision: minted sidecar route hub.relay.bac.sidecar.internal (app "relay" acct "bac" args ["relay"])
2026/10/24 21:01:16 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 21:01:16 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:01:16 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 21:01:16 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:01:16 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:01:16 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 21:01:16 provision: removed retired sidecar route bot.eleven.bac.sidecar.internal (record gone)
2026/10/24 21:01:16 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:01:16 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 21:01:16 provision: skipping sidecar record apps/bac/relay/sidecars/hub.json: read failed: failStore: reads disabled under apps/bac/relay/sidecars/
2026/10/24 21:01:16 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 21:01:16 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:01:16 provision: dry-run: would mint sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" channel "stable" args ["sidecar","run"])
2026/10/24 21:01:16 provision: dry-run: would remove retired sidecar route gone.eleven.bac.sidecar.internal (record gone)
2026/10/24 21:01:16 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 21:01:16 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:16 provision: converged acme.go.tito.io update settings "{\"updates\":\"manual\",\"channel\":\"stable\"}" -> ""
2026/10/24 21:01:16 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:17 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:17 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/24 21:01:17 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/24 21:01:17 provision: acme.go.tito.io: not minted this pass: the app's update policy could not be read
2026/10/24 21:01:17 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:01:17 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/24 21:01:17 provision: acme.go.tito.io: not minted this pass: the app's update policy could not be read
2026/10/24 21:01:17 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/24 21:01:17 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 21:01:17 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 21:01:17 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 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 21:01:17 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: record view: re-reading apps/bqc/shop failed: retrying on the next refresh
2026/10/24 21:01:17 provision: record view: change index unusable (get refused): walking
2026/10/24 21:01:17 provision: listing apps/bqc/shop/instances/: context canceled — its records are unseen this pass
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: record view: change index unusable (release: change index malformed: invalid character 'n' looking for beginning of object key string): walking
2026/10/24 21:01:17 provision: record view: re-reading apps/bqc/shop failed: retrying on the next refresh
2026/10/24 21:01:17 provision: listing apps/bqc/shop/instances/: list refused — its records are unseen this pass
2026/10/24 21:01:17 provision: listing apps/bqc/shop/instances/: list refused — its records are unseen this pass
2026/10/24 21:01:17 provision: an app's records could not be listed: they are skipped
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping accounts/bqd/account.json: malformed account manifest: invalid character 'n' looking for beginning of object key string
2026/10/24 21:01:17 provision: skipping accounts/bqd/account.json: malformed account manifest: invalid character 'n' looking for beginning of object key string
2026/10/24 21:01:17 provision: skipping accounts/bqd/account.json: malformed account manifest: invalid character 'n' looking for beginning of object key string
2026/10/24 21:01:17 provision: record view: re-reading accounts/bqd failed: retrying on the next refresh
2026/10/24 21:01:17 provision: skipping accounts/bqd/account.json: read failed: list refused
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: minted instance route one.example.com (app "shop" acct "bum")
2026/10/24 21:01:17 provision: minted instance route one.example.com (app "shop" acct "bum")
2026/10/24 21:01:17 provision: removed retired instance route one.example.com (record gone)
2026/10/24 21:01:17 provision: minted instance route one.example.com (app "shop" acct "bum")
2026/10/24 21:01:17 provision: removed retired instance route one.example.com (record gone)
2026/10/24 21:01:17 provision: skipping record apps/bum/shop/instances/one.example.com.json: empty channel
2026/10/24 21:01:17 provision: not removing one.example.com: its record exists but could not be read cleanly this pass
2026/10/24 21:01:17 provision: skipping record apps/bum/shop/instances/one.example.com.json: empty channel
2026/10/24 21:01:17 provision: not removing one.example.com: its record exists but could not be read cleanly this pass
2026/10/24 21:01:17 provision: record view: change index unusable (context deadline exceeded): walking
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:01:17 provision: record view: change index unusable (context deadline exceeded): the walk records no generations
2026/10/24 21:01:17 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
--- FAIL: TestPlan14RootReadCensus (14.84s)
    plan14_root_reads_test.go:600: root read census: 22 discrepancies
        changed registry schema
        changed root read internal/provision/reconcile.go:Reconcile; review class, task, sites and digest
        changed root read internal/provision/reconcile.go:RouteFor; review class, task, sites and digest
        changed root read internal/registry/registry.go:Registry.Fingerprint; review class, task, sites and digest
        changed root read internal/registry/registry.go:Registry.Upsert; review class, task, sites and digest
        changed root read internal/registry/registry.go:Registry.migrate; review class, task, sites and digest
        changed root read internal/registry/registry.go:routeArgs; review class, task, sites and digest
        changed root read internal/registry/registry.go:scanRoute; review class, task, sites and digest
        changed root read internal/registry/remote_dispatch.go:Registry.dispatchRemote; review class, task, sites and digest
        changed root source envelope internal/host
        changed root source envelope internal/plans
        changed root source envelope internal/provision
        changed root source envelope internal/ratelimit
        changed root source envelope internal/registry
        unclassified root read internal/host/plans_pass.go:planRateCeilingFor whole:Route@108
        unclassified root read internal/registry/registry.go:Registry.SetRateLimit file:Exec@225,registry:remote@68,registry:remote@98,registry:sql@225,whole:remoteClient@100,whole:remoteClient@70
        changed legacy declaration internal/provision/reconcile.go:Reconcile
        changed legacy declaration internal/registry/registry.go:Registry.Fingerprint
        changed legacy declaration internal/registry/registry.go:Registry.migrate
        changed legacy declaration internal/registry/registry.go:scanRoute
        changed reclassified declaration internal/registry/registry.go:Registry.Upsert
        changed reclassified declaration internal/registry/remote_dispatch.go:Registry.dispatchRemote
        
        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	23.588s
ok  	github.com/carlosframework/platform/internal/publicrelease	0.007s
ok  	github.com/carlosframework/platform/internal/ratelimit	0.104s
?   	github.com/carlosframework/platform/internal/regionname	[no test files]
ok  	github.com/carlosframework/platform/internal/registry	5.715s
ok  	github.com/carlosframework/platform/internal/relay	7.240s
ok  	github.com/carlosframework/platform/internal/release	25.894s
ok  	github.com/carlosframework/platform/internal/rollout	3.778s
ok  	github.com/carlosframework/platform/internal/rolloutwords	0.006s
ok  	github.com/carlosframework/platform/internal/rootaws	0.007s
ok  	github.com/carlosframework/platform/internal/rootparticipation	0.062s
ok  	github.com/carlosframework/platform/internal/rootstate	0.029s
ok  	github.com/carlosframework/platform/internal/runs	0.586s
ok  	github.com/carlosframework/platform/internal/s3compat	0.005s
ok  	github.com/carlosframework/platform/internal/safefile	0.004s
ok  	github.com/carlosframework/platform/internal/schedule	2.672s
ok  	github.com/carlosframework/platform/internal/seeds	0.014s
ok  	github.com/carlosframework/platform/internal/sim/engines	2.556s
ok  	github.com/carlosframework/platform/internal/sim/hostlife	9.796s
ok  	github.com/carlosframework/platform/internal/sim/litestreamfacts	3.796s
ok  	github.com/carlosframework/platform/internal/status	0.100s
ok  	github.com/carlosframework/platform/internal/steering	0.008s
ok  	github.com/carlosframework/platform/internal/stopevidence	0.355s
ok  	github.com/carlosframework/platform/internal/svcrole	0.002s
ok  	github.com/carlosframework/platform/internal/telemetry	0.007s
ok  	github.com/carlosframework/platform/internal/termfence	0.004s
ok  	github.com/carlosframework/platform/internal/tunnelclient	0.006s
ok  	github.com/carlosframework/platform/internal/unixdial	0.003s
ok  	github.com/carlosframework/platform/internal/updatewords	0.005s
ok  	github.com/carlosframework/platform/internal/usage	0.007s
ok  	github.com/carlosframework/platform/internal/version	0.002s
ok  	github.com/carlosframework/platform/internal/vet	1.667s
FAIL
=== internal_console@0 (85 s)
ok  	github.com/carlosframework/platform/internal/console	83.198s
=== internal_console@1 (43 s)
ok  	github.com/carlosframework/platform/internal/console	41.987s
=== internal_console@2 (41 s)
ok  	github.com/carlosframework/platform/internal/console	39.454s
=== internal_console@3 (41 s)
ok  	github.com/carlosframework/platform/internal/console	39.745s
=== internal_console@4 (44 s)
ok  	github.com/carlosframework/platform/internal/console	42.102s
=== internal_console@5 (41 s)
ok  	github.com/carlosframework/platform/internal/console	39.494s
=== internal_console@6 (37 s)
ok  	github.com/carlosframework/platform/internal/console	35.725s
=== internal_console@7 (46 s)
ok  	github.com/carlosframework/platform/internal/console	44.249s
=== root@0 (109 s)
ok  	github.com/carlosframework/platform	107.366s
=== root@1 (84 s)
ok  	github.com/carlosframework/platform	82.613s
=== root@2 (92 s)
ok  	github.com/carlosframework/platform	90.385s

FAILED: rest
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/plans/catalog.go b/internal/plans/catalog.go
index e6f2c96f3..28441afa1 100644
--- a/internal/plans/catalog.go
+++ b/internal/plans/catalog.go
@@ -264,9 +264,9 @@ func (c *Catalog) Effective(plan string, packs map[string]int, sponsored *Limits
l.EmailPerDay = clamp(l.EmailPerDay, ce.EmailPerDay)
l.BandwidthBytesMonth = clamp(l.BandwidthBytesMonth, ce.BandwidthBytesMonth)
l.IdleSeconds = clamp(l.IdleSeconds, ce.IdleSeconds)
- l.RateClientShare = clamp(l.RateClientShare, ce.RateClientShare)
- l.RatePerSecond = clamp(l.RatePerSecond, ce.RatePerSecond)
- l.RateBurst = clamp(l.RateBurst, ce.RateBurst)
+ l.RateClientShare = clampRate(l.RateClientShare, ce.RateClientShare)
+ l.RatePerSecond = clampRate(l.RatePerSecond, ce.RatePerSecond)
+ l.RateBurst = clampRate(l.RateBurst, ce.RateBurst)
if sponsored != nil {
l = l.generous(*sponsored)
}
@@ -280,6 +280,16 @@ func clamp[T int | int64](v, ceiling T) T {
return v
}
+// clampRate is clamp for the rate fields, where zero on the plan side means
+// no ceiling of its own, not a small value. Under a catalog ceiling that
+// would leave the instance owner unbounded, so a zero becomes the ceiling.
+func clampRate(v, ceiling int) int {
+ if v == 0 {
+ return ceiling
+ }
+ return clamp(v, ceiling)
+}
+
// generous merges o into l field by field, keeping the more generous value.
// Zero in o means unset.
func (l Limits) generous(o Limits) Limits {
diff --git a/internal/plans/catalog_ratelimit_test.go b/internal/plans/catalog_ratelimit_test.go
index 93540c91c..91525276c 100644
--- a/internal/plans/catalog_ratelimit_test.go
+++ b/internal/plans/catalog_ratelimit_test.go
@@ -99,3 +99,58 @@ func TestEffectiveClampsRateFields(t *testing.T) {
t.Fatalf("partly sponsored = %+v, want %+v", got.RateCeiling(), want)
}
}
+
+func TestEffectiveRateZeroUnderCeilingTakesTheCeiling(t *testing.T) {
+ c := exampleCatalog(t)
+ c.Ceilings.RateClientShare = 30
+ c.Ceilings.RatePerSecond = 500
+ c.Ceilings.RateBurst = 2000
+
+ // "free" sets no rate fields: the ceiling applies, it is not unlimited.
+ got, err := c.Effective("free", nil, nil)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if want := (ratelimit.Ceiling{ClientShare: 30, Rate: 500, Burst: 2000}); got.RateCeiling() != want {
+ t.Fatalf("unset plan = %+v, want the catalog ceiling %+v", got.RateCeiling(), want)
+ }
+
+ // Each field on its own: the others stay as the plan set them.
+ for name, tc := range map[string]struct {
+ set func(*Limits)
+ want ratelimit.Ceiling
+ }{
+ "client share": {func(l *Limits) { l.RatePerSecond, l.RateBurst = 400, 1500 }, ratelimit.Ceiling{ClientShare: 30, Rate: 400, Burst: 1500}},
+ "rate": {func(l *Limits) { l.RateClientShare, l.RateBurst = 10, 1500 }, ratelimit.Ceiling{ClientShare: 10, Rate: 500, Burst: 1500}},
+ "burst": {func(l *Limits) { l.RateClientShare, l.RatePerSecond = 10, 400 }, ratelimit.Ceiling{ClientShare: 10, Rate: 400, Burst: 2000}},
+ } {
+ p := c.Plans["personal"]
+ p.Limits.RateClientShare, p.Limits.RatePerSecond, p.Limits.RateBurst = 0, 0, 0
+ tc.set(&p.Limits)
+ c.Plans["personal"] = p
+ got, err := c.Effective("personal", nil, nil)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if got.RateCeiling() != tc.want {
+ t.Errorf("zero %s: %+v, want %+v", name, got.RateCeiling(), tc.want)
+ }
+ }
+
+ // A sponsored override still lifts it, and no ceiling stays zero.
+ got, err = c.Effective("free", nil, &Limits{RatePerSecond: 5000})
+ if err != nil {
+ t.Fatal(err)
+ }
+ if got.RatePerSecond != 5000 {
+ t.Fatalf("sponsored rate = %d, want 5000", got.RatePerSecond)
+ }
+ c.Ceilings.RateClientShare, c.Ceilings.RatePerSecond, c.Ceilings.RateBurst = 0, 0, 0
+ got, err = c.Effective("free", nil, nil)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if got.RateCeiling() != (ratelimit.Ceiling{}) {
+ t.Fatalf("no plan value and no ceiling = %+v, want zero", got.RateCeiling())
+ }
+}