carlos / platform Public

edge asset cache task 8 fix round 3: no lazy snapshot; For waits for the writer

For and Declared no longer compute a snapshot on first use. Only the
edges file writer stores one, on a settled pass; until then both answer
false and read nothing, so repeated requests before the first snapshot,
with or without a pass running, make no registry reads. decide loses
its now-unused cached-only mode.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev 41b8dd17924cab3064e7ffff7e83a8299e905ab1 parent 1a7552c
3 files changed, +56 −73
  • internal/host/assetpolicy.go +21 −44
  • internal/host/assetpublish_test.go +34 −28
  • internal/host/edgesfile.go +1 −1

CI failed — run details

CI log
=== gate ===
.amadan/test-gate.sh
go: downloading golang.org/x/net v0.56.0
go: downloading golang.org/x/crypto v0.53.0
go: downloading golang.org/x/sys v0.46.0
go: downloading github.com/pion/stun/v3 v3.0.1
go: downloading golang.org/x/sync v0.21.0
go: downloading github.com/pion/transport/v4 v4.0.1
go: downloading github.com/pion/dtls/v3 v3.0.7
go: downloading github.com/pion/transport/v3 v3.0.8
go: downloading github.com/pion/dtls/v3 v3.0.7
go: downloading github.com/pion/transport/v3 v3.0.8
go: downloading golang.org/x/text v0.38.0
go: downloading golang.org/x/text v0.38.0
=== launchctx (1 s)
ok  	amadan.net/carlos/platform.git/launchctx	0.011s
?   	amadan.net/carlos/platform.git/launchctx/controlname	[no test files]
?   	amadan.net/carlos/platform.git/launchctx/wireid	[no test files]
=== vet (25 s)
go: downloading golang.org/x/tools v0.47.0
go: downloading github.com/pion/dtls/v3 v3.0.7
go: downloading github.com/pion/transport/v3 v3.0.8
go: downloading golang.org/x/text v0.38.0
go: downloading golang.org/x/mod v0.37.0
=== gofmt (1 s)
gofmt -l .: clean
=== rest (181 s)
?   	github.com/carlosframework/platform/cmd/changelog	[no test files]
ok  	github.com/carlosframework/platform/cmd/console	3.280s
ok  	github.com/carlosframework/platform/cmd/moveprobe	11.711s
ok  	github.com/carlosframework/platform/cmd/zddprobe	0.779s
ok  	github.com/carlosframework/platform/internal/activator	58.538s
ok  	github.com/carlosframework/platform/internal/agentsock	0.022s
ok  	github.com/carlosframework/platform/internal/alerting	0.005s
ok  	github.com/carlosframework/platform/internal/analytics	0.021s
ok  	github.com/carlosframework/platform/internal/appconfig	2.821s
ok  	github.com/carlosframework/platform/internal/apperr	0.118s
ok  	github.com/carlosframework/platform/internal/applog	0.167s
ok  	github.com/carlosframework/platform/internal/awsinv	0.007s
ok  	github.com/carlosframework/platform/internal/boxchoice	0.008s
ok  	github.com/carlosframework/platform/internal/boxid	0.643s
?   	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.011s
ok  	github.com/carlosframework/platform/internal/caps	0.016s
ok  	github.com/carlosframework/platform/internal/certwarm	0.003s
ok  	github.com/carlosframework/platform/internal/cgroup	0.788s
ok  	github.com/carlosframework/platform/internal/changelog	0.461s
ok  	github.com/carlosframework/platform/internal/claimactivation	1.019s
ok  	github.com/carlosframework/platform/internal/clamd	0.055s
?   	github.com/carlosframework/platform/internal/cliflag	[no test files]
?   	github.com/carlosframework/platform/internal/controlname	[no test files]
?   	github.com/carlosframework/platform/internal/controlsock	[no test files]
ok  	github.com/carlosframework/platform/internal/dbdoor	7.721s
ok  	github.com/carlosframework/platform/internal/dbdoor/dbdoortest	0.009s
ok  	github.com/carlosframework/platform/internal/dbquery	0.007s
ok  	github.com/carlosframework/platform/internal/dbreads	2.178s
?   	github.com/carlosframework/platform/internal/dbreads/dbreadstest	[no test files]
ok  	github.com/carlosframework/platform/internal/dbverify	0.008s
ok  	github.com/carlosframework/platform/internal/dnsrec	0.007s
ok  	github.com/carlosframework/platform/internal/docsite	0.009s
ok  	github.com/carlosframework/platform/internal/domains	3.510s
ok  	github.com/carlosframework/platform/internal/doorkey	0.007s
ok  	github.com/carlosframework/platform/internal/economics	0.006s
ok  	github.com/carlosframework/platform/internal/edge	46.149s
?   	github.com/carlosframework/platform/internal/edgeproof	[no test files]
ok  	github.com/carlosframework/platform/internal/edgesfile	0.012s
ok  	github.com/carlosframework/platform/internal/fleetapi	0.178s
ok  	github.com/carlosframework/platform/internal/gate	1.667s
ok  	github.com/carlosframework/platform/internal/genselect	0.028s
ok  	github.com/carlosframework/platform/internal/geo	0.028s
ok  	github.com/carlosframework/platform/internal/geoip	0.047s
ok  	github.com/carlosframework/platform/internal/historyreadback	0.235s
ok  	github.com/carlosframework/platform/internal/host	147.341s
ok  	github.com/carlosframework/platform/internal/hostactors	6.587s
ok  	github.com/carlosframework/platform/internal/hostactors/awsmembership	0.005s
ok  	github.com/carlosframework/platform/internal/hostbox	3.132s
ok  	github.com/carlosframework/platform/internal/hostclaim	0.766s
ok  	github.com/carlosframework/platform/internal/hostenv	0.006s
ok  	github.com/carlosframework/platform/internal/hostevidence	0.006s
ok  	github.com/carlosframework/platform/internal/hostexec	5.261s
ok  	github.com/carlosframework/platform/internal/hostfence	0.055s
ok  	github.com/carlosframework/platform/internal/hostfiles	10.340s
ok  	github.com/carlosframework/platform/internal/hostfloor	0.020s
ok  	github.com/carlosframework/platform/internal/hostguard	1.070s
ok  	github.com/carlosframework/platform/internal/hostops	1.961s
?   	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.005s
ok  	github.com/carlosframework/platform/internal/hostrelocate	0.571s
ok  	github.com/carlosframework/platform/internal/hostresolve	0.177s
ok  	github.com/carlosframework/platform/internal/hostwrite	0.003s
ok  	github.com/carlosframework/platform/internal/infraview	0.004s
ok  	github.com/carlosframework/platform/internal/instancectl	5.225s
ok  	github.com/carlosframework/platform/internal/instanceexec	2.770s
ok  	github.com/carlosframework/platform/internal/instancefs	0.006s
ok  	github.com/carlosframework/platform/internal/instancekey	0.003s
ok  	github.com/carlosframework/platform/internal/instanceupdates	0.018s
ok  	github.com/carlosframework/platform/internal/layout	1.772s
ok  	github.com/carlosframework/platform/internal/lbhealth	0.002s
ok  	github.com/carlosframework/platform/internal/lease	10.120s
ok  	github.com/carlosframework/platform/internal/lease/leasetest	0.584s
ok  	github.com/carlosframework/platform/internal/ledger	0.015s
ok  	github.com/carlosframework/platform/internal/mail	0.252s
ok  	github.com/carlosframework/platform/internal/maintenance	0.100s
ok  	github.com/carlosframework/platform/internal/maintenanceexec	5.546s
ok  	github.com/carlosframework/platform/internal/maintenanceguard	0.105s
ok  	github.com/carlosframework/platform/internal/metrics	0.012s
ok  	github.com/carlosframework/platform/internal/moves	22.051s
ok  	github.com/carlosframework/platform/internal/moves/archive	0.953s
ok  	github.com/carlosframework/platform/internal/objstore	0.292s
ok  	github.com/carlosframework/platform/internal/ops	0.204s
ok  	github.com/carlosframework/platform/internal/park	0.255s
ok  	github.com/carlosframework/platform/internal/plans	0.009s
ok  	github.com/carlosframework/platform/internal/privatefile	0.003s
2026/10/24 22:43:40 provision: listing apps/bab/blog/instances/: list refused — its records are unseen this pass
2026/10/24 22:43:40 provision: listing apps/bab/: listdirs refused — its records are unseen this pass
2026/10/24 22:43:40 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:40 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:40 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:40 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/24 22:43:40 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/24 22:43:40 provision: skipping record apps/bac/tito/instances/one.example.com.json: unreadable: read refused
2026/10/24 22:43:40 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/24 22:43:40 provision: an app's records could not be listed: they are skipped
2026/10/24 22:43:40 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 22:43:40 provision: remove retired instance route shop.example: provision: claim admission unavailable
2026/10/24 22:43:40 provision: remove retired instance route shop.example: provision: claim admission unavailable
2026/10/24 22:43:40 provision: remove retired sidecar route worker.sidecar.internal: provision: claim admission unavailable
2026/10/24 22:43:40 provision: remove retired sidecar route worker.sidecar.internal: provision: claim admission unavailable
2026/10/24 22:43:40 provision: claim install acme.go.tito.io: provision: claim admission unavailable
2026/10/24 22:43:40 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:40 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/24 22:43:40 provision: claim install bot.eleven.bac.sidecar.internal: provision: claim admission unavailable
2026/10/24 22:43:40 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 22:43:40 provision: claim install bot.eleven.bac.sidecar.internal: registry: claim row ownership changed or unknown
2026/10/24 22:43:40 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 22:43:40 provision: acme.go.tito.io: not minting this pass: the box's layout intent could not be read: no sealed config
2026/10/24 22:43:40 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:40 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:40 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 22:43:40 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 22:43:40 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 22:43:40 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 22:43:40 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:40 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 22:43:40 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 22:43:40 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 22:43:40 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:40 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/24 22:43:40 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:40 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/24 22:43:40 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 22:43:41 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 22:43:41 provision: claim install bot.eleven.bac.sidecar.internal: registry: claim row ownership changed or unknown
2026/10/24 22:43:41 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 22:43:41 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 22:43:41 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 22:43:41 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 22:43:41 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:41 provision: skipping record apps/bac/tito/instances/new.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:41 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 22:43:41 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:41 provision: skipping record apps/bac/tito/instances/new.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:41 provision: minted instance route rb.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route rc.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route re.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route ri.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route rj.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route rk.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route ra.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route rd.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route rf.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route rg.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route rh.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route rl.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route rc.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route rd.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route ra.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route rb.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: skipping record apps/bac/tito/instances/rb.go.tito.io.json: read failed: read refused
2026/10/24 22:43:41 provision: skipping record apps/bac/tito/instances/rb.go.tito.io.json: read failed: read refused
2026/10/24 22:43:41 provision: minted instance route re.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route x.appb.example (app "appb" acct "bac")
2026/10/24 22:43:41 provision: minted instance route x.apph.example (app "apph" acct "bac")
2026/10/24 22:43:41 provision: minted instance route x.appi.example (app "appi" acct "bac")
2026/10/24 22:43:41 provision: minted instance route x.appj.example (app "appj" acct "bac")
2026/10/24 22:43:41 provision: minted instance route x.appc.example (app "appc" acct "bac")
2026/10/24 22:43:41 provision: minted instance route x.appd.example (app "appd" acct "bac")
2026/10/24 22:43:41 provision: minted instance route x.appe.example (app "appe" acct "bac")
2026/10/24 22:43:41 provision: minted instance route x.appf.example (app "appf" acct "bac")
2026/10/24 22:43:41 provision: minted instance route x.appg.example (app "appg" acct "bac")
2026/10/24 22:43:41 provision: minted instance route x.appa.example (app "appa" acct "bac")
2026/10/24 22:43:41 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 22:43:41 provision: minted instance route r0112.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0127.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0102.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0095.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0106.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0050.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0008.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0018.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0020.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0025.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0049.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0061.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0032.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0081.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0115.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0019.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0003.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0042.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0055.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0074.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0038.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0063.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0073.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0045.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0046.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0006.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0047.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0092.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0101.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0107.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0011.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0013.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0090.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0097.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0100.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0113.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0108.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0109.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0000.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0009.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0026.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0043.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0056.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0060.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0012.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0065.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0066.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0068.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0105.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0093.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0094.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0114.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0082.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0085.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0015.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0024.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0036.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0037.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0072.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0091.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0117.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0119.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0004.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0035.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0069.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0016.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0001.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0023.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0058.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0086.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0096.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0120.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0030.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0033.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0039.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0051.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0124.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0129.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0022.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0052.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0054.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0076.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0126.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0128.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0028.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0029.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0053.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0077.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0103.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0125.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0041.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0048.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0088.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0098.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0110.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0064.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0078.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0080.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0017.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0027.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0007.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0031.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0034.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0071.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0089.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0099.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0002.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0059.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0118.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0111.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0057.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0062.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0083.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0014.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0044.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0067.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0075.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0079.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0116.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0005.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0021.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0040.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0121.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0122.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0123.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0010.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0070.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0084.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0087.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:41 provision: minted instance route r0104.go.tito.io (app "tito" acct "bac")
--- FAIL: TestPlan9B8RecordWriteCensus (0.70s)
    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 22:43:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:42 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 22:43:42 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 22:43:42 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:42 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:42 provision: converged a.shop.example.com assets off false -> false, generation "0123456789abcdef" -> "fedcba9876543210"
2026/10/24 22:43:42 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:42 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:42 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 22:43:42 provision: skipping record apps/bac/shop/instances/b.shop.example.com.json: read failed: get refused
2026/10/24 22:43:42 provision: skipping record apps/bac/shop/instances/c.shop.example.com.json: read failed: get refused
2026/10/24 22:43:42 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:42 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:42 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 22:43:42 provision: skipping record apps/bac/shop/instances/b.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:42 provision: not removing b.shop.example.com: its record exists but could not be read cleanly this pass
2026/10/24 22:43:42 provision: skipping record apps/bac/shop/instances/c.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:42 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 22:43:42 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:42 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:42 provision: listing apps/bac/notes/instances/: list refused — its records are unseen this pass
2026/10/24 22:43:42 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 22:43:42 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:42 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:43 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:43 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 22:43:43 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:43 provision: trash marker for bac/shop unreadable: release: read trash marker for bac/shop: get refused — not minting for this app
2026/10/24 22:43:43 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 22:43:43 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:43 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:43 provision: converge gate on a.shop.example.com: constraint failed: injected (1811)
2026/10/24 22:43:43 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 22:43:43 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:43 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:43 provision: converged b.shop.example.com assets off false -> false, generation "0123456789abcdef" -> "fedcba9876543210"
2026/10/24 22:43:43 provision: remove retired instance route a.shop.example.com: constraint failed: injected (1811)
2026/10/24 22:43:43 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:43 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 22:43:43 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:43 provision: converged b.shop.example.com assets off false -> false, generation "0123456789abcdef" -> "fedcba9876543210"
2026/10/24 22:43:43 provision: skipping record apps/bac/notes/instances/n.notes.example.com.json: read failed: get refused
2026/10/24 22:43:43 provision: not removing any route this pass: the record view lacks a record or holds a trash marker, and the bucket's own walk could not be read cleanly
2026/10/24 22:43:43 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 22:43:43 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:43 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:43 provision: converged a.shop.example.com steering "" -> "latency"
2026/10/24 22:43:43 provision: converge assets on a.shop.example.com: constraint failed: injected (1811)
2026/10/24 22:43:43 provision: converged a.shop.example.com update settings "" -> "{\"updates\":\"manual\",\"channel\":\"stable\"}"
2026/10/24 22:43:43 provision: dry-run: would converge a.shop.example.com assets off false -> false, generation "0123456789abcdef" -> "fedcba9876543210"
2026/10/24 22:43:43 provision: converged a.shop.example.com steering "latency" -> ""
2026/10/24 22:43:43 provision: converge assets on a.shop.example.com: constraint failed: injected (1811)
2026/10/24 22:43:43 provision: converged a.shop.example.com update settings "{\"updates\":\"manual\",\"channel\":\"stable\"}" -> ""
2026/10/24 22:43:43 provision: a.shop.example.com: import sd_5jketuhotr5owe6e33js35i7ke is journaled, but this box cannot act on imports; its row is left alone
2026/10/24 22:43:43 provision: removed retired instance route a.notes.example.com (record gone)
2026/10/24 22:43:43 provision: bac/shop is in the trash — not minting instance routes for it
2026/10/24 22:43:43 provision: adopted existing route a.shop.example.com (app "shop" acct "bac") — this record now owns its channel and environment
2026/10/24 22:43:43 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 22:43:43 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:43 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:43 provision: held a.shop.example.com landing by op-1 (was ready)
2026/10/24 22:43:43 provision: minted instance route a.shop.example.com (app "shop" acct "bab")
2026/10/24 22:43:43 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 22:43:43 provision: skipping accounts/bab/account.json: read failed: get refused
2026/10/24 22:43:43 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 22:43:43 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:43 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:43 provision: converged a.shop.example.com assets off false -> false, generation "0123456789abcdef" -> "fedcba9876543210"
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: minted instance route console.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: minted service route ha.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: minted service route svc.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: minted instance route whole.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: minted instance route shared.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: converged acme.go.tito.io channel stable -> edge
2026/10/24 22:43:43 provision: converged acme.go.tito.io channel edge -> canary/rehearsal
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: empty channel
2026/10/24 22:43:43 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: converged acme.go.tito.io environment "" -> "staging"
2026/10/24 22:43:43 provision: converged acme.go.tito.io environment "staging" -> ""
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: converged acme.go.tito.io steering "" -> "latency"
2026/10/24 22:43:43 provision: converged acme.go.tito.io steering "latency" -> ""
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: converged acme.go.tito.io hibernate false -> true
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: converged acme.go.tito.io hibernate true -> false (replication "daily" cleared: only a hibernating route's rung is read)
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: converged acme.go.tito.io status-named false -> true
2026/10/24 22:43:43 provision: converged acme.go.tito.io status-named true -> false
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: minted service route ha.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 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 22:43:43 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 22:43:43 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 22:43:43 provision: minted service route whole.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 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 22:43:43 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 22:43:43 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 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: minted service route whole.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: skipping accounts/bac/account.json: malformed account manifest: invalid character 'o' in literal null (expecting 'u')
2026/10/24 22:43:43 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: manifest bac/tito: read failed: provision: manifest bac/tito: invalid character 'o' in literal null (expecting 'u')
2026/10/24 22:43:43 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 22:43:43 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 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 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 22:43:43 provision: not removing acme$evil.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 22:43:43 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 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 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 22:43:43 provision: not removing bad-service.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 22:43:43 provision: skipping record apps/bac/tito/instances/no-channel.go.tito.io.json: empty channel
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: skipping record apps/bac/tito/instances/no-channel.go.tito.io.json: empty channel
2026/10/24 22:43:43 provision: not removing no-channel.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:43 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 22:43:43 provision: removed retired instance route ghost.go.tito.io (record gone)
2026/10/24 22:43:43 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 22:43:43 provision: minted instance route dup.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 22:43:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 22:43:43 provision: removed retired instance route acme.go.tito.io (app in the trash)
2026/10/24 22:43:43 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:43 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 22:43:43 provision: removed retired static route site.go.tito.io (app in the trash)
2026/10/24 22:43:43 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 22:43:43 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 22:43:43 provision: removed retired instance route acme.go.tito.io (app in the trash)
2026/10/24 22:43:43 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 22:43:43 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 22:43:43 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 22:43:43 provision: converged acme.go.tito.io channel stable -> edge
2026/10/24 22:43:43 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 22:43:43 provision: converged acme.go.tito.io channel canary/rehearsal -> edge
2026/10/24 22:43:43 provision: converged acme.go.tito.io environment "staging" -> ""
2026/10/24 22:43:43 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 22:43:43 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 22:43:43 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 22:43:43 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 22:43:43 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 22:43:43 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 22:43:43 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 22:43:44 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 22:43:44 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 22:43:44 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 22:43:44 provision: dry-run: would converge adopt.go.tito.io channel stable -> edge
2026/10/24 22:43:44 provision: dry-run: would converge adopt.go.tito.io environment "" -> "staging"
2026/10/24 22:43:44 provision: dry-run: would converge owned.go.tito.io channel stable -> edge
2026/10/24 22:43:44 provision: dry-run: would converge owned.go.tito.io environment "" -> "staging"
2026/10/24 22:43:44 provision: dry-run: would converge owned.go.tito.io hibernate false -> true
2026/10/24 22:43:44 provision: dry-run: would converge owned.go.tito.io seed
2026/10/24 22:43:44 provision: dry-run: would mint instance route acme.go.tito.io (app "tito" acct "bac" channel "stable")
2026/10/24 22:43:44 provision: dry-run: would remove retired instance route gone.go.tito.io (record gone)
2026/10/24 22:43:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: adopted existing route adopt.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 22:43:44 provision: converged adopt.go.tito.io channel stable -> edge
2026/10/24 22:43:44 provision: converged adopt.go.tito.io environment "" -> "staging"
2026/10/24 22:43:44 provision: converged owned.go.tito.io channel stable -> edge
2026/10/24 22:43:44 provision: converged owned.go.tito.io environment "" -> "staging"
2026/10/24 22:43:44 provision: converged owned.go.tito.io hibernate false -> true
2026/10/24 22:43:44 provision: removed retired instance route gone.go.tito.io (record gone)
2026/10/24 22:43:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: adopted existing route story.carlosframework.com (app "story" acct "bad") — this record now owns its channel and environment
2026/10/24 22:43:44 provision: story.carlosframework.com exists but is not the route this record describes (kind "instance"/"static") — leaving it alone
2026/10/24 22:43:44 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted service route pub.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted service route pubs.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted service route priv.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted instance route unit.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted instance route exec.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted service route loop.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted service route named.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted static route pisite.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: removed retired static route site.go.tito.io (record gone)
2026/10/24 22:43:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted instance route acme-uk.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: converged acme.go.tito.io replicas "ie,uk" -> "uk"
2026/10/24 22:43:44 provision: converged acme.go.tito.io replicas "uk" -> ""
2026/10/24 22:43:44 provision: minted instance route acme-uk.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: converged acme-uk.go.tito.io replica mark true -> false
2026/10/24 22:43:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 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 22:43:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:44 provision: acme.go.tito.io: not minting this pass: the box's layout intent could not be read: store down
2026/10/24 22:43:44 provision: router.go.tito.io: not minting this pass: the box's layout intent could not be read: store down
2026/10/24 22:43:44 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 22:43:44 provision: converged acme.go.tito.io channel stable -> edge
2026/10/24 22:43:44 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/24 22:43:44 provision: not removing acme.go.tito.io (record gone): participant of a running operation
2026/10/24 22:43:44 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 22:43:44 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/24 22:43:44 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 22:43:44 provision: held acme.go.tito.io landing by mv_acme (was ready)
2026/10/24 22:43:44 provision: acme.go.tito.io: held restoring by rb_other, not by mv_acme; leaving it
2026/10/24 22:43:44 provision: acme.go.tito.io: the row is not this pass's (app "other" acct ""); not holding it for mv_acme
2026/10/24 22:43:44 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 22:43:44 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 22:43:44 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 22:43:44 provision: held acme.go.tito.io landing by mv_acme (was ready)
2026/10/24 22:43:44 provision: minted instance route acme.example.com (app "shop" acct "bac")
2026/10/24 22:43:44 provision: minted instance route plain.example.com (app "shop" acct "bac")
2026/10/24 22:43:44 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:44 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 22:43:44 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:44 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 22:43:44 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:44 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 22:43:44 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:44 provision: listing apps/bac/shop/instances/: list refused — its records are unseen this pass
2026/10/24 22:43:44 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:44 provision: converged a.shop.example.com assets off false -> false, generation "" -> "0123456789abcdef"
2026/10/24 22:43:44 provision: converged a.shop.example.com assets off false -> false, generation "0123456789abcdef" -> "fedcba9876543210"
2026/10/24 22:43:44 provision: converged a.shop.example.com assets off false -> true, generation "fedcba9876543210" -> "fedcba9876543210"
2026/10/24 22:43:44 provision: converged a.shop.example.com assets off true -> false, generation "fedcba9876543210" -> ""
2026/10/24 22:43:45 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:45 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:45 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 22:43:45 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:45 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 22:43:45 provision: minted sidecar route bot.shop.bac.sidecar.internal (app "shop" acct "bac" args ["run"])
2026/10/24 22:43:45 provision: removed retired sidecar route bot.shop.bac.sidecar.internal (record gone)
2026/10/24 22:43:45 provision: minted sidecar route bot.shop.bum.sidecar.internal (app "shop" acct "bum" args ["run"])
2026/10/24 22:43:45 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 22:43:45 provision: minted sidecar route bot.shop.bum.sidecar.internal (app "shop" acct "bum" args ["run"])
2026/10/24 22:43:45 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 22:43:45 provision: removed retired sidecar route bot.shop.bum.sidecar.internal (record gone)
2026/10/24 22:43:45 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 22:43:45 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 22:43:45 provision: removed retired sidecar route bot.shop.bum.sidecar.internal (record gone)
2026/10/24 22:43:46 provision: a.shop.example.com: swapped for import sd_vl3rxi2sp72yerpsmulqlfudum (the original route is journaled)
2026/10/24 22:43:46 provision: a.shop.example.com: import sd_vl3rxi2sp72yerpsmulqlfudum committed: its gate is cleared and its journal row dropped
2026/10/24 22:43:46 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 22:43:46 provision: a.shop.example.com: import sd_w7h3b5v7mro6mumrh2dhd6zwp4 rolled back to its original route
2026/10/24 22:43:46 provision: a.shop.example.com: import sd_w7h3b5v7mro6mumrh2dhd6zwp4: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/24 22:43:46 provision: a.shop.example.com: import sd_w7h3b5v7mro6mumrh2dhd6zwp4 is cleaned up and its journal row retired
2026/10/24 22:43:46 provision: a.shop.example.com: import sd_qgln65oxgt7utf3wbwqg3m7ffe rolled back to its original route
2026/10/24 22:43:46 provision: a.shop.example.com: import sd_qgln65oxgt7utf3wbwqg3m7ffe: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/24 22:43:46 provision: a.shop.example.com: import sd_qgln65oxgt7utf3wbwqg3m7ffe is cleaned up and its journal row retired
2026/10/24 22:43:46 provision: dry-run: would redo a.shop.example.com's swap record CAS for import sd_shjgldts4nf6nyzn734rlgmenm
2026/10/24 22:43:46 provision: dry-run: would clear a.shop.example.com's import gate
2026/10/24 22:43:46 provision: dry-run: would converge a.shop.example.com seed source
2026/10/24 22:43:46 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 22:43:46 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 22:43:46 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 22:43:46 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 22:43:46 provision: a.shop.example.com: import sd_mrtv6uqodz53gj4n2vx7bzg4sm cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/24 22:43:46 provision: a.shop.example.com: import sd_ar2r2puxj6e5lmxs7kdarmgoea cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/24 22:43:46 provision: a.shop.example.com: import sd_gsxmockedmlav6uqncu3cm2iu4 is journaled, but this box cannot act on imports; its row is left alone
2026/10/24 22:43:46 provision: a.shop.example.com: import sd_ahs6e5mkeusodojrst6g5h73ii is journaled, but this box cannot act on imports; its row is left alone
2026/10/24 22:43:46 provision: a.shop.example.com: import sd_yuywoc43kv4dg7jtuspa7aqbsu is journaled, but this box cannot act on imports; its row is left alone
2026/10/24 22:43:46 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 22:43:46 provision: b.shop.example.com: import sd_mgnbqh3jz5dmqkdbueb54sl7rm left alone this pass: the import journal could not be read
2026/10/24 22:43:46 provision: c.shop.example.com: import sd_uqcg6dnnao2iwwpxbd7c5zinge left alone this pass: the import journal could not be read
2026/10/24 22:43:46 provision: a.shop.example.com: import sd_qe7zffrae7chc6qfjupdmoc5di committed: its gate is cleared and its journal row dropped
2026/10/24 22:43:46 provision: a.shop.example.com: not converging import sd_2si2qbeyufhebslxl2fo64hvfq: it is swapped but not committed, and the row on this box has no import gate
2026/10/24 22:43:46 provision: a.shop.example.com: not converging import sd_zicwgxprcxkmbe6svuvpca5bvm: it is swapped but not committed, and the row on this box has no import gate
2026/10/24 22:43:46 provision: a.shop.example.com: not converging import sd_rmbuxupkvqaoqczh5fd7ma32ia: it is placed but not committed, and the row on this box has no import gate
2026/10/24 22:43:46 provision: a.shop.example.com: not converging import sd_c37r56busgib6jov6up3fv3btq: it is placed but not committed, and the row on this box has no import gate
2026/10/24 22:43:46 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 22:43:46 provision: converge seed source on a.shop.example.com: constraint failed: seed_source is read-only here (1811)
2026/10/24 22:43:46 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 22:43:46 provision: a.shop.example.com: import sd_yeraekkuskyijx4d6sy5xvyryy committed: its gate is cleared and its journal row dropped
2026/10/24 22:43:46 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 22:43:46 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:46 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 22:43:46 provision: acme.go.tito.io: not minting a seeded instance: this box does not mint nested (<nil>)
2026/10/24 22:43:46 provision: acme.go.tito.io: not minting a seeded instance: claim control is on for this box
2026/10/24 22:43:47 provision: acme.go.tito.io: aborted seed sd_73nuiu2ojuuhxtrdlh5vaanpii: this box cannot read seed markers, and places no seed; nothing local is removed
2026/10/24 22:43:47 provision: acme.go.tito.io: aborted seed sd_73nuiu2ojuuhxtrdlh5vaanpii rolled back (no box had swapped it)
2026/10/24 22:43:47 provision: acme.go.tito.io: not minting a seeded instance: its record does not describe a hibernating instance
2026/10/24 22:43:47 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:47 provision: removed instance route acme.go.tito.io (its seed sd_aq7qkzl5rw6yafgazhvurjphce was aborted); the next pass rolls it back
2026/10/24 22:43:47 provision: acme.go.tito.io: aborted seed sd_aq7qkzl5rw6yafgazhvurjphce: this box cannot read seed markers, and places no seed; nothing local is removed
2026/10/24 22:43:47 provision: acme.go.tito.io: aborted seed sd_aq7qkzl5rw6yafgazhvurjphce rolled back (no box had swapped it)
2026/10/24 22:43:47 provision: acme.go.tito.io: aborted seed sd_zpdvukcqjlaal75qins52gz3ay has a row this pass may not remove; leaving the seed aborted
2026/10/24 22:43:47 provision: acme.go.tito.io: aborted seed sd_whtbvz46g3dv7bkiajjzowxn3q rolled back (no box had swapped it)
2026/10/24 22:43:47 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:47 provision: removed instance route acme.go.tito.io (its seed sd_3ttzqp2cfouulmxeexxqxuuqxu was aborted); the next pass rolls it back
2026/10/24 22:43:47 provision: acme.go.tito.io: aborted seed sd_3ttzqp2cfouulmxeexxqxuuqxu has no route on this box: its local data is removed
2026/10/24 22:43:47 provision: acme.go.tito.io: aborted seed sd_3ttzqp2cfouulmxeexxqxuuqxu rolled back (no box had swapped it)
2026/10/24 22:43:47 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_ygwqvuaf4flysvzunlv2sq4tiu (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_ygwqvuaf4flysvzunlv2sq4tiu rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_ygwqvuaf4flysvzunlv2sq4tiu is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_4sm45nt4zgrbtyymg33n7e7b2i (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_4sm45nt4zgrbtyymg33n7e7b2i rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_4sm45nt4zgrbtyymg33n7e7b2i is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_o7v6ru7amiimgm22y6rtenlome (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_o7v6ru7amiimgm22y6rtenlome rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_o7v6ru7amiimgm22y6rtenlome: the host's replica is left alone: its record no longer names this seed
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_o7v6ru7amiimgm22y6rtenlome is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_3azzksakp3kqxkqg5m2wa6n3h4 (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_3azzksakp3kqxkqg5m2wa6n3h4 rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_3azzksakp3kqxkqg5m2wa6n3h4 rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_3azzksakp3kqxkqg5m2wa6n3h4 is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_evxkieiy5pmlbo5m7wudqfr2rq (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_evxkieiy5pmlbo5m7wudqfr2rq rollback deferred: the host is not fenced and stopped yet (stop unproven)
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_n3npir6fcrd6lqitcqlvc64cjm (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_n3npir6fcrd6lqitcqlvc64cjm is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_ozuxq3fi4u4nv35r5n7hsgpfny (the original route is journaled)
2026/10/24 22:43:47 provision: skipping record apps/bac/shop/instances/a.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_ozuxq3fi4u4nv35r5n7hsgpfny left alone this pass: its record could not be read
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_ajrundh7qybj4y27b2dh377nt4 (the original route is journaled)
2026/10/24 22:43:47 provision: skipping record apps/bac/shop/instances/a.shop.example.com.json: read failed: connection reset
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_ajrundh7qybj4y27b2dh377nt4 left alone this pass: its record could not be read
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_zuisum3tnkc5yfzngm7igvoada (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_zuisum3tnkc5yfzngm7igvoada: close the import gate: constraint failed: injected (1811)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_zuisum3tnkc5yfzngm7igvoada rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_zuisum3tnkc5yfzngm7igvoada is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_wzypjkrtakmevlgwxdp7i56vjq (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_wzypjkrtakmevlgwxdp7i56vjq: close the import gate: constraint failed: injected (1811)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_wzypjkrtakmevlgwxdp7i56vjq rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_wzypjkrtakmevlgwxdp7i56vjq is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_4v22lyxsx5c3n77y7wuz57seiy (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_4v22lyxsx5c3n77y7wuz57seiy rollback deferred: the host is not fenced and stopped yet (injected failure at fence)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_4v22lyxsx5c3n77y7wuz57seiy rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_4v22lyxsx5c3n77y7wuz57seiy is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_dtwpnhq2saa75k2kub5ihyycxu (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_dtwpnhq2saa75k2kub5ihyycxu rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_dtwpnhq2saa75k2kub5ihyycxu is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_z7kyuua54kd4ytrn6wc2c6t4fe (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_z7kyuua54kd4ytrn6wc2c6t4fe: retire its instance key: injected failure at retire-key
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_z7kyuua54kd4ytrn6wc2c6t4fe rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_z7kyuua54kd4ytrn6wc2c6t4fe is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_3qb6qazihuync3wc3zj5asa7ri (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_3qb6qazihuync3wc3zj5asa7ri rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_3qb6qazihuync3wc3zj5asa7ri is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_t6djycxzbdzzbb2notvxs6fhky (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_t6djycxzbdzzbb2notvxs6fhky: remove its local data: injected failure at remove-local
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_t6djycxzbdzzbb2notvxs6fhky rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_t6djycxzbdzzbb2notvxs6fhky is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_7fgqguxl6j6ne7fldll277dhwm (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_7fgqguxl6j6ne7fldll277dhwm rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_7fgqguxl6j6ne7fldll277dhwm is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_5vvwtnniiqhmxfdhzk2tiiiwxq (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_5vvwtnniiqhmxfdhzk2tiiiwxq: remove its local data: injected failure at remove-local-done
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_5vvwtnniiqhmxfdhzk2tiiiwxq rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_5vvwtnniiqhmxfdhzk2tiiiwxq is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_neeptlp34ssuhn564kgd2m7h6a (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_neeptlp34ssuhn564kgd2m7h6a rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_neeptlp34ssuhn564kgd2m7h6a is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_2gl4bpkpy4rcuaxwxwyll6y3n4 (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_2gl4bpkpy4rcuaxwxwyll6y3n4: restore the original route: constraint failed: injected (1811)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_2gl4bpkpy4rcuaxwxwyll6y3n4 rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_2gl4bpkpy4rcuaxwxwyll6y3n4 is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_gdbttwsk4jmqhq4tq5fpwucj2m (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_gdbttwsk4jmqhq4tq5fpwucj2m: restore the original route: constraint failed: injected (1811)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_gdbttwsk4jmqhq4tq5fpwucj2m rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_gdbttwsk4jmqhq4tq5fpwucj2m is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_myzigtdfwmtqr623jnwzmdlnda (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_myzigtdfwmtqr623jnwzmdlnda is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_gelpmn7zvnft65xcereqge6c24 (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_gelpmn7zvnft65xcereqge6c24 rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_gelpmn7zvnft65xcereqge6c24: delete its snapshot: injected failure at delete-snapshot
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_gelpmn7zvnft65xcereqge6c24 is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_f2sbko4uonydb4ychudat4ib4i (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_f2sbko4uonydb4ychudat4ib4i rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_f2sbko4uonydb4ychudat4ib4i is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_jmyglomrxqckenaqhrsorfvfje (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_jmyglomrxqckenaqhrsorfvfje rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_jmyglomrxqckenaqhrsorfvfje: delete the host's replica: injected failure at delete-replica
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_jmyglomrxqckenaqhrsorfvfje is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_buea6ccioxhfqg7agob44l36ra (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_buea6ccioxhfqg7agob44l36ra rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_buea6ccioxhfqg7agob44l36ra is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_ypwhodtl4kkela6ymeooga3bhi (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_ypwhodtl4kkela6ymeooga3bhi rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_ypwhodtl4kkela6ymeooga3bhi: retire its journal row: constraint failed: injected (1811)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_ypwhodtl4kkela6ymeooga3bhi is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_awxcwqpecuyxqujjavot3hf2um (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_awxcwqpecuyxqujjavot3hf2um rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_awxcwqpecuyxqujjavot3hf2um: retire its journal row: constraint failed: injected (1811)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_awxcwqpecuyxqujjavot3hf2um is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_uve7rjazrrwxeb2rdqfz625464 (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_uve7rjazrrwxeb2rdqfz625464 rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_uve7rjazrrwxeb2rdqfz625464 is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: mark import sd_uve7rjazrrwxeb2rdqfz625464 rolled back: injected failure at cas
2026/10/24 22:43:47 provision: a.shop.example.com: aborted seed sd_uve7rjazrrwxeb2rdqfz625464 rolled back (no box had swapped it)
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_42ll2j3jvcoqqzslbgbwe3c7su (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_42ll2j3jvcoqqzslbgbwe3c7su rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_42ll2j3jvcoqqzslbgbwe3c7su is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: aborted seed sd_42ll2j3jvcoqqzslbgbwe3c7su rolled back (no box had swapped it)
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_lguce6jkwxtuzrp57gjvh2lt5e (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_lguce6jkwxtuzrp57gjvh2lt5e rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_lguce6jkwxtuzrp57gjvh2lt5e rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_lguce6jkwxtuzrp57gjvh2lt5e rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_lguce6jkwxtuzrp57gjvh2lt5e is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_tkjgumz5lqd3ispgudc5n2fi2m (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_tkjgumz5lqd3ispgudc5n2fi2m rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_tkjgumz5lqd3ispgudc5n2fi2m is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_5fn5nnrds6vofsuz326kd3ofz4 (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_5fn5nnrds6vofsuz326kd3ofz4 rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_5fn5nnrds6vofsuz326kd3ofz4 is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_7l7fgx5zyfolzibiilpvys3una (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_7l7fgx5zyfolzibiilpvys3una rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_7l7fgx5zyfolzibiilpvys3una is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_vd7dp3m6dnelmmhnybqimw7uk4 (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_vd7dp3m6dnelmmhnybqimw7uk4 rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_vd7dp3m6dnelmmhnybqimw7uk4 is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_5xtaieznblv6fxqnjbjsodvnyi (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_5xtaieznblv6fxqnjbjsodvnyi rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_5xtaieznblv6fxqnjbjsodvnyi is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_6ofaelda47m2sw2pnxkiyfjnkm (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_6ofaelda47m2sw2pnxkiyfjnkm rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_6ofaelda47m2sw2pnxkiyfjnkm is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_iqoe3i3vemqllxbcfnqlu4sps4 (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_iqoe3i3vemqllxbcfnqlu4sps4 rolled back to its original route
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_iqoe3i3vemqllxbcfnqlu4sps4 is cleaned up and its journal row retired
2026/10/24 22:43:47 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/24 22:43:47 provision: a.shop.example.com: swapped for import sd_foodoyjw556sed75ldvcln5tgu (the original route is journaled)
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_foodoyjw556sed75ldvcln5tgu has no route on this box: its local data is removed and no route is put back
2026/10/24 22:43:47 provision: a.shop.example.com: import sd_foodoyjw556sed75ldvcln5tgu is cleaned up and its journal row retired
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_k673e575cnuy3ggtvjnl3jugly (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_gtane4hkg7qm75c3wrd7u4i7tu (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_ox45ihinj3yj7wldlpyxqfnaly (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_ox45ihinj3yj7wldlpyxqfnaly cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_za7hgg2c32rbsuvesfoak7uqhu (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_za7hgg2c32rbsuvesfoak7uqhu is not rolled back: the route changed under the fence, so nothing there is touched
2026/10/24 22:43:48 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 22:43:48 provision: a.shop.example.com: import ../not-a-seed is cleaned up and its journal row retired
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_h4cknoigf3jp7lvdincd2lvjje (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_csegzbbolljko7ntrcwo4yrs5u (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_dpkmm4gta67pdxe7s4dvvkco2y (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_zyryjb7yf4osn7bmwkqkjapvda (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_f4hh4xpk5ge76wddwbjkf52fi4 (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_f4hh4xpk5ge76wddwbjkf52fi4 rollback deferred: the host is not fenced and stopped yet (stop evidence unreadable)
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_ceecyfr4rtmaj4ere4znjhubp4 (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_ceecyfr4rtmaj4ere4znjhubp4 has no route on this box: its local data is removed and no route is put back
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_ceecyfr4rtmaj4ere4znjhubp4 is cleaned up and its journal row retired
2026/10/24 22:43:48 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_iall65uhnv7dtn32w7zdb4nec4 (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_iall65uhnv7dtn32w7zdb4nec4: remove its local data: injected failure at remove-local
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_iall65uhnv7dtn32w7zdb4nec4 is not rolled back: the route at the host is not the import's, so nothing there is touched
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_iiybdnmez7frs4zvklgljzrybi (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_iiybdnmez7frs4zvklgljzrybi: a route appeared at the host, so its local database is left and the rollback waits
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_obphez5344uhpeiiw77pi4hzmi (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_obphez5344uhpeiiw77pi4hzmi rollback deferred: no fence generation: registry busy
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_3m7azdzln3uw5btevhr4plbtru (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_3m7azdzln3uw5btevhr4plbtru rollback deferred: no fence generation: the generation source answered 0
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_uhmkvw3vhdabx4o6vpde53wkym (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_b2coxsc6kyjizs3fo5z5ggu4ne (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_q5ai4yhe7iqucp3xsc2cauaway (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: import deferred: this box cannot read the instance's env file
2026/10/24 22:43:48 provision: a.shop.example.com: import deferred: the instance's env file could not be read: a symlink
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_7voo23sycu5okrdgbfqo23j4pe (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_7voo23sycu5okrdgbfqo23j4pe rolled back to its original route
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_7voo23sycu5okrdgbfqo23j4pe is cleaned up and its journal row retired
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_o2jdb2qagt6xi5dztwdnnqljdq (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_o2jdb2qagt6xi5dztwdnnqljdq rolled back to its original route
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_o2jdb2qagt6xi5dztwdnnqljdq is cleaned up and its journal row retired
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_ecxqwuwb4kxwtzcupnvjeegxma (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_ecxqwuwb4kxwtzcupnvjeegxma rolled back to its original route
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_ecxqwuwb4kxwtzcupnvjeegxma is cleaned up and its journal row retired
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_5lg6rhj4rhxq7y5ptoftg35kge (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_5lg6rhj4rhxq7y5ptoftg35kge: retire its instance key: the env file is a symlink
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_5lg6rhj4rhxq7y5ptoftg35kge rolled back to its original route
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_5lg6rhj4rhxq7y5ptoftg35kge is cleaned up and its journal row retired
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_bqoyd2yavhdcewsv4vwyj2jv7y (the original route is journaled)
2026/10/24 22:43:48 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 22:43:48 provision: a.shop.example.com: swapped for import sd_bcbgcaqjtzmsfda7d2xuubnsc4 (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_tzh2kreslj3isom4n7ibxppk3e refused: there is no route at a.shop.example.com to replace
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_we65fj7qmbweze773yogdedmvy refused: the route's address is 127.0.0.1:9, not 127.0.0.1:8401
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_sv4lwzht3dhn6nif7ucc3w6mi4 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 22:43:48 provision: a.shop.example.com: import sd_4g6ffmrgglurobaxyvwhciapbu refused: the route's address is 127.0.0.1:9, not 127.0.0.1:8401
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_er5weet2indns3kqgdjds4kbqy refused: the route belongs to app other
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_ereoujqt7otgrooelf5ugv72jy refused: the route is filed under another account
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_w3nbbsp6yagfezw57dt7dj6jiy refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_pwbq2r7j6g6gb3kc3unwvdqtsi refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_o7zuq4mjbzlzgvbioisg6hspcq refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_3l4fkkfd5najo4yfxik2orn3e4 refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_nbwbmfpwsotakgkxcrv45zp2mu refused: the route is not an address route this import can take over (socket)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_k3dhrsddqomiuuuphmrxfd5p44 refused: the route is not an address route this import can take over (no address)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_smnmr7a5zv5tzyoxngkwvq7i44 refused: the route is not an address route this import can take over (provisioned)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_66jidepxvjswhsqmtxqyo6whj4 refused: the route is not an address route this import can take over (kind static)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_u5gz2liz4umdwlpfh2qdqw2yxm refused: the route is not an address route this import can take over (backing)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_zce5n6zolnysfuugqewyblmswm refused: the route is not an address route this import can take over (tunnel)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_k2p4fybnbkteurnxnnh5jlq3om refused: the route is not an address route this import can take over (caps)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_gdh3dezqxvr76zia2qux5iw5qm refused: the route is not an address route this import can take over (platform)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_644fglslrmasndaqlx6tmj477e refused: the route is not an address route this import can take over (canary)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_zhzx46taflebkjttaw5wvywebu refused: the route is not an address route this import can take over (kind sidecar)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_p5kka67rcahdbij5skks7pncfy refused: the route is not an address route this import can take over (region)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_rnq7jzziobuwzhfupfyods6g64 refused: the route is not an address route this import can take over (fleet_box)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_jerbp34spxpewccj3wnbnreisa refused: the route is not an address route this import can take over (hibernate)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_fioccuzmumslk6gzmhphjcr7ve refused: the route is not an address route this import can take over (claim_owner)
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_3elhqccnzdlmehjnz3wgcikksq refused: this box does not run instances nested
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_ykcrkfdkl6fuv44buyx2hdbzbu refused: this box does not run instances nested
2026/10/24 22:43:48 provision: a.shop.example.com: import sd_qjitu5tgmgdolpic3nkb247dvi refused: claim control is on for this box
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_hviuvhumgdkut627usrbdwtj6q (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: swapped for import sd_zvqork2xpgbwz3jozk2yumfmn4 (the original route is journaled)
2026/10/24 22:43:48 provision: a.shop.example.com: import deferred: this box cannot read the legacy route assignments
2026/10/24 22:43:48 provision: a.shop.example.com: import deferred: the legacy route assignments could not be read: store down
2026/10/24 22:43:48 provision: a.shop.example.com: not swapping for import sd_reex47ea7lcuwknk5q6q4e3o54: its verify hash is not a sha256
2026/10/24 22:43:48 provision: a.shop.example.com: not swapping for import sd_tgwnz6tuodrqy6rnjy5vla2ayi: its verify hash is not a sha256
2026/10/24 22:43:48 provision: a.shop.example.com: not swapping for import sd_3k6tqfjmp27u2ognuzmnmm37f4: its verify hash is not a sha256
2026/10/24 22:43:48 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 22:43:49 provision: A.shop.example.com/..: not swapping for import sd_shrs63ec5w6smbhhk4pqeczjkm: its host or seed id is malformed (seeds: not a host)
2026/10/24 22:43:49 provision: a.shop.example.com: not swapping for import sd_qbci3gdus7jsktjz6o7pfknmre: its record does not describe a nested, hibernating instance
2026/10/24 22:43:49 provision: a.shop.example.com: not swapping for import sd_dnf5gg2p7x4kdrk7yt4krkakqa: its record does not describe a nested, hibernating instance
2026/10/24 22:43:49 provision: a.shop.example.com: not swapping for import sd_7r3s5u2dhmiub6uxs5sqtbacyy: its record does not describe a nested, hibernating instance
2026/10/24 22:43:49 provision: a.shop.example.com: not swapping for import sd_74nhw53xfwafazr632vmjhdmvi: its record does not describe a nested, hibernating instance
2026/10/24 22:43:49 provision: a.shop.example.com: import deferred: the box's layout intent could not be read: store down
2026/10/24 22:43:49 provision: a.shop.example.com: swapped for import sd_szlggjfmda5t3t6f2xwz4jmou4 (the original route is journaled)
2026/10/24 22:43:49 provision: a.shop.example.com: import deferred: the box's nested probe did not answer: ready probe timed out
2026/10/24 22:43:49 provision: a.shop.example.com: swapped for import sd_v5ukj74ddvoccy626km2unfnry (the original route is journaled)
2026/10/24 22:43:49 provision: a.shop.example.com: swapped for import sd_7rylatp65sc6bnvx7zqbihscqq (the original route is journaled)
2026/10/24 22:43:49 provision: a.shop.example.com: import deferred: the route is held by operation op_1
2026/10/24 22:43:49 provision: dry-run: would consider swapping a.shop.example.com for import sd_xjagc5w63vrjklkfrhpl3cy7qe
2026/10/24 22:43:49 provision: a.shop.example.com: import sd_dtadq5ypbv23irkns7rk2g5rva rolled back to its original route
2026/10/24 22:43:49 provision: a.shop.example.com: import sd_dtadq5ypbv23irkns7rk2g5rva: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/24 22:43:49 provision: a.shop.example.com: import sd_dtadq5ypbv23irkns7rk2g5rva is cleaned up and its journal row retired
2026/10/24 22:43:49 provision: a.shop.example.com: import sd_6ld2qcuwjqmdy2yt6dsvmyhk3i left alone: the import journal holds seed sd_dwqs5tul76u3wkokz7bxdtwnae at swapped
2026/10/24 22:43:49 provision: a.shop.example.com: not minting import sd_f6fjccmsjia4so2dxeytvt4idq: it is swapped but not committed, and only its swap makes its row
2026/10/24 22:43:49 provision: a.shop.example.com: not minting import sd_nib7qdj7qjsa7oqs5nshsj2ica: it is placed but not committed, and only its swap makes its row
2026/10/24 22:43:49 provision: a.shop.example.com: swapped for import sd_ugz7si56sbdhcwehkoantbeghq (the original route is journaled)
2026/10/24 22:43:49 provision: a.shop.example.com: not minting import sd_ugz7si56sbdhcwehkoantbeghq: it is swapped but not committed, and only its swap makes its row
2026/10/24 22:43:49 provision: a.shop.example.com: not minting import sd_ugz7si56sbdhcwehkoantbeghq: it is placed but not committed, and only its swap makes its row
2026/10/24 22:43:49 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 22:43:49 provision: removed retired sidecar route gone.eleven.bac.sidecar.internal (record gone)
2026/10/24 22:43:49 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 22:43:49 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 22:43:49 provision: converged sidecar bot.eleven.bac.sidecar.internal args ["sidecar","run"] -> ["worker","run"]
2026/10/24 22:43:49 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 22:43:49 provision: converged sidecar bot.eleven.bac.sidecar.internal ceilings 300/3600 -> 60/120
2026/10/24 22:43:49 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 22:43:49 provision: converged sidecar bot.eleven.bac.sidecar.internal channel stable -> canary/eleven
2026/10/24 22:43:49 provision: converged sidecar bot.eleven.bac.sidecar.internal environment "other" -> "relay"
2026/10/24 22:43:49 provision: converged sidecar bot.eleven.bac.sidecar.internal hibernate true -> false
2026/10/24 22:43:49 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: read failed: failStore: reads disabled under apps/bac/eleven/sidecars/
2026/10/24 22:43:49 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: malformed: invalid character 'n' looking for beginning of object key string
2026/10/24 22:43:49 provision: not removing sidecar bot.eleven.bac.sidecar.internal: its record exists but could not be read cleanly this pass
2026/10/24 22:43:49 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: empty channel
2026/10/24 22:43:49 provision: skipping sidecar record apps/bac/eleven/sidecars/held.json: empty channel
2026/10/24 22:43:49 provision: not removing sidecar held.eleven.bac.sidecar.internal: its record exists but could not be read cleanly this pass
2026/10/24 22:43:49 provision: removed retired sidecar route old.eleven.bac.sidecar.internal (record gone)
2026/10/24 22:43:49 provision: bac/eleven has sidecar records but no sidecars manifest — not minting
2026/10/24 22:43:49 provision: bac/eleven is in the trash — not minting sidecar routes for it
2026/10/24 22:43:49 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 22:43:49 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 22:43:49 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 22:43:49 provision: minted sidecar route hub.relay.bac.sidecar.internal (app "relay" acct "bac" args ["relay"])
2026/10/24 22:43:49 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 22:43:49 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 22:43:49 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 22:43:49 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 22:43:49 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 22:43:49 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 22:43:49 provision: removed retired sidecar route bot.eleven.bac.sidecar.internal (record gone)
2026/10/24 22:43:49 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 22:43:49 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 22:43:49 provision: skipping sidecar record apps/bac/relay/sidecars/hub.json: read failed: failStore: reads disabled under apps/bac/relay/sidecars/
2026/10/24 22:43:49 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 22:43:49 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 22:43:49 provision: dry-run: would mint sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" channel "stable" args ["sidecar","run"])
2026/10/24 22:43:49 provision: dry-run: would remove retired sidecar route gone.eleven.bac.sidecar.internal (record gone)
2026/10/24 22:43:49 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 22:43:49 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:49 provision: converged acme.go.tito.io update settings "{\"updates\":\"manual\",\"channel\":\"stable\"}" -> ""
2026/10/24 22:43:49 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:49 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:49 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/24 22:43:49 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/24 22:43:49 provision: acme.go.tito.io: not minted this pass: the app's update policy could not be read
2026/10/24 22:43:49 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 22:43:49 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/24 22:43:49 provision: acme.go.tito.io: not minted this pass: the app's update policy could not be read
2026/10/24 22:43:49 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/24 22:43:49 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 22:43:49 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 22:43:49 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 22:43:49 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 22:43:49 provision: record view: change index unusable (get refused): walking
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: record view: re-reading apps/bqc/shop failed: retrying on the next refresh
2026/10/24 22:43:49 provision: listing apps/bqc/shop/instances/: list refused — its records are unseen this pass
2026/10/24 22:43:49 provision: listing apps/bqc/shop/instances/: list refused — its records are unseen this pass
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: an app's records could not be listed: they are skipped
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: record view: re-reading apps/bqc/shop failed: retrying on the next refresh
2026/10/24 22:43:49 provision: listing apps/bqc/shop/instances/: context canceled — its records are unseen this pass
2026/10/24 22:43:49 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 22:43:49 provision: record view: change index unusable (release: change index malformed: invalid character 'n' looking for beginning of object key string): walking
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping accounts/bqd/account.json: malformed account manifest: invalid character 'n' looking for beginning of object key string
2026/10/24 22:43:49 provision: skipping accounts/bqd/account.json: malformed account manifest: invalid character 'n' looking for beginning of object key string
2026/10/24 22:43:49 provision: skipping accounts/bqd/account.json: malformed account manifest: invalid character 'n' looking for beginning of object key string
2026/10/24 22:43:49 provision: record view: re-reading accounts/bqd failed: retrying on the next refresh
2026/10/24 22:43:49 provision: skipping accounts/bqd/account.json: read failed: list refused
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: minted instance route one.example.com (app "shop" acct "bum")
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: skipping record apps/bum/shop/instances/one.example.com.json: empty channel
2026/10/24 22:43:49 provision: not removing one.example.com: its record exists but could not be read cleanly this pass
2026/10/24 22:43:49 provision: skipping record apps/bum/shop/instances/one.example.com.json: empty channel
2026/10/24 22:43:49 provision: not removing one.example.com: its record exists but could not be read cleanly this pass
2026/10/24 22:43:49 provision: minted instance route one.example.com (app "shop" acct "bum")
2026/10/24 22:43:49 provision: minted instance route one.example.com (app "shop" acct "bum")
2026/10/24 22:43:49 provision: removed retired instance route one.example.com (record gone)
2026/10/24 22:43:49 provision: removed retired instance route one.example.com (record gone)
2026/10/24 22:43:49 provision: record view: change index unusable (context deadline exceeded): walking
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 22:43:49 provision: record view: change index unusable (context deadline exceeded): the walk records no generations
2026/10/24 22:43:49 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
--- FAIL: TestPlan14RootReadCensus (21.62s)
    plan14_root_reads_test.go:1462: root read census: 47 discrepancies
        changed registry schema
        changed root read internal/domains/aliases.go:deriveInstanceAliases; review class, task, sites and digest
        changed root read internal/host/agent.go:runAgent; review class, task, sites and digest
        changed root read internal/host/edgesfile.go:edgesFileLoop; review class, task, sites and digest
        changed root read internal/host/edgesfile.go:edgesFileWriteClaims; review class, task, sites and digest
        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/provision/reconcile.go:convergeOwned; 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.SnapshotFingerprint; 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/domains
        changed root source envelope internal/edge
        changed root source envelope internal/edgesfile
        changed root source envelope internal/host
        changed root source envelope internal/provision
        changed root source envelope internal/registry
        changed root source envelope internal/release
        stale root read internal/domains/aliases.go:ReconcileAliases
        unclassified root read internal/domains/aliases.go:ReconcileAliasesReport registry:Account@15690,registry:Account@15703,registry:Alias@15283,registry:Alias@15323,registry:Alias@15393,registry:App@12502,registry:App@12702,registry:App@12858,registry:App@13059,registry:App@15716,registry:App@15725,registry:App@2553,registry:App@2749,registry:App@6373,registry:App@6572,registry:Host@15675,registry:Host@15986,registry:Host@16039,registry:Host@16111,registry:Host@16645,registry:Host@16758,registry:Host@16817,registry:Host@16898,registry:Host@724,registry:Prefix@16653,registry:Prefix@16772,registry:Prefix@16825,registry:Prefix@16906,registry:Status@9236,whole:Route@12471,whole:Route@12546,whole:Route@12693,whole:Route@12755,whole:Route@12898,whole:Route@13054,whole:Route@13950,whole:Route@15045,whole:Route@15053,whole:Route@1896,whole:Route@2593,whole:Route@2744,whole:Route@2800,whole:Route@5719,whole:Route@6417,whole:Route@6563,whole:Route@677,whole:Route@706,whole:Route@717,whole:Route@735,whole:Route@844,whole:Route@8566,whole:Route@9018,whole:Route@9180,whole:RouteAlias@15061,whole:RouteAlias@15258,whole:RouteAlias@852,whole:RoutePath@10763,whole:RoutePath@16538,whole:RoutePath@16580,whole:RoutePath@16715,whole:RoutePath@16745,whole:WildcardDomain@13270,whole:WildcardDomain@15605,whole:WildcardDomain@15654,whole:WildcardDomain@15817,whole:WildcardDomain@15945,whole:WildcardDomain@15974
        unclassified root read internal/domains/aliases.go:relevantDropped registry:Account@944,registry:Alias@728,registry:Alias@749,registry:Alias@810,registry:Alias@875,registry:Host@605,whole:Route@304,whole:Route@335,whole:Route@374,whole:Route@590,whole:Route@652,whole:RouteAlias@707
        unclassified root read internal/host/assetpolicy.go:assetInputs.primary whole:Route@112,whole:Route@174,whole:Route@194,whole:Route@84
        unclassified root read internal/host/assetpolicy.go:assetPolicy.buildSnapshot whole:Route@361
        unclassified root read internal/host/assetpolicy.go:assetPolicy.decide registry:AssetGen@1927,registry:AssetGen@586,registry:AssetsOff@571,registry:Gate@606,registry:Host@1235,registry:Host@884,registry:Host@947,registry:ImportGate@622,registry:Pool@1794,registry:Status@277,registry:Version@1201
        unclassified root read internal/host/assetpolicy.go:assetPolicy.keepBuilds registry:App@238,registry:App@348,registry:Host@292,registry:Version@189,registry:Version@245,whole:Route@113,whole:Route@141,whole:Route@181
        unclassified root read internal/host/assetpolicy.go:assetPolicy.publishSnapshot registry:Host@298,registry:Status@248,whole:Route@206,whole:Route@234,whole:Route@376,whole:RouteAlias@399,whole:RoutePath@392
        unclassified root read internal/host/assetpolicy.go:assetPolicy.readAssetInputs registry:Host@489,registry:Status@439,whole:Route@397,whole:Route@425,whole:Route@540,whole:RouteAlias@563,whole:RoutePath@556
        unclassified root read internal/host/assetpolicy.go:assetPolicy.servingDigest whole:Route@154
        unclassified root read internal/host/assetpolicy.go:newAssetInputs registry:Alias@476,registry:Alias@511,registry:Alias@557,registry:Host@367,registry:Host@424,registry:Host@568,whole:Route@195,whole:Route@239,whole:Route@346,whole:Route@360,whole:Route@377,whole:Route@628,whole:RouteAlias@461,whole:RoutePath@401,whole:RoutePath@644
        unclassified root read internal/host/assetpolicy.go:servingBuildsDigest registry:Host@229,whole:Route@168,whole:Route@196
        unclassified root read internal/provision/provision.go:NewAssetGen file:Read@66
        unclassified root read internal/registry/registry.go:Registry.SetAssets file:Exec@239,registry:remote@106,registry:remote@76,registry:sql@239,whole:remoteClient@108,whole:remoteClient@78
        changed legacy declaration internal/domains/aliases.go:ReconcileAliases
        changed legacy declaration internal/domains/aliases.go:deriveInstanceAliases
        changed legacy declaration internal/host/edgesfile.go:edgesFileLoop
        changed legacy declaration internal/provision/reconcile.go:Reconcile
        changed legacy declaration internal/provision/reconcile.go:convergeOwned
        changed legacy declaration internal/registry/registry.go:Registry.Fingerprint
        changed legacy declaration internal/registry/registry.go:Registry.SnapshotFingerprint
        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
FAIL
FAIL	github.com/carlosframework/platform/internal/provision	30.822s
ok  	github.com/carlosframework/platform/internal/publicrelease	0.012s
?   	github.com/carlosframework/platform/internal/regionname	[no test files]
ok  	github.com/carlosframework/platform/internal/registry	5.881s
ok  	github.com/carlosframework/platform/internal/relay	7.229s
ok  	github.com/carlosframework/platform/internal/release	26.194s
ok  	github.com/carlosframework/platform/internal/rollout	3.769s
ok  	github.com/carlosframework/platform/internal/rolloutwords	0.004s
ok  	github.com/carlosframework/platform/internal/rootaws	0.008s
ok  	github.com/carlosframework/platform/internal/rootparticipation	0.059s
ok  	github.com/carlosframework/platform/internal/rootstate	0.028s
ok  	github.com/carlosframework/platform/internal/runs	0.605s
ok  	github.com/carlosframework/platform/internal/s3compat	0.006s
ok  	github.com/carlosframework/platform/internal/safefile	0.005s
ok  	github.com/carlosframework/platform/internal/schedule	2.778s
ok  	github.com/carlosframework/platform/internal/seeds	0.013s
ok  	github.com/carlosframework/platform/internal/sim/engines	2.545s
ok  	github.com/carlosframework/platform/internal/sim/hostlife	9.877s
ok  	github.com/carlosframework/platform/internal/sim/litestreamfacts	4.049s
ok  	github.com/carlosframework/platform/internal/status	0.069s
ok  	github.com/carlosframework/platform/internal/steering	0.007s
ok  	github.com/carlosframework/platform/internal/stopevidence	0.336s
ok  	github.com/carlosframework/platform/internal/svcrole	0.002s
ok  	github.com/carlosframework/platform/internal/telemetry	0.004s
ok  	github.com/carlosframework/platform/internal/termfence	0.005s
ok  	github.com/carlosframework/platform/internal/tunnelclient	0.005s
ok  	github.com/carlosframework/platform/internal/unixdial	0.003s
ok  	github.com/carlosframework/platform/internal/updatewords	0.004s
ok  	github.com/carlosframework/platform/internal/usage	0.008s
ok  	github.com/carlosframework/platform/internal/version	0.004s
ok  	github.com/carlosframework/platform/internal/vet	1.700s
FAIL
=== internal_console@0 (86 s)
ok  	github.com/carlosframework/platform/internal/console	84.822s
=== internal_console@1 (44 s)
ok  	github.com/carlosframework/platform/internal/console	42.481s
=== internal_console@2 (41 s)
ok  	github.com/carlosframework/platform/internal/console	38.993s
=== internal_console@3 (41 s)
ok  	github.com/carlosframework/platform/internal/console	39.036s
=== internal_console@4 (43 s)
ok  	github.com/carlosframework/platform/internal/console	41.529s
=== internal_console@5 (42 s)
ok  	github.com/carlosframework/platform/internal/console	40.415s
=== internal_console@6 (38 s)
ok  	github.com/carlosframework/platform/internal/console	36.620s
=== internal_console@7 (47 s)
ok  	github.com/carlosframework/platform/internal/console	45.157s
=== root@0 (101 s)
ok  	github.com/carlosframework/platform	99.379s
=== root@1 (93 s)
ok  	github.com/carlosframework/platform	91.191s
=== root@2 (93 s)
ok  	github.com/carlosframework/platform	91.557s

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/host/assetpolicy.go b/internal/host/assetpolicy.go
index afd28b3e0..4f0421467 100644
--- a/internal/host/assetpolicy.go
+++ b/internal/host/assetpolicy.go
@@ -8,7 +8,6 @@ import (
"fmt"
"slices"
"strings"
- "sync"
"sync/atomic"
"time"
@@ -115,10 +114,9 @@ type assetPolicy struct {
// its aliases read, the window a concurrent pass can tear. Tests only.
betweenReads func()
- // snap is the last settled decision For and Declared answer from;
- // lazyMu serializes computing the first one on first use.
- snap atomic.Pointer[assetSnapshot]
- lazyMu sync.Mutex
+ // snap is the last settled decision For and Declared answer from, stored
+ // only by the edges file writer.
+ snap atomic.Pointer[assetSnapshot]
}
type writtenAssets struct {
@@ -214,9 +212,9 @@ func (in assetInputs) primary(host string) (registry.Route, bool) {
// decide is the publication rule for one hostname. pooledOK drops the pooled
// exclusion (For: a pooled route still catches on the boxes that serve it).
-// cachedOnly answers from manifests already read, never the bucket (For runs
-// on the request path).
-func (p *assetPolicy) decide(ctx context.Context, in assetInputs, clocks assetClocks, host string, pooledOK, cachedOnly bool) (edge.HostAssets, bool) {
+// It reads a build's manifest from the bucket the first time it needs it, so
+// it runs on the writer's schedule (and in Publish), never per request.
+func (p *assetPolicy) decide(ctx context.Context, in assetInputs, clocks assetClocks, host string, pooledOK bool) (edge.HostAssets, bool) {
if p == nil || host == "" || strings.HasPrefix(host, "*.") {
return edge.HostAssets{}, false
}
@@ -254,16 +252,7 @@ func (p *assetPolicy) decide(ctx context.Context, in assetInputs, clocks assetCl
}
var paths []string
for _, b := range builds {
- var bp []string
- var ok bool
- if cachedOnly {
- bp, ok = p.manifests.cached(acct, app, b)
- if b == "" {
- ok = true
- }
- } else {
- bp, ok = p.manifests.paths(ctx, acct, app, b)
- }
+ bp, ok := p.manifests.paths(ctx, acct, app, b)
if !ok {
continue // that build publishes no paths until it can be read
}
@@ -294,7 +283,7 @@ func (p *assetPolicy) Publish(host string) (edgeAssets, bool) {
if err != nil || !p.auth.settled(clocks) {
return edgeAssets{}, false
}
- a, ok := p.decide(context.Background(), in, clocks, host, false, false)
+ a, ok := p.decide(context.Background(), in, clocks, host, false)
if !ok {
return edgeAssets{}, false
}
@@ -306,7 +295,8 @@ func (p *assetPolicy) Publish(host string) (edgeAssets, bool) {
// assetFreshFor.
//
// It answers from the last settled decision (assetSnapshot), never by
-// reading the registry or the bucket per call: while a records or alias pass
+// reading the registry or the bucket, and false until the writer has stored
+// the first one: while a records or alias pass
// runs, the previous snapshot keeps answering with its own at, so the home
// keeps serving cached assets and never wakes a hibernating instance for a
// hit (design G4). The freshness rule applies to that at, so a box whose
@@ -354,41 +344,28 @@ type assetSnapshot struct {
builds map[string][]string
}
-// current is the snapshot For and Declared answer from, computed on first
-// use when the writer has not published one yet. Nil when there is none and
-// none could be computed without overlapping a pass.
+// current is the snapshot For and Declared answer from: the writer's last
+// settled decision. Nil until the edges file writer has stored its first one,
+// and until then the home catches nothing (design §4.2, "after a restart";
+// §7: no entry is served before the first read). Nothing here reads the
+// registry or the bucket.
func (p *assetPolicy) current() *assetSnapshot {
if p == nil {
return nil
}
- if s := p.snap.Load(); s != nil {
- return s
- }
- p.lazyMu.Lock()
- defer p.lazyMu.Unlock()
- if s := p.snap.Load(); s != nil {
- return s
- }
- clocks := p.auth.snapshot()
- in, err := p.readAssetInputs()
- if err != nil || !p.auth.settled(clocks) {
- return nil
- }
- s := p.buildSnapshot(context.Background(), in, clocks, true)
- p.snap.CompareAndSwap(nil, s)
return p.snap.Load()
}
-// buildSnapshot decides every route host and exact alias in in. cachedOnly
-// is the lazy path's (no bucket read off the writer's schedule). The caller
-// has checked that in was read settled against clocks.
-func (p *assetPolicy) buildSnapshot(ctx context.Context, in assetInputs, clocks assetClocks, cachedOnly bool) *assetSnapshot {
+// buildSnapshot decides every route host and exact alias in in, on the
+// writer's schedule. The caller has checked that in was read settled against
+// clocks.
+func (p *assetPolicy) buildSnapshot(ctx context.Context, in assetInputs, clocks assetClocks) *assetSnapshot {
s := &assetSnapshot{hosts: map[string]edge.HostAssets{}}
consider := func(host string) {
if _, done := s.hosts[host]; done {
return
}
- if a, ok := p.decide(ctx, in, clocks, host, true, cachedOnly); ok {
+ if a, ok := p.decide(ctx, in, clocks, host, true); ok {
s.hosts[host] = a
}
}
@@ -413,7 +390,7 @@ func (p *assetPolicy) publishSnapshot(ctx context.Context, routes []registry.Rou
served[r.Host] = edgeHost{}
}
}
- p.snap.Store(p.buildSnapshot(ctx, newAssetInputs(routes, served, paths, aliases, nil), clocks, false))
+ p.snap.Store(p.buildSnapshot(ctx, newAssetInputs(routes, served, paths, aliases, nil), clocks))
}
// keepBuilds is the manifest cache's keep set: the installed and serving
diff --git a/internal/host/assetpublish_test.go b/internal/host/assetpublish_test.go
index e98768f3f..1825467ce 100644
--- a/internal/host/assetpublish_test.go
+++ b/internal/host/assetpublish_test.go
@@ -1640,9 +1640,10 @@ func TestForAgesOutWhenPassesNeverSettle(t *testing.T) {
}
}
-// TestForMakesNoRegistryReadPerCall: once a decision exists, For and
-// Declared read nothing; the first call on a box whose writer has not run
-// yet computes one, and one that overlaps a pass is not kept.
+// TestForMakesNoRegistryReadPerCall: For and Declared never read the
+// registry. Before the writer has stored its first decision they answer false
+// (nothing is caught after a restart until the first settled pass), with or
+// without a pass running; after it they answer from that decision.
//
// Not acceptance: the clocks are fed reports directly; the writer and the
// reader are the production ones.
@@ -1654,37 +1655,42 @@ func TestForMakesNoRegistryReadPerCall(t *testing.T) {
w.confirm()
reads := 0
w.policy.betweenReads = func() { reads++ }
+ calls := func(phase string, wantFor bool) {
+ t.Helper()
+ for range 100 {
+ if _, ok := w.policy.For("shop.example.com"); ok != wantFor {
+ t.Fatalf("%s: For = %v, want %v", phase, ok, wantFor)
+ }
+ if got := w.policy.Declared("shop.example.com", "v1", "/assets/x.js"); got != wantFor {
+ t.Fatalf("%s: Declared = %v, want %v", phase, got, wantFor)
+ }
+ }
+ if reads != 0 {
+ t.Fatalf("%s: 200 calls made %d registry reads, want 0", phase, reads)
+ }
+ }
- // Lazy first use, overlapping a pass: nothing kept, nothing answered.
+ calls("before the first snapshot, no pass running", false)
w.auth.passBegin()
- if _, ok := w.policy.For("shop.example.com"); ok {
- t.Fatal("For answered from a decision that overlapped a pass")
- }
- if reads != 1 || w.policy.snap.Load() != nil {
- t.Fatalf("reads = %d, snapshot kept = %v; want one read and none kept", reads, w.policy.snap.Load() != nil)
+ calls("before the first snapshot, a pass running", false)
+ w.pass() // overlapped: stores nothing
+ if w.policy.snap.Load() != nil {
+ t.Fatal("an overlapped writer pass stored a snapshot")
}
+ reads = 0
+ calls("after an overlapped writer pass", false)
w.auth.passEnd()
- // Lazy first use, settled: one read, then none. The manifest was never
- // read (only the writer reads the bucket), so nothing catches yet.
- if _, ok := w.policy.For("shop.example.com"); ok {
- t.Fatal("the lazy decision caught a build whose manifest was never read")
- }
- if reads != 2 {
- t.Fatalf("reads = %d after the lazy decision, want 2", reads)
+ calls("after the pass ended, before the writer ran", false)
+
+ w.pass() // settled: the first snapshot
+ if w.policy.snap.Load() == nil {
+ t.Fatal("a settled writer pass stored no snapshot")
}
- w.pass() // the writer's settled pass replaces it (one more hooked read)
reads = 0
- for range 100 {
- if _, ok := w.policy.For("shop.example.com"); !ok {
- t.Fatal("For refused after the writer's pass")
- }
- if !w.policy.Declared("shop.example.com", "v1", "/assets/x.js") {
- t.Fatal("Declared refused after the writer's pass")
- }
- }
- if reads != 0 {
- t.Fatalf("200 calls made %d registry reads, want 0", reads)
- }
+ calls("after the first snapshot", true)
+ w.auth.passBegin()
+ calls("after the first snapshot, a pass running", true)
+ w.auth.passEnd()
}
// TestForIsSafeWhileTheWriterReplacesTheSnapshot runs For and Declared from
diff --git a/internal/host/edgesfile.go b/internal/host/edgesfile.go
index 25fd6a036..fa82ba1e5 100644
--- a/internal/host/edgesfile.go
+++ b/internal/host/edgesfile.go
@@ -676,7 +676,7 @@ func edgesFileWriteClaims(ctx context.Context, s release.Store, reg *registry.Re
}
continue
}
- if a, ok := assets.decide(ctx, in, clocks, host, false, false); ok {
+ if a, ok := assets.decide(ctx, in, clocks, host, false); ok {
h.Assets = &edgeAssets{Paths: a.Paths, Gen: a.Gen, At: a.At.Unix()}
hosts[host] = h
}