edge asset cache task 6 fix round 1: the snapshot probe makes no new reads
The probe stops at the first row it would remove again, as before this task, so the report adds no trash or production-flag lookups to a snapshot pass. Withheld and vetoed removals mark apps from a sweep that asks no trash marker (a row a marker would retire belongs to an app whose records were already skipped). Counted-store regression for a journal-handled trashed app behind an ordinary removal with ReleasePub set; recovery tests for adoption and a released move hold.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 files changed,
+143
−24
internal/provision/reconcile.go+20 −24internal/provision/reconcile_report_test.go+123 −0
CI failed — run details
CI log
=== gate ===
.amadan/test-gate.sh
=== launchctx (0 s)
ok amadan.net/carlos/platform.git/launchctx 0.012s
? amadan.net/carlos/platform.git/launchctx/controlname [no test files]
? amadan.net/carlos/platform.git/launchctx/wireid [no test files]
=== vet (17 s)
=== gofmt (0 s)
gofmt -l .: clean
=== rest (171 s)
? github.com/carlosframework/platform/cmd/changelog [no test files]
ok github.com/carlosframework/platform/cmd/console 3.596s
ok github.com/carlosframework/platform/cmd/moveprobe 12.013s
ok github.com/carlosframework/platform/cmd/zddprobe 0.770s
ok github.com/carlosframework/platform/internal/activator 58.456s
ok github.com/carlosframework/platform/internal/agentsock 0.026s
ok github.com/carlosframework/platform/internal/alerting 0.004s
ok github.com/carlosframework/platform/internal/analytics 0.056s
ok github.com/carlosframework/platform/internal/appconfig 3.003s
ok github.com/carlosframework/platform/internal/apperr 0.152s
ok github.com/carlosframework/platform/internal/applog 0.294s
ok github.com/carlosframework/platform/internal/awsinv 0.004s
ok github.com/carlosframework/platform/internal/boxchoice 0.007s
ok github.com/carlosframework/platform/internal/boxid 0.895s
? 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.009s
ok github.com/carlosframework/platform/internal/caps 0.022s
ok github.com/carlosframework/platform/internal/certwarm 0.005s
ok github.com/carlosframework/platform/internal/cgroup 0.837s
ok github.com/carlosframework/platform/internal/changelog 0.587s
ok github.com/carlosframework/platform/internal/claimactivation 1.380s
ok github.com/carlosframework/platform/internal/clamd 0.073s
? github.com/carlosframework/platform/internal/cliflag [no test files]
? github.com/carlosframework/platform/internal/controlname [no test files]
? github.com/carlosframework/platform/internal/controlsock [no test files]
ok github.com/carlosframework/platform/internal/dbdoor 8.388s
ok github.com/carlosframework/platform/internal/dbdoor/dbdoortest 0.010s
ok github.com/carlosframework/platform/internal/dbquery 0.008s
ok github.com/carlosframework/platform/internal/dbreads 2.080s
? 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.008s
ok github.com/carlosframework/platform/internal/docsite 0.015s
ok github.com/carlosframework/platform/internal/domains 3.279s
ok github.com/carlosframework/platform/internal/doorkey 0.007s
ok github.com/carlosframework/platform/internal/economics 0.004s
ok github.com/carlosframework/platform/internal/edge 45.811s
? github.com/carlosframework/platform/internal/edgeproof [no test files]
ok github.com/carlosframework/platform/internal/edgesfile 0.007s
ok github.com/carlosframework/platform/internal/fleetapi 0.138s
ok github.com/carlosframework/platform/internal/gate 1.659s
ok github.com/carlosframework/platform/internal/genselect 0.014s
ok github.com/carlosframework/platform/internal/geo 0.019s
ok github.com/carlosframework/platform/internal/geoip 0.030s
ok github.com/carlosframework/platform/internal/historyreadback 0.154s
ok github.com/carlosframework/platform/internal/host 143.323s
ok github.com/carlosframework/platform/internal/hostactors 6.327s
ok github.com/carlosframework/platform/internal/hostactors/awsmembership 0.017s
ok github.com/carlosframework/platform/internal/hostbox 2.925s
ok github.com/carlosframework/platform/internal/hostclaim 0.778s
ok github.com/carlosframework/platform/internal/hostenv 0.014s
ok github.com/carlosframework/platform/internal/hostevidence 0.017s
ok github.com/carlosframework/platform/internal/hostexec 5.228s
ok github.com/carlosframework/platform/internal/hostfence 0.050s
ok github.com/carlosframework/platform/internal/hostfiles 10.329s
ok github.com/carlosframework/platform/internal/hostfloor 0.017s
ok github.com/carlosframework/platform/internal/hostguard 1.015s
ok github.com/carlosframework/platform/internal/hostops 1.909s
? github.com/carlosframework/platform/internal/hostops/fencerelease [no test files]
ok github.com/carlosframework/platform/internal/hostops/internal/fencerelease 0.014s
ok github.com/carlosframework/platform/internal/hostquarantine 0.014s
ok github.com/carlosframework/platform/internal/hostrelocate 0.652s
ok github.com/carlosframework/platform/internal/hostresolve 0.209s
ok github.com/carlosframework/platform/internal/hostwrite 0.014s
ok github.com/carlosframework/platform/internal/infraview 0.014s
ok github.com/carlosframework/platform/internal/instancectl 5.258s
ok github.com/carlosframework/platform/internal/instanceexec 2.808s
ok github.com/carlosframework/platform/internal/instancefs 0.024s
ok github.com/carlosframework/platform/internal/instancekey 0.017s
ok github.com/carlosframework/platform/internal/instanceupdates 0.026s
ok github.com/carlosframework/platform/internal/layout 1.729s
ok github.com/carlosframework/platform/internal/lbhealth 0.020s
ok github.com/carlosframework/platform/internal/lease 10.128s
ok github.com/carlosframework/platform/internal/lease/leasetest 0.521s
ok github.com/carlosframework/platform/internal/ledger 0.039s
ok github.com/carlosframework/platform/internal/mail 0.269s
ok github.com/carlosframework/platform/internal/maintenance 0.095s
ok github.com/carlosframework/platform/internal/maintenanceexec 5.552s
ok github.com/carlosframework/platform/internal/maintenanceguard 0.102s
ok github.com/carlosframework/platform/internal/metrics 0.011s
ok github.com/carlosframework/platform/internal/moves 22.245s
ok github.com/carlosframework/platform/internal/moves/archive 0.923s
ok github.com/carlosframework/platform/internal/objstore 0.289s
ok github.com/carlosframework/platform/internal/ops 0.223s
ok github.com/carlosframework/platform/internal/park 0.270s
ok github.com/carlosframework/platform/internal/plans 0.006s
ok github.com/carlosframework/platform/internal/privatefile 0.004s
2026/10/24 21:28:19 provision: listing apps/bab/blog/instances/: list refused — its records are unseen this pass
2026/10/24 21:28:19 provision: listing apps/bab/: listdirs refused — its records are unseen this pass
2026/10/24 21:28:19 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:19 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:19 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:19 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/24 21:28:19 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/24 21:28:19 provision: skipping record apps/bac/tito/instances/one.example.com.json: unreadable: read refused
2026/10/24 21:28:19 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/24 21:28:19 provision: an app's records could not be listed: they are skipped
2026/10/24 21:28:19 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:28:19 provision: remove retired instance route shop.example: provision: claim admission unavailable
2026/10/24 21:28:19 provision: remove retired instance route shop.example: provision: claim admission unavailable
2026/10/24 21:28:19 provision: remove retired sidecar route worker.sidecar.internal: provision: claim admission unavailable
2026/10/24 21:28:19 provision: remove retired sidecar route worker.sidecar.internal: provision: claim admission unavailable
2026/10/24 21:28:19 provision: claim install acme.go.tito.io: provision: claim admission unavailable
2026/10/24 21:28:19 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:19 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/24 21:28:19 provision: claim install bot.eleven.bac.sidecar.internal: provision: claim admission unavailable
2026/10/24 21:28:19 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 21:28:19 provision: claim install bot.eleven.bac.sidecar.internal: registry: claim row ownership changed or unknown
2026/10/24 21:28:19 provision: refusing to mint route acme.go.tito.io (app "tito" acct "bac"): this box declares CARLOS_INBOUND=none (no-inbound) and cannot serve routed instance traffic
2026/10/24 21:28:19 provision: acme.go.tito.io: not minting this pass: the box's layout intent could not be read: no sealed config
2026/10/24 21:28:19 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:19 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:19 provision: REFUSING to mint sidecar bot.eleven.bac.sidecar.internal: bot.eleven.bac.sidecar.internal-sidecar.env is staged on this box — the legacy file co-spawn and a native sidecar row are two mechanisms for one host; remove the file to migrate this host onto sidecar records
2026/10/24 21:28:19 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 21:28:19 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 21:28:19 provision: refusing to mint route acme.go.tito.io (app "tito" acct "bac"): this box declares CARLOS_INBOUND=none (no-inbound) and cannot serve routed instance traffic
2026/10/24 21:28:19 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:19 provision: REFUSING to mint sidecar bot.eleven.bac.sidecar.internal: bot.eleven.bac.sidecar.internal-sidecar.env is staged on this box — the legacy file co-spawn and a native sidecar row are two mechanisms for one host; remove the file to migrate this host onto sidecar records
2026/10/24 21:28:19 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 21:28:19 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 21:28:19 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:19 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/24 21:28:19 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:19 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/24 21:28:19 provision: bot.eleven.bac.sidecar.internal exists but is not a sidecar row this pass owns (kind "sidecar" provisioned false app "eleven" acct "bac") — leaving it alone
2026/10/24 21:28:19 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/24 21:28:19 provision: claim install bot.eleven.bac.sidecar.internal: registry: claim row ownership changed or unknown
2026/10/24 21:28:19 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 21:28:19 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:19 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 21:28:19 provision: bot.eleven.bac.sidecar.internal exists but is not a sidecar row this pass owns (kind "sidecar" provisioned false app "eleven" acct "bac") — leaving it alone
2026/10/24 21:28:19 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:19 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:19 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:19 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:28:19 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:19 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:19 provision: skipping record apps/bac/tito/instances/new.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:19 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 21:28:19 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:19 provision: skipping record apps/bac/tito/instances/new.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:20 provision: minted instance route re.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route rf.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route rh.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route rk.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route rb.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route rc.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route rd.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route rg.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route ri.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route rj.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route rl.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route ra.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route rd.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route ra.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route rb.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route rc.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: skipping record apps/bac/tito/instances/rb.go.tito.io.json: read failed: read refused
2026/10/24 21:28:20 provision: skipping record apps/bac/tito/instances/rb.go.tito.io.json: read failed: read refused
2026/10/24 21:28:20 provision: minted instance route re.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route x.appc.example (app "appc" acct "bac")
2026/10/24 21:28:20 provision: minted instance route x.appd.example (app "appd" acct "bac")
2026/10/24 21:28:20 provision: minted instance route x.appi.example (app "appi" acct "bac")
2026/10/24 21:28:20 provision: minted instance route x.appj.example (app "appj" acct "bac")
2026/10/24 21:28:20 provision: minted instance route x.appa.example (app "appa" acct "bac")
2026/10/24 21:28:20 provision: minted instance route x.appb.example (app "appb" acct "bac")
2026/10/24 21:28:20 provision: minted instance route x.appe.example (app "appe" acct "bac")
2026/10/24 21:28:20 provision: minted instance route x.appf.example (app "appf" acct "bac")
2026/10/24 21:28:20 provision: minted instance route x.appg.example (app "appg" acct "bac")
2026/10/24 21:28:20 provision: minted instance route x.apph.example (app "apph" acct "bac")
2026/10/24 21:28:20 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 21:28:20 provision: minted instance route r0067.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0112.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0123.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0124.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0027.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0055.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0104.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0018.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0060.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0116.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0101.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0004.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0028.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0030.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0037.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0072.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0017.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0026.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0052.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0090.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0091.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0000.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0022.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0032.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0062.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0088.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0105.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0108.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0003.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0010.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0085.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0007.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0029.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0048.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0093.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0097.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0094.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0128.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0075.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0082.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0129.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0011.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0061.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0065.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0081.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0086.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0023.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0057.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0079.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0087.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0127.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0046.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0074.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0098.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0125.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0035.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0036.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0058.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0064.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0121.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0006.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0044.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0092.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0109.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0021.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0038.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0047.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0069.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0100.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0005.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0012.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0016.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0056.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0111.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0076.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0050.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0051.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0025.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0031.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0039.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0042.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0043.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0099.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0054.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0095.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0107.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0068.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0002.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0053.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0066.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0078.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0102.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0117.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0001.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0063.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0073.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0120.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0013.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0070.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0071.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0110.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0126.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0089.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0009.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0024.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0080.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0083.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0103.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0122.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0045.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0049.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0059.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0084.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0115.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0008.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0020.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0041.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0113.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0118.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0119.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0019.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0096.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0014.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0015.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0033.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0077.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0106.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0114.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0034.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:20 provision: minted instance route r0040.go.tito.io (app "tito" acct "bac")
--- FAIL: TestPlan9B8RecordWriteCensus (0.68s)
plan9_b8_census_test.go:372: record-write census rejected 1 site(s); update the explicit inventory only after reviewing the source:
changed site internal/provision/reconcile.go:Reconcile: source differs from the reviewed digest
2026/10/24 21:28:21 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:21 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:21 provision: refusing to mint route acme.go.tito.io (app "tito" acct "bac"): this box declares CARLOS_INBOUND=none (no-inbound) and cannot serve routed instance traffic
2026/10/24 21:28:21 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 21:28:21 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: converged a.shop.example.com assets off false -> false, generation "0123456789abcdef" -> "fedcba9876543210"
2026/10/24 21:28:21 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 21:28:21 provision: skipping record apps/bac/shop/instances/b.shop.example.com.json: read failed: get refused
2026/10/24 21:28:21 provision: skipping record apps/bac/shop/instances/c.shop.example.com.json: read failed: get refused
2026/10/24 21:28:21 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 21:28:21 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: skipping record apps/bac/shop/instances/b.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:21 provision: not removing b.shop.example.com: its record exists but could not be read cleanly this pass
2026/10/24 21:28:21 provision: skipping record apps/bac/shop/instances/c.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:21 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 21:28:21 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: listing apps/bac/notes/instances/: list refused — its records are unseen this pass
2026/10/24 21:28:21 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 21:28:21 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 21:28:21 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: trash marker for bac/shop unreadable: release: read trash marker for bac/shop: get refused — not minting for this app
2026/10/24 21:28:21 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 21:28:21 provision: converge gate on a.shop.example.com: constraint failed: injected (1811)
2026/10/24 21:28:21 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 21:28:21 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: converged b.shop.example.com assets off false -> false, generation "0123456789abcdef" -> "fedcba9876543210"
2026/10/24 21:28:21 provision: remove retired instance route a.shop.example.com: constraint failed: injected (1811)
2026/10/24 21:28:21 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 21:28:21 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: converged b.shop.example.com assets off false -> false, generation "0123456789abcdef" -> "fedcba9876543210"
2026/10/24 21:28:21 provision: skipping record apps/bac/notes/instances/n.notes.example.com.json: read failed: get refused
2026/10/24 21:28:21 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 21:28:21 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 21:28:21 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: converged a.shop.example.com steering "" -> "latency"
2026/10/24 21:28:21 provision: converge assets on a.shop.example.com: constraint failed: injected (1811)
2026/10/24 21:28:21 provision: converged a.shop.example.com update settings "" -> "{\"updates\":\"manual\",\"channel\":\"stable\"}"
2026/10/24 21:28:21 provision: dry-run: would converge a.shop.example.com assets off false -> false, generation "0123456789abcdef" -> "fedcba9876543210"
2026/10/24 21:28:21 provision: converged a.shop.example.com steering "latency" -> ""
2026/10/24 21:28:21 provision: converge assets on a.shop.example.com: constraint failed: injected (1811)
2026/10/24 21:28:21 provision: converged a.shop.example.com update settings "{\"updates\":\"manual\",\"channel\":\"stable\"}" -> ""
2026/10/24 21:28:21 provision: a.shop.example.com: import sd_vgpxdkfqlyhxdauaus7yaqugzq is journaled, but this box cannot act on imports; its row is left alone
2026/10/24 21:28:21 provision: removed retired instance route a.notes.example.com (record gone)
2026/10/24 21:28:21 provision: bac/shop is in the trash — not minting instance routes for it
2026/10/24 21:28:21 provision: adopted existing route a.shop.example.com (app "shop" acct "bac") — this record now owns its channel and environment
2026/10/24 21:28:21 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 21:28:21 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: held a.shop.example.com landing by op-1 (was ready)
2026/10/24 21:28:21 provision: minted instance route a.shop.example.com (app "shop" acct "bab")
2026/10/24 21:28:21 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 21:28:21 provision: skipping accounts/bab/account.json: read failed: get refused
2026/10/24 21:28:21 provision: minted instance route n.notes.example.com (app "notes" acct "bac")
2026/10/24 21:28:21 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: minted instance route b.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:21 provision: converged a.shop.example.com assets off false -> false, generation "0123456789abcdef" -> "fedcba9876543210"
2026/10/24 21:28:21 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:21 provision: minted service route svc.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:21 provision: minted instance route whole.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:21 provision: minted instance route console.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:21 provision: minted service route ha.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:21 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:21 provision: minted instance route shared.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: converged acme.go.tito.io channel stable -> edge
2026/10/24 21:28:22 provision: converged acme.go.tito.io channel edge -> canary/rehearsal
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: empty channel
2026/10/24 21:28:22 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: converged acme.go.tito.io environment "" -> "staging"
2026/10/24 21:28:22 provision: converged acme.go.tito.io environment "staging" -> ""
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: converged acme.go.tito.io steering "" -> "latency"
2026/10/24 21:28:22 provision: converged acme.go.tito.io steering "latency" -> ""
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: converged acme.go.tito.io hibernate false -> true
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: converged acme.go.tito.io hibernate true -> false (replication "daily" cleared: only a hibernating route's rung is read)
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: converged acme.go.tito.io status-named false -> true
2026/10/24 21:28:22 provision: converged acme.go.tito.io status-named true -> false
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted service route ha.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: converged ha.go.tito.io upstreams addr "" -> "", addrs "127.0.0.1:7001,127.0.0.1:7002" -> "127.0.0.1:7001,127.0.0.1:7003" (probe "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}" -> "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}")
2026/10/24 21:28:22 provision: converged ha.go.tito.io upstreams addr "" -> "", addrs "127.0.0.1:7001,127.0.0.1:7003" -> "127.0.0.1:7003,127.0.0.1:7001" (probe "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}" -> "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}")
2026/10/24 21:28:22 provision: converged ha.go.tito.io upstreams addr "" -> "", addrs "127.0.0.1:7003,127.0.0.1:7001" -> "127.0.0.1:7003,127.0.0.1:7001" (probe "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}" -> "{\"path\":\"/healthz\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}")
2026/10/24 21:28:22 provision: minted service route whole.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: converged whole.go.tito.io upstreams addr "127.0.0.1:9443" -> "", addrs "" -> "127.0.0.1:9443,127.0.0.1:9444" (probe "" -> "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}")
2026/10/24 21:28:22 provision: converged whole.go.tito.io upstreams addr "" -> "", addrs "127.0.0.1:9443,127.0.0.1:9444" -> "" (probe "{\"path\":\"/\",\"status\":200,\"interval_ms\":2000,\"fail_after\":3,\"rise_after\":2}" -> "")
2026/10/24 21:28:22 provision: whole.go.tito.io: record describes a different route SHAPE than the row (kind "instance"/"service" unit ""/"" socket "/run/carlos/whole.go.tito.io.sock"/"" db "/data/whole.go.tito.io.db"/"") — not converged in place; `carlos remove whole.go.tito.io` purges this route's capability grants (registry.Delete's contract, not a bug) before the next pass re-mints it, so treat that as a last resort, not a routine fix
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted service route whole.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: skipping accounts/bac/account.json: malformed account manifest: invalid character 'o' in literal null (expecting 'u')
2026/10/24 21:28:22 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: manifest bac/tito: read failed: provision: manifest bac/tito: invalid character 'o' in literal null (expecting 'u')
2026/10/24 21:28:22 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: disagrees with its own path (host="wrong-host.go.tito.io" account="bac" app="tito")
2026/10/24 21:28:22 provision: skipping record apps/bac/tito/instances/acme$evil.go.tito.io.json: host "acme$evil.go.tito.io" is not a hostname
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: skipping record apps/bac/tito/instances/acme$evil.go.tito.io.json: host "acme$evil.go.tito.io" is not a hostname
2026/10/24 21:28:22 provision: not removing acme$evil.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 21:28:22 provision: skipping record apps/bac/tito/instances/bad-service.go.tito.io.json: invalid shape: kind service with no addr: the platform only proxies to a service, so the record must name the upstream it proxies to
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: skipping record apps/bac/tito/instances/bad-service.go.tito.io.json: invalid shape: kind service with no addr: the platform only proxies to a service, so the record must name the upstream it proxies to
2026/10/24 21:28:22 provision: not removing bad-service.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 21:28:22 provision: skipping record apps/bac/tito/instances/no-channel.go.tito.io.json: empty channel
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: skipping record apps/bac/tito/instances/no-channel.go.tito.io.json: empty channel
2026/10/24 21:28:22 provision: not removing no-channel.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:22 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/24 21:28:22 provision: removed retired instance route ghost.go.tito.io (record gone)
2026/10/24 21:28:22 provision: duplicate host dup.go.tito.io: keeping apps/bac/tito/instances/dup.go.tito.io.json, skipping apps/bad/tito/instances/dup.go.tito.io.json
2026/10/24 21:28:22 provision: minted instance route dup.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 21:28:22 provision: removed retired instance route acme.go.tito.io (app in the trash)
2026/10/24 21:28:22 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 21:28:22 provision: removed retired static route site.go.tito.io (app in the trash)
2026/10/24 21:28:22 provision: trash marker for bac/tito unreadable: release: malformed trash marker for bac/tito: invalid character 'n' looking for beginning of object key string — not minting for this app
2026/10/24 21:28:22 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 21:28:22 provision: removed retired instance route acme.go.tito.io (app in the trash)
2026/10/24 21:28:22 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 21:28:22 provision: trash marker for bac/tito unreadable: release: malformed trash marker for bac/tito: invalid character 'n' looking for beginning of object key string — not minting for this app
2026/10/24 21:28:22 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 21:28:22 provision: converged acme.go.tito.io channel stable -> edge
2026/10/24 21:28:22 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 21:28:22 provision: converged acme.go.tito.io channel canary/rehearsal -> edge
2026/10/24 21:28:22 provision: converged acme.go.tito.io environment "staging" -> ""
2026/10/24 21:28:22 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 21:28:22 provision: acme.go.tito.io exists but is not the route this record describes (backing "unit" (box-scoped, not expressible in a record)) — leaving it alone
2026/10/24 21:28:22 provision: acme.go.tito.io exists but is not the route this record describes (tunnel "pi-fleet" (box-scoped, not expressible in a record)) — leaving it alone
2026/10/24 21:28:22 provision: acme.go.tito.io exists but is not the route this record describes (caps "port:25" (box-scoped, not expressible in a record)) — leaving it alone
2026/10/24 21:28:22 provision: acme.go.tito.io exists but is not the route this record describes (platform (owned by the domains reconcile pass)) — leaving it alone
2026/10/24 21:28:22 provision: acme.go.tito.io exists but is not the route this record describes (canary (owned by the domains reconcile pass)) — leaving it alone
2026/10/24 21:28:22 provision: acme.go.tito.io exists but is not the route this record describes (db "/data/other.db"/"/data/acme.go.tito.io.db") — leaving it alone
2026/10/24 21:28:22 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 21:28:22 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 21:28:22 provision: dry-run: would converge owned.go.tito.io channel stable -> edge
2026/10/24 21:28:22 provision: dry-run: would converge owned.go.tito.io environment "" -> "staging"
2026/10/24 21:28:22 provision: dry-run: would converge owned.go.tito.io hibernate false -> true
2026/10/24 21:28:22 provision: dry-run: would converge owned.go.tito.io seed
2026/10/24 21:28:22 provision: dry-run: would mint instance route acme.go.tito.io (app "tito" acct "bac" channel "stable")
2026/10/24 21:28:22 provision: dry-run: would adopt existing route adopt.go.tito.io (app "tito" acct "bac") — this record would own its channel and environment
2026/10/24 21:28:22 provision: dry-run: would converge adopt.go.tito.io channel stable -> edge
2026/10/24 21:28:22 provision: dry-run: would converge adopt.go.tito.io environment "" -> "staging"
2026/10/24 21:28:22 provision: dry-run: would remove retired instance route gone.go.tito.io (record gone)
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: adopted existing route adopt.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 21:28:22 provision: converged adopt.go.tito.io channel stable -> edge
2026/10/24 21:28:22 provision: converged adopt.go.tito.io environment "" -> "staging"
2026/10/24 21:28:22 provision: converged owned.go.tito.io channel stable -> edge
2026/10/24 21:28:22 provision: converged owned.go.tito.io environment "" -> "staging"
2026/10/24 21:28:22 provision: converged owned.go.tito.io hibernate false -> true
2026/10/24 21:28:22 provision: removed retired instance route gone.go.tito.io (record gone)
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: adopted existing route story.carlosframework.com (app "story" acct "bad") — this record now owns its channel and environment
2026/10/24 21:28:22 provision: story.carlosframework.com exists but is not the route this record describes (kind "instance"/"static") — leaving it alone
2026/10/24 21:28:22 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted service route pub.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted service route pubs.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted instance route unit.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted instance route exec.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted service route loop.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted service route named.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted service route priv.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted static route pisite.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:22 provision: removed retired static route site.go.tito.io (record gone)
2026/10/24 21:28:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:23 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:23 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:23 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:23 provision: minted instance route acme-uk.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:23 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:23 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:23 provision: converged acme.go.tito.io replicas "ie,uk" -> "uk"
2026/10/24 21:28:23 provision: converged acme.go.tito.io replicas "uk" -> ""
2026/10/24 21:28:23 provision: minted instance route acme-uk.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:23 provision: converged acme-uk.go.tito.io replica mark true -> false
2026/10/24 21:28:23 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:23 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:23 provision: acme.go.tito.io: row is on the nested layout (db "/data/instances/acme.go.tito.io/acme.go.tito.io.db" socket "/run/carlos/instances/acme.go.tito.io/app.sock"); the record's shared paths are not drift
2026/10/24 21:28:23 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:23 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:23 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:23 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:23 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:23 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:23 provision: acme.go.tito.io: not minting this pass: the box's layout intent could not be read: store down
2026/10/24 21:28:23 provision: router.go.tito.io: not minting this pass: the box's layout intent could not be read: store down
2026/10/24 21:28:23 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/24 21:28:23 provision: converged acme.go.tito.io channel stable -> edge
2026/10/24 21:28:23 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/24 21:28:23 provision: not removing acme.go.tito.io (record gone): participant of a running operation
2026/10/24 21:28:23 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 21:28:23 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/24 21:28:23 provision: refusing to mint held route acme.go.tito.io (app "tito" acct "bac"): this box declares CARLOS_INBOUND=none (no-inbound) and cannot serve routed instance traffic
2026/10/24 21:28:23 provision: held acme.go.tito.io landing by mv_acme (was ready)
2026/10/24 21:28:23 provision: acme.go.tito.io: held restoring by rb_other, not by mv_acme; leaving it
2026/10/24 21:28:23 provision: acme.go.tito.io: the row is not this pass's (app "other" acct ""); not holding it for mv_acme
2026/10/24 21:28:23 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/24 21:28:23 provision: dry-run: would mint instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac" channel "stable")
2026/10/24 21:28:23 provision: acme.go.tito.io: not held landing by mv_acme: the row's hold changed under this pass; the next pass judges it afresh
2026/10/24 21:28:23 provision: held acme.go.tito.io landing by mv_acme (was ready)
2026/10/24 21:28:23 provision: minted instance route acme.example.com (app "shop" acct "bac")
2026/10/24 21:28:23 provision: minted instance route plain.example.com (app "shop" acct "bac")
2026/10/24 21:28:23 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:23 provision: skipping record apps/bac/shop/instances/liar.shop.example.com.json: disagrees with its own path (host="other.shop.example.com" account="bac" app="shop")
2026/10/24 21:28:23 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:23 provision: skipping record apps/bac/shop/instances/liar.shop.example.com.json: disagrees with its own path (host="other.shop.example.com" account="bac" app="shop")
2026/10/24 21:28:23 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:23 provision: skipping record apps/bac/shop/instances/liar.shop.example.com.json: disagrees with its own path (host="other.shop.example.com" account="bac" app="shop")
2026/10/24 21:28:23 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:23 provision: listing apps/bac/shop/instances/: list refused — its records are unseen this pass
2026/10/24 21:28:23 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:23 provision: converged a.shop.example.com assets off false -> false, generation "" -> "0123456789abcdef"
2026/10/24 21:28:23 provision: converged a.shop.example.com assets off false -> false, generation "0123456789abcdef" -> "fedcba9876543210"
2026/10/24 21:28:23 provision: converged a.shop.example.com assets off false -> true, generation "fedcba9876543210" -> "fedcba9876543210"
2026/10/24 21:28:23 provision: converged a.shop.example.com assets off true -> false, generation "fedcba9876543210" -> ""
2026/10/24 21:28:24 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:24 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:24 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/24 21:28:24 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:24 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/24 21:28:24 provision: minted sidecar route bot.shop.bac.sidecar.internal (app "shop" acct "bac" args ["run"])
2026/10/24 21:28:24 provision: removed retired sidecar route bot.shop.bac.sidecar.internal (record gone)
2026/10/24 21:28:24 provision: minted sidecar route bot.shop.bum.sidecar.internal (app "shop" acct "bum" args ["run"])
2026/10/24 21:28:24 provision: sidecar bot.shop.bum.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 21:28:24 provision: minted sidecar route bot.shop.bum.sidecar.internal (app "shop" acct "bum" args ["run"])
2026/10/24 21:28:24 provision: sidecar bot.shop.bum.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 21:28:24 provision: sidecar bot.shop.bum.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 21:28:24 provision: removed retired sidecar route bot.shop.bum.sidecar.internal (record gone)
2026/10/24 21:28:24 provision: sidecar bot.shop.bum.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 21:28:24 provision: removed retired sidecar route bot.shop.bum.sidecar.internal (record gone)
2026/10/24 21:28:24 provision: a.shop.example.com: swapped for import sd_cu3ualhe75bwqcpmwej7qsrply (the original route is journaled)
2026/10/24 21:28:24 provision: a.shop.example.com: import sd_cu3ualhe75bwqcpmwej7qsrply committed: its gate is cleared and its journal row dropped
2026/10/24 21:28:24 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_bhxyy4ff6x4m3ty2im4uqoqpni rolled back to its original route
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_bhxyy4ff6x4m3ty2im4uqoqpni: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_bhxyy4ff6x4m3ty2im4uqoqpni is cleaned up and its journal row retired
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_kwo2krpytjthimldgsaet56ntq rolled back to its original route
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_kwo2krpytjthimldgsaet56ntq: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_kwo2krpytjthimldgsaet56ntq is cleaned up and its journal row retired
2026/10/24 21:28:25 provision: dry-run: would redo a.shop.example.com's swap record CAS for import sd_mx4sy64nisexcencwufu3k3ani
2026/10/24 21:28:25 provision: dry-run: would clear a.shop.example.com's import gate
2026/10/24 21:28:25 provision: dry-run: would converge a.shop.example.com seed source
2026/10/24 21:28:25 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/24 21:28:25 provision: a.shop.example.com: the import's record apps/bac/shop/instances/a.shop.example.com.json is not one this pass can use (connection reset)
2026/10/24 21:28:25 provision: a.shop.example.com: the import's record apps/bac/shop/instances/a.shop.example.com.json is not one this pass can use (provision: invalid maintenance projection or protected fields)
2026/10/24 21:28:25 provision: a.shop.example.com: the import's record apps/bac/shop/instances/a.shop.example.com.json is not one this pass can use (the record under apps/bac/shop/instances/a.shop.example.com.json is apps/bac/shop/instances/b.shop.example.com.json's)
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_wjidgbq5gjy3hthb4h7l27a57e cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_iskg4eikemmbk5lpznnumbzl7i cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_vsyk5u567y35hp73qjet2y625y is journaled, but this box cannot act on imports; its row is left alone
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_j2eornowled62edwxlni5nm4ye is journaled, but this box cannot act on imports; its row is left alone
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_kcbmav24vudrpdvam2kwssqxja is journaled, but this box cannot act on imports; its row is left alone
2026/10/24 21:28:25 provision: the import journal could not be read: registry: import journal a.shop.example.com: original row: unexpected end of JSON input (no import is acted on and no route is removed this pass)
2026/10/24 21:28:25 provision: b.shop.example.com: import sd_uzvndqh34jlyv2ry4tt4rpelv4 left alone this pass: the import journal could not be read
2026/10/24 21:28:25 provision: c.shop.example.com: import sd_4buy3flt3zhk34r7rssbvcejry left alone this pass: the import journal could not be read
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_ln6uagrsoqt7uoulbbje33jxd4 committed: its gate is cleared and its journal row dropped
2026/10/24 21:28:25 provision: a.shop.example.com: not converging import sd_igxcssh4srz33zj4joku5mz2cm: it is swapped but not committed, and the row on this box has no import gate
2026/10/24 21:28:25 provision: a.shop.example.com: not converging import sd_x25g3c4x5rg7koupgvz4nlamtu: it is swapped but not committed, and the row on this box has no import gate
2026/10/24 21:28:25 provision: a.shop.example.com: not converging import sd_stcz3xiybhirwcl7n3gtgriapm: it is placed but not committed, and the row on this box has no import gate
2026/10/24 21:28:25 provision: a.shop.example.com: not converging import sd_dzzhj4zwyg4fw4cwxcm3ilew2u: it is placed but not committed, and the row on this box has no import gate
2026/10/24 21:28:25 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/24 21:28:25 provision: converge seed source on a.shop.example.com: constraint failed: seed_source is read-only here (1811)
2026/10/24 21:28:25 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_ee2l6jxshza7dipuvs7vwekuia committed: its gate is cleared and its journal row dropped
2026/10/24 21:28:25 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/24 21:28:25 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:25 provision: acme.go.tito.io: row is on the nested layout (db "/data/instances/acme.go.tito.io/acme.go.tito.io.db" socket "/run/carlos/instances/acme.go.tito.io/app.sock"); the record's shared paths are not drift
2026/10/24 21:28:25 provision: acme.go.tito.io: not minting a seeded instance: this box does not mint nested (<nil>)
2026/10/24 21:28:25 provision: acme.go.tito.io: not minting a seeded instance: claim control is on for this box
2026/10/24 21:28:25 provision: acme.go.tito.io: aborted seed sd_4z2zr3wuwxbfdvbnjbnaku75zm: this box cannot read seed markers, and places no seed; nothing local is removed
2026/10/24 21:28:25 provision: acme.go.tito.io: aborted seed sd_4z2zr3wuwxbfdvbnjbnaku75zm rolled back (no box had swapped it)
2026/10/24 21:28:25 provision: acme.go.tito.io: not minting a seeded instance: its record does not describe a hibernating instance
2026/10/24 21:28:25 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:25 provision: removed instance route acme.go.tito.io (its seed sd_gg4jlrsphp6c3cisfcmzsfkt6y was aborted); the next pass rolls it back
2026/10/24 21:28:25 provision: acme.go.tito.io: aborted seed sd_gg4jlrsphp6c3cisfcmzsfkt6y: this box cannot read seed markers, and places no seed; nothing local is removed
2026/10/24 21:28:25 provision: acme.go.tito.io: aborted seed sd_gg4jlrsphp6c3cisfcmzsfkt6y rolled back (no box had swapped it)
2026/10/24 21:28:25 provision: acme.go.tito.io: aborted seed sd_6eb76nhnfkppno4a3tk6izev6e has a row this pass may not remove; leaving the seed aborted
2026/10/24 21:28:25 provision: acme.go.tito.io: aborted seed sd_epb3l2udgj3imocrcl3hovkw6q rolled back (no box had swapped it)
2026/10/24 21:28:25 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:25 provision: removed instance route acme.go.tito.io (its seed sd_wrge5kyuczeunofjf36t34soca was aborted); the next pass rolls it back
2026/10/24 21:28:25 provision: acme.go.tito.io: aborted seed sd_wrge5kyuczeunofjf36t34soca has no route on this box: its local data is removed
2026/10/24 21:28:25 provision: acme.go.tito.io: aborted seed sd_wrge5kyuczeunofjf36t34soca rolled back (no box had swapped it)
2026/10/24 21:28:25 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:25 provision: a.shop.example.com: swapped for import sd_omf6x66ftn33y6ckvksybd3coe (the original route is journaled)
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_omf6x66ftn33y6ckvksybd3coe rolled back to its original route
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_omf6x66ftn33y6ckvksybd3coe is cleaned up and its journal row retired
2026/10/24 21:28:25 provision: a.shop.example.com: swapped for import sd_dciyuacdbzjuqhv76kyykd57ri (the original route is journaled)
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_dciyuacdbzjuqhv76kyykd57ri rolled back to its original route
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_dciyuacdbzjuqhv76kyykd57ri is cleaned up and its journal row retired
2026/10/24 21:28:25 provision: a.shop.example.com: swapped for import sd_5ebrfxap5bfseucglvbf6ozppu (the original route is journaled)
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_5ebrfxap5bfseucglvbf6ozppu rolled back to its original route
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_5ebrfxap5bfseucglvbf6ozppu: the host's replica is left alone: its record no longer names this seed
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_5ebrfxap5bfseucglvbf6ozppu is cleaned up and its journal row retired
2026/10/24 21:28:25 provision: a.shop.example.com: swapped for import sd_5olj3hfggjhgojmywj2wqneaoi (the original route is journaled)
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_5olj3hfggjhgojmywj2wqneaoi rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_5olj3hfggjhgojmywj2wqneaoi rolled back to its original route
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_5olj3hfggjhgojmywj2wqneaoi is cleaned up and its journal row retired
2026/10/24 21:28:25 provision: a.shop.example.com: swapped for import sd_bt4zuv35vno7pemsl2ceatkgsy (the original route is journaled)
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_bt4zuv35vno7pemsl2ceatkgsy rollback deferred: the host is not fenced and stopped yet (stop unproven)
2026/10/24 21:28:25 provision: a.shop.example.com: swapped for import sd_5kmw7h2lzzcbfpdrnvdmz442j4 (the original route is journaled)
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_5kmw7h2lzzcbfpdrnvdmz442j4 is cleaned up and its journal row retired
2026/10/24 21:28:25 provision: a.shop.example.com: swapped for import sd_umplzv7mvu37webx7hpucbaq4u (the original route is journaled)
2026/10/24 21:28:25 provision: skipping record apps/bac/shop/instances/a.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_umplzv7mvu37webx7hpucbaq4u left alone this pass: its record could not be read
2026/10/24 21:28:25 provision: a.shop.example.com: swapped for import sd_m6bxdzdwfavgyhkpowky6vmjuy (the original route is journaled)
2026/10/24 21:28:25 provision: skipping record apps/bac/shop/instances/a.shop.example.com.json: read failed: connection reset
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_m6bxdzdwfavgyhkpowky6vmjuy left alone this pass: its record could not be read
2026/10/24 21:28:25 provision: a.shop.example.com: swapped for import sd_6s4i2xtkwrmwlpytweg72zlaca (the original route is journaled)
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_6s4i2xtkwrmwlpytweg72zlaca: close the import gate: constraint failed: injected (1811)
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_6s4i2xtkwrmwlpytweg72zlaca rolled back to its original route
2026/10/24 21:28:25 provision: a.shop.example.com: import sd_6s4i2xtkwrmwlpytweg72zlaca is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_vjqng6mkhxs6zefresxfya3p2e (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_vjqng6mkhxs6zefresxfya3p2e: close the import gate: constraint failed: injected (1811)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_vjqng6mkhxs6zefresxfya3p2e rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_vjqng6mkhxs6zefresxfya3p2e is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_jktqb4rfyy437jlrlnsn7fgqpu (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_jktqb4rfyy437jlrlnsn7fgqpu rollback deferred: the host is not fenced and stopped yet (injected failure at fence)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_jktqb4rfyy437jlrlnsn7fgqpu rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_jktqb4rfyy437jlrlnsn7fgqpu is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_qzxiglijxajp7bu2uxxnajdg7y (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_qzxiglijxajp7bu2uxxnajdg7y rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_qzxiglijxajp7bu2uxxnajdg7y is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_xvnxl5qtovzdvtrp6lpyqdgwee (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_xvnxl5qtovzdvtrp6lpyqdgwee: retire its instance key: injected failure at retire-key
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_xvnxl5qtovzdvtrp6lpyqdgwee rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_xvnxl5qtovzdvtrp6lpyqdgwee is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_ebphvkf267karecogfwphg2tvu (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_ebphvkf267karecogfwphg2tvu rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_ebphvkf267karecogfwphg2tvu is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_35k4ovowiyuq3mrxhk2gw4wsue (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_35k4ovowiyuq3mrxhk2gw4wsue: remove its local data: injected failure at remove-local
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_35k4ovowiyuq3mrxhk2gw4wsue rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_35k4ovowiyuq3mrxhk2gw4wsue is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_5363jdsi5alloy767psd36kujm (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_5363jdsi5alloy767psd36kujm rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_5363jdsi5alloy767psd36kujm is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_r4felbjlqsn4pkkjt4wwxaxqmq (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_r4felbjlqsn4pkkjt4wwxaxqmq: remove its local data: injected failure at remove-local-done
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_r4felbjlqsn4pkkjt4wwxaxqmq rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_r4felbjlqsn4pkkjt4wwxaxqmq is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_mnuh6cojblbenqe56c4yvr7lf4 (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_mnuh6cojblbenqe56c4yvr7lf4 rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_mnuh6cojblbenqe56c4yvr7lf4 is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_xxbja7zgyktbnyqe7hgrrwvd3e (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_xxbja7zgyktbnyqe7hgrrwvd3e: restore the original route: constraint failed: injected (1811)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_xxbja7zgyktbnyqe7hgrrwvd3e rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_xxbja7zgyktbnyqe7hgrrwvd3e is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_wrkhe3gkltud3dtlfjmqqtgym4 (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_wrkhe3gkltud3dtlfjmqqtgym4: restore the original route: constraint failed: injected (1811)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_wrkhe3gkltud3dtlfjmqqtgym4 rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_wrkhe3gkltud3dtlfjmqqtgym4 is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_5yvjmvxdxkdlwr2pbyzbtolwsu (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_5yvjmvxdxkdlwr2pbyzbtolwsu is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_5mtoqmfmhgdzr7vor2bxq5ycya (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_5mtoqmfmhgdzr7vor2bxq5ycya rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_5mtoqmfmhgdzr7vor2bxq5ycya: delete its snapshot: injected failure at delete-snapshot
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_5mtoqmfmhgdzr7vor2bxq5ycya is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_ijqvfb3etg7em552wqpqxnj7hi (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_ijqvfb3etg7em552wqpqxnj7hi rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_ijqvfb3etg7em552wqpqxnj7hi is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_tkrwnft7boy4ao4u24n6hvhjja (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_tkrwnft7boy4ao4u24n6hvhjja rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_tkrwnft7boy4ao4u24n6hvhjja: delete the host's replica: injected failure at delete-replica
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_tkrwnft7boy4ao4u24n6hvhjja is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_6mcmuuie6g6b6jolezmsfowu24 (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_6mcmuuie6g6b6jolezmsfowu24 rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_6mcmuuie6g6b6jolezmsfowu24 is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_o2ttjbgtp5uft5m3r6xfkm54zm (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_o2ttjbgtp5uft5m3r6xfkm54zm rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_o2ttjbgtp5uft5m3r6xfkm54zm: retire its journal row: constraint failed: injected (1811)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_o2ttjbgtp5uft5m3r6xfkm54zm is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_i6xxrc6hmfxqragmbfbjl4dcfq (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_i6xxrc6hmfxqragmbfbjl4dcfq rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_i6xxrc6hmfxqragmbfbjl4dcfq: retire its journal row: constraint failed: injected (1811)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_i6xxrc6hmfxqragmbfbjl4dcfq is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_743ytfp42zmextpviyqxfes354 (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_743ytfp42zmextpviyqxfes354 rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_743ytfp42zmextpviyqxfes354 is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: mark import sd_743ytfp42zmextpviyqxfes354 rolled back: injected failure at cas
2026/10/24 21:28:26 provision: a.shop.example.com: aborted seed sd_743ytfp42zmextpviyqxfes354 rolled back (no box had swapped it)
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_3koegvyss4tbiqsgiiq7t72veq (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_3koegvyss4tbiqsgiiq7t72veq rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_3koegvyss4tbiqsgiiq7t72veq is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: aborted seed sd_3koegvyss4tbiqsgiiq7t72veq rolled back (no box had swapped it)
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_thuvkb774z626yuk7bhql2j3ze (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_thuvkb774z626yuk7bhql2j3ze rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_thuvkb774z626yuk7bhql2j3ze rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_thuvkb774z626yuk7bhql2j3ze rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_thuvkb774z626yuk7bhql2j3ze is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_5z32srp67usxzm6wd5nqlr2k3i (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_5z32srp67usxzm6wd5nqlr2k3i rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_5z32srp67usxzm6wd5nqlr2k3i is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_scx4zcapessovjfgfpqny77oii (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_scx4zcapessovjfgfpqny77oii rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_scx4zcapessovjfgfpqny77oii is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_yivd3a6dlw2r5qtfld2z46xonq (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_yivd3a6dlw2r5qtfld2z46xonq rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_yivd3a6dlw2r5qtfld2z46xonq is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_enfom5tii3hmnca6totz5wbt3q (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_enfom5tii3hmnca6totz5wbt3q rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_enfom5tii3hmnca6totz5wbt3q is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_5et24ofyzsoddhgqlexcdasqpy (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_5et24ofyzsoddhgqlexcdasqpy rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_5et24ofyzsoddhgqlexcdasqpy is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_3wod5hfpabifmqgvhm5wi4orsi (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_3wod5hfpabifmqgvhm5wi4orsi rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_3wod5hfpabifmqgvhm5wi4orsi is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_zehyqyac2z7hzkcn6l2sopjd7e (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_zehyqyac2z7hzkcn6l2sopjd7e rolled back to its original route
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_zehyqyac2z7hzkcn6l2sopjd7e is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_cvcyomqhn5tot7gy4vbvi6pntq (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_cvcyomqhn5tot7gy4vbvi6pntq has no route on this box: its local data is removed and no route is put back
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_cvcyomqhn5tot7gy4vbvi6pntq is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_4dcondaixospmdpkcuw6ohy5nm (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_qw6pcztzf3zikqvitxlbyudpim (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_5up55am6k6ymokjl465qr2w64u (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_5up55am6k6ymokjl465qr2w64u cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_znqeepk52qsv3dnjzvbb6xiwmi (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_znqeepk52qsv3dnjzvbb6xiwmi is not rolled back: the route changed under the fence, so nothing there is touched
2026/10/24 21:28:26 provision: a.shop.example.com: import "../not-a-seed" names no snapshot and no replica; only its journal row is cleaned up
2026/10/24 21:28:26 provision: a.shop.example.com: import ../not-a-seed is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_stc23le6iixp5ar7kbsjslybbu (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_b36kcrbxboesdgcfrfucx6aikq (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_f3ilvnmrrjbs4xruedape73za4 (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_6xlgke7eqtmjuvgots6baus3za (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_u4qyqera6gpw2rvkdzgaknvkfq (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_u4qyqera6gpw2rvkdzgaknvkfq rollback deferred: the host is not fenced and stopped yet (stop evidence unreadable)
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_ku35q3xycqk5c4xbwn2qn7jype (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_ku35q3xycqk5c4xbwn2qn7jype has no route on this box: its local data is removed and no route is put back
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_ku35q3xycqk5c4xbwn2qn7jype is cleaned up and its journal row retired
2026/10/24 21:28:26 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_abay75iyyztfxrufbztaetahgy (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_abay75iyyztfxrufbztaetahgy: remove its local data: injected failure at remove-local
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_abay75iyyztfxrufbztaetahgy is not rolled back: the route at the host is not the import's, so nothing there is touched
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_zq7symaankxd6fgeldwbbmesbu (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_zq7symaankxd6fgeldwbbmesbu: a route appeared at the host, so its local database is left and the rollback waits
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_47h7cate657edz22w2tctfhmwq (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_47h7cate657edz22w2tctfhmwq rollback deferred: no fence generation: registry busy
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_x5kr4aj7na4n2fnh4p3ocbux3q (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import sd_x5kr4aj7na4n2fnh4p3ocbux3q rollback deferred: no fence generation: the generation source answered 0
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_qqretzeptken5mbgb7naxhxaoe (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_6uowp66nmveaigqtw5khebydvi (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: swapped for import sd_2za4vwy5ni7wd5ft2sksy3smqe (the original route is journaled)
2026/10/24 21:28:26 provision: a.shop.example.com: import deferred: this box cannot read the instance's env file
2026/10/24 21:28:26 provision: a.shop.example.com: import deferred: the instance's env file could not be read: a symlink
2026/10/24 21:28:27 provision: a.shop.example.com: swapped for import sd_xxyym4iiy66lcltnjgvyexp6yq (the original route is journaled)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_xxyym4iiy66lcltnjgvyexp6yq rolled back to its original route
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_xxyym4iiy66lcltnjgvyexp6yq is cleaned up and its journal row retired
2026/10/24 21:28:27 provision: a.shop.example.com: swapped for import sd_vg7g6wahd5cfopcngzyavddr2e (the original route is journaled)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_vg7g6wahd5cfopcngzyavddr2e rolled back to its original route
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_vg7g6wahd5cfopcngzyavddr2e is cleaned up and its journal row retired
2026/10/24 21:28:27 provision: a.shop.example.com: swapped for import sd_3blhvw64wagyoe2dwctx5tl2ae (the original route is journaled)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_3blhvw64wagyoe2dwctx5tl2ae rolled back to its original route
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_3blhvw64wagyoe2dwctx5tl2ae is cleaned up and its journal row retired
2026/10/24 21:28:27 provision: a.shop.example.com: swapped for import sd_ycuuwjvgsmspttxsp2dttksylu (the original route is journaled)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_ycuuwjvgsmspttxsp2dttksylu: retire its instance key: the env file is a symlink
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_ycuuwjvgsmspttxsp2dttksylu rolled back to its original route
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_ycuuwjvgsmspttxsp2dttksylu is cleaned up and its journal row retired
2026/10/24 21:28:27 provision: a.shop.example.com: swapped for import sd_2lmydwehx5paeedxyfoffk72wy (the original route is journaled)
2026/10/24 21:28:27 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/24 21:28:27 provision: a.shop.example.com: swapped for import sd_sd6gegpmb7uw4vo7uig6h7vjge (the original route is journaled)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_7mjnpuyu6nibtg2v2givift5ui refused: there is no route at a.shop.example.com to replace
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_ridigxzk3zc4gb2mjlgf37jd2a refused: the route's address is 127.0.0.1:9, not 127.0.0.1:8401
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_ri5xy3mlfy3js6o7w4jmbvp4uq refused: the route's address is 127.0.0.1:8401,127.0.0.1:8402, not 127.0.0.1:8401
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_4zlj25blyuh2lwijzmfdt3riua refused: the route's address is 127.0.0.1:9, not 127.0.0.1:8401
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_s2llbgfhd2as3igindkncb7vu4 refused: the route belongs to app other
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_z75muxp5p36hk6vowmuuoj6ury refused: the route is filed under another account
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_5iuseovn3dfrv3wjyzn5zgmvmi refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_gd3ooejzdzg33kfwjvb3p4xrru refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_n3jcvjjyuwdptzxjvz2m6dpa2m refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_ldrgkdzdajd4pn3r4ew4dm3wiu refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_ipq6z2i6tzlgx7mmiiwldlowp4 refused: the route is not an address route this import can take over (socket)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_zg3hajsy3xc6y7o6fu76tjlr2a refused: the route is not an address route this import can take over (no address)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_vxgispgrblens457uw6knjhxkq refused: the route is not an address route this import can take over (provisioned)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_t6darfao36eha7iefsks4zfcnm refused: the route is not an address route this import can take over (kind static)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_rvanwokpwdzskhqa3ldv2ejjoi refused: the route is not an address route this import can take over (backing)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_3kjwcwiegq7pkx2vybradtc4gq refused: the route is not an address route this import can take over (tunnel)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_lxfspvftstwyk4zibbphkvqf3m refused: the route is not an address route this import can take over (caps)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_poxwsxrvltuvq5qii5aiipoaie refused: the route is not an address route this import can take over (platform)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_426jddhe4thve5jzfecqio37jm refused: the route is not an address route this import can take over (canary)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_fndsjnhs2cispbc3ki7irlnnku refused: the route is not an address route this import can take over (kind sidecar)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_n744qo5e3unp4uyropghxwbzfq refused: the route is not an address route this import can take over (region)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_lgja6bpsaj67paktznfbxov6my refused: the route is not an address route this import can take over (fleet_box)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_k4wgj26nmrc77gkzskd6h4avf4 refused: the route is not an address route this import can take over (hibernate)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_ids24ajxkkhf7fd4fm2kuhwjfi refused: the route is not an address route this import can take over (claim_owner)
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_bhu2kmq6civqd66pg3degxcnfu refused: this box does not run instances nested
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_gjqvj7uqzuoonwmez5auzxs6oq refused: this box does not run instances nested
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_pqg5uvpvu6dz6pwu2xsrehnjxa refused: claim control is on for this box
2026/10/24 21:28:27 provision: a.shop.example.com: swapped for import sd_kzhqf6564zdsxqmfm3cv72wvhu (the original route is journaled)
2026/10/24 21:28:27 provision: a.shop.example.com: swapped for import sd_mruwl3fi76i4tmqqct6on64bom (the original route is journaled)
2026/10/24 21:28:27 provision: a.shop.example.com: import deferred: this box cannot read the legacy route assignments
2026/10/24 21:28:27 provision: a.shop.example.com: import deferred: the legacy route assignments could not be read: store down
2026/10/24 21:28:27 provision: a.shop.example.com: not swapping for import sd_r2oexqyhzeca5jchjpbgxfdzri: its verify hash is not a sha256
2026/10/24 21:28:27 provision: a.shop.example.com: not swapping for import sd_yjisztujabjmwwgmlmwcldscne: its verify hash is not a sha256
2026/10/24 21:28:27 provision: a.shop.example.com: not swapping for import sd_pljtnw5xahkeqphr5hum4kjjb4: its verify hash is not a sha256
2026/10/24 21:28:27 provision: a.shop.example.com: not swapping for import sd_../../x: its host or seed id is malformed (seeds: not a seed id)
2026/10/24 21:28:27 provision: A.shop.example.com/..: not swapping for import sd_r5jmbqy6sihk3eiyr7lqdhixxa: its host or seed id is malformed (seeds: not a host)
2026/10/24 21:28:27 provision: a.shop.example.com: not swapping for import sd_amff4vcvt3zi4has6vrnzsphua: its record does not describe a nested, hibernating instance
2026/10/24 21:28:27 provision: a.shop.example.com: not swapping for import sd_37q4kltocsxapzrgm7thpe2kfi: its record does not describe a nested, hibernating instance
2026/10/24 21:28:27 provision: a.shop.example.com: not swapping for import sd_yvmiyctesdamgmw4qlmw274z5m: its record does not describe a nested, hibernating instance
2026/10/24 21:28:27 provision: a.shop.example.com: not swapping for import sd_vemnlr3jwlcpcmy6mc4j3ezkfq: its record does not describe a nested, hibernating instance
2026/10/24 21:28:27 provision: a.shop.example.com: import deferred: the box's layout intent could not be read: store down
2026/10/24 21:28:27 provision: a.shop.example.com: swapped for import sd_apuqkwbzpq44x4gb4vm2gntrli (the original route is journaled)
2026/10/24 21:28:27 provision: a.shop.example.com: import deferred: the box's nested probe did not answer: ready probe timed out
2026/10/24 21:28:27 provision: a.shop.example.com: swapped for import sd_f6b6fkdczersn47ork5zj7cbda (the original route is journaled)
2026/10/24 21:28:27 provision: a.shop.example.com: swapped for import sd_ykhchv76uie6xkkpmxrps66tgm (the original route is journaled)
2026/10/24 21:28:27 provision: a.shop.example.com: import deferred: the route is held by operation op_1
2026/10/24 21:28:27 provision: dry-run: would consider swapping a.shop.example.com for import sd_wggeqhjkof6ehrg6k4owxlrfhq
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_46j2xaepowuvlnvd3dunqgusxe rolled back to its original route
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_46j2xaepowuvlnvd3dunqgusxe: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_46j2xaepowuvlnvd3dunqgusxe is cleaned up and its journal row retired
2026/10/24 21:28:27 provision: a.shop.example.com: import sd_67kdiud6rv4h7pystcu5ikvfsu left alone: the import journal holds seed sd_vahkf373lszqhrpotivsco7aey at swapped
2026/10/24 21:28:27 provision: a.shop.example.com: not minting import sd_67gxdh4gad6kyh4pl43f6dzp7a: it is swapped but not committed, and only its swap makes its row
2026/10/24 21:28:27 provision: a.shop.example.com: not minting import sd_mm7lwp3apo3sg74n4tzc4httbi: it is placed but not committed, and only its swap makes its row
2026/10/24 21:28:27 provision: a.shop.example.com: swapped for import sd_klqdb7jmjer77brjxawgbjlelq (the original route is journaled)
2026/10/24 21:28:27 provision: a.shop.example.com: not minting import sd_klqdb7jmjer77brjxawgbjlelq: it is swapped but not committed, and only its swap makes its row
2026/10/24 21:28:27 provision: a.shop.example.com: not minting import sd_klqdb7jmjer77brjxawgbjlelq: it is placed but not committed, and only its swap makes its row
2026/10/24 21:28:27 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/24 21:28:27 provision: removed retired sidecar route gone.eleven.bac.sidecar.internal (record gone)
2026/10/24 21:28:27 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:28:27 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:28:27 provision: converged sidecar bot.eleven.bac.sidecar.internal args ["sidecar","run"] -> ["worker","run"]
2026/10/24 21:28:28 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:28:28 provision: converged sidecar bot.eleven.bac.sidecar.internal ceilings 300/3600 -> 60/120
2026/10/24 21:28:28 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:28:28 provision: converged sidecar bot.eleven.bac.sidecar.internal channel stable -> canary/eleven
2026/10/24 21:28:28 provision: converged sidecar bot.eleven.bac.sidecar.internal environment "other" -> "relay"
2026/10/24 21:28:28 provision: converged sidecar bot.eleven.bac.sidecar.internal hibernate true -> false
2026/10/24 21:28:28 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: read failed: failStore: reads disabled under apps/bac/eleven/sidecars/
2026/10/24 21:28:28 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: malformed: invalid character 'n' looking for beginning of object key string
2026/10/24 21:28:28 provision: not removing sidecar bot.eleven.bac.sidecar.internal: its record exists but could not be read cleanly this pass
2026/10/24 21:28:28 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: empty channel
2026/10/24 21:28:28 provision: skipping sidecar record apps/bac/eleven/sidecars/held.json: empty channel
2026/10/24 21:28:28 provision: not removing sidecar held.eleven.bac.sidecar.internal: its record exists but could not be read cleanly this pass
2026/10/24 21:28:28 provision: removed retired sidecar route old.eleven.bac.sidecar.internal (record gone)
2026/10/24 21:28:28 provision: bac/eleven has sidecar records but no sidecars manifest — not minting
2026/10/24 21:28:28 provision: bac/eleven is in the trash — not minting sidecar routes for it
2026/10/24 21:28:28 provision: sidecar bot.eleven.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 21:28:28 provision: sidecar hub.relay.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 21:28:28 provision: minted sidecar route hub.relay.bac.sidecar.internal (app "relay" acct "bac" args ["relay"])
2026/10/24 21:28:28 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:28:28 provision: sidecar bot.eleven.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 21:28:28 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:28:28 provision: sidecar bot.eleven.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 21:28:28 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:28:28 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:28:28 provision: sidecar bot.eleven.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 21:28:28 provision: removed retired sidecar route bot.eleven.bac.sidecar.internal (record gone)
2026/10/24 21:28:28 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:28:28 provision: sidecar bot.eleven.bac.sidecar.internal is not placeable here: it asks for "no-inbound" placement and this box accepts inbound work (CARLOS_INBOUND="")
2026/10/24 21:28:28 provision: skipping sidecar record apps/bac/relay/sidecars/hub.json: read failed: failStore: reads disabled under apps/bac/relay/sidecars/
2026/10/24 21:28:28 provision: REFUSING to mint sidecar bot.eleven.bac.sidecar.internal: bot.eleven.bac.sidecar.internal-sidecar.env is staged on this box — the legacy file co-spawn and a native sidecar row are two mechanisms for one host; remove the file to migrate this host onto sidecar records
2026/10/24 21:28:28 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/24 21:28:28 provision: dry-run: would mint sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" channel "stable" args ["sidecar","run"])
2026/10/24 21:28:28 provision: dry-run: would remove retired sidecar route gone.eleven.bac.sidecar.internal (record gone)
2026/10/24 21:28:28 provision: bot.eleven.bac.sidecar.internal exists but is not a sidecar row this pass owns (kind "sidecar" provisioned false app "eleven" acct "bac") — leaving it alone
2026/10/24 21:28:28 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:28 provision: converged acme.go.tito.io update settings "{\"updates\":\"manual\",\"channel\":\"stable\"}" -> ""
2026/10/24 21:28:28 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:28 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:28 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/24 21:28:28 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/24 21:28:28 provision: acme.go.tito.io: not minted this pass: the app's update policy could not be read
2026/10/24 21:28:28 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/24 21:28:28 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/24 21:28:28 provision: acme.go.tito.io: not minted this pass: the app's update policy could not be read
2026/10/24 21:28:28 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/24 21:28:28 provision: record view: change index unusable (release: change index unreadable: store has no conditional read: unsupported operation): the walk records no generations
2026/10/24 21:28:28 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 21:28:28 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: record view: re-reading apps/bqc/shop failed: retrying on the next refresh
2026/10/24 21:28:28 provision: listing apps/bqc/shop/instances/: list refused — its records are unseen this pass
2026/10/24 21:28:28 provision: listing apps/bqc/shop/instances/: list refused — its records are unseen this pass
2026/10/24 21:28:28 provision: an app's records could not be listed: they are skipped
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: record view: re-reading apps/bqc/shop failed: retrying on the next refresh
2026/10/24 21:28:28 provision: listing apps/bqc/shop/instances/: context canceled — its records are unseen this pass
2026/10/24 21:28:28 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 21:28:28 provision: record view: change index unusable (get refused): walking
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: record view: change index unusable (release: change index malformed: invalid character 'n' looking for beginning of object key string): walking
2026/10/24 21:28:28 provision: listing apps/bqd/: listdirs refused — its records are unseen this pass
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping accounts/bqd/account.json: malformed account manifest: invalid character 'n' looking for beginning of object key string
2026/10/24 21:28:28 provision: skipping accounts/bqd/account.json: malformed account manifest: invalid character 'n' looking for beginning of object key string
2026/10/24 21:28:28 provision: skipping accounts/bqd/account.json: malformed account manifest: invalid character 'n' looking for beginning of object key string
2026/10/24 21:28:28 provision: record view: re-reading accounts/bqd failed: retrying on the next refresh
2026/10/24 21:28:28 provision: skipping accounts/bqd/account.json: read failed: list refused
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: minted instance route one.example.com (app "shop" acct "bum")
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: skipping record apps/bum/shop/instances/one.example.com.json: empty channel
2026/10/24 21:28:28 provision: not removing one.example.com: its record exists but could not be read cleanly this pass
2026/10/24 21:28:28 provision: skipping record apps/bum/shop/instances/one.example.com.json: empty channel
2026/10/24 21:28:28 provision: minted instance route one.example.com (app "shop" acct "bum")
2026/10/24 21:28:28 provision: not removing one.example.com: its record exists but could not be read cleanly this pass
2026/10/24 21:28:28 provision: minted instance route one.example.com (app "shop" acct "bum")
2026/10/24 21:28:28 provision: removed retired instance route one.example.com (record gone)
2026/10/24 21:28:28 provision: removed retired instance route one.example.com (record gone)
2026/10/24 21:28:28 provision: record view: change index unusable (context deadline exceeded): walking
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/24 21:28:28 provision: record view: change index unusable (context deadline exceeded): the walk records no generations
2026/10/24 21:28:28 provision: skipping record apps/bqe/store/instances/bad.store.example.com.json: malformed: provision: invalid maintenance projection or protected fields
--- FAIL: TestPlan14RootReadCensus (14.65s)
plan14_root_reads_test.go:1462: root read census: 23 discrepancies
changed registry schema
changed root read internal/provision/reconcile.go:Reconcile; review class, task, sites and digest
changed root read internal/provision/reconcile.go:RouteFor; review class, task, sites and digest
changed root read internal/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/provision
changed root source envelope internal/registry
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/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 23.664s
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.893s
ok github.com/carlosframework/platform/internal/relay 7.234s
ok github.com/carlosframework/platform/internal/release 26.006s
ok github.com/carlosframework/platform/internal/rollout 3.753s
ok github.com/carlosframework/platform/internal/rolloutwords 0.007s
ok github.com/carlosframework/platform/internal/rootaws 0.007s
ok github.com/carlosframework/platform/internal/rootparticipation 0.062s
ok github.com/carlosframework/platform/internal/rootstate 0.028s
ok github.com/carlosframework/platform/internal/runs 0.537s
ok github.com/carlosframework/platform/internal/s3compat 0.005s
ok github.com/carlosframework/platform/internal/safefile 0.004s
ok github.com/carlosframework/platform/internal/schedule 2.773s
ok github.com/carlosframework/platform/internal/seeds 0.012s
ok github.com/carlosframework/platform/internal/sim/engines 2.505s
ok github.com/carlosframework/platform/internal/sim/hostlife 9.703s
ok github.com/carlosframework/platform/internal/sim/litestreamfacts 3.925s
ok github.com/carlosframework/platform/internal/status 0.072s
ok github.com/carlosframework/platform/internal/steering 0.016s
ok github.com/carlosframework/platform/internal/stopevidence 0.304s
ok github.com/carlosframework/platform/internal/svcrole 0.005s
ok github.com/carlosframework/platform/internal/telemetry 0.005s
ok github.com/carlosframework/platform/internal/termfence 0.004s
ok github.com/carlosframework/platform/internal/tunnelclient 0.004s
ok github.com/carlosframework/platform/internal/unixdial 0.005s
ok github.com/carlosframework/platform/internal/updatewords 0.004s
ok github.com/carlosframework/platform/internal/usage 0.006s
ok github.com/carlosframework/platform/internal/version 0.004s
ok github.com/carlosframework/platform/internal/vet 1.675s
FAIL
=== internal_console@0 (87 s)
ok github.com/carlosframework/platform/internal/console 85.199s
=== internal_console@1 (43 s)
ok github.com/carlosframework/platform/internal/console 41.955s
=== internal_console@2 (41 s)
ok github.com/carlosframework/platform/internal/console 40.050s
=== internal_console@3 (42 s)
ok github.com/carlosframework/platform/internal/console 40.188s
=== internal_console@4 (43 s)
ok github.com/carlosframework/platform/internal/console 41.663s
=== internal_console@5 (41 s)
ok github.com/carlosframework/platform/internal/console 39.873s
=== internal_console@6 (38 s)
ok github.com/carlosframework/platform/internal/console 36.284s
=== internal_console@7 (46 s)
ok github.com/carlosframework/platform/internal/console 44.260s
=== root@0 (101 s)
ok github.com/carlosframework/platform 99.613s
=== root@1 (92 s)
ok github.com/carlosframework/platform 90.419s
=== root@2 (91 s)
ok github.com/carlosframework/platform 89.667s
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/provision/reconcile.go b/internal/provision/reconcile.go| index 2466df045..b84c718ff 100644 |
| --- a/internal/provision/reconcile.go |
| +++ b/internal/provision/reconcile.go |
| @@ -1641,8 +1641,10 @@ func Reconcile(ctx context.Context, s release.Store, reg *registry.Registry, cfg |
| // this column does not carry. |
| // |
| // retire runs that phase over one set of facts: the records, the |
| - // protected hosts and the trash lookup. It returns the rows it would |
| - // remove; with remove false it removes nothing. A record view |
| + // protected hosts and the trash lookup, and returns the hosts it |
| + // removed. With remove false it removes nothing and reports whether any |
| + // row would go, stopping at the first, so the probe reads exactly what |
| + // it always has. A record view |
| // snapshot's absence is not the bucket's (a write that missed its bump |
| // is missing from a Complete snapshot until the backstop rebuild), so a |
| // pass over a snapshot that would remove anything decides every removal |
| @@ -1652,7 +1654,9 @@ func Reconcile(ctx context.Context, s release.Store, reg *registry.Registry, cfg |
| // leaves its app out (astra P3-3, P4-R3-3): a deleted hostname whose row |
| // survives must not ride a sibling's healthy convergence into a fresh |
| // records confirmed time. retire marks the rows it keeps itself; the |
| - // caller marks those a withheld removal keeps. |
| + // caller marks those a withheld removal keeps, from recordGone, which |
| + // asks no trash marker and so reads nothing: a row a trash marker would |
| + // retire belongs to an app whose records the loop above already skipped. |
| retiredWhy := func(recs map[string]Record, trashFor func(acct, app string) trashState, rt registry.Route) (string, bool) { |
| // Removal authority is scoped to this pass's OWN kind. A sidecar |
| // row is Provisioned too — that flag is what grants a pass removal |
| @@ -1686,7 +1690,7 @@ func Reconcile(ctx context.Context, s release.Store, reg *registry.Registry, cfg |
| } |
| return "record gone", true |
| } |
| - retire := func(recs map[string]Record, protect map[string]bool, trashFor func(acct, app string) trashState, remove bool) (doomed []registry.Route, removed map[string]bool) { |
| + retire := func(recs map[string]Record, protect map[string]bool, trashFor func(acct, app string) trashState, remove bool) (wouldRemove bool, removed map[string]bool) { |
| removed = map[string]bool{} |
| for _, rt := range routes { |
| why, ok := retiredWhy(recs, trashFor, rt) |
| @@ -1711,9 +1715,8 @@ func Reconcile(ctx context.Context, s release.Store, reg *registry.Registry, cfg |
| pr.fail(rt.Account, rt.App) |
| continue |
| } |
| - doomed = append(doomed, rt) |
| if !remove { |
| - continue |
| + return true, removed |
| } |
| if cfg.DryRun { |
| log.Printf("provision: dry-run: would remove retired %s route %s (%s)", rt.Kind, rt.Host, why) |
| @@ -1727,34 +1730,27 @@ func Reconcile(ctx context.Context, s release.Store, reg *registry.Registry, cfg |
| removed[rt.Host] = true |
| log.Printf("provision: removed retired %s route %s (%s)", rt.Kind, rt.Host, why) |
| } |
| - return doomed, removed |
| + return false, removed |
| } |
| - // keep marks the apps of retired rows a withheld removal leaves standing. |
| - keep := func(rows []registry.Route, removed map[string]bool) { |
| - for _, rt := range rows { |
| - if !removed[rt.Host] { |
| + // keep marks the apps of every row whose record recs lacks and that |
| + // removed does not name: rows a withheld removal leaves standing. |
| + noTrash := func(string, string) trashState { return trashState{} } |
| + keep := func(recs map[string]Record, removed map[string]bool) { |
| + for _, rt := range routes { |
| + if _, ok := retiredWhy(recs, noTrash, rt); ok && !removed[rt.Host] { |
| pr.fail(rt.Account, rt.App) |
| } |
| } |
| } |
| if readFailed { |
| - // No removal this pass. Every row whose record is not in hand |
| - // stays, so its app is not complete; a trashed app's records were |
| - // all skipped above, so the trash lookup is not asked again here. |
| - noTrash := func(string, string) trashState { return trashState{} } |
| - for _, rt := range routes { |
| - if _, ok := retiredWhy(recs, noTrash, rt); ok { |
| - pr.fail(rt.Account, rt.App) |
| - } |
| - } |
| + keep(recs, nil) // no removal this pass |
| return pr.fill(cfg.Report, recs) |
| } |
| if !onSnapshot(s) { |
| retire(recs, protect, trashFor, true) |
| return pr.fill(cfg.Report, recs) |
| } |
| - doomed, _ := retire(recs, protect, trashFor, false) |
| - if len(doomed) == 0 { |
| + if would, _ := retire(recs, protect, trashFor, false); !would { |
| return pr.fill(cfg.Report, recs) |
| } |
| // A snapshot pass with a removal to make: the record walk again, over |
| @@ -1766,7 +1762,7 @@ func Reconcile(ctx context.Context, s release.Store, reg *registry.Registry, cfg |
| lsc, err := scan(live) |
| if err != nil || lsc.readFailed { |
| log.Printf("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%s", walkErrSuffix(err)) |
| - keep(doomed, nil) |
| + keep(recs, nil) |
| return pr.fill(cfg.Report, recs) |
| } |
| for id := range lsc.unread { |
| @@ -1775,7 +1771,7 @@ func Reconcile(ctx context.Context, s release.Store, reg *registry.Registry, cfg |
| // A row the snapshot would retire and the bucket keeps is a record the |
| // snapshot did not have: its app was not read completely either. |
| _, removed := retire(lsc.recs, lsc.protect, trashOver(live, nil), true) |
| - keep(doomed, removed) |
| + keep(recs, removed) |
| return pr.fill(cfg.Report, recs) |
| } |
diff --git a/internal/provision/reconcile_report_test.go b/internal/provision/reconcile_report_test.go| index 6686c3e3a..cf31d127d 100644 |
| --- a/internal/provision/reconcile_report_test.go |
| +++ b/internal/provision/reconcile_report_test.go |
| @@ -311,6 +311,129 @@ WHEN NEW.host = '`+host+`' BEGIN SELECT RAISE(FAIL, 'injected'); END`) |
| } |
| } |
| +// The report adds no reads to a snapshot pass (fix round 1). The probe |
| +// stops at the first row it would remove, as it always has, so a later |
| +// row whose app is trashed, and whose record the journal kept out of the |
| +// record loop's trash lookup, is not asked about its production flag by |
| +// the probe: only the bucket's own removal pass asks, once. |
| +func TestReportSnapshotProbeMakesNoNewReads(t *testing.T) { |
| + _, pub := releaseKeys(t) |
| + s := &viewCountingStore{DirStore: dirStore(t)} |
| + sqid := writeAccountManifest(t, s, acctID, "Shop") |
| + for _, app := range []string{"shop", "notes"} { |
| + if err := PutManifest(ctx, s, sqid, app, Manifest{Schema: 1, App: app, Domain: app + ".example.com"}); err != nil { |
| + t.Fatal(err) |
| + } |
| + } |
| + // a.notes sorts before a.shop: the probe meets the removal first. |
| + gone := reportRecord(sqid, "notes", "a") |
| + imp := newImport(sqid) // a.shop.example.com |
| + for _, rec := range []Record{gone, imp} { |
| + if err := CreateRecord(ctx, s, rec); err != nil { |
| + t.Fatal(err) |
| + } |
| + } |
| + reg := regWith(t, RouteFor(gone, "/data", "", false, nil), addrRow(imp, sqid)) |
| + original := mustGet(t, reg, imp.Host) |
| + if err := reg.SwapForImport(registry.ImportJournal{Host: imp.Host, SeedID: imp.Seed.ID, Original: *original, |
| + RecordKey: RecordKey(imp.Account, imp.App, imp.Host), At: 1}, importRow(imp, "/data", nil)); err != nil { |
| + t.Fatal(err) |
| + } |
| + if !mustGet(t, reg, imp.Host).Provisioned { |
| + t.Fatal("fixture: the import's row is not provisioned, so no pass would ask about its trash") |
| + } |
| + if err := DeleteRecord(ctx, s, sqid, "notes", gone.Host); err != nil { |
| + t.Fatal(err) |
| + } |
| + if err := release.TrashApp(ctx, s, sqid, "shop", "owner@example.com", time.Now()); err != nil { |
| + t.Fatal(err) |
| + } |
| + v := NewRecordView(s, release.NewChangeWatch(s)) |
| + sn := completeSnapshot(t, v) |
| + s.reset() |
| + rep := ReconcileReport{} |
| + // No Seeds: the journal leaves the import's host alone, so the record |
| + // loop never looks up shop's trash. |
| + cfg := ReconcileConfig{Region: "ie", DataDir: "/data", ReleasePub: pub, Report: &rep} |
| + if err := Reconcile(ctx, sn.Store(s), reg, cfg); err != nil { |
| + t.Fatal(err) |
| + } |
| + if rt, err := reg.Get(gone.Host); err != nil || rt != nil { |
| + t.Fatalf("fixture: the removal did not happen: %+v %v", rt, err) |
| + } |
| + mustGet(t, reg, imp.Host) // journaled: kept |
| + flag := "Get " + release.ProductionKey(sqid, "shop") |
| + n := 0 |
| + for _, c := range s.got() { |
| + if c == flag { |
| + n++ |
| + } |
| + } |
| + if n != 1 { |
| + t.Fatalf("shop's production flag was read %d times, want once (the bucket's removal pass); calls %v", n, s.got()) |
| + } |
| + if rep.Complete[sqid+"/shop"] { |
| + t.Fatalf("shop, trashed and journaled, is complete: %v", rep.Complete) |
| + } |
| +} |
| + |
| +// An adopted row is not counted on the adopting pass (adoption converges |
| +// neither gate nor seed) and is on the next, through the owned branch. |
| +func TestReportAdoptionCompletesOnTheNextPass(t *testing.T) { |
| + s := &viewCountingStore{DirStore: dirStore(t)} |
| + sqid := writeAccountManifest(t, s, acctID, "Shop") |
| + if err := PutManifest(ctx, s, sqid, "shop", Manifest{Schema: 1, App: "shop", Domain: "shop.example.com"}); err != nil { |
| + t.Fatal(err) |
| + } |
| + rec := reportRecord(sqid, "shop", "a") |
| + if err := CreateRecord(ctx, s, rec); err != nil { |
| + t.Fatal(err) |
| + } |
| + hand := RouteFor(rec, "/data", "", false, nil) |
| + hand.Provisioned = false // added by hand: this pass did not mint it |
| + x := reportScene{s: s, reg: regWith(t, hand), sqid: sqid, cfg: ReconcileConfig{Region: "ie", DataDir: "/data"}} |
| + rep := x.mustPass(t) |
| + if !mustGet(t, x.reg, rec.Host).Provisioned { |
| + t.Fatal("fixture: the row was not adopted") |
| + } |
| + if rep.Complete[x.shop()] { |
| + t.Fatalf("shop is complete on the adopting pass: %v", rep.Complete) |
| + } |
| + if rep = x.mustPass(t); !rep.Complete[x.shop()] { |
| + t.Fatalf("shop is not complete on the pass after adoption: %v", rep.Complete) |
| + } |
| +} |
| + |
| +// A record held by a running move is not counted; once the move lets go, |
| +// the next pass counts it again. |
| +func TestReportMoveHoldReleasedRestoresCompleteness(t *testing.T) { |
| + x := newReportScene(t, false) |
| + host := "a.shop.example.com" |
| + holding := true |
| + x.cfg.Hold = func(r Record) (string, string, bool) { |
| + if holding && r.Host == host { |
| + return "landing", "op-1", true |
| + } |
| + return "", "", false |
| + } |
| + rep := x.mustPass(t) |
| + if rep.Complete[x.shop()] { |
| + t.Fatalf("shop is complete with a record held by a move: %v", rep.Complete) |
| + } |
| + if !rep.Complete[x.notes()] { |
| + t.Fatalf("notes is not complete: %v", rep.Complete) |
| + } |
| + // The move finishes: the record stops asking for the hold and the |
| + // move's own release takes it off the row. |
| + holding = false |
| + if released, err := x.reg.ReleaseHold(host, "op-1"); err != nil || !released { |
| + t.Fatalf("fixture: the hold was not on the row to release: %v %v", released, err) |
| + } |
| + if rep = x.mustPass(t); !rep.Complete[x.shop()] { |
| + t.Fatalf("shop is not complete after the move let go: %v", rep.Complete) |
| + } |
| +} |
| + |
| // An account manifest that will not read leaves every app of that account |
| // out. The ops account is the one whose records still read (it is known |
| // whatever its manifest says), so it is the case to pin; another account's |