carlos / platform Public

harness: Run 9 once-timer carried, summary, evidence/run9 logs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev 1d6c97bc31f82bd41c45264417851ac502658db2 parent d4eb286
21 files changed, +1522 −1
  • harness/RUNLOG.md +26 −1
  • harness/evidence/run9/a-release.log +88 −0
  • harness/evidence/run9/abort.log +298 −0
  • harness/evidence/run9/b-leo.log +66 −0
  • harness/evidence/run9/b1-setup.log +71 −0
  • harness/evidence/run9/c-dennis.log +22 −0
  • harness/evidence/run9/d-sophie.log +64 −0
  • harness/evidence/run9/e-console.log +9 −0
  • harness/evidence/run9/e1.log +53 −0
  • harness/evidence/run9/f.log +21 −0
  • harness/evidence/run9/move.log +309 −0
  • harness/evidence/run9/move2.log +206 −0
  • harness/evidence/run9/normal.log +60 −0
  • harness/evidence/run9/precheck.log +48 −0
  • harness/evidence/run9/restore-b.log +5 −0
  • harness/evidence/run9/setup.log +109 −0
  • harness/evidence/run9/snap-e.log +2 −0
  • harness/evidence/run9/snap-post.log +2 −0
  • harness/evidence/run9/snap-premove.log +3 −0
  • harness/evidence/run9/verify.log +39 −0
  • harness/evidence/run9/verify2.log +21 −0

CI failed — run details

CI log
=== gate ===
cd launchctx && go vet ./... && go test ./... -count=1
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]
go vet ./...
gofmt -l .: clean
go test ./... -count=1 -timeout 30m
ok  	github.com/carlosframework/platform	331.373s
?   	github.com/carlosframework/platform/cmd/changelog	[no test files]
ok  	github.com/carlosframework/platform/cmd/console	3.292s
ok  	github.com/carlosframework/platform/cmd/moveprobe	93.363s
ok  	github.com/carlosframework/platform/cmd/zddprobe	0.728s
?   	github.com/carlosframework/platform/harness/apps/wakecheck	[no test files]
ok  	github.com/carlosframework/platform/internal/activator	251.287s
ok  	github.com/carlosframework/platform/internal/agentsock	0.023s
ok  	github.com/carlosframework/platform/internal/alerting	0.004s
ok  	github.com/carlosframework/platform/internal/analytics	0.021s
ok  	github.com/carlosframework/platform/internal/appconfig	2.596s
ok  	github.com/carlosframework/platform/internal/apperr	0.118s
ok  	github.com/carlosframework/platform/internal/applog	0.202s
ok  	github.com/carlosframework/platform/internal/awsinv	0.015s
ok  	github.com/carlosframework/platform/internal/boxchoice	0.004s
ok  	github.com/carlosframework/platform/internal/boxid	0.808s
?   	github.com/carlosframework/platform/internal/boxid/boxidtest	[no test files]
?   	github.com/carlosframework/platform/internal/boxid/internal/signtest	[no test files]
ok  	github.com/carlosframework/platform/internal/boxvolumes	0.011s
ok  	github.com/carlosframework/platform/internal/caps	0.014s
ok  	github.com/carlosframework/platform/internal/certwarm	0.007s
ok  	github.com/carlosframework/platform/internal/cgroup	0.729s
ok  	github.com/carlosframework/platform/internal/changelog	0.372s
ok  	github.com/carlosframework/platform/internal/claimactivation	0.960s
ok  	github.com/carlosframework/platform/internal/clamd	0.059s
?   	github.com/carlosframework/platform/internal/cliflag	[no test files]
ok  	github.com/carlosframework/platform/internal/console	409.227s
?   	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	5.742s
ok  	github.com/carlosframework/platform/internal/dbdoor/dbdoortest	0.020s
ok  	github.com/carlosframework/platform/internal/dbverify	0.007s
ok  	github.com/carlosframework/platform/internal/dnsrec	0.006s
ok  	github.com/carlosframework/platform/internal/docsite	0.006s
ok  	github.com/carlosframework/platform/internal/domains	2.512s
ok  	github.com/carlosframework/platform/internal/doorkey	0.008s
ok  	github.com/carlosframework/platform/internal/economics	0.005s
ok  	github.com/carlosframework/platform/internal/edge	45.175s
?   	github.com/carlosframework/platform/internal/edgeproof	[no test files]
ok  	github.com/carlosframework/platform/internal/edgesfile	0.009s
ok  	github.com/carlosframework/platform/internal/fleetapi	0.146s
ok  	github.com/carlosframework/platform/internal/gate	1.663s
ok  	github.com/carlosframework/platform/internal/genselect	0.018s
ok  	github.com/carlosframework/platform/internal/geo	0.016s
ok  	github.com/carlosframework/platform/internal/geoip	0.031s
ok  	github.com/carlosframework/platform/internal/historyreadback	0.178s
ok  	github.com/carlosframework/platform/internal/host	184.199s
ok  	github.com/carlosframework/platform/internal/hostactors	5.374s
ok  	github.com/carlosframework/platform/internal/hostactors/awsmembership	0.005s
ok  	github.com/carlosframework/platform/internal/hostbox	2.798s
ok  	github.com/carlosframework/platform/internal/hostclaim	0.589s
ok  	github.com/carlosframework/platform/internal/hostenv	0.006s
ok  	github.com/carlosframework/platform/internal/hostevidence	0.006s
ok  	github.com/carlosframework/platform/internal/hostexec	4.933s
ok  	github.com/carlosframework/platform/internal/hostfence	0.044s
ok  	github.com/carlosframework/platform/internal/hostfiles	10.416s
ok  	github.com/carlosframework/platform/internal/hostfloor	0.017s
ok  	github.com/carlosframework/platform/internal/hostguard	1.034s
ok  	github.com/carlosframework/platform/internal/hostops	1.714s
?   	github.com/carlosframework/platform/internal/hostops/fencerelease	[no test files]
ok  	github.com/carlosframework/platform/internal/hostops/internal/fencerelease	0.004s
ok  	github.com/carlosframework/platform/internal/hostquarantine	0.002s
ok  	github.com/carlosframework/platform/internal/hostrelocate	0.487s
ok  	github.com/carlosframework/platform/internal/hostresolve	0.142s
ok  	github.com/carlosframework/platform/internal/hostwrite	0.002s
ok  	github.com/carlosframework/platform/internal/infraview	0.004s
ok  	github.com/carlosframework/platform/internal/instancectl	5.216s
ok  	github.com/carlosframework/platform/internal/instanceexec	2.735s
ok  	github.com/carlosframework/platform/internal/instancefs	0.005s
ok  	github.com/carlosframework/platform/internal/instancekey	0.003s
ok  	github.com/carlosframework/platform/internal/instanceupdates	0.006s
ok  	github.com/carlosframework/platform/internal/layout	1.601s
ok  	github.com/carlosframework/platform/internal/lbhealth	0.006s
ok  	github.com/carlosframework/platform/internal/lease	9.818s
ok  	github.com/carlosframework/platform/internal/lease/leasetest	0.007s
ok  	github.com/carlosframework/platform/internal/ledger	0.013s
ok  	github.com/carlosframework/platform/internal/mail	0.169s
ok  	github.com/carlosframework/platform/internal/maintenance	0.085s
ok  	github.com/carlosframework/platform/internal/maintenanceexec	5.564s
ok  	github.com/carlosframework/platform/internal/maintenanceguard	0.066s
ok  	github.com/carlosframework/platform/internal/metrics	0.005s
ok  	github.com/carlosframework/platform/internal/moves	21.090s
ok  	github.com/carlosframework/platform/internal/moves/archive	0.809s
ok  	github.com/carlosframework/platform/internal/objstore	0.177s
ok  	github.com/carlosframework/platform/internal/ops	0.171s
ok  	github.com/carlosframework/platform/internal/park	0.197s
ok  	github.com/carlosframework/platform/internal/privatefile	0.004s
2026/10/20 17:39:21 provision: listing apps/bab/blog/instances/: list refused — its records are unseen this pass
2026/10/20 17:39:21 provision: listing apps/bab/: listdirs refused — its records are unseen this pass
2026/10/20 17:39:21 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:21 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:21 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:21 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/20 17:39:21 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/20 17:39:21 provision: skipping record apps/bac/tito/instances/one.example.com.json: unreadable: read refused
2026/10/20 17:39:21 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/20 17:39:21 provision: an app's records could not be listed: they are skipped
2026/10/20 17:39:21 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 17:39:21 provision: remove retired instance route shop.example: provision: claim admission unavailable
2026/10/20 17:39:21 provision: remove retired instance route shop.example: provision: claim admission unavailable
2026/10/20 17:39:21 provision: remove retired sidecar route worker.sidecar.internal: provision: claim admission unavailable
2026/10/20 17:39:21 provision: remove retired sidecar route worker.sidecar.internal: provision: claim admission unavailable
2026/10/20 17:39:21 provision: claim install acme.go.tito.io: provision: claim admission unavailable
2026/10/20 17:39:21 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:21 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/20 17:39:21 provision: claim install bot.eleven.bac.sidecar.internal: provision: claim admission unavailable
2026/10/20 17:39:21 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/20 17:39:21 provision: claim install bot.eleven.bac.sidecar.internal: registry: claim row ownership changed or unknown
2026/10/20 17:39: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/20 17:39:21 provision: acme.go.tito.io: not minting this pass: the box's layout intent could not be read: no sealed config
2026/10/20 17:39:21 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:21 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:21 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/20 17:39:21 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/20 17:39:21 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/20 17:39: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/20 17:39:21 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:21 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/20 17:39:21 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/20 17:39:21 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/20 17:39:21 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:21 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/20 17:39:21 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:21 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/20 17:39:21 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/20 17:39:21 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/20 17:39:21 provision: claim install bot.eleven.bac.sidecar.internal: registry: claim row ownership changed or unknown
2026/10/20 17:39:21 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/20 17:39:21 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:21 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/20 17:39:21 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/20 17:39:21 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 17:39:22 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 17:39:22 provision: skipping record apps/bac/tito/instances/new.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 17:39:22 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/20 17:39:22 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 17:39:22 provision: skipping record apps/bac/tito/instances/new.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 17:39:22 provision: minted instance route rh.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route ri.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route rj.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route rk.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route rl.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route ra.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route rb.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route rf.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route rg.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route rc.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route rd.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route re.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route ra.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route rb.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route rc.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route rd.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: skipping record apps/bac/tito/instances/rb.go.tito.io.json: read failed: read refused
2026/10/20 17:39:22 provision: skipping record apps/bac/tito/instances/rb.go.tito.io.json: read failed: read refused
2026/10/20 17:39:22 provision: minted instance route re.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route x.appa.example (app "appa" acct "bac")
2026/10/20 17:39:22 provision: minted instance route x.appc.example (app "appc" acct "bac")
2026/10/20 17:39:22 provision: minted instance route x.appd.example (app "appd" acct "bac")
2026/10/20 17:39:22 provision: minted instance route x.appe.example (app "appe" acct "bac")
2026/10/20 17:39:22 provision: minted instance route x.appf.example (app "appf" acct "bac")
2026/10/20 17:39:22 provision: minted instance route x.appj.example (app "appj" acct "bac")
2026/10/20 17:39:22 provision: minted instance route x.appb.example (app "appb" acct "bac")
2026/10/20 17:39:22 provision: minted instance route x.appg.example (app "appg" acct "bac")
2026/10/20 17:39:22 provision: minted instance route x.apph.example (app "apph" acct "bac")
2026/10/20 17:39:22 provision: minted instance route x.appi.example (app "appi" acct "bac")
2026/10/20 17:39:22 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/20 17:39:22 provision: minted instance route r0002.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0095.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0107.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0037.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0042.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0043.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0078.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0086.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0098.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0105.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0026.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0067.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0116.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0012.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0028.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0061.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0040.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0084.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0101.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0103.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0114.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0013.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0020.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0068.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0070.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0121.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0006.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0047.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0044.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0129.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0011.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0022.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0052.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0077.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0017.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0048.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0085.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0014.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0065.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0079.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0111.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0128.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0009.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0027.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0104.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0125.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0007.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0036.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0091.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0099.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0004.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0016.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0054.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0062.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0094.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0060.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0082.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0119.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0010.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0035.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0100.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0108.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0029.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0045.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0072.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0073.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0074.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0023.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0071.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0096.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0005.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0031.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0069.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0115.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0021.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0088.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0118.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0126.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0003.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0008.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0025.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0046.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0063.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0076.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0109.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0127.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0001.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0018.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0112.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0000.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0034.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0049.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0123.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0066.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0102.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0080.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0089.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0097.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0019.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0024.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0033.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0050.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0081.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0083.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0039.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0058.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0064.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0090.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0106.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0113.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0122.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0124.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0055.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0117.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0120.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0015.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0030.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0038.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0041.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0053.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0059.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0075.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0093.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0051.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0057.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0032.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0056.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0087.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0092.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:22 provision: minted instance route r0110.go.tito.io (app "tito" acct "bac")
--- FAIL: TestPlan14RootReadCensus (4.89s)
    plan14_root_reads_test.go:940: root read census: 134 discrepancies
        changed root read internal/hostfence/writer.go:OpenRootFenceStore; review class, task, sites and digest
        changed root source envelope harness
        changed root source envelope harness/apps/wakecheck
        changed root source envelope harness/boxes
        changed root source envelope harness/boxes/shims
        changed root source envelope harness/checks
        changed root source envelope harness/console
        changed root source envelope harness/infra
        changed root source envelope harness/infra-copies/747f699/dev
        changed root source envelope harness/infra-copies/a0b3f5a/dev
        changed root source envelope harness/infra-copies/a0b3f5a/scripts
        changed root source envelope harness/infra-copies/pr47
        changed root source envelope harness/operator
        changed root source envelope harness/release
        changed root source envelope harness/scenarios
        changed root source envelope harness/scenarios/cohort1
        changed root source envelope harness/scenarios/cohort1/blocks
        changed root source envelope harness/stand-ins
        changed root source envelope internal/host
        changed root source envelope internal/hostfence
        changed root source envelope internal/publicrelease
        changed root source envelope internal/s3compat
        unclassified root read harness/apps/wakecheck/main.go:main file:Exec@333,file:Exec@804,file:Open@277,file:QueryRow@870
        unclassified root read harness/boxes/boxes-up.sh:external file:external@0
        unclassified root read harness/boxes/dmi-shim.sh:external file:external@0
        unclassified root read harness/boxes/layout-probe.sh:external file:external@0
        unclassified root read harness/boxes/leo-ext4-from.sh:external file:external@0
        unclassified root read harness/boxes/leo-ext4.sh:external file:external@0
        unclassified root read harness/boxes/leo-swap.sh:external file:external@0
        unclassified root read harness/boxes/shims/systemd-zram-setup@.service:external file:external@0
        unclassified root read harness/boxes/vendor-shims.sh:external file:external@0
        unclassified root read harness/checks/check2.sh:external file:external@0
        unclassified root read harness/checks/check5.sh:external file:external@0
        unclassified root read harness/checks/check6.sh:external file:external@0
        unclassified root read harness/checks/check6b.sh:external file:external@0
        unclassified root read harness/checks/check7.sh:external file:external@0
        unclassified root read harness/checks/check8.sh:external file:external@0
        unclassified root read harness/checks/fix5.sh:external file:external@0
        unclassified root read harness/checks/run6b.sh:external file:external@0
        unclassified root read harness/checks/snap-base.sh:external file:external@0
        unclassified root read harness/checks/snap-boot.sh:external file:external@0
        unclassified root read harness/checks/ssmsmoke.sh:external file:external@0
        unclassified root read harness/console/console-ext4.sh:external file:external@0
        unclassified root read harness/console/console-setup.sh:external file:external@0
        unclassified root read harness/console/signin.sh:external file:external@0
        unclassified root read harness/console/system-update.sh:external file:external@0
        unclassified root read harness/donor-user-data.sh:external file:external@0
        unclassified root read harness/evidence.sh:external file:external@0
        unclassified root read harness/host-setup.sh:external file:external@0
        unclassified root read harness/host-user-data.sh:external file:external@0
        unclassified root read harness/hrun.sh:external file:external@0
        unclassified root read harness/infra-copies/747f699/dev/host-init.sh:external file:external@0
        unclassified root read harness/infra-copies/a0b3f5a/dev/host-init.sh:external file:external@0
        unclassified root read harness/infra-copies/a0b3f5a/scripts/bootstrap-box.sh:external file:external@0
        unclassified root read harness/infra-copies/a0b3f5a/scripts/ship-app.sh:external file:external@0
        unclassified root read harness/infra-copies/a0b3f5a/scripts/update-platform-binary.sh:external file:external@0
        unclassified root read harness/infra-copies/pr47/probe.sh:external file:external@0
        unclassified root read harness/infra-copies/pr47/remediation.sh:external file:external@0
        unclassified root read harness/infra/infra-setup.sh:external file:external@0
        unclassified root read harness/operator/operator-setup.sh:external file:external@0
        unclassified root read harness/release/release-setup.sh:external file:external@0
        unclassified root read harness/release/release-window.sh:external file:external@0
        unclassified root read harness/release/step7-operator.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/50-publish-record.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/51-open-signer.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/51-roster-resume.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/51-roster.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/61-sign.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/61a-install-channel.box.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/62-guard-arm.box.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/63-run.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/63-sophie.box.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/7-console-report.box.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/7-evidence-key.box.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/7-run.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/7-runtime.box.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/74-run.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/7a-leo.box.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/7a-run.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/acceptance.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/b1.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/b2-c8.leo.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/b2-list.leo.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/b2.box.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/b4-after.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/b4-pair.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/b4-resume.sophie.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/b4.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/b5.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/g4-roll.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/g5.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/g9-check.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/p9.box.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/place-parent.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/pw-seed.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/r9-console-e1.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/r9-console.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/r9-devcheck.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/r9-move-precheck.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/r9-move-setup.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/r9-move.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/r9-normal.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/r9-rearm.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/r9-release.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/r9-setup.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/rearm-roll.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/rearm-strict.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/rearm-strict.leo.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/rearm-strict2.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/rearm.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/rearm2.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/rearm3.host.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/reports.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/run-leo.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/w-env.box.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/w-identity.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/w-open-signer.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/w-sums.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/w81.box.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/w81b.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/w82-f4.box.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/w82-f5.box.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/w82.box.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/w82b.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/w84.box.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/blocks/w9.box.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/box-helpers.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/signer-helpers.sh:external file:external@0
        unclassified root read harness/scenarios/cohort1/ssm.sh:external file:external@0
        unclassified root read harness/scenarios/sync.sh:external file:external@0
        unclassified root read harness/snapshot.sh:external file:external@0
        unclassified root read harness/stand-ins/certs.sh:external file:external@0
        unclassified root read internal/s3compat/harness.go:readHarnessFile file:ReadFile@189,file:Stat@55
        changed reclassified declaration internal/hostfence/writer.go:OpenRootFenceStore
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: refusing to mint route acme.go.tito.io (app "tito" acct "bac"): this box declares CARLOS_INBOUND=none (no-inbound) and cannot serve routed instance traffic
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted service route svc.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted instance route whole.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted instance route console.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted service route ha.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted instance route shared.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: converged acme.go.tito.io channel stable -> edge
2026/10/20 17:39:34 provision: converged acme.go.tito.io channel edge -> canary/rehearsal
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: empty channel
2026/10/20 17:39:34 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: converged acme.go.tito.io environment "" -> "staging"
2026/10/20 17:39:34 provision: converged acme.go.tito.io environment "staging" -> ""
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: converged acme.go.tito.io steering "" -> "latency"
2026/10/20 17:39:34 provision: converged acme.go.tito.io steering "latency" -> ""
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: converged acme.go.tito.io hibernate false -> true
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: converged acme.go.tito.io hibernate true -> false (replication "daily" cleared: only a hibernating route's rung is read)
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: converged acme.go.tito.io status-named false -> true
2026/10/20 17:39:34 provision: converged acme.go.tito.io status-named true -> false
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted service route ha.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 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/20 17:39:34 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/20 17:39:34 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/20 17:39:34 provision: minted service route whole.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 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/20 17:39:34 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/20 17:39:34 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/20 17:39:34 provision: minted service route whole.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: skipping accounts/bac/account.json: malformed account manifest: invalid character 'o' in literal null (expecting 'u')
2026/10/20 17:39:34 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: manifest bac/tito: read failed: provision: manifest bac/tito: invalid character 'o' in literal null (expecting 'u')
2026/10/20 17:39:34 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/20 17:39:34 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/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 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/20 17:39:34 provision: not removing acme$evil.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/20 17:39:34 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/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 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/20 17:39:34 provision: not removing bad-service.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/20 17:39:34 provision: skipping record apps/bac/tito/instances/no-channel.go.tito.io.json: empty channel
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: skipping record apps/bac/tito/instances/no-channel.go.tito.io.json: empty channel
2026/10/20 17:39:34 provision: not removing no-channel.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/20 17:39:34 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:34 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 17:39:34 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/20 17:39:34 provision: removed retired instance route ghost.go.tito.io (record gone)
2026/10/20 17:39:35 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/20 17:39:35 provision: minted instance route dup.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/20 17:39:35 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/20 17:39:35 provision: removed retired instance route acme.go.tito.io (app in the trash)
2026/10/20 17:39:35 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/20 17:39:35 provision: removed retired static route site.go.tito.io (app in the trash)
2026/10/20 17:39:35 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/20 17:39:35 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/20 17:39:35 provision: removed retired instance route acme.go.tito.io (app in the trash)
2026/10/20 17:39:35 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/20 17:39:35 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/20 17:39:35 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/20 17:39:35 provision: converged acme.go.tito.io channel stable -> edge
2026/10/20 17:39:35 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/20 17:39:35 provision: converged acme.go.tito.io channel canary/rehearsal -> edge
2026/10/20 17:39:35 provision: converged acme.go.tito.io environment "staging" -> ""
2026/10/20 17:39:35 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/20 17:39:35 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/20 17:39:35 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/20 17:39:35 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/20 17:39:35 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/20 17:39:35 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/20 17:39:35 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/20 17:39:35 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/20 17:39:35 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/20 17:39:35 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/20 17:39:35 provision: dry-run: would converge adopt.go.tito.io channel stable -> edge
2026/10/20 17:39:35 provision: dry-run: would converge adopt.go.tito.io environment "" -> "staging"
2026/10/20 17:39:35 provision: dry-run: would converge owned.go.tito.io channel stable -> edge
2026/10/20 17:39:35 provision: dry-run: would converge owned.go.tito.io environment "" -> "staging"
2026/10/20 17:39:35 provision: dry-run: would converge owned.go.tito.io hibernate false -> true
2026/10/20 17:39:35 provision: dry-run: would converge owned.go.tito.io seed
2026/10/20 17:39:35 provision: dry-run: would mint instance route acme.go.tito.io (app "tito" acct "bac" channel "stable")
2026/10/20 17:39:35 provision: dry-run: would remove retired instance route gone.go.tito.io (record gone)
2026/10/20 17:39:35 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: adopted existing route adopt.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/20 17:39:35 provision: converged adopt.go.tito.io channel stable -> edge
2026/10/20 17:39:35 provision: converged adopt.go.tito.io environment "" -> "staging"
2026/10/20 17:39:35 provision: converged owned.go.tito.io channel stable -> edge
2026/10/20 17:39:35 provision: converged owned.go.tito.io environment "" -> "staging"
2026/10/20 17:39:35 provision: converged owned.go.tito.io hibernate false -> true
2026/10/20 17:39:35 provision: removed retired instance route gone.go.tito.io (record gone)
2026/10/20 17:39:35 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: adopted existing route story.carlosframework.com (app "story" acct "bad") — this record now owns its channel and environment
2026/10/20 17:39:35 provision: story.carlosframework.com exists but is not the route this record describes (kind "instance"/"static") — leaving it alone
2026/10/20 17:39:35 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted service route pub.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted service route pubs.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted instance route exec.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted service route loop.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted service route named.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted service route priv.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted instance route unit.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted static route pisite.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: removed retired static route site.go.tito.io (record gone)
2026/10/20 17:39:35 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted instance route acme-uk.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: converged acme.go.tito.io replicas "ie,uk" -> "uk"
2026/10/20 17:39:35 provision: converged acme.go.tito.io replicas "uk" -> ""
2026/10/20 17:39:35 provision: minted instance route acme-uk.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: converged acme-uk.go.tito.io replica mark true -> false
2026/10/20 17:39:35 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 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/20 17:39:35 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:35 provision: acme.go.tito.io: not minting this pass: the box's layout intent could not be read: store down
2026/10/20 17:39:35 provision: router.go.tito.io: not minting this pass: the box's layout intent could not be read: store down
2026/10/20 17:39:35 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/20 17:39:35 provision: converged acme.go.tito.io channel stable -> edge
2026/10/20 17:39:35 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/20 17:39:35 provision: not removing acme.go.tito.io (record gone): participant of a running operation
2026/10/20 17:39:35 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/20 17:39:35 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/20 17:39:35 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/20 17:39:35 provision: held acme.go.tito.io landing by mv_acme (was ready)
2026/10/20 17:39:35 provision: acme.go.tito.io: held restoring by rb_other, not by mv_acme; leaving it
2026/10/20 17:39:35 provision: acme.go.tito.io: the row is not this pass's (app "other" acct ""); not holding it for mv_acme
2026/10/20 17:39:35 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/20 17:39:35 provision: dry-run: would mint instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac" channel "stable")
2026/10/20 17:39:35 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/20 17:39:35 provision: held acme.go.tito.io landing by mv_acme (was ready)
2026/10/20 17:39:36 provision: minted instance route acme.example.com (app "shop" acct "bac")
2026/10/20 17:39:36 provision: minted instance route plain.example.com (app "shop" acct "bac")
2026/10/20 17:39:36 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 17:39:36 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/20 17:39:36 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 17:39:36 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/20 17:39:36 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 17:39:36 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/20 17:39:36 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 17:39:36 provision: listing apps/bac/shop/instances/: list refused — its records are unseen this pass
2026/10/20 17:39:36 provision: a.shop.example.com: swapped for import sd_mqfkunbx7lwq2wjzwmnpa2ygrq (the original route is journaled)
2026/10/20 17:39:36 provision: a.shop.example.com: import sd_mqfkunbx7lwq2wjzwmnpa2ygrq committed: its gate is cleared and its journal row dropped
2026/10/20 17:39:36 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/20 17:39:36 provision: a.shop.example.com: import sd_kq5xffyaq5chdeo7h3kn56ovjm rolled back to its original route
2026/10/20 17:39:36 provision: a.shop.example.com: import sd_kq5xffyaq5chdeo7h3kn56ovjm: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/20 17:39:36 provision: a.shop.example.com: import sd_kq5xffyaq5chdeo7h3kn56ovjm is cleaned up and its journal row retired
2026/10/20 17:39:36 provision: a.shop.example.com: import sd_7wbcos3vyegslfkasrfoe7eina rolled back to its original route
2026/10/20 17:39:36 provision: a.shop.example.com: import sd_7wbcos3vyegslfkasrfoe7eina: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/20 17:39:36 provision: a.shop.example.com: import sd_7wbcos3vyegslfkasrfoe7eina is cleaned up and its journal row retired
2026/10/20 17:39:36 provision: dry-run: would redo a.shop.example.com's swap record CAS for import sd_6ag7bcm5e6zgfyhcp3lfdqu62y
2026/10/20 17:39:36 provision: dry-run: would clear a.shop.example.com's import gate
2026/10/20 17:39:36 provision: dry-run: would converge a.shop.example.com seed source
2026/10/20 17:39:36 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/20 17:39:36 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/20 17:39:36 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/20 17:39:36 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/20 17:39:36 provision: a.shop.example.com: import sd_tcgju5xrck4jqc4ixw7pd5aokm cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/20 17:39:36 provision: a.shop.example.com: import sd_pdxoj2dctihpdmjcfenlocoo6m cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/20 17:39:36 provision: a.shop.example.com: import sd_utiwwu4wxh7en5div22arzde34 is journaled, but this box cannot act on imports; its row is left alone
2026/10/20 17:39:36 provision: a.shop.example.com: import sd_7izf2vnyho5uii6awo44fljyza is journaled, but this box cannot act on imports; its row is left alone
2026/10/20 17:39:36 provision: a.shop.example.com: import sd_53qfyfecxuv4itxwozvwui4qfq is journaled, but this box cannot act on imports; its row is left alone
2026/10/20 17:39:36 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/20 17:39:36 provision: b.shop.example.com: import sd_suabtxynubteeief5cezqonw6a left alone this pass: the import journal could not be read
2026/10/20 17:39:36 provision: c.shop.example.com: import sd_5yld2uowx4wbwrk3yjig4mdnp4 left alone this pass: the import journal could not be read
2026/10/20 17:39:36 provision: a.shop.example.com: import sd_iac7qexy5nefs4x6e7wlz5jzxa committed: its gate is cleared and its journal row dropped
2026/10/20 17:39:36 provision: a.shop.example.com: not converging import sd_yyfwa23veoevt5dfje2zcd4eoa: it is swapped but not committed, and the row on this box has no import gate
2026/10/20 17:39:36 provision: a.shop.example.com: not converging import sd_al5wgczxyfghfdhlqbzsz46x74: it is swapped but not committed, and the row on this box has no import gate
2026/10/20 17:39:36 provision: a.shop.example.com: not converging import sd_cqke4aeezj5stuldeu63dc32xm: it is placed but not committed, and the row on this box has no import gate
2026/10/20 17:39:36 provision: a.shop.example.com: not converging import sd_zts6kq4xmrbnlvarwo36nwh7si: it is placed but not committed, and the row on this box has no import gate
2026/10/20 17:39:36 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/20 17:39:36 provision: converge seed source on a.shop.example.com: constraint failed: seed_source is read-only here (1811)
2026/10/20 17:39:36 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/20 17:39:37 provision: a.shop.example.com: import sd_iiqn67325d44y3nd6r4wuzjhoy committed: its gate is cleared and its journal row dropped
2026/10/20 17:39:37 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/20 17:39:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:37 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/20 17:39:37 provision: acme.go.tito.io: not minting a seeded instance: this box does not mint nested (<nil>)
2026/10/20 17:39:37 provision: acme.go.tito.io: not minting a seeded instance: claim control is on for this box
2026/10/20 17:39:37 provision: acme.go.tito.io: aborted seed sd_kbbnsyt6ackachagbaxdzoevli: this box cannot read seed markers, and places no seed; nothing local is removed
2026/10/20 17:39:37 provision: acme.go.tito.io: aborted seed sd_kbbnsyt6ackachagbaxdzoevli rolled back (no box had swapped it)
2026/10/20 17:39:37 provision: acme.go.tito.io: not minting a seeded instance: its record does not describe a hibernating instance
2026/10/20 17:39:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:37 provision: removed instance route acme.go.tito.io (its seed sd_ouml6pirrcknhtaanrp5qbieau was aborted); the next pass rolls it back
2026/10/20 17:39:37 provision: acme.go.tito.io: aborted seed sd_ouml6pirrcknhtaanrp5qbieau: this box cannot read seed markers, and places no seed; nothing local is removed
2026/10/20 17:39:37 provision: acme.go.tito.io: aborted seed sd_ouml6pirrcknhtaanrp5qbieau rolled back (no box had swapped it)
2026/10/20 17:39:37 provision: acme.go.tito.io: aborted seed sd_hkyrg2n4yxzglbgqkhq2ta5mle has a row this pass may not remove; leaving the seed aborted
2026/10/20 17:39:37 provision: acme.go.tito.io: aborted seed sd_c3svg76jr6bxusksz3fin3i3gy rolled back (no box had swapped it)
2026/10/20 17:39:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:37 provision: removed instance route acme.go.tito.io (its seed sd_mqtpb73emfgezslrmtic7n2ggi was aborted); the next pass rolls it back
2026/10/20 17:39:37 provision: acme.go.tito.io: aborted seed sd_mqtpb73emfgezslrmtic7n2ggi has no route on this box: its local data is removed
2026/10/20 17:39:37 provision: acme.go.tito.io: aborted seed sd_mqtpb73emfgezslrmtic7n2ggi rolled back (no box had swapped it)
2026/10/20 17:39:37 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_clw433l5u3y3jo6g5tvcbtzaai (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_clw433l5u3y3jo6g5tvcbtzaai rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_clw433l5u3y3jo6g5tvcbtzaai is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_iakso47jm5xb2a574x4fmme2c4 (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_iakso47jm5xb2a574x4fmme2c4 rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_iakso47jm5xb2a574x4fmme2c4 is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_nrw4fn7avrjmr5ff2ciqfxbq2y (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_nrw4fn7avrjmr5ff2ciqfxbq2y rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_nrw4fn7avrjmr5ff2ciqfxbq2y: the host's replica is left alone: its record no longer names this seed
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_nrw4fn7avrjmr5ff2ciqfxbq2y is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_3pkqczszh2vqxzzskyv3o2hj4m (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_3pkqczszh2vqxzzskyv3o2hj4m rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_3pkqczszh2vqxzzskyv3o2hj4m rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_3pkqczszh2vqxzzskyv3o2hj4m is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_4id7yymhmisad3l7eb772cihku (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_4id7yymhmisad3l7eb772cihku rollback deferred: the host is not fenced and stopped yet (stop unproven)
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_yhdk6hqqf2gkrwa7brpzzl57dq (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_yhdk6hqqf2gkrwa7brpzzl57dq is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_k3xlf3wblaz2gnwf4b5miqkffa (the original route is journaled)
2026/10/20 17:39:37 provision: skipping record apps/bac/shop/instances/a.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_k3xlf3wblaz2gnwf4b5miqkffa left alone this pass: its record could not be read
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_qn2qes6siknecnnkl2uwkalkq4 (the original route is journaled)
2026/10/20 17:39:37 provision: skipping record apps/bac/shop/instances/a.shop.example.com.json: read failed: connection reset
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_qn2qes6siknecnnkl2uwkalkq4 left alone this pass: its record could not be read
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_xs6gw5igfyddrgiuh7z3ly6rw4 (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_xs6gw5igfyddrgiuh7z3ly6rw4: close the import gate: constraint failed: injected (1811)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_xs6gw5igfyddrgiuh7z3ly6rw4 rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_xs6gw5igfyddrgiuh7z3ly6rw4 is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_uqzlnez65rixnpsquvcyxriz3u (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_uqzlnez65rixnpsquvcyxriz3u: close the import gate: constraint failed: injected (1811)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_uqzlnez65rixnpsquvcyxriz3u rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_uqzlnez65rixnpsquvcyxriz3u is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_u2duyw6fumiqt4jnh7xkr4rxqy (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_u2duyw6fumiqt4jnh7xkr4rxqy rollback deferred: the host is not fenced and stopped yet (injected failure at fence)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_u2duyw6fumiqt4jnh7xkr4rxqy rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_u2duyw6fumiqt4jnh7xkr4rxqy is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_frm7gdiwzqmj7fg2hulboeswyq (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_frm7gdiwzqmj7fg2hulboeswyq rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_frm7gdiwzqmj7fg2hulboeswyq is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_b4z5erkmgkuu26ohvkzdbefgvi (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_b4z5erkmgkuu26ohvkzdbefgvi: retire its instance key: injected failure at retire-key
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_b4z5erkmgkuu26ohvkzdbefgvi rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_b4z5erkmgkuu26ohvkzdbefgvi is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_ihmz33kgzkezk7x323zevhniga (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_ihmz33kgzkezk7x323zevhniga rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_ihmz33kgzkezk7x323zevhniga is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_xvz2ggdpizeqnay5km3hpcehhe (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_xvz2ggdpizeqnay5km3hpcehhe: remove its local data: injected failure at remove-local
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_xvz2ggdpizeqnay5km3hpcehhe rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_xvz2ggdpizeqnay5km3hpcehhe is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_edjvyelstfdvrlazabwgxkeb3e (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_edjvyelstfdvrlazabwgxkeb3e rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_edjvyelstfdvrlazabwgxkeb3e is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_hydbi4lmx2aa5qwjsarsebn4ay (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_hydbi4lmx2aa5qwjsarsebn4ay: remove its local data: injected failure at remove-local-done
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_hydbi4lmx2aa5qwjsarsebn4ay rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_hydbi4lmx2aa5qwjsarsebn4ay is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_wattwa6x7hqhmckqxybbzvvcju (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_wattwa6x7hqhmckqxybbzvvcju rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_wattwa6x7hqhmckqxybbzvvcju is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_omvnpe4o735iwgn427bbeqvzay (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_omvnpe4o735iwgn427bbeqvzay: restore the original route: constraint failed: injected (1811)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_omvnpe4o735iwgn427bbeqvzay rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_omvnpe4o735iwgn427bbeqvzay is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_zoc7oaagkiq55p5oqih54faxri (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_zoc7oaagkiq55p5oqih54faxri: restore the original route: constraint failed: injected (1811)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_zoc7oaagkiq55p5oqih54faxri rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_zoc7oaagkiq55p5oqih54faxri is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_7s5m5dsahyajee5buqlts4el3u (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_7s5m5dsahyajee5buqlts4el3u is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_qog7dqj67xcuqaafjfczvzakpq (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_qog7dqj67xcuqaafjfczvzakpq rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_qog7dqj67xcuqaafjfczvzakpq: delete its snapshot: injected failure at delete-snapshot
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_qog7dqj67xcuqaafjfczvzakpq is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_mfyev3ve5fbwwttcbfxcn77eou (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_mfyev3ve5fbwwttcbfxcn77eou rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_mfyev3ve5fbwwttcbfxcn77eou is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_su3sryzzaakfrmqbojsnofy2dq (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_su3sryzzaakfrmqbojsnofy2dq rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_su3sryzzaakfrmqbojsnofy2dq: delete the host's replica: injected failure at delete-replica
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_su3sryzzaakfrmqbojsnofy2dq is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_3gzodvp6d5af3lv2topa3zks24 (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_3gzodvp6d5af3lv2topa3zks24 rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_3gzodvp6d5af3lv2topa3zks24 is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_75pavclsgg4u5gwdzyveuzuncy (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_75pavclsgg4u5gwdzyveuzuncy rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_75pavclsgg4u5gwdzyveuzuncy: retire its journal row: constraint failed: injected (1811)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_75pavclsgg4u5gwdzyveuzuncy is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_y7emldvbetea3ax5czlxgkqlzy (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_y7emldvbetea3ax5czlxgkqlzy rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_y7emldvbetea3ax5czlxgkqlzy: retire its journal row: constraint failed: injected (1811)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_y7emldvbetea3ax5czlxgkqlzy is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: swapped for import sd_7dlxnxro5mhqmqrovja53mjoqu (the original route is journaled)
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_7dlxnxro5mhqmqrovja53mjoqu rolled back to its original route
2026/10/20 17:39:37 provision: a.shop.example.com: import sd_7dlxnxro5mhqmqrovja53mjoqu is cleaned up and its journal row retired
2026/10/20 17:39:37 provision: a.shop.example.com: mark import sd_7dlxnxro5mhqmqrovja53mjoqu rolled back: injected failure at cas
2026/10/20 17:39:37 provision: a.shop.example.com: aborted seed sd_7dlxnxro5mhqmqrovja53mjoqu rolled back (no box had swapped it)
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_algmwf6j472i3ocrwaswit5wjq (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_algmwf6j472i3ocrwaswit5wjq rolled back to its original route
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_algmwf6j472i3ocrwaswit5wjq is cleaned up and its journal row retired
2026/10/20 17:39:38 provision: a.shop.example.com: aborted seed sd_algmwf6j472i3ocrwaswit5wjq rolled back (no box had swapped it)
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_uawhqxpnh5yeegcjgdr242cygq (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_uawhqxpnh5yeegcjgdr242cygq rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_uawhqxpnh5yeegcjgdr242cygq rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_uawhqxpnh5yeegcjgdr242cygq rolled back to its original route
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_uawhqxpnh5yeegcjgdr242cygq is cleaned up and its journal row retired
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_xmtqptkf3hsxnrpo57rme7khmm (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_xmtqptkf3hsxnrpo57rme7khmm rolled back to its original route
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_xmtqptkf3hsxnrpo57rme7khmm is cleaned up and its journal row retired
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_ocwy3ir2cawqurhlhhs4jdqqde (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_ocwy3ir2cawqurhlhhs4jdqqde rolled back to its original route
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_ocwy3ir2cawqurhlhhs4jdqqde is cleaned up and its journal row retired
2026/10/20 17:39:38 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_yolr4tlujxgqykilos4v4pxk7e (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_yolr4tlujxgqykilos4v4pxk7e rolled back to its original route
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_yolr4tlujxgqykilos4v4pxk7e is cleaned up and its journal row retired
2026/10/20 17:39:38 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_4hq7m5hnbsuwnf6x5kwf7brwpy (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_4hq7m5hnbsuwnf6x5kwf7brwpy rolled back to its original route
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_4hq7m5hnbsuwnf6x5kwf7brwpy is cleaned up and its journal row retired
2026/10/20 17:39:38 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_k2eeqdnjcatocrrwyzu42jbofa (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_k2eeqdnjcatocrrwyzu42jbofa rolled back to its original route
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_k2eeqdnjcatocrrwyzu42jbofa is cleaned up and its journal row retired
2026/10/20 17:39:38 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_4fbvptpy5dbqyalpb6hnxxwo64 (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_4fbvptpy5dbqyalpb6hnxxwo64 rolled back to its original route
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_4fbvptpy5dbqyalpb6hnxxwo64 is cleaned up and its journal row retired
2026/10/20 17:39:38 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_oqfwxxjhdooa76pl3vsymsczoq (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_oqfwxxjhdooa76pl3vsymsczoq rolled back to its original route
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_oqfwxxjhdooa76pl3vsymsczoq is cleaned up and its journal row retired
2026/10/20 17:39:38 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_qqvzbfltve2r2rntt23gzqhoo4 (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_qqvzbfltve2r2rntt23gzqhoo4 has no route on this box: its local data is removed and no route is put back
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_qqvzbfltve2r2rntt23gzqhoo4 is cleaned up and its journal row retired
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_cw4stdplntbw2bd5ydusct6gse (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_jsk36xj6xvykdtcfxaspg4magu (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_eip5noi4dhkmx6xwiqnlza5uju (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_eip5noi4dhkmx6xwiqnlza5uju cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_okiqviwme2745ixxvggbjvzxmi (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_okiqviwme2745ixxvggbjvzxmi is not rolled back: the route changed under the fence, so nothing there is touched
2026/10/20 17:39:38 provision: a.shop.example.com: import "../not-a-seed" names no snapshot and no replica; only its journal row is cleaned up
2026/10/20 17:39:38 provision: a.shop.example.com: import ../not-a-seed is cleaned up and its journal row retired
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_mhbnihhaijhtzxi3sm2fzlk6pa (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_el6s4vnfqh5sicssdvqoqasv5q (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_ic2b3ec2syd5oftl63ejwzgw3a (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_td7k3vea3nqpg4cyqp46toreze (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_uafkpudqxhmdf2nsqam6vnnxdy (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_uafkpudqxhmdf2nsqam6vnnxdy rollback deferred: the host is not fenced and stopped yet (stop evidence unreadable)
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_rjw64ftrwqk5h4ux4o2xvkxtdu (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_rjw64ftrwqk5h4ux4o2xvkxtdu has no route on this box: its local data is removed and no route is put back
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_rjw64ftrwqk5h4ux4o2xvkxtdu is cleaned up and its journal row retired
2026/10/20 17:39:38 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_iywh6hv44xly5nlbrhxeu4zyzy (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_iywh6hv44xly5nlbrhxeu4zyzy: remove its local data: injected failure at remove-local
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_iywh6hv44xly5nlbrhxeu4zyzy is not rolled back: the route at the host is not the import's, so nothing there is touched
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_qj7jqhahxyzx7jz43wldi52ebq (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_qj7jqhahxyzx7jz43wldi52ebq: a route appeared at the host, so its local database is left and the rollback waits
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_a4b6kiorr7marz3f4q4jgokacm (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_a4b6kiorr7marz3f4q4jgokacm rollback deferred: no fence generation: registry busy
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_g6ekdno74bfdxncs7rfeufg254 (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_g6ekdno74bfdxncs7rfeufg254 rollback deferred: no fence generation: the generation source answered 0
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_wvsbanvgn72lf4tsrmigqthju4 (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_qnogoiulutolwmeyqrehslnrg4 (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_v4bcapztidsw2jvr3yxabb73h4 (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import deferred: this box cannot read the instance's env file
2026/10/20 17:39:38 provision: a.shop.example.com: import deferred: the instance's env file could not be read: a symlink
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_n67veditfaz3qwstkqtgm3qksy (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_n67veditfaz3qwstkqtgm3qksy rolled back to its original route
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_n67veditfaz3qwstkqtgm3qksy is cleaned up and its journal row retired
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_r5dsebdohqqjmemkowyt35tbci (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_r5dsebdohqqjmemkowyt35tbci rolled back to its original route
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_r5dsebdohqqjmemkowyt35tbci is cleaned up and its journal row retired
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_5aoon42fzlpior5f4qttqmtywe (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_5aoon42fzlpior5f4qttqmtywe rolled back to its original route
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_5aoon42fzlpior5f4qttqmtywe is cleaned up and its journal row retired
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_7acplquhts32mgkwt5f23ko3vy (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_7acplquhts32mgkwt5f23ko3vy: retire its instance key: the env file is a symlink
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_7acplquhts32mgkwt5f23ko3vy rolled back to its original route
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_7acplquhts32mgkwt5f23ko3vy is cleaned up and its journal row retired
2026/10/20 17:39:38 provision: a.shop.example.com: swapped for import sd_ioo7jqgx7p64amfaniy5x7suka (the original route is journaled)
2026/10/20 17:39:38 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/20 17:39:38 provision: a.shop.example.com: swapped for import sd_ksv4thgxwgawnzbykjegiuhtrm (the original route is journaled)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_mogppcsbrabexjzp7c2l3ic7nq refused: there is no route at a.shop.example.com to replace
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_htokfubeywlpacf4ufdgfdhpfm refused: the route's address is 127.0.0.1:9, not 127.0.0.1:8401
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_prdpwvqnfmrieuyd3nershmurq refused: the route's address is 127.0.0.1:8401,127.0.0.1:8402, not 127.0.0.1:8401
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_kics6fgglzym7qlexspkerumbq refused: the route's address is 127.0.0.1:9, not 127.0.0.1:8401
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_edp6ldwmua7pok47sqvd65to2y refused: the route belongs to app other
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_vjhhrsk66zqt5mlvnermssibay refused: the route is filed under another account
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_6ddieru7ab4huzfmers7fui4au refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_i4ykul6tizosozpue373vbq3m4 refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_fbgjqhazis6hnskmv6oi7rebfa refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_ba4mqlrbfiyibvbpyz46mycfh4 refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_erfgpf2b5txwlhznnihgvm4ufu refused: the route is not an address route this import can take over (socket)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_2bz4hb2dzf44tx43sisg3kqwd4 refused: the route is not an address route this import can take over (no address)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_fwtv2jhu3mb3eg2g5imjyhcptq refused: the route is not an address route this import can take over (provisioned)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_osqbuwxcywvzizea7jhvndqjfm refused: the route is not an address route this import can take over (kind static)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_khfqc7giaqshutqwt25kkgxnta refused: the route is not an address route this import can take over (backing)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_m7nli6ez5prhfwcybj5hwrhfpi refused: the route is not an address route this import can take over (tunnel)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_jkwxssmivgaogbyxo5772dj4ce refused: the route is not an address route this import can take over (caps)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_56643pusxvx55j4ib774lpv7re refused: the route is not an address route this import can take over (platform)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_sfpxdxk44rpawfcswb6bt5cfg4 refused: the route is not an address route this import can take over (canary)
2026/10/20 17:39:38 provision: a.shop.example.com: import sd_6hmmhwsi5eoqposqrgywn377ii refused: the route is not an address route this import can take over (kind sidecar)
2026/10/20 17:39:39 provision: a.shop.example.com: import sd_4c5ocyhi7ol3vhkt2ksx5densq refused: the route is not an address route this import can take over (region)
2026/10/20 17:39:39 provision: a.shop.example.com: import sd_vqnqqzjz6xkzhgshrtqtajwe6m refused: the route is not an address route this import can take over (fleet_box)
2026/10/20 17:39:39 provision: a.shop.example.com: import sd_5i7y2gpcn56entuazxc4fpe6gi refused: the route is not an address route this import can take over (hibernate)
2026/10/20 17:39:39 provision: a.shop.example.com: import sd_kmqtitzw3kjhzcoxykquhw62gi refused: the route is not an address route this import can take over (claim_owner)
2026/10/20 17:39:39 provision: a.shop.example.com: import sd_2rls5g4bl6y4nrhw6dynqetu24 refused: this box does not run instances nested
2026/10/20 17:39:39 provision: a.shop.example.com: import sd_fnt4wyfz3u3hc6gw6fxxlqwf7u refused: this box does not run instances nested
2026/10/20 17:39:39 provision: a.shop.example.com: import sd_addh2657dvpvwsie76toktijp4 refused: claim control is on for this box
2026/10/20 17:39:39 provision: a.shop.example.com: swapped for import sd_ljynzwteiiwlxqtzykoru5ksva (the original route is journaled)
2026/10/20 17:39:39 provision: a.shop.example.com: swapped for import sd_fvze7tugnwadar3c2pz4oognpe (the original route is journaled)
2026/10/20 17:39:39 provision: a.shop.example.com: import deferred: this box cannot read the legacy route assignments
2026/10/20 17:39:39 provision: a.shop.example.com: import deferred: the legacy route assignments could not be read: store down
2026/10/20 17:39:39 provision: a.shop.example.com: not swapping for import sd_k62bmo6hl72p4g2x625ybqsoji: its verify hash is not a sha256
2026/10/20 17:39:39 provision: a.shop.example.com: not swapping for import sd_ozxf322jmjxlik3hdk4ublez3i: its verify hash is not a sha256
2026/10/20 17:39:39 provision: a.shop.example.com: not swapping for import sd_hvukgvaslnp7fgsh4klmzqtjbq: its verify hash is not a sha256
2026/10/20 17:39:39 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/20 17:39:39 provision: A.shop.example.com/..: not swapping for import sd_grfpn6apchtlfiygaibsy3fbr4: its host or seed id is malformed (seeds: not a host)
2026/10/20 17:39:39 provision: a.shop.example.com: not swapping for import sd_6jvuwsrxdcyswy2yt2rr33q75q: its record does not describe a nested, hibernating instance
2026/10/20 17:39:39 provision: a.shop.example.com: not swapping for import sd_ieqdl7io5rnpsukdjapwrkpjfq: its record does not describe a nested, hibernating instance
2026/10/20 17:39:39 provision: a.shop.example.com: not swapping for import sd_ftagbyiibgjtwycfmujmzvr2ma: its record does not describe a nested, hibernating instance
2026/10/20 17:39:39 provision: a.shop.example.com: not swapping for import sd_4h3m27y7eckk6lnxnpgmnzbx2m: its record does not describe a nested, hibernating instance
2026/10/20 17:39:39 provision: a.shop.example.com: import deferred: the box's layout intent could not be read: store down
2026/10/20 17:39:39 provision: a.shop.example.com: swapped for import sd_cwnobhjboe57hekz2ngmj4hjrm (the original route is journaled)
2026/10/20 17:39:39 provision: a.shop.example.com: import deferred: the box's nested probe did not answer: ready probe timed out
2026/10/20 17:39:39 provision: a.shop.example.com: swapped for import sd_hrmu2oopjecqxvimy5vhdvpxoq (the original route is journaled)
2026/10/20 17:39:39 provision: a.shop.example.com: swapped for import sd_5cvnwmm7m2wmcbqqriwxbtt7qy (the original route is journaled)
2026/10/20 17:39:39 provision: a.shop.example.com: import deferred: the route is held by operation op_1
2026/10/20 17:39:39 provision: dry-run: would consider swapping a.shop.example.com for import sd_n7mnphulnvtvdtgxt3qhew7iry
2026/10/20 17:39:39 provision: a.shop.example.com: import sd_nsmtq4c2cl6ae3pavsz6o2d66u rolled back to its original route
2026/10/20 17:39:39 provision: a.shop.example.com: import sd_nsmtq4c2cl6ae3pavsz6o2d66u: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/20 17:39:39 provision: a.shop.example.com: import sd_nsmtq4c2cl6ae3pavsz6o2d66u is cleaned up and its journal row retired
2026/10/20 17:39:39 provision: a.shop.example.com: import sd_3fjpwai5hlha42i57wsftlx6mi left alone: the import journal holds seed sd_tlupiv6hjuorhqihz6knl4gh3e at swapped
2026/10/20 17:39:39 provision: a.shop.example.com: not minting import sd_5fjlnbyfgk4slbfvasa2lqz2pq: it is swapped but not committed, and only its swap makes its row
2026/10/20 17:39:39 provision: a.shop.example.com: not minting import sd_kmhmetqtiq5exopijqk24ez4fm: it is placed but not committed, and only its swap makes its row
2026/10/20 17:39:39 provision: a.shop.example.com: swapped for import sd_yvlfz5woyezu25hjnotyz2tfja (the original route is journaled)
2026/10/20 17:39:39 provision: a.shop.example.com: not minting import sd_yvlfz5woyezu25hjnotyz2tfja: it is swapped but not committed, and only its swap makes its row
2026/10/20 17:39:39 provision: a.shop.example.com: not minting import sd_yvlfz5woyezu25hjnotyz2tfja: it is placed but not committed, and only its swap makes its row
2026/10/20 17:39:39 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/20 17:39:39 provision: removed retired sidecar route gone.eleven.bac.sidecar.internal (record gone)
2026/10/20 17:39:39 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 17:39:39 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 17:39:39 provision: converged sidecar bot.eleven.bac.sidecar.internal args ["sidecar","run"] -> ["worker","run"]
2026/10/20 17:39:39 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 17:39:39 provision: converged sidecar bot.eleven.bac.sidecar.internal ceilings 300/3600 -> 60/120
2026/10/20 17:39:39 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 17:39:39 provision: converged sidecar bot.eleven.bac.sidecar.internal channel stable -> canary/eleven
2026/10/20 17:39:39 provision: converged sidecar bot.eleven.bac.sidecar.internal environment "other" -> "relay"
2026/10/20 17:39:39 provision: converged sidecar bot.eleven.bac.sidecar.internal hibernate true -> false
2026/10/20 17:39:39 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: read failed: failStore: reads disabled under apps/bac/eleven/sidecars/
2026/10/20 17:39:39 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: malformed: invalid character 'n' looking for beginning of object key string
2026/10/20 17:39:39 provision: not removing sidecar bot.eleven.bac.sidecar.internal: its record exists but could not be read cleanly this pass
2026/10/20 17:39:39 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: empty channel
2026/10/20 17:39:39 provision: skipping sidecar record apps/bac/eleven/sidecars/held.json: empty channel
2026/10/20 17:39:39 provision: not removing sidecar held.eleven.bac.sidecar.internal: its record exists but could not be read cleanly this pass
2026/10/20 17:39:39 provision: removed retired sidecar route old.eleven.bac.sidecar.internal (record gone)
2026/10/20 17:39:39 provision: bac/eleven has sidecar records but no sidecars manifest — not minting
2026/10/20 17:39:39 provision: bac/eleven is in the trash — not minting sidecar routes for it
2026/10/20 17:39:39 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/20 17:39:39 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/20 17:39:39 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 17:39:39 provision: minted sidecar route hub.relay.bac.sidecar.internal (app "relay" acct "bac" args ["relay"])
2026/10/20 17:39:39 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/20 17:39:39 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 17:39:39 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/20 17:39:39 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 17:39:39 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 17:39:39 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/20 17:39:39 provision: removed retired sidecar route bot.eleven.bac.sidecar.internal (record gone)
2026/10/20 17:39:39 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 17:39:39 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/20 17:39:39 provision: skipping sidecar record apps/bac/relay/sidecars/hub.json: read failed: failStore: reads disabled under apps/bac/relay/sidecars/
2026/10/20 17:39:39 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/20 17:39:39 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 17:39:39 provision: dry-run: would mint sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" channel "stable" args ["sidecar","run"])
2026/10/20 17:39:39 provision: dry-run: would remove retired sidecar route gone.eleven.bac.sidecar.internal (record gone)
2026/10/20 17:39:39 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/20 17:39:39 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:39 provision: converged acme.go.tito.io update settings "{\"updates\":\"manual\",\"channel\":\"stable\"}" -> ""
2026/10/20 17:39:39 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:39 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:39 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/20 17:39:39 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/20 17:39:39 provision: acme.go.tito.io: not minted this pass: the app's update policy could not be read
2026/10/20 17:39:39 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 17:39:39 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/20 17:39:39 provision: acme.go.tito.io: not minted this pass: the app's update policy could not be read
2026/10/20 17:39:39 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
FAIL
FAIL	github.com/carlosframework/platform/internal/provision	18.388s
ok  	github.com/carlosframework/platform/internal/publicrelease	0.009s
?   	github.com/carlosframework/platform/internal/regionname	[no test files]
ok  	github.com/carlosframework/platform/internal/registry	5.445s
ok  	github.com/carlosframework/platform/internal/relay	7.232s
ok  	github.com/carlosframework/platform/internal/release	24.418s
ok  	github.com/carlosframework/platform/internal/rollout	3.686s
ok  	github.com/carlosframework/platform/internal/rolloutwords	0.004s
ok  	github.com/carlosframework/platform/internal/rootaws	0.009s
ok  	github.com/carlosframework/platform/internal/rootparticipation	0.064s
ok  	github.com/carlosframework/platform/internal/rootstate	0.028s
ok  	github.com/carlosframework/platform/internal/runs	0.567s
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.561s
ok  	github.com/carlosframework/platform/internal/seeds	0.014s
ok  	github.com/carlosframework/platform/internal/sim/hostlife	9.353s
ok  	github.com/carlosframework/platform/internal/sim/litestreamfacts	4.262s
ok  	github.com/carlosframework/platform/internal/status	0.064s
ok  	github.com/carlosframework/platform/internal/steering	0.006s
ok  	github.com/carlosframework/platform/internal/stopevidence	0.164s
ok  	github.com/carlosframework/platform/internal/svcrole	0.002s
ok  	github.com/carlosframework/platform/internal/telemetry	0.004s
ok  	github.com/carlosframework/platform/internal/termfence	0.004s
ok  	github.com/carlosframework/platform/internal/tunnelclient	0.006s
ok  	github.com/carlosframework/platform/internal/unixdial	0.003s
ok  	github.com/carlosframework/platform/internal/updatewords	0.007s
ok  	github.com/carlosframework/platform/internal/usage	0.006s
ok  	github.com/carlosframework/platform/internal/version	0.002s
ok  	github.com/carlosframework/platform/internal/vet	1.562s
FAIL
make: *** [Makefile:18: 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/harness/RUNLOG.md b/harness/RUNLOG.md
index f0d211c5e..3a38ce9f6 100644
--- a/harness/RUNLOG.md
+++ b/harness/RUNLOG.md
@@ -1779,7 +1779,9 @@ offline by then.
`probe/0456deb532974a46.txt` (`... region uk at 2026-10-20T17:26:36Z`) with the store user; `has_secret true`.
- **Timers:** both rows carried; `carlos schedule ls`: `moveapp.dev.harness.test (box dennis) every-minute ... → 200`.
The ticks due while the instance was offline (17:21-17:26Z) did not fire (refused `maintenance fence active`, then
- gone with the row), as the plan's Risks say. once-1: see below.
+ gone with the row), as the plan's Risks say. **once-1**, armed through the app on sophie (due 17:37:43Z), fired on
+ dennis at its due time: `/report` `once` row in region `uk`, `fired once-1 due_at 1792517863 count 1`, timer
+ `last_status 200` (read 17:38:37Z).
- **Source parked, never deleted:** `/data/.offline-moves/moveapp.dev.harness.test/mv_twameyccfp7ryimabnjg32ltla/`
`sealer/`, `source/instance/`, `source/moveapp.dev.harness.test.json`; the parked report leaves
`/data/instances/<host>` (the mount view), `/data/.instances/<host>` (empty) and `/opt/carlos/live/<host>`
@@ -1836,6 +1838,29 @@ had extracted under `/data/.offline-moves/rollbackapp.dev.harness.test/mv_kai2mu
(`<host>/instance.key`, `<host>.env`, `<host>.config.env`); the record is back in home (`region` absent), `move` null,
`last_move {"outcome":"aborted","offline_s":20.9}`.
+## Run 9 summary
+
+| part | result |
+|---|---|
+| (a) signing session, C2 first | PASS |
+| (b) leo by the ruled re-arm | PASS (carlos.prev = dev's v0.28.4 stand-in) |
+| (c) dennis by its own `system update` | PASS |
+| (d) sophie's router by the re-arm (canary) | PASS |
+| (e) sophie's guarded console by `install-console` | **FAIL** (defect 5); E1 (slots moved aside, then install-console) runs it |
+| (f) the dev check | PASS on the console box; the pinned leo check differs from the README on dev too (R9-1) |
+| normal road (v0.28.7 = v0.28.5+harness-1) | PASS, no hand step |
+| B1 flagship-shaped apps | PASS (H17 secrets key, H18 store binding as settings; finding 6) |
+| B2 pre-checks, R3, capability | PASS |
+| B2/B3 the move and its checks | PASS (366 s offline, about 23 s of steps; finding 7, defect 8) |
+| B4 post-open nesting | flat after the first request; the layout pass defers an awake instance up to 1 h (M3) |
+| B5 abort after flip | PASS (23 s offline, nothing lost) |
+
+Defects and findings: 5 (`install-console` cannot replace an installed console), 6 (config sync never retries a
+missing nested dir), 7 (doors' 2-minute freshness vs the 5-minute moves pass; MV-O31 wording for a stale report),
+8 (the source's scheduler re-creates the parked env after open). Harness additions this run: H13b (test CA in each
+box's trust store), H17 (secrets key), H18 (store binding as settings); the tag stamp v0.28.6 for v0.28.5. Logs:
+`harness/evidence/run9/`.
+
## Run 9 corrections
### To `claim-dev-cohort1-runbook` (the roll) and the README
diff --git a/harness/evidence/run9/a-release.log b/harness/evidence/run9/a-release.log
new file mode 100644
index 000000000..95cc458e7
--- /dev/null
+++ b/harness/evidence/run9/a-release.log
@@ -0,0 +1,88 @@
+[hssm] i-06a1ec144aa5226fb 26a4aa9f-4c32-4566-8375-5c74ddb5bff2 Success exit=0
+== release-window v0.28.6 (16:13:09.324Z)
+== release v0.28.6
+9c662e4d685a1c73941a58ce74d8b14638d309de3d1915151df511874de085a1 carlos-linux-arm64
+916ef04a2856fb4b4f890128f764946da0d6ebdd80bcf0ae6ec83b1b8c6ef205 carlos_0.28.6_amd64.deb
+c6256b142e0e2c086f9fcd3ea627c3db6b4439dfc7677ea0103106f61f716f09 carlos_0.28.6_arm64.deb
+f15ba662887667e9fd5fb1ee0be754871ffc1746fcb56a0c06e1c058c7ee84a2 SHA256SUMS.txt
+388a431e808e615b19e166ae3544aa7a4d579a9a71b6bd8146e9ec77cc966cf6 SHA256SUMS.txt.sig
+dd24213dff7b8bd5df575ccaee253df866ecefb613301fb6abc57752523ba159 console-linux-arm64
+verify sums: Signature Verified Successfully
+operator CLI: carlos v0.28.6
+harness info: harness build: yes endpoint: http://203.0.113.10:9000 sums key: mAnSlX23... sha256:85f6f13cb78c
+== 1a/1e
+CHANNEL VERSION PROMOTED TAG DIGESTS
+canary/console 1b635e61 2026-10-20T01:12:48Z yes
+pointer digests: on for bab since 2026-10-20T01:12:47Z
+every channel's pointer carries digests: CARLOS_REQUIRE_POINTER_DIGEST can be turned on
+== 2
+dd24213dff7b8bd5df575ccaee253df866ecefb613301fb6abc57752523ba159 /home/operator/release-v0.28.6/console-linux-arm64
+0
+== 4
+shipped console 54ae7fb9 (1 artifacts)
+promoted console 54ae7fb9 -> canary/console
+CHANNEL VERSION PROMOTED TAG DIGESTS
+canary/console 54ae7fb9 2026-10-20T16:13:15Z yes
+== session open (16:13:15.828Z)
+run-id cohort1-20261020T161315Z
+2026-10-20 16:13:17 265 SHA256SUMS.txt
+2026-10-20 16:13:17 89 SHA256SUMS.txt.sig
+2026-10-20 16:13:18 49610914 carlos-linux-arm64
+2026-10-20 16:13:22 203 console.json
+2026-10-20 16:13:19 37 floor.json
+2026-10-20 16:13:21 244 leo.json
+2026-10-20 16:13:20 191 regions.json
+2026-10-20 16:13:16 45 release.pub
+2026-10-20 16:13:23 1795 signer-helpers.sh
+2026-10-20 16:13:22 240 sophie.json
+Success /usr/local/bin/carlos: OK
+carlos v0.28.6
+jq-1.7
+/usr/bin/jq
+SHA256SUMS.txt: OK
+SHA256SUMS.txt.sig: OK
+helpers.sh: OK
+release.pub: OK
+swap devices: 0
+/run: tmpfs
+session-start 2026-10-20T16:13:34Z
+root 600 1 45
+ 2026/10/20 16:13:26 ALERT: root AWS file, profile, endpoint and trust-store environment overrides ignored
+
+== publish-identity v0.28.6, console 54ae7fb9 (16:13:37.979Z)
+Success "writes": [
+ "key": "control/system/router/releases/v0.28.6.json",
+ "before_etag": "",
+ "key": "bootstrap/console/v0.28.6/carlos-linux-arm64",
+ "key": "bootstrap/router/v0.28.6/carlos-linux-arm64",
+ "key": "bootstrap/console/v0.28.6/carlos-linux-arm64",
+ "key": "bootstrap/router/v0.28.6/carlos-linux-arm64",
+publish-identity writes: [{"key":"control/system/router/releases/v0.28.6.json","before_etag":"","sha256":"b67dffa353f2bc2699f3b8a849017d8d77ce0aa631ec03dea76b6150af329c97","payload":{"schema":1,"component":"router","channel":"stable","current":{"console_artifacts":{"linux-arm64":{"key":"bootstrap/console/v0.28.6/carlos-linux-arm64","sha256":"dd24213dff7b8bd5df575ccaee253df866ecefb613301fb6abc57752523ba159"}},"release_tag":"v0.28.6","moves_protocol":1,"version":"v0.28.6","artifacts":{"linux-arm64":{"key":"bootstrap/router/v0.28.6/carlos-linux-arm64","sha256":"9c662e4d685a1c73941a58ce74d8b14638d309de3d1915151df511874de085a1"}},"source":"release:v0.28.6","released_at":"0001-01-01T00:00:00Z"},"spread":"0s","promoted_at":"2026-10-20T16:13:39Z"}}]
+{
+ "identity_key": "control/system/router/releases/v0.28.6.json",
+ "release": {
+ "console_artifacts": {
+ "linux-arm64": {
+ "key": "bootstrap/console/v0.28.6/carlos-linux-arm64",
+ "sha256": "dd24213dff7b8bd5df575ccaee253df866ecefb613301fb6abc57752523ba159"
+ }
+ },
+ "release_tag": "v0.28.6",
+ "moves_protocol": 1,
+ "version": "v0.28.6",
+ "artifacts": {
+ "linux-arm64": {
+ "key": "bootstrap/router/v0.28.6/carlos-linux-arm64",
+ "sha256": "9c662e4d685a1c73941a58ce74d8b14638d309de3d1915151df511874de085a1"
+ }
+ },
+ "source": "release:v0.28.6",
+ "released_at": "0001-01-01T00:00:00Z"
+ }
+}
+b67dffa353f2bc26
+REV=9
+
+identity file = published object
+identity router 9c662e4d685a1c73941a58ce74d8b14638d309de3d1915151df511874de085a1 console dd24213dff7b8bd5df575ccaee253df866ecefb613301fb6abc57752523ba159
+== done (16:13:46.500Z)
diff --git a/harness/evidence/run9/abort.log b/harness/evidence/run9/abort.log
new file mode 100644
index 000000000..8ca814761
--- /dev/null
+++ b/harness/evidence/run9/abort.log
@@ -0,0 +1,298 @@
+== before (17:32:47.455Z)
+{
+ "host": "rollbackapp.dev.harness.test",
+ "region": "home",
+ "region_from": "unset, treated as home",
+ "mode": "normal",
+ "boot_id": "cf4343dfe1102416",
+ "rows": [
+ {
+ "kind": "bg",
+ "region": "home",
+ "count": 2689,
+ "min_seq": 1,
+ "max_seq": 2689
+ },
+ {
+ "kind": "tick",
+ "region": "home",
+ "count": 15,
+ "min_seq": 0,
+ "max_seq": 0
+ },
+ {
+ "kind": "worker",
+ "region": "home",
+ "count": 1351,
+ "min_seq": 1,
+ "max_seq": 1351
+ }
+ ],
+ "fired": [
+ {
+ "kind": "tick",
+ "name": "every-minute",
+ "due_at": 1792515720,
+ "count": 1
+ },
+ {
+ "kind": "tick",
+ "name": "every-minute",
+ "due_at": 1792515960,
+ "count": 1
+ },
+ {
+ "kind": "tick",
+ "name": "every-minute",
+ "due_at": 1792516620,
+ "count": 1
+ },
+ {
+ "kind":
+-- sophie
+ env file: /data/instances/rollbackapp.dev.harness.test/rollbackapp.dev.harness.test.env 165773dfc77c9e4b key-sha eb5cb3433bc745c9
+ config.env /data/instances/rollbackapp.dev.harness.test/rollbackapp.dev.harness.test.config.env: HARNESS_NOTE MOVEPROBE_ACCESS_KEY MOVEPROBE_BUCKET MOVEPROBE_ENDPOINT MOVEPROBE_REGION MOVEPROBE_SECRET MOVEPROBE_SECRET_KEY
+ files: /data/instances/rollbackapp.dev.harness.test/rollbackapp.dev.harness.test/instance.key sha 2167c1ddea3bebc4
+ instance dir: launch.run.json rollbackapp.dev.harness.test rollbackapp.dev.harness.test.config.env rollbackapp.dev.harness.test.db rollbackapp.dev.harness.test.db-shm rollbackapp.dev.harness.test.db-wal rollbackapp.dev.harness.test.env
+ row: [('ready', '', '', '/data/instances/rollbackapp.dev.harness.test/rollbackapp.dev.harness.test.db', 0, '')]
+ timers: [('rollbackapp.dev.harness.test', 'every-minute', 'schedule', 'every 1m', '/tick', 1792517580, 1792517524, '200', 9, 0, 1792515084, 1792517580, '911c847a6d6526854f7ae55149f9c15d', '', 0, '', ''), ('rollbackapp.dev.harness.test', 'once-1', 'once', 'at 1792518585', '/once', 1792518585, 0, '', 0, 0, 1792515885, 1792518585, '7b5afad12926c790702596516b036773', '', 0, '', '')]
+-- dennis
+ env file: absent key-sha
+
+ row: []
+ timers: []
+-- leo
+ env file: absent key-sha
+
+ row: []
+ timers: []
+ harness-data-ie instances/rollbackapp.dev.harness.test/lock.json: {"owner":"sophie:230","expires":null}
+ harness-data-uk instances/rollbackapp.dev.harness.test/lock.json: absent
+== start (17:32:49.695Z)
+Moving rollbackapp.dev.harness.test from ie to uk.
+rollbackapp.dev.harness.test is offline from now until the move opens or is aborted.
+Waiting for ada-letterpress in ie to confirm it has stopped rollbackapp.dev.harness.test. rollbackapp.dev.harness.test is offline.
+Every box in ie has stopped rollbackapp.dev.harness.test. Run carlos move offline seal --host rollbackapp.dev.harness.test to copy it.
+start exit=0 at 17:32:51.842Z
+Moving rollbackapp.dev.harness.test from ie to uk.
+Every box in ie has stopped rollbackapp.dev.harness.test. Run carlos move offline seal --host rollbackapp.dev.harness.test to copy it.
+Item db is waiting.
+Item db-tail is waiting.
+Item build-state is waiting.
+Item lease is waiting.
+Item files is waiting.
+Item env is waiting.
+Item key-adoption is waiting.
+Item config is waiting.
+Item env-pin is waiting.
+Item release is waiting.
+Item store is unchecked.
+Item timers is waiting.
+Item next-due is waiting.
+Item replication is waiting.
+Item row is waiting.
+Item routing is unchecked.
+Item source-retire is unchecked.
+Item sidecar is waiting.
+Item restore-verify is unchecked.
+Item warm-cache is waiting.
+Item receipts is unchecked.
+Item class is ok.
+ada-letterpress is stopped as the source.
+kathleen-juggling is stopped as the source.
+status exit=0
+== seal (17:32:51.939Z)
+Copying rollbackapp.dev.harness.test to uk.
+Copied and checked. Run carlos move offline flip --host rollbackapp.dev.harness.test to start it in uk.
+seal exit=0 at 17:32:58.087Z took 6.1s
+Moving rollbackapp.dev.harness.test from ie to uk.
+Copied and checked. Run carlos move offline flip --host rollbackapp.dev.harness.test to start it in uk.
+Item db is waiting.
+Item db-tail is ok: every source box is at or below TXID 105.
+Item build-state is ok: the request record is in the build state the replica prefix carries.
+Item lease is waiting.
+Item files is waiting.
+Item env is waiting.
+Item key-adoption is waiting.
+Item config is waiting.
+Item env-pin is waiting.
+Item release is waiting.
+Item store is unchecked.
+Item timers is waiting.
+Item next-due is waiting.
+Item replication is waiting.
+Item row is waiting.
+Item routing is unchecked.
+Item source-retire is unchecked.
+Item sidecar is ok: no source box keeps a sidecar file.
+Item restore-verify is unchecked.
+Item warm-cache is waiting.
+Item receipts is unchecked.
+Item class is ok.
+ada-letterpress is sealed as the sealer.
+ada-letterpress is stopped as the source.
+kathleen-juggling is stopped as the source.
+ harness-data-ie instances/rollbackapp.dev.harness.test/lock.json: {"owner":"moved:mv_kai2mu6xs376umepnqhhvykfuu","expires":null}
+ harness-data-uk instances/rollbackapp.dev.harness.test/lock.json: absent
+== process check before flip: carlos logs 'instance exited', worker gone (17:32:59.695Z)
+2026-10-20 17:32:50 [platform] rollbackapp.dev.harness.test instance stopping
+2026-10-20 17:32:50 [platform] rollbackapp.dev.harness.test instance exited (exit 0)
+sophie processes in carlos-instances-rollbackapp.dev.harness.test.slice: 0 (17:32:59.876Z)
+== flip (17:32:59.877Z)
+ try 1 17:33:06.014Z exit=0: uk holds everything rollbackapp.dev.harness.test needs. Nothing is served yet. Run carlos move offline open --host rollbackapp.dev.harness.test to serve it from uk.
+Stopped in ie. Starting in uk.
+uk holds everything rollbackapp.dev.harness.test needs. Nothing is served yet. Run carlos move offline open --host rollbackapp.dev.harness.test to serve it from uk.
+flip exit=0 at 17:33:06.019Z took 6.1s
+Moving rollbackapp.dev.harness.test from ie to uk.
+uk holds everything rollbackapp.dev.harness.test needs. Nothing is served yet. Run carlos move offline open --host rollbackapp.dev.harness.test to serve it from uk.
+Item db is ok.
+Item db-tail is ok: every source box is at or below TXID 105.
+Item build-state is ok: the request record is in the build state the replica prefix carries.
+Item lease is ok.
+Item files is ok.
+Item env is ok.
+Item key-adoption is ok.
+Item config is ok.
+Item env-pin is ok.
+Item release is ok.
+Item store is unchecked.
+Item timers is ok.
+Item next-due is ok.
+Item replication is ok.
+Item row is ok.
+Item routing is unchecked.
+Item source-retire is unchecked.
+Item sidecar is ok: no source box keeps a sidecar file.
+Item restore-verify is unchecked.
+Item warm-cache is ok.
+Item receipts is unchecked.
+Item class is ok.
+ada-letterpress is sealed as the sealer.
+ada-letterpress is stopped as the source.
+kathleen-juggling is stopped as the source.
+noor-marquetry is landed as the target.
+-- sophie
+ env file: /data/instances/rollbackapp.dev.harness.test/rollbackapp.dev.harness.test.env 165773dfc77c9e4b key-sha eb5cb3433bc745c9
+ config.env /data/instances/rollbackapp.dev.harness.test/rollbackapp.dev.harness.test.config.env: HARNESS_NOTE MOVEPROBE_ACCESS_KEY MOVEPROBE_BUCKET MOVEPROBE_ENDPOINT MOVEPROBE_REGION MOVEPROBE_SECRET MOVEPROBE_SECRET_KEY
+ files: /data/instances/rollbackapp.dev.harness.test/rollbackapp.dev.harness.test/instance.key sha 2167c1ddea3bebc4
+ instance dir: launch.run.json rollbackapp.dev.harness.test rollbackapp.dev.harness.test.config.env rollbackapp.dev.harness.test.db rollbackapp.dev.harness.test.db-shm rollbackapp.dev.harness.test.db-wal rollbackapp.dev.harness.test.env
+ row: [('moving', '', '', '/data/instances/rollbackapp.dev.harness.test/rollbackapp.dev.harness.test.db', 0, '')]
+ timers: [('rollbackapp.dev.harness.test', 'every-minute', 'schedule', 'every 1m', '/tick', 1792517640, 1792517584, 'no instance token: activator: maintenance fence active', 0, 1, 1792515084, 1792517580, '911c847a6d6526854f7ae55149f9c15d', '', 0, '', ''), ('rollbackapp.dev.harness.test', 'once-1', 'once', 'at 1792518585', '/once', 1792518585, 0, '', 0, 0, 1792515885, 1792518585, '7b5afad12926c790702596516b036773', '', 0, '', '')]
+ parked: /data/.offline-moves/rollbackapp.dev.harness.test/mv_kai2mu6xs376umepnqhhvykfuu/sealer
+-- dennis
+ env file: /data/rollbackapp.dev.harness.test.env 165773dfc77c9e4b key-sha eb5cb3433bc745c9
+ config.env /data/rollbackapp.dev.harness.test.config.env: HARNESS_NOTE MOVEPROBE_ACCESS_KEY MOVEPROBE_BUCKET MOVEPROBE_ENDPOINT MOVEPROBE_REGION MOVEPROBE_SECRET MOVEPROBE_SECRET_KEY
+ files: /data/rollbackapp.dev.harness.test/instance.key sha 2167c1ddea3bebc4
+
+ row: [('landing', '', 'uk', '/data/rollbackapp.dev.harness.test.db', 0, '')]
+ timers: [('rollbackapp.dev.harness.test', 'every-minute', 'schedule', 'every 1m', '/tick', 1792517580, 1792517524, '200', 9, 0, 1792515084, 1792517580, '911c847a6d6526854f7ae55149f9c15d', '', 0, '', ''), ('rollbackapp.dev.harness.test', 'once-1', 'once', 'at 1792518585', '/once', 1792518585, 0, '', 0, 0, 1792515885, 1792518585, '7b5afad12926c790702596516b036773', '', 0, '', '')]
+== abort (17:33:06.382Z)
+ try 1 17:33:10.505Z exit=3: Every box has put rollbackapp.dev.harness.test back in ie. Run carlos move offline finish --host rollbackapp.dev.harness.test to end the move.
+Moving rollbackapp.dev.harness.test back to ie.
+Waiting for ada-letterpress to clean up rollbackapp.dev.harness.test.
+Every box has put rollbackapp.dev.harness.test back in ie. Run carlos move offline finish --host rollbackapp.dev.harness.test to end the move.
+abort exit=3 at 17:33:10.509Z took 4.1s
+Moving rollbackapp.dev.harness.test from ie to uk.
+Moving rollbackapp.dev.harness.test back to ie.
+Every box has put rollbackapp.dev.harness.test back in ie. Run carlos move offline finish --host rollbackapp.dev.harness.test to end the move.
+Item db is waiting.
+Item db-tail is ok: every source box is at or below TXID 105.
+Item build-state is ok: the request record is in the build state the replica prefix carries.
+Item lease is waiting.
+Item files is waiting.
+Item env is waiting.
+Item key-adoption is waiting.
+Item config is waiting.
+Item env-pin is waiting.
+Item release is waiting.
+Item store is unchecked.
+Item timers is waiting.
+Item next-due is waiting.
+Item replication is waiting.
+Item row is waiting.
+Item routing is unchecked.
+Item source-retire is unchecked.
+Item sidecar is ok: no source box keeps a sidecar file.
+Item restore-verify is unchecked.
+Item warm-cache is waiting.
+Item receipts is unchecked.
+Item class is ok.
+ada-letterpress is reverted as the sealer.
+ada-letterpress is reverted as the source.
+kathleen-juggling is reverted as the source.
+noor-marquetry is reverted as the target.
+== finish (17:33:10.587Z)
+rollbackapp.dev.harness.test is back in ie and serving. Nothing was lost.
+finish exit=3 at 17:33:10.702Z
+Move mv_kai2mu6xs376umepnqhhvykfuu of rollbackapp.dev.harness.test is aborted.
+ harness-data-ie instances/rollbackapp.dev.harness.test/lock.json: {"owner":"moved:mv_kai2mu6xs376umepnqhhvykfuu","expires":null}
+ harness-data-uk instances/rollbackapp.dev.harness.test/lock.json: absent
+== source serves again (17:33:12.342Z)
+sophie /ready [200 0.435813s]
+{
+ "host": "rollbackapp.dev.harness.test",
+ "region": "home",
+ "region_from": "unset, treated as home",
+ "mode": "normal",
+ "boot_id": "a6f1b49d1c6b0487",
+ "rows": [
+ {
+ "kind": "bg",
+ "region": "home",
+ "count": 2695,
+ "min_seq": 1,
+ "max_seq": 2695
+ },
+ {
+ "kind": "tick",
+ "region": "home",
+ "count": 15,
+ "min_seq": 0,
+ "max_seq": 0
+ },
+ {
+ "kind": "worker",
+ "region": "home",
+ "count": 1355,
+ "min_seq": 1,
+ "max_seq": 1355
+ }
+ ],
+ "fired": [
+ {
+ "kind": "tick",
+ "name": "every-minute",
+ "due_at": 1792515720,
+ "count": 1
+ },
+ {
+ "kind": "tick",
+ "name": "every-minute",
+ "due_at": 1792515960,
+ "count": 1
+ },
+ {
+ "kind": "tick",
+ "name": "every-minute",
+ "due_at": 1792516620,
+ "count": 1
+ },
+ {
+ "kind":
+back at 17:33:12.979Z, offline 23.3s
+-- sophie
+ env file: /data/instances/rollbackapp.dev.harness.test/rollbackapp.dev.harness.test.env 165773dfc77c9e4b key-sha eb5cb3433bc745c9
+ config.env /data/instances/rollbackapp.dev.harness.test/rollbackapp.dev.harness.test.config.env: HARNESS_NOTE MOVEPROBE_ACCESS_KEY MOVEPROBE_BUCKET MOVEPROBE_ENDPOINT MOVEPROBE_REGION MOVEPROBE_SECRET MOVEPROBE_SECRET_KEY
+ files: /data/instances/rollbackapp.dev.harness.test/rollbackapp.dev.harness.test/instance.key sha 2167c1ddea3bebc4
+ instance dir: launch.run.json rollbackapp.dev.harness.test rollbackapp.dev.harness.test.config.env rollbackapp.dev.harness.test.db rollbackapp.dev.harness.test.db-shm rollbackapp.dev.harness.test.db-wal rollbackapp.dev.harness.test.env
+ row: [('ready', '', '', '/data/instances/rollbackapp.dev.harness.test/rollbackapp.dev.harness.test.db', 0, '')]
+ timers: [('rollbackapp.dev.harness.test', 'every-minute', 'schedule', 'every 1m', '/tick', 1792517640, 1792517584, 'no instance token: activator: maintenance fence active', 0, 1, 1792515084, 1792517580, '911c847a6d6526854f7ae55149f9c15d', '', 0, '', ''), ('rollbackapp.dev.harness.test', 'once-1', 'once', 'at 1792518585', '/once', 1792518585, 0, '', 0, 0, 1792515885, 1792518585, '7b5afad12926c790702596516b036773', '', 0, '', '')]
+ parked: /data/.offline-moves/rollbackapp.dev.harness.test/mv_kai2mu6xs376umepnqhhvykfuu/sealer
+-- dennis
+ env file: absent key-sha
+
+ row: []
+ timers: []
+ parked: /data/.offline-moves/rollbackapp.dev.harness.test/mv_kai2mu6xs376umepnqhhvykfuu/target
+[hssm] i-06a1ec144aa5226fb f07bb5ef-d78a-4411-82c1-8e1eb6bc956e Success exit=0
+exit=0
diff --git a/harness/evidence/run9/b-leo.log b/harness/evidence/run9/b-leo.log
new file mode 100644
index 000000000..2b18e40e4
--- /dev/null
+++ b/harness/evidence/run9/b-leo.log
@@ -0,0 +1,66 @@
+Running as unit: run-p448-i530689.service
+Finished with result: success
+Main processes terminated with: code=exited, status=0/SUCCESS
+Service runtime: 19.239s
+CPU time consumed: 1.568s
+Memory peak: 117.1M (swap: 0B)
+[hssm] i-06a1ec144aa5226fb 502f8691-f8e2-4360-a647-83623619c7d5 Success exit=0
+box reports fresh at 16:19:46
+SUMS_SHA=9c662e4d685a1c73941a58ce74d8b14638d309de3d1915151df511874de085a1 IDENT_SHA=9c662e4d685a1c73941a58ce74d8b14638d309de3d1915151df511874de085a1
+roster before: {"rev":9,"activations":[]}
+== leo before: carlos v0.28.5 / prev carlos v0.28.5
+== 1 stop the path on leo 16:19:47.831Z
+ActiveState=inactive
+== 2 promote router/stable 16:19:47.940Z
+promote v0.28.6 to router/stable — 2 box(es) will roll over 5m:
+ kathleen-juggling (linux-arm64, running v0.28.5)
+ noor-marquetry (linux-arm64, running v0.28.5)
+warning: v0.28.6 has not been on canary; promoting straight to stable
+ using uploaded v0.28.6 for linux-arm64
+ mirrored bootstrap/router/v0.28.6/carlos-linux-arm64
+ pointed router/stable at v0.28.6 (spread 5m0s)
+ serial bumped: boxes on stable start their spread
+promoted boxes on stable roll themselves; watch with: carlos system status --channel stable
+roster after promote: {"rev":10,"activations":["7762024dc81675d306d936c615bec328"]}
+== 3-7 on leo 16:19:49.186Z
+cache: fetched by the agent
+staged /root/carlos-v0.28.6 9c662e4d685a1c73941a58ce74d8b14638d309de3d1915151df511874de085a1 = signed sums = identity
+{
+ "version": "v0.28.6",
+ "channel": "stable",
+ "at": "2026-10-20T16:20:38.54891562Z"
+}
+
+{
+ "channel": "stable",
+ "version": "v0.28.6",
+ "promoted_at": "2026-10-20T16:19:48Z",
+ "outcome": "applied",
+ "at": "2026-10-20T16:20:38.552159138Z"
+}
+
+total 16
+drwxr-xr-x 2 root root 4096 Oct 20 16:20 .
+drwxr-xr-x 3 root root 4096 Oct 20 16:20 ..
+-rw-r--r-- 1 root root 1076 Oct 20 01:35 v0.28.5.json
+-rw-r--r-- 1 root root 1076 Oct 20 16:20 v0.28.6.json
+completed.json: 7762024dc81675d306d936c615bec328
+edge pid 661 exe = the release
+NRestarts=0
+ExecMainStartTimestamp=Tue 2026-10-20 16:20:21 UTC
+ActiveState=active
+carlos v0.28.6
+carlos v0.28.5
+ActiveState=active
+shredded /root/carlos-v0.28.6
+leo block exit=0 16:20:44.827Z
+== 6 operator-side evidence
+{"generated_at":"2026-10-20T16:21:22.107284503Z","release":"v0.28.6","binary":"9c662e4d685a1c73","activation_id":"7762024dc81675d306d936c615bec328","activation_complete":true}
+16:23:32 roster {"rev":11,"activations":[]}
+canary v0.28.5 promoted 2026-10-20T01:22:57Z spread 5m0s file
+stable v0.28.6 promoted 2026-10-20T16:19:48Z spread 5m0s file
+
+ada-letterpress linux-arm64 canary v0.28.5 current
+kathleen-juggling linux-arm64 stable v0.28.6 current
+noor-marquetry linux-arm64 stable v0.28.5 behind → v0.28.6
+exit=0
diff --git a/harness/evidence/run9/b1-setup.log b/harness/evidence/run9/b1-setup.log
new file mode 100644
index 000000000..235f4b40b
--- /dev/null
+++ b/harness/evidence/run9/b1-setup.log
@@ -0,0 +1,71 @@
+failed to run commands: exit status 28[hssm] i-06a1ec144aa5226fb 8ac0382e-4e6c-4e43-bc12-2a84f94c680e Failed exit=28
+== H17 secrets key (16:51:15.025Z)
+leo: 1 secrets lines before
+sophie: 2 secrets lines before
+dennis: 1 secrets lines before
+done.
+done.
+done.
+/etc/carlos/host.env 600 root:root
+active
+/etc/carlos/host.env 600 root:root
+active
+/etc/carlos/host.env 600 carlos:carlos
+active
+console active healthz 200
+pubkey fp: 6d7b3e95f3ce2e02
+== H18 MinIO stores (16:51:19.351Z)
+moveapp: bucket harness-store-moveapp user store-moveapp policy e01fcc9afef8
+rollbackapp: bucket harness-store-rollbackapp user store-rollbackapp policy b762231897d1
+== apps (16:51:20.116Z)
+6d331a2fab4d59b9ed241cca18e99bdcf010315dae3cc573639d8caaea5f7cfe /home/operator/r9/moveprobe
+using http://127.0.0.1:8090 as operator@keymail.dev
+created app moveapp in account bab — it's yours
+ open: http://127.0.0.1:8090/a/bab/apps/moveapp
+ ship: carlos ship --account bab --app moveapp ...
+using http://127.0.0.1:8090 as operator@keymail.dev
+shipped moveapp mp1
+using http://127.0.0.1:8090 as operator@keymail.dev
+promoted moveapp mp1 -> edge
+enabled instances for moveapp under dev.harness.test
+using http://127.0.0.1:8090 as operator@keymail.dev
+set 3 secret(s) for moveapp (default)
+using http://127.0.0.1:8090 as operator@keymail.dev
+set 4 env var(s) for moveapp (default)
+using http://127.0.0.1:8090 as operator@keymail.dev
+recorded every-minute for bab/moveapp — every 1m → POST /tick; first fire at 2026-10-20T16:52:00Z (UTC); boxes pick it up within seconds — `carlos schedule ls --app moveapp` shows each instance's next run
+using http://127.0.0.1:8090 as operator@keymail.dev
+created instance moveapp.dev.harness.test (channel edge, Ireland · Dublin)
+ the host comes live on the next reconcile pass on its box
+6d331a2fab4d59b9ed241cca18e99bdcf010315dae3cc573639d8caaea5f7cfe /home/operator/r9/moveprobe
+using http://127.0.0.1:8090 as operator@keymail.dev
+created app rollbackapp in account bab — it's yours
+ open: http://127.0.0.1:8090/a/bab/apps/rollbackapp
+ ship: carlos ship --account bab --app rollbackapp ...
+using http://127.0.0.1:8090 as operator@keymail.dev
+shipped rollbackapp mp1
+using http://127.0.0.1:8090 as operator@keymail.dev
+promoted rollbackapp mp1 -> edge
+enabled instances for rollbackapp under dev.harness.test
+using http://127.0.0.1:8090 as operator@keymail.dev
+set 3 secret(s) for rollbackapp (default)
+using http://127.0.0.1:8090 as operator@keymail.dev
+set 4 env var(s) for rollbackapp (default)
+using http://127.0.0.1:8090 as operator@keymail.dev
+recorded every-minute for bab/rollbackapp — every 1m → POST /tick; first fire at 2026-10-20T16:52:00Z (UTC); boxes pick it up within seconds — `carlos schedule ls --app rollbackapp` shows each instance's next run
+using http://127.0.0.1:8090 as operator@keymail.dev
+created instance rollbackapp.dev.harness.test (channel edge, Ireland · Dublin)
+ the host comes live on the next reconcile pass on its box
+== wake on sophie only (16:51:22.775Z)
+moveapp /ready 503
+moveapp /ready 200
+{"at":"2026-10-20T17:37:43Z","due_at":1792517863,"name":"once-1"}
+
+{"host":"moveapp.dev.harness.test","region":"home","rows":[{"kind":"bg","region":"home","count":61,"min_seq":1,"max_seq":61},{"kind":"worker","region":"home","count":31,"min_seq":1,"max_seq":31}],"fired":[],"file_key_sha256":"c5a85dd69ca8b542847bf5041652d3f86a8801db0782680686d1b0919c447874","platform_key_sha256":"067b3156a105cea185a9c20f507f92dac33d22ea774b10f1238ed2985178fc84","object":"probe/d4ea845a76a4c010.txt","has_secret":true,"worker_writes_committed":1}
+rollbackapp /ready 503
+rollbackapp /ready 503
+rollbackapp /ready 503
+rollbackapp /ready 503
+rollbackapp /ready 503
+rollbackapp /ready 503
+exit=1
diff --git a/harness/evidence/run9/c-dennis.log b/harness/evidence/run9/c-dennis.log
new file mode 100644
index 000000000..a3f5f6efe
--- /dev/null
+++ b/harness/evidence/run9/c-dennis.log
@@ -0,0 +1,22 @@
+[hssm] i-06a1ec144aa5226fb b9ef9e41-9ee3-4457-895d-8c18b8f99a32 Success exit=0
+16:24:51
+noor-marquetry linux-arm64 stable v0.28.6 current
+carlos v0.28.6
+carlos v0.28.5
+{
+ "channel": "stable",
+ "version": "v0.28.6",
+ "promoted_at": "2026-10-20T16:19:48Z",
+ "outcome": "applied",
+ "at": "2026-10-20T16:23:57.96423205Z"
+}
+
+Oct 20 16:23:40 dennis systemd[1]: Starting carlos-system-update.service - carlos platform self-update (root apply)...
+Oct 20 16:23:58 dennis systemd[1]: carlos-system-update.service: Deactivated successfully.
+Oct 20 16:23:58 dennis systemd[1]: Finished carlos-system-update.service - carlos platform self-update (root apply).
+Oct 20 16:23:58 dennis systemd[1]: carlos-system-update.service: Consumed 557ms CPU time, 115.3M memory peak.
+NRestarts=0
+ExecMainStartTimestamp=Tue 2026-10-20 16:23:41 UTC
+ActiveState=active
+9c662e4d685a1c73
+unarmed (no guard policy)
diff --git a/harness/evidence/run9/d-sophie.log b/harness/evidence/run9/d-sophie.log
new file mode 100644
index 000000000..f8982faa0
--- /dev/null
+++ b/harness/evidence/run9/d-sophie.log
@@ -0,0 +1,64 @@
+Running as unit: run-p552-i537596.service
+Finished with result: success
+Main processes terminated with: code=exited, status=0/SUCCESS
+Service runtime: 19.330s
+CPU time consumed: 1.651s
+Memory peak: 116.2M (swap: 0B)
+[hssm] i-06a1ec144aa5226fb 182a905e-292a-497e-a159-55297dac2fa7 Success exit=0
+box reports fresh at 16:30:34
+SUMS_SHA=9c662e4d685a1c73941a58ce74d8b14638d309de3d1915151df511874de085a1 IDENT_SHA=9c662e4d685a1c73941a58ce74d8b14638d309de3d1915151df511874de085a1
+roster before: {"rev":11,"activations":[]}
+== sophie before: carlos v0.28.5 / prev carlos v0.28.5
+== 1 stop the path on sophie 16:30:36.064Z
+ActiveState=inactive
+== 2 promote router/canary 16:30:36.191Z
+promote v0.28.6 to router/canary — 1 box(es) will roll over 5m:
+ ada-letterpress (linux-arm64, running v0.28.5)
+ using uploaded v0.28.6 for linux-arm64
+ bootstrap/router/v0.28.6/carlos-linux-arm64 already mirrored
+ pointed router/canary at v0.28.6 (spread 5m0s)
+ serial bumped: boxes on canary start their spread
+promoted boxes on canary roll themselves; watch with: carlos system status --channel canary
+roster after promote: {"rev":12,"activations":["0c3968094c6a8ef3ed075c27513c8bba"]}
+== 3-7 on sophie 16:30:37.428Z
+cache: fetched by the agent
+staged /root/carlos-v0.28.6 9c662e4d685a1c73941a58ce74d8b14638d309de3d1915151df511874de085a1 = signed sums = identity
+{
+ "version": "v0.28.6",
+ "channel": "canary",
+ "at": "2026-10-20T16:31:46.8951281Z"
+}
+
+{
+ "channel": "canary",
+ "version": "v0.28.6",
+ "promoted_at": "2026-10-20T16:30:36Z",
+ "outcome": "applied",
+ "at": "2026-10-20T16:31:46.899695873Z"
+}
+
+total 16
+drwxr-xr-x 1 root root 48 Oct 20 16:31 .
+drwxr-xr-x 1 root root 148 Oct 20 16:31 ..
+-rw-r--r-- 1 root root 1076 Oct 20 01:37 v0.28.5.json
+-rw-r--r-- 1 root root 1076 Oct 20 16:31 v0.28.6.json
+completed.json: 0c3968094c6a8ef3ed075c27513c8bba
+edge pid 767 exe = the release
+NRestarts=0
+ExecMainStartTimestamp=Tue 2026-10-20 16:31:29 UTC
+ActiveState=active
+carlos v0.28.6
+carlos v0.28.5
+ActiveState=active
+shredded /root/carlos-v0.28.6
+sophie block exit=0 16:31:53.403Z
+== 6 operator-side evidence
+{"generated_at":"2026-10-20T16:32:30.567717221Z","release":"v0.28.6","binary":"9c662e4d685a1c73","activation_id":"0c3968094c6a8ef3ed075c27513c8bba","activation_complete":true}
+16:33:24 roster {"rev":13,"activations":[]}
+canary v0.28.6 promoted 2026-10-20T16:30:36Z spread 5m0s file
+stable v0.28.6 promoted 2026-10-20T16:19:48Z spread 5m0s file
+
+ada-letterpress linux-arm64 canary v0.28.6 current
+kathleen-juggling linux-arm64 stable v0.28.6 current
+noor-marquetry linux-arm64 stable v0.28.6 current
+exit=0
diff --git a/harness/evidence/run9/e-console.log b/harness/evidence/run9/e-console.log
new file mode 100644
index 000000000..8e6967588
--- /dev/null
+++ b/harness/evidence/run9/e-console.log
@@ -0,0 +1,9 @@
+2026/10/20 16:33:35 claim activation: input or protected state refused
+failed to run commands: exit status 1[hssm] i-06a1ec144aa5226fb 024045a8-c2a1-4f77-a442-faee233b989c Failed exit=1
+identity file = published object
+source: agent-staged /opt/carlos/versions/54ae7fb9/console (root:root 755)
+before: pid 308 exe /opt/carlos/system/console/console sha b2b431f3b2fb4600 binary b2b431f3b2fb4600
+v0.28.5.json
+v0.28.6.json
+16:33:34.821Z
+exit=1
diff --git a/harness/evidence/run9/e1.log b/harness/evidence/run9/e1.log
new file mode 100644
index 000000000..52af0b28b
--- /dev/null
+++ b/harness/evidence/run9/e1.log
@@ -0,0 +1,53 @@
+[hssm] i-06a1ec144aa5226fb 9765c6c7-4f00-4554-8c18-d7a0f697da33 Success exit=0
+E1 16:35:14.171Z: aside to /root/claim-trial/console-aside-20261020T163514Z
+b2b431f3b2fb4600
+b2b431f3b2fb4600
+/opt/carlos/system/console:
+total 0
+drwxr-xr-x 1 root root 0 Oct 20 16:35 .
+drwxr-xr-x 1 root root 36 Oct 20 01:37 ..
+
+/root/claim-trial/console-aside-20261020T163514Z:
+total 92168
+drwx------ 1 root root 38 Oct 20 16:35 .
+drwx------ 1 root root 368 Oct 20 16:35 ..
+-rwxr-xr-x 1 root root 47186082 Oct 20 01:37 console
+-rwxr-xr-x 1 root root 47186082 Oct 20 01:37 console.prev
+{
+ "already_installed": false,
+ "dry_run": true,
+ "mode": "0755",
+ "path": "/opt/carlos/system/console/console",
+ "previous": "/opt/carlos/system/console/console.prev",
+ "release_tag": "v0.28.6",
+ "sha256": "dd24213dff7b8bd5df575ccaee253df866ecefb613301fb6abc57752523ba159",
+ "source": "/opt/carlos/versions/54ae7fb9/console"
+}
+{
+ "already_installed": false,
+ "dry_run": false,
+ "mode": "0755",
+ "path": "/opt/carlos/system/console/console",
+ "previous": "/opt/carlos/system/console/console.prev",
+ "release_tag": "v0.28.6",
+ "sha256": "dd24213dff7b8bd5df575ccaee253df866ecefb613301fb6abc57752523ba159",
+ "source": "/opt/carlos/versions/54ae7fb9/console"
+}
+/opt/carlos/system/console/console 755 root:root 47317154 links=1
+/opt/carlos/system/console/console.prev 755 root:root 47317154 links=1
+restart at 16:35:16.563Z
+active
+console pid 314 exe /opt/carlos/system/console/console sha256 dd24213dff7b8bd5df575ccaee253df866ecefb613301fb6abc57752523ba159
+exe = the release console
+CARLOS_HOST_CLAIM=
+healthz 200 (16:35:17.113Z); / 200
+NRestarts=0
+ExecMainStartTimestamp=Tue 2026-10-20 16:35:16 UTC
+ActiveState=active
+Oct 20 16:35:06 sophie carlos[233]: console: http://127.0.0.1:8090 listening on 127.0.0.1:8090
+Oct 20 16:35:16 sophie carlos[314]: console: http://127.0.0.1:8090 listening on 127.0.0.1:8090
+
+ada-letterpress linux-arm64 canary v0.28.6 current
+kathleen-juggling linux-arm64 stable v0.28.6 current
+noor-marquetry linux-arm64 stable v0.28.6 current
+exit=0
diff --git a/harness/evidence/run9/f.log b/harness/evidence/run9/f.log
new file mode 100644
index 000000000..d3931029f
--- /dev/null
+++ b/harness/evidence/run9/f.log
@@ -0,0 +1,21 @@
+[hssm] i-06a1ec144aa5226fb 94ec9cbc-99a3-47da-9b09-93402c9896bf Success exit=0
+== 1 asleep? (16:35:36)
+2026-10-20 16:11:13 [platform] wakecheck.dev.harness.test instance woke in 688ms (spawn 322ms) (version wc4)
+== 2 wake on the console box (sophie) (16:35:36)
+build= host=sophie hits=5
+
+ [200] ttfb 0.712666s
+== 3 the second ie box (leo), pinned (16:35:37)
+
+ [502] ttfb 0.023354s
+== 4 layout
+BOX HOST LAYOUT REASON
+ada-letterpress wakecheck.dev.harness.test nested —
+
+ada-letterpress is not nested by default: isolation not ready: instance control: box not ready: probe fail not yet run
+
+noor-marquetry is not nested by default: isolation not ready: instance control: box not ready: probe fail not yet run
+
+WARNING: kathleen-juggling is nested while ada-letterpress and noor-marquetry are not: an instance placed or moved onto a box that is not nested starts flat there. Run carlos system layout migrate without --box once every box is ready.
+leo routes: []
+sophie routes: [('console.dev.harness.test', '', 'ready'), ('wakecheck.dev.harness.test', '', 'ready')]
diff --git a/harness/evidence/run9/move.log b/harness/evidence/run9/move.log
new file mode 100644
index 000000000..6dd343e1d
--- /dev/null
+++ b/harness/evidence/run9/move.log
@@ -0,0 +1,309 @@
+== before (17:20:28.926Z)
+{
+ "host": "moveapp.dev.harness.test",
+ "region": "home",
+ "region_from": "unset, treated as home",
+ "mode": "normal",
+ "boot_id": "a7194695e2cbee88",
+ "rows": [
+ {
+ "kind": "bg",
+ "region": "home",
+ "count": 2042,
+ "min_seq": 1,
+ "max_seq": 2042
+ },
+ {
+ "kind": "tick",
+ "region": "home",
+ "count": 17,
+ "min_seq": 0,
+ "max_seq": 0
+ },
+ {
+ "kind": "worker",
+ "region": "home",
+ "count": 1022,
+ "min_seq": 1,
+ "max_seq": 1022
+ }
+ ],
+ "fired": [
+ {
+ "kind": "tick",
+ "name": "every-minute",
+ "due_at": 1792515120,
+ "count": 1
+ },
+ {
+ "kind": "tick",
+ "name": "every-minute",
+ "due_at": 1792515240,
+ "count": 1
+ },
+ {
+ "kind": "tick",
+ "name": "every-minute",
+ "due_at": 1792515300,
+ "count": 1
+ },
+ {
+ "kind": "tic
+-- sophie
+ env file: /data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.env 27ff170a89f86bfb key-sha 067b3156a105cea1
+ config.env /data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.config.env: HARNESS_NOTE MOVEPROBE_ACCESS_KEY MOVEPROBE_BUCKET MOVEPROBE_ENDPOINT MOVEPROBE_REGION MOVEPROBE_SECRET MOVEPROBE_SECRET_KEY
+ files: /data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test/instance.key sha 95b88862a11e6e6b
+ instance dir: launch.run.json moveapp.dev.harness.test moveapp.dev.harness.test.config.env moveapp.dev.harness.test.db moveapp.dev.harness.test.db-shm moveapp.dev.harness.test.db-wal moveapp.dev.harness.test.env
+ row: [('ready', '', '', '/data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.db', 0, '')]
+ timers: [('moveapp.dev.harness.test', 'every-minute', 'schedule', 'every 1m', '/tick', 1792516860, 1792516804, '200', 8, 0, 1792515084, 1792516860, 'ab6e212048f0cad54fbda8041fbaf972', '', 0, '', ''), ('moveapp.dev.harness.test', 'once-1', 'once', 'at 1792517863', '/once', 1792517863, 0, '', 0, 0, 1792515163, 1792517863, '505ebfef70c0f2981ec867488b0a24f7', '', 0, '', '')]
+-- dennis
+ env file: absent key-sha
+
+ row: []
+ timers: []
+-- leo
+ env file: absent key-sha
+
+ row: []
+ timers: []
+ harness-data-ie instances/moveapp.dev.harness.test/lock.json: {"owner":"sophie:230","expires":null}
+ harness-data-uk instances/moveapp.dev.harness.test/lock.json: absent
+== start (17:20:31.070Z)
+Moving moveapp.dev.harness.test from ie to uk.
+moveapp.dev.harness.test is offline from now until the move opens or is aborted.
+Waiting for ada-letterpress in ie to confirm it has stopped moveapp.dev.harness.test. moveapp.dev.harness.test is offline.
+Every box in ie has stopped moveapp.dev.harness.test. Run carlos move offline seal --host moveapp.dev.harness.test to copy it.
+start exit=0 at 17:20:33.241Z
+Moving moveapp.dev.harness.test from ie to uk.
+Every box in ie has stopped moveapp.dev.harness.test. Run carlos move offline seal --host moveapp.dev.harness.test to copy it.
+Item db is waiting.
+Item db-tail is waiting.
+Item build-state is waiting.
+Item lease is waiting.
+Item files is waiting.
+Item env is waiting.
+Item key-adoption is waiting.
+Item config is waiting.
+Item env-pin is waiting.
+Item release is waiting.
+Item store is unchecked.
+Item timers is waiting.
+Item next-due is waiting.
+Item replication is waiting.
+Item row is waiting.
+Item routing is unchecked.
+Item source-retire is unchecked.
+Item sidecar is waiting.
+Item restore-verify is unchecked.
+Item warm-cache is waiting.
+Item receipts is unchecked.
+Item class is ok.
+ada-letterpress is stopped as the source.
+kathleen-juggling is stopped as the source.
+status exit=0
+== seal (17:20:33.333Z)
+Copying moveapp.dev.harness.test to uk.
+Copied and checked. Run carlos move offline flip --host moveapp.dev.harness.test to start it in uk.
+seal exit=0 at 17:20:39.469Z took 6.1s
+Moving moveapp.dev.harness.test from ie to uk.
+Copied and checked. Run carlos move offline flip --host moveapp.dev.harness.test to start it in uk.
+Item db is waiting.
+Item db-tail is ok: every source box is at or below TXID 117.
+Item build-state is ok: the request record is in the build state the replica prefix carries.
+Item lease is waiting.
+Item files is waiting.
+Item env is waiting.
+Item key-adoption is waiting.
+Item config is waiting.
+Item env-pin is waiting.
+Item release is waiting.
+Item store is unchecked.
+Item timers is waiting.
+Item next-due is waiting.
+Item replication is waiting.
+Item row is waiting.
+Item routing is unchecked.
+Item source-retire is unchecked.
+Item sidecar is ok: no source box keeps a sidecar file.
+Item restore-verify is unchecked.
+Item warm-cache is waiting.
+Item receipts is unchecked.
+Item class is ok.
+ada-letterpress is sealed as the sealer.
+ada-letterpress is stopped as the source.
+kathleen-juggling is stopped as the source.
+ harness-data-ie instances/moveapp.dev.harness.test/lock.json: {"owner":"moved:mv_twameyccfp7ryimabnjg32ltla","expires":null}
+ harness-data-uk instances/moveapp.dev.harness.test/lock.json: absent
+== process check before flip: carlos logs 'instance exited', worker gone (17:20:41.141Z)
+2026-10-20 17:20:31 [platform] moveapp.dev.harness.test instance stopping
+2026-10-20 17:20:31 [platform] moveapp.dev.harness.test instance exited (exit 0)
+sophie processes for moveapp.dev.harness.test: 1 (17:23:13.938Z)
+== flip (17:23:13.940Z)
+ada-letterpress still runs a process for moveapp.dev.harness.test. wait for it to stop, then flip
+flip exit=5 at 17:23:14.198Z took 0.3s
+Moving moveapp.dev.harness.test from ie to uk.
+ada-letterpress still runs a process for moveapp.dev.harness.test. wait for it to stop, then flip
+Item db is waiting.
+Item db-tail is ok: every source box is at or below TXID 117.
+Item build-state is ok: the request record is in the build state the replica prefix carries.
+Item lease is waiting.
+Item files is waiting.
+Item env is waiting.
+Item key-adoption is waiting.
+Item config is waiting.
+Item env-pin is waiting.
+Item release is waiting.
+Item store is unchecked.
+Item timers is waiting.
+Item next-due is waiting.
+Item replication is waiting.
+Item row is waiting.
+Item routing is unchecked.
+Item source-retire is unchecked.
+Item sidecar is ok: no source box keeps a sidecar file.
+Item restore-verify is unchecked.
+Item warm-cache is waiting.
+Item receipts is unchecked.
+Item class is ok.
+ada-letterpress is sealed as the sealer. Its report is not current.
+ada-letterpress is stopped as the source. Its report is not current.
+kathleen-juggling is stopped as the source. Its report is not current.
+-- sophie
+ env file: /data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.env 27ff170a89f86bfb key-sha 067b3156a105cea1
+ config.env /data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.config.env: HARNESS_NOTE MOVEPROBE_ACCESS_KEY MOVEPROBE_BUCKET MOVEPROBE_ENDPOINT MOVEPROBE_REGION MOVEPROBE_SECRET MOVEPROBE_SECRET_KEY
+ files: /data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test/instance.key sha 95b88862a11e6e6b
+ instance dir: launch.run.json moveapp.dev.harness.test moveapp.dev.harness.test.config.env moveapp.dev.harness.test.db moveapp.dev.harness.test.db-shm moveapp.dev.harness.test.db-wal moveapp.dev.harness.test.env
+ row: [('moving', '', '', '/data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.db', 0, '')]
+ timers: [('moveapp.dev.harness.test', 'every-minute', 'schedule', 'every 1m', '/tick', 1792517040, 1792516984, 'no instance token: activator: maintenance fence active', 0, 3, 1792515084, 1792516860, 'ab6e212048f0cad54fbda8041fbaf972', '', 0, '', ''), ('moveapp.dev.harness.test', 'once-1', 'once', 'at 1792517863', '/once', 1792517863, 0, '', 0, 0, 1792515163, 1792517863, '505ebfef70c0f2981ec867488b0a24f7', '', 0, '', '')]
+ parked: /data/.offline-moves/moveapp.dev.harness.test/mv_twameyccfp7ryimabnjg32ltla/sealer
+-- dennis
+ env file: absent key-sha
+
+ row: []
+ timers: []
+== open (17:23:14.513Z)
+this move is offline-sealed. run carlos move offline status --host moveapp.dev.harness.test to see what it waits for
+open exit=5 at 17:23:14.581Z took 0.1s
+== first request on dennis (17:23:14.585Z)
+dennis /ready [404 0.005970s] 17:23:14.753Z
+dennis /ready [404 0.005720s] 17:23:17.869Z
+dennis /ready [404 0.005497s] 17:23:20.961Z
+dennis /ready [404 0.006008s] 17:23:24.078Z
+dennis /ready [404 0.005545s] 17:23:27.194Z
+dennis /ready [404 0.005861s] 17:23:30.322Z
+dennis /ready [404 0.005641s] 17:23:33.423Z
+dennis /ready [404 0.005758s] 17:23:36.547Z
+dennis /ready [404 0.005611s] 17:23:39.658Z
+dennis /ready [404 0.005552s] 17:23:42.758Z
+dennis /ready [404 0.006287s] 17:23:45.859Z
+dennis /ready [404 0.005462s] 17:23:48.956Z
+dennis /ready [404 0.005704s] 17:23:52.053Z
+dennis /ready [404 0.005462s] 17:23:55.153Z
+dennis /ready [404 0.005338s] 17:23:58.252Z
+dennis /ready [404 0.007371s] 17:24:01.358Z
+dennis /ready [404 0.005676s] 17:24:04.461Z
+dennis /ready [404 0.005554s] 17:24:07.560Z
+dennis /ready [404 0.007211s] 17:24:10.654Z
+dennis /ready [404 0.005463s] 17:24:13.764Z
+serving from dennis at 17:24:16.767Z: offline 225.7s since start
+unknown host
+
+[404 0.005415s]
+-- backhaul: through sophie's edge (the IE box) and leo's
+[404 0.005369s]
+[404 0.005881s]
+-- sophie
+ env file: /data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.env 27ff170a89f86bfb key-sha 067b3156a105cea1
+ config.env /data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.config.env: HARNESS_NOTE MOVEPROBE_ACCESS_KEY MOVEPROBE_BUCKET MOVEPROBE_ENDPOINT MOVEPROBE_REGION MOVEPROBE_SECRET MOVEPROBE_SECRET_KEY
+ files: /data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test/instance.key sha 95b88862a11e6e6b
+ instance dir: launch.run.json moveapp.dev.harness.test moveapp.dev.harness.test.config.env moveapp.dev.harness.test.db moveapp.dev.harness.test.db-shm moveapp.dev.harness.test.db-wal moveapp.dev.harness.test.env
+ row: [('moving', '', '', '/data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.db', 0, '')]
+ timers: [('moveapp.dev.harness.test', 'every-minute', 'schedule', 'every 1m', '/tick', 1792517100, 1792517044, 'no instance token: activator: maintenance fence active', 0, 4, 1792515084, 1792516860, 'ab6e212048f0cad54fbda8041fbaf972', '', 0, '', ''), ('moveapp.dev.harness.test', 'once-1', 'once', 'at 1792517863', '/once', 1792517863, 0, '', 0, 0, 1792515163, 1792517863, '505ebfef70c0f2981ec867488b0a24f7', '', 0, '', '')]
+ parked: /data/.offline-moves/moveapp.dev.harness.test/mv_twameyccfp7ryimabnjg32ltla/sealer
+-- dennis
+ env file: absent key-sha
+
+ row: []
+ timers: []
+ harness-data-ie instances/moveapp.dev.harness.test/lock.json: {"owner":"moved:mv_twameyccfp7ryimabnjg32ltla","expires":null}
+ harness-data-uk instances/moveapp.dev.harness.test/lock.json: absent
+Moving moveapp.dev.harness.test from ie to uk.
+ada-letterpress still runs a process for moveapp.dev.harness.test. wait for it to stop, then flip
+Item db is waiting.
+Item db-tail is ok: every source box is at or below TXID 117.
+Item build-state is ok: the request record is in the build state the replica prefix carries.
+Item lease is waiting.
+Item files is waiting.
+Item env is waiting.
+Item key-adoption is waiting.
+Item config is waiting.
+Item env-pin is waiting.
+Item release is waiting.
+Item store is unchecked.
+Item timers is waiting.
+Item next-due is waiting.
+Item replication is waiting.
+Item row is waiting.
+Item routing is unchecked.
+Item source-retire is unchecked.
+Item sidecar is ok: no source box keeps a sidecar file.
+Item restore-verify is unchecked.
+Item warm-cache is waiting.
+Item receipts is unchecked.
+Item class is ok.
+ada-letterpress is sealed as the sealer. Its report is not current.
+ada-letterpress is stopped as the source. Its report is not current.
+kathleen-juggling is stopped as the source. Its report is not current.
+== finish (17:24:18.926Z)
+this move is offline-sealed. run carlos move offline status --host moveapp.dev.harness.test to see what it waits for
+finish exit=5 at 17:24:19.024Z took 0.1s
+Moving moveapp.dev.harness.test from ie to uk.
+ada-letterpress still runs a process for moveapp.dev.harness.test. wait for it to stop, then flip
+Item db is waiting.
+Item db-tail is ok: every source box is at or below TXID 117.
+Item build-state is ok: the request record is in the build state the replica prefix carries.
+Item lease is waiting.
+Item files is waiting.
+Item env is waiting.
+Item key-adoption is waiting.
+Item config is waiting.
+Item env-pin is waiting.
+Item release is waiting.
+Item store is unchecked.
+Item timers is waiting.
+Item next-due is waiting.
+Item replication is waiting.
+Item row is waiting.
+Item routing is unchecked.
+Item source-retire is unchecked.
+Item sidecar is ok: no source box keeps a sidecar file.
+Item restore-verify is unchecked.
+Item warm-cache is waiting.
+Item receipts is unchecked.
+Item class is ok.
+ada-letterpress is sealed as the sealer. Its report is not current.
+ada-letterpress is stopped as the source. Its report is not current.
+kathleen-juggling is stopped as the source. Its report is not current.
+ harness-data-ie instances/moveapp.dev.harness.test/lock.json: {"owner":"moved:mv_twameyccfp7ryimabnjg32ltla","expires":null}
+ harness-data-uk instances/moveapp.dev.harness.test/lock.json: absent
+-- sophie
+ env file: /data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.env 27ff170a89f86bfb key-sha 067b3156a105cea1
+ config.env /data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.config.env: HARNESS_NOTE MOVEPROBE_ACCESS_KEY MOVEPROBE_BUCKET MOVEPROBE_ENDPOINT MOVEPROBE_REGION MOVEPROBE_SECRET MOVEPROBE_SECRET_KEY
+ files: /data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test/instance.key sha 95b88862a11e6e6b
+ instance dir: launch.run.json moveapp.dev.harness.test moveapp.dev.harness.test.config.env moveapp.dev.harness.test.db moveapp.dev.harness.test.db-shm moveapp.dev.harness.test.db-wal moveapp.dev.harness.test.env
+ row: [('moving', '', '', '/data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.db', 0, '')]
+ timers: [('moveapp.dev.harness.test', 'every-minute', 'schedule', 'every 1m', '/tick', 1792517100, 1792517044, 'no instance token: activator: maintenance fence active', 0, 4, 1792515084, 1792516860, 'ab6e212048f0cad54fbda8041fbaf972', '', 0, '', ''), ('moveapp.dev.harness.test', 'once-1', 'once', 'at 1792517863', '/once', 1792517863, 0, '', 0, 0, 1792515163, 1792517863, '505ebfef70c0f2981ec867488b0a24f7', '', 0, '', '')]
+ parked: /data/.offline-moves/moveapp.dev.harness.test/mv_twameyccfp7ryimabnjg32ltla/sealer
+-- dennis
+ env file: absent key-sha
+
+ row: []
+ timers: []
+-- leo
+ env file: absent key-sha
+
+ row: []
+ timers: []
+{"region":null,"move":{"id":"mv_twameyccfp7ryimabnjg32ltla","to":"uk","state":"offline-sealed","requested_by":"operator@keymail.dev","requested_at":"2026-10-20T17:20:31.150718423Z","updated_at":"2026-10-20T17:20:39.358044476Z","source":{"final_txid":117,"files":{"plain":"sha256:b0a45754184f7cc14b04beea0fee593f6f2953bae5e4cb222b8fd2d2a1609815","sealed":"sha256:971995198cfda2cf98b625900f2f7ffb03b3b436822689fb4f80873582392e5a","bytes":214,"entries":2},"timers_sha256":"sha256:7301d7ac7a530887a61fd2c7a36b4d5c0e4922c21b617770822978629b374a58","evidence":"control/offline-moves/moveapp.dev.harness.test/mv_twameyccfp7ryimabnjg32ltla/seal.json@b27338c506908133f4b1ac243ec9668a3b6851c955d4330e92a893ee944f6063","release":"mp1","env_digest":"env2:sha256:72038c09db60a31bc0d708b738323f58d1039d9c656e145c71f1ccbc0c8b30eb"},"kind":"offline","sealer":"ada-letterpress","boxes":["ada-letterpress"]},"last_move":null,"record_seq":null}
+[hssm] i-06a1ec144aa5226fb 58bbd9d6-a42b-49f8-81bf-4798313218a0 Success exit=0
+exit=0
diff --git a/harness/evidence/run9/move2.log b/harness/evidence/run9/move2.log
new file mode 100644
index 000000000..086dfbd6b
--- /dev/null
+++ b/harness/evidence/run9/move2.log
@@ -0,0 +1,206 @@
+== flip (17:26:22.520Z)
+ try 1 17:26:26.809Z exit=0: uk holds everything moveapp.dev.harness.test needs. Nothing is served yet. Run carlos move offline open --host moveapp.dev.harness.test to serve it from uk.
+Stopped in ie. Starting in uk.
+uk holds everything moveapp.dev.harness.test needs. Nothing is served yet. Run carlos move offline open --host moveapp.dev.harness.test to serve it from uk.
+flip exit=0 at 17:26:26.812Z took 4.3s
+Moving moveapp.dev.harness.test from ie to uk.
+uk holds everything moveapp.dev.harness.test needs. Nothing is served yet. Run carlos move offline open --host moveapp.dev.harness.test to serve it from uk.
+Item db is ok.
+Item db-tail is ok: every source box is at or below TXID 117.
+Item build-state is ok: the request record is in the build state the replica prefix carries.
+Item lease is ok.
+Item files is ok.
+Item env is ok.
+Item key-adoption is ok.
+Item config is ok.
+Item env-pin is ok.
+Item release is ok.
+Item store is unchecked.
+Item timers is ok.
+Item next-due is ok.
+Item replication is ok.
+Item row is ok.
+Item routing is unchecked.
+Item source-retire is unchecked.
+Item sidecar is ok: no source box keeps a sidecar file.
+Item restore-verify is unchecked.
+Item warm-cache is ok.
+Item receipts is unchecked.
+Item class is ok.
+ada-letterpress is sealed as the sealer.
+ada-letterpress is stopped as the source.
+kathleen-juggling is stopped as the source.
+noor-marquetry is landed as the target.
+-- sophie
+ env file: /data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.env 27ff170a89f86bfb key-sha 067b3156a105cea1
+ config.env /data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.config.env: HARNESS_NOTE MOVEPROBE_ACCESS_KEY MOVEPROBE_BUCKET MOVEPROBE_ENDPOINT MOVEPROBE_REGION MOVEPROBE_SECRET MOVEPROBE_SECRET_KEY
+ files: /data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test/instance.key sha 95b88862a11e6e6b
+ instance dir: launch.run.json moveapp.dev.harness.test moveapp.dev.harness.test.config.env moveapp.dev.harness.test.db moveapp.dev.harness.test.db-shm moveapp.dev.harness.test.db-wal moveapp.dev.harness.test.env
+ row: [('moving', '', '', '/data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.db', 0, '')]
+ timers: [('moveapp.dev.harness.test', 'every-minute', 'schedule', 'every 1m', '/tick', 1792517220, 1792517164, 'no instance token: activator: maintenance fence active', 0, 1, 1792515084, 1792517160, 'ab6e212048f0cad54fbda8041fbaf972', '', 0, '', ''), ('moveapp.dev.harness.test', 'once-1', 'once', 'at 1792517863', '/once', 1792517863, 0, '', 0, 0, 1792515163, 1792517863, '505ebfef70c0f2981ec867488b0a24f7', '', 0, '', '')]
+ parked: /data/.offline-moves/moveapp.dev.harness.test/mv_twameyccfp7ryimabnjg32ltla/sealer
+-- dennis
+ env file: /data/moveapp.dev.harness.test.env 27ff170a89f86bfb key-sha 067b3156a105cea1
+ config.env /data/moveapp.dev.harness.test.config.env: HARNESS_NOTE MOVEPROBE_ACCESS_KEY MOVEPROBE_BUCKET MOVEPROBE_ENDPOINT MOVEPROBE_REGION MOVEPROBE_SECRET MOVEPROBE_SECRET_KEY
+ files: /data/moveapp.dev.harness.test/instance.key sha 95b88862a11e6e6b
+
+ row: [('landing', '', 'uk', '/data/moveapp.dev.harness.test.db', 0, '')]
+ timers: [('moveapp.dev.harness.test', 'every-minute', 'schedule', 'every 1m', '/tick', 1792516860, 1792516804, '200', 8, 0, 1792515084, 1792516860, 'ab6e212048f0cad54fbda8041fbaf972', '', 0, '', ''), ('moveapp.dev.harness.test', 'once-1', 'once', 'at 1792517863', '/once', 1792517863, 0, '', 0, 0, 1792515163, 1792517863, '505ebfef70c0f2981ec867488b0a24f7', '', 0, '', '')]
+== open (17:26:27.150Z)
+ try 1 17:26:31.345Z exit=0: moveapp.dev.harness.test is served from uk. Run carlos move offline finish --host moveapp.dev.harness.test once ie has cleaned up.
+this move is offline-open. run carlos move offline status --host moveapp.dev.harness.test to see what it waits for
+Waiting for ada-letterpress to clean up moveapp.dev.harness.test.
+moveapp.dev.harness.test is served from uk. Run carlos move offline finish --host moveapp.dev.harness.test once ie has cleaned up.
+open exit=0 at 17:26:31.348Z took 4.2s
+== first request on dennis (17:26:31.352Z)
+dennis /ready [404 0.005498s] 17:26:31.452Z
+dennis /ready [200 2.508510s] 17:26:37.054Z
+serving from dennis at 17:26:37.055Z: offline 366.0s since start
+{
+ "host": "moveapp.dev.harness.test",
+ "region": "uk",
+ "region_from": "CARLOS_REGION",
+ "mode": "normal",
+ "boot_id": "0456deb532974a46",
+ "rows": [
+ {
+ "kind": "bg",
+ "region": "home",
+ "count": 2046,
+ "min_seq": 1,
+ "max_seq": 2046
+ },
+ {
+ "kind": "bg",
+ "region": "uk",
+ "count": 1,
+ "min_seq": 2047,
+ "max_seq": 2047
+ },
+ {
+ "kind": "tick",
+ "region": "home",
+ "count": 17,
+ "min_seq": 0,
+ "max_seq": 0
+ },
+ {
+ "kind": "tick",
+ "region": "uk",
+ "count": 1,
+ "min_seq": 0,
+ "max_seq": 0
+ },
+ {
+ "kind": "worker",
+ "region": "home",
+ "count": 1024,
+ "min_seq": 1,
+ "max_seq": 1024
+ },
+ {
+ "kind": "worker",
+ "region": "uk",
+ "count": 1,
+ "min_seq": 1025,
+ "max_seq": 1025
+ }
+ ],
+ "fired": [
+ {
+ "kind": "tick",
+ "name": "every-minute",
+ "due_at": 1792515120,
+ "count": 1
+ },
+ {
+ "kind": "tick",
+ "name": "every-minute",
+ "due_at": 1792515240,
+ "count": 1
+ },
+ {
+ "kind": "tick",
+ "name": "every-minute",
+ "due_at": 1792515300,
+
+-- backhaul: through sophie's edge (the IE box) and leo's
+[200 0.034529s]
+[200 0.024421s]
+-- sophie
+ env file: absent key-sha
+
+ row: [('moving', '', '', '/data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.db', 0, '')]
+ timers: [('moveapp.dev.harness.test', 'every-minute', 'schedule', 'every 1m', '/tick', 1792517220, 1792517164, 'no instance token: activator: maintenance fence active', 0, 1, 1792515084, 1792517160, 'ab6e212048f0cad54fbda8041fbaf972', '', 0, '', ''), ('moveapp.dev.harness.test', 'once-1', 'once', 'at 1792517863', '/once', 1792517863, 0, '', 0, 0, 1792515163, 1792517863, '505ebfef70c0f2981ec867488b0a24f7', '', 0, '', '')]
+ parked: /data/.offline-moves/moveapp.dev.harness.test/mv_twameyccfp7ryimabnjg32ltla/sealer
+ parked: /data/.offline-moves/moveapp.dev.harness.test/mv_twameyccfp7ryimabnjg32ltla/source
+-- dennis
+ env file: /data/moveapp.dev.harness.test.env 27ff170a89f86bfb key-sha 067b3156a105cea1
+ config.env /data/moveapp.dev.harness.test.config.env: HARNESS_NOTE MOVEPROBE_ACCESS_KEY MOVEPROBE_BUCKET MOVEPROBE_ENDPOINT MOVEPROBE_REGION MOVEPROBE_SECRET MOVEPROBE_SECRET_KEY
+ files: /data/moveapp.dev.harness.test/instance.key sha 95b88862a11e6e6b
+
+ row: [('ready', '', 'uk', '/data/moveapp.dev.harness.test.db', 0, '')]
+ timers: [('moveapp.dev.harness.test', 'every-minute', 'schedule', 'every 1m', '/tick', 1792517220, 1792517194, '200', 2873, 0, 1792515084, 1792517220, 'ab6e212048f0cad54fbda8041fbaf972', '', 0, '', ''), ('moveapp.dev.harness.test', 'once-1', 'once', 'at 1792517863', '/once', 1792517863, 0, '', 0, 0, 1792515163, 1792517863, '505ebfef70c0f2981ec867488b0a24f7', '', 0, '', '')]
+ harness-data-ie instances/moveapp.dev.harness.test/lock.json: {"owner":"moved:mv_twameyccfp7ryimabnjg32ltla","expires":null}
+ harness-data-uk instances/moveapp.dev.harness.test/lock.json: {"owner":"dennis:215","expires":null}
+Moving moveapp.dev.harness.test from ie to uk.
+moveapp.dev.harness.test is served from uk. Run carlos move offline finish --host moveapp.dev.harness.test once ie has cleaned up.
+Item db is ok.
+Item db-tail is ok: every source box is at or below TXID 117.
+Item build-state is ok: the request record is in the build state the replica prefix carries.
+Item lease is ok.
+Item files is ok.
+Item env is ok.
+Item key-adoption is ok.
+Item config is ok.
+Item env-pin is ok.
+Item release is ok.
+Item store is unchecked.
+Item timers is ok.
+Item next-due is ok.
+Item replication is ok.
+Item row is ok.
+Item routing is unchecked.
+Item source-retire is unchecked.
+Item sidecar is ok: no source box keeps a sidecar file.
+Item restore-verify is unchecked.
+Item warm-cache is ok.
+Item receipts is unchecked.
+Item class is ok.
+ada-letterpress is sealed as the sealer.
+ada-letterpress is parked as the source.
+kathleen-juggling is parked as the source.
+noor-marquetry is opened as the target.
+ada-letterpress left /data/instances/moveapp.dev.harness.test in place: the mount view of the instance directory: it stays, empty.
+ada-letterpress left /data/.instances/moveapp.dev.harness.test in place: the instance directory stays, empty.
+ada-letterpress left /opt/carlos/live/moveapp.dev.harness.test in place: root-owned: listed for the census, not renamed.
+== finish (17:26:39.342Z)
+ try 1 17:31:01.373Z exit=0: Moved. moveapp.dev.harness.test is served from uk. It was offline for 356 seconds.
+Waiting for ada-letterpress to clean up moveapp.dev.harness.test.
+Moved. moveapp.dev.harness.test is served from uk. It was offline for 356 seconds.
+finish exit=0 at 17:31:01.377Z took 262.0s
+Move mv_twameyccfp7ryimabnjg32ltla of moveapp.dev.harness.test is done.
+ harness-data-ie instances/moveapp.dev.harness.test/lock.json: {"owner":"moved:mv_twameyccfp7ryimabnjg32ltla","expires":null}
+ harness-data-uk instances/moveapp.dev.harness.test/lock.json: {"owner":"dennis:215","expires":null}
+-- sophie
+ env file: /data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.env 2409ab489cf2e204 key-sha e3b0c44298fc1c14
+ instance dir: moveapp.dev.harness.test.env
+ row: []
+ timers: []
+ parked: /data/.offline-moves/moveapp.dev.harness.test/mv_twameyccfp7ryimabnjg32ltla/sealer
+ parked: /data/.offline-moves/moveapp.dev.harness.test/mv_twameyccfp7ryimabnjg32ltla/source
+-- dennis
+ env file: /data/moveapp.dev.harness.test.env 27ff170a89f86bfb key-sha 067b3156a105cea1
+ config.env /data/moveapp.dev.harness.test.config.env: HARNESS_NOTE MOVEPROBE_ACCESS_KEY MOVEPROBE_BUCKET MOVEPROBE_ENDPOINT MOVEPROBE_REGION MOVEPROBE_SECRET MOVEPROBE_SECRET_KEY
+ files: /data/moveapp.dev.harness.test/instance.key sha 95b88862a11e6e6b
+
+ row: [('ready', '', 'uk', '/data/moveapp.dev.harness.test.db', 0, '')]
+ timers: [('moveapp.dev.harness.test', 'every-minute', 'schedule', 'every 1m', '/tick', 1792517460, 1792517404, '200', 8, 0, 1792515084, 1792517460, 'ab6e212048f0cad54fbda8041fbaf972', '', 0, '', ''), ('moveapp.dev.harness.test', 'once-1', 'once', 'at 1792517863', '/once', 1792517863, 0, '', 0, 0, 1792515163, 1792517863, '505ebfef70c0f2981ec867488b0a24f7', '', 0, '', '')]
+-- leo
+ env file: absent key-sha
+
+ row: []
+ timers: []
+{"region":"uk","move":null,"last_move":{"id":"mv_twameyccfp7ryimabnjg32ltla","outcome":"done","at":"2026-10-20T17:31:01.335367958Z","offline_s":356.084826879},"record_seq":null}
+[hssm] i-06a1ec144aa5226fb 9ac1e79a-1256-4edf-9648-df2dca93fe55 Success exit=0
+exit=0
diff --git a/harness/evidence/run9/normal.log b/harness/evidence/run9/normal.log
new file mode 100644
index 000000000..a7adda98f
--- /dev/null
+++ b/harness/evidence/run9/normal.log
@@ -0,0 +1,60 @@
+failed to run commands: exit status 2[hssm] i-06a1ec144aa5226fb 918b83fc-2f85-42b9-b1f4-024994aea9dd Failed exit=2
+== release-window v0.28.7 (16:38:08.881Z)
+== release v0.28.7
+verify sums: Signature Verified Successfully
+operator CLI: carlos v0.28.7
+== 1a/1e
+canary/console 54ae7fb9 2026-10-20T16:13:15Z yes
+== 2
+== 4
+promoted console 54ae7fb9-h1 -> canary/console
+canary/console 54ae7fb9-h1 2026-10-20T16:38:13Z yes
+== session open (16:38:13.265Z)
+run-id cohort1-20261020T163813Z
+carlos v0.28.7
+root 600 1 45
+== publish-identity v0.28.7, console 54ae7fb9-h1 (16:38:35.693Z)
+publish-identity writes: [{"key":"control/system/router/releases/v0.28.7.json","before_etag":"","sha256":"1f36d8db70a3e9feab7556360ff2adcc8d30c530b24a2850e723b7388f1bdbe5","payload":{"schema":1,"component":"router","channel":"stable","current":{"console_artifacts":{"linux-arm64":{"key":"bootstrap/console/v0.28.7/carlos-linux-arm64","sha256":"913cff5c361b53c611ed4e19c4422177253e6792e5460ad8b44d35d9ff98b8f9"}},"release_tag":"v0.28.7","moves_protocol":1,"version":"v0.28.7","artifacts":{"linux-arm64":{"key":"bootstrap/router/v0.28.7/carlos-linux-arm64","sha256":"43631b6b0573fa556f3fcbc9d57b0c49c7a26c53bdf72aa569f41bc29736affb"}},"source":"release:v0.28.7","released_at":"0001-01-01T00:00:00Z"},"spread":"0s","promoted_at":"2026-10-20T16:38:37Z"}}]
+REV=13
+identity file = published object
+identity router 43631b6b0573fa556f3fcbc9d57b0c49c7a26c53bdf72aa569f41bc29736affb console 913cff5c361b53c611ed4e19c4422177253e6792e5460ad8b44d35d9ff98b8f9
+== done (16:38:43.961Z)
+leo before: carlos v0.28.6; path active; roster {"rev":13,"activations":[]}
+== promote stable v0.28.7 at 16:38:44.200Z (no step on any box)
+promote v0.28.7 to router/stable — 2 box(es) will roll over 5m:
+ kathleen-juggling (linux-arm64, running v0.28.6)
+ noor-marquetry (linux-arm64, running v0.28.6)
+warning: v0.28.7 has not been on canary; promoting straight to stable
+ using uploaded v0.28.7 for linux-arm64
+ mirrored bootstrap/router/v0.28.7/carlos-linux-arm64
+ pointed router/stable at v0.28.7 (spread 5m0s)
+ serial bumped: boxes on stable start their spread
+promoted boxes on stable roll themselves; watch with: carlos system status --channel stable
+16:43:36.367Z
+kathleen-juggling linux-arm64 stable v0.28.7 current
+noor-marquetry linux-arm64 stable v0.28.7 current
+{
+ "channel": "stable",
+ "version": "v0.28.7",
+ "promoted_at": "2026-10-20T16:38:44Z",
+ "outcome": "applied",
+ "at": "2026-10-20T16:42:43.549805269Z"
+}
+
+v0.28.5.json
+v0.28.6.json
+v0.28.7.json
+completed 9f9123f3b5ee16cd9cb7a595ec5699e6
+edge exe sha 43631b6b0573fa55
+NRestarts=0
+ActiveState=active
+carlos v0.28.7
+carlos v0.28.6
+ls: cannot access '/root/carlos-*': No such file or directory
+Oct 20 16:42:24 leo systemd[1]: Starting carlos-system-update.service - carlos platform self-update (root apply)...
+Oct 20 16:42:43 leo systemd[1]: Finished carlos-system-update.service - carlos platform self-update (root apply).
+16:48:26 roster {"rev":15,"activations":[]}
+== close the signing session
+key shredded
+ls: cannot access '/run/claim-signer': No such file or directory
+exit=1
diff --git a/harness/evidence/run9/precheck.log b/harness/evidence/run9/precheck.log
new file mode 100644
index 000000000..7188e9fd1
--- /dev/null
+++ b/harness/evidence/run9/precheck.log
@@ -0,0 +1,48 @@
+[hssm] i-06a1ec144aa5226fb 67731448-f567-41de-8c48-c688555cf01a Success exit=0
+== P0.2 switches, R3, delegation, release (17:05:27)
+leo: host.env CARLOS_HOST_CLAIM=0 CARLOS_MOVES_PHASE1=0 CARLOS_REGION= CARLOS_POOLS=cohort1 secrets_key=1
+ edge env: 0 claim/phase1 vars set
+ User=carlos Delegate=yes ActiveState=active
+ carlos-stage.path active / enabled
+ carlos v0.28.6; guard policy: armed
+sophie: host.env CARLOS_HOST_CLAIM=0 CARLOS_MOVES_PHASE1=0 CARLOS_REGION= CARLOS_POOLS= secrets_key=1
+ edge env: 0 claim/phase1 vars set
+ User=carlos Delegate=yes ActiveState=active
+ carlos-stage.path active / enabled
+ carlos v0.28.6; guard policy: armed
+dennis: host.env CARLOS_HOST_CLAIM=0 CARLOS_MOVES_PHASE1=0 CARLOS_REGION=uk CARLOS_POOLS= secrets_key=1
+ edge env: 0 claim/phase1 vars set
+ User=carlos Delegate=yes ActiveState=active
+ carlos-stage.path active / enabled
+ carlos v0.28.6; guard policy: absent
+console: CARLOS_SECRETS_PUBKEY=<set> CARLOS_HOST_CLAIM= exe dd24213dff7b8bd5
+ada-letterpress linux-arm64 canary v0.28.6 current
+kathleen-juggling linux-arm64 stable v0.28.6 current
+noor-marquetry linux-arm64 stable v0.28.6 current
+== P0.2 edges files: offline-move-1, secrets_key_fp, hosts
+2026-10-20 16:51:25 920 ada-letterpress.json
+2026-10-20 16:52:18 549 kathleen-juggling.json
+2026-10-20 16:52:18 559 noor-marquetry.json
+{"box":"ada-letterpress","region":"eu-west-1","pools":null,"caps":["offline-move-1"],"secrets_key_fp":"sha256:6d7b3e95f3ce2e021cea11a430bca1084d9dcdc79daa8096e92604f28ee97fad","hibernation_configured":true,"serves_shared_pool":true,"hosts":["console.dev.harness.test","moveapp.dev.harness.test","rollbackapp.dev.harness.test","wakecheck.dev.harness.test"]}
+{"box":"kathleen-juggling","region":"eu-west-1","pools":null,"caps":["offline-move-1"],"secrets_key_fp":"sha256:6d7b3e95f3ce2e021cea11a430bca1084d9dcdc79daa8096e92604f28ee97fad","hibernation_configured":true,"serves_shared_pool":false,"hosts":[]}
+{"box":"noor-marquetry","region":"eu-west-1","pools":null,"caps":["offline-move-1"],"secrets_key_fp":"sha256:6d7b3e95f3ce2e021cea11a430bca1084d9dcdc79daa8096e92604f28ee97fad","hibernation_configured":true,"serves_shared_pool":true,"hosts":[]}
+== P0.3 claims and backfill absent, certificates, layout
+control/hosts/moveapp.dev.harness.test.json absent
+control/certs/moveapp: 1
+apps/bab/moveapp/instances/moveapp.dev.harness.test.json
+control/hosts/rollbackapp.dev.harness.test.json absent
+control/certs/rollbackapp: 1
+apps/bab/rollbackapp/instances/rollbackapp.dev.harness.test.json
+control/hosts-backfill.json absent
+BOX HOST LAYOUT REASON
+ada-letterpress (nested by default) moveapp.dev.harness.test nested —
+ada-letterpress (nested by default) rollbackapp.dev.harness.test nested —
+ada-letterpress (nested by default) wakecheck.dev.harness.test nested —
+leo: Oct 20 16:51:18 leo carlos[2999]: 2026/10/20 16:51:18 layout: no intent recorded -> nested by default (CARLOS_LAYOUT_DEFAULT unset or nested; record `carlos system layout revert` to opt out)
+sophie: Oct 20 16:51:19 sophie carlos[3048]: 2026/10/20 16:51:19 layout: no intent recorded -> nested by default (CARLOS_LAYOUT_DEFAULT unset or nested; record `carlos system layout revert` to opt out)
+dennis: Oct 20 16:51:19 dennis carlos[2956]: 2026/10/20 16:51:19 layout: no intent recorded -> nested by default (CARLOS_LAYOUT_DEFAULT unset or nested; record `carlos system layout revert` to opt out)
+== P0.4 staging lane: list harness-data-uk moves/ with sophie's box credentials (the IE box role)
+data-uk moves/ KeyCount: null
+== P0.6 sizes, sidecars, local copies
+sophie moveapp.dev.harness.test: 3.7M /data/instances/moveapp.dev.harness.test
+sophie rollbackapp.dev.harness.test: 4.2M /data/instances/rollbackapp.dev.harness.test
diff --git a/harness/evidence/run9/restore-b.log b/harness/evidence/run9/restore-b.log
new file mode 100644
index 000000000..43123b2ba
--- /dev/null
+++ b/harness/evidence/run9/restore-b.log
@@ -0,0 +1,5 @@
+[hssm] i-06a1ec144aa5226fb 1894827d-ed4d-42c6-8007-f59574c4e24d Success exit=0
+sophie-console volume restored to post-0285
+sophie-console volume snapshots: s7,pre-window,g4-fail-cc90d542,pre-window-seeded,g4-held-8376a468,g4-fail-8376a468,g4-parent-p-refused,rearm-released-v0.28.7,post-b5,post-8.1,g7-fail-8a313548,g7-f4-census,post-b5-465c3a08,post-8.1-465c3a08,g7-fail-465c3a08,post-b5-465c3a08-c8,post-8.1-465c3a08-c8,g7-fail-465c3a08-c8,g7-fail-465c3a08-ext4,resume-complete-ext4,post-b5-clean,post-b5-run8,post-b5-run8b,post-8.1-run8,g10-stuck-run8,item6-plain-update-fail,post-window,pre-0285,e-refused-0285,post-0285
+carlos v0.28.6
+reports fresh 16:50:23
diff --git a/harness/evidence/run9/setup.log b/harness/evidence/run9/setup.log
new file mode 100644
index 000000000..dd278fd4e
--- /dev/null
+++ b/harness/evidence/run9/setup.log
@@ -0,0 +1,109 @@
+== 1 restore s7, leo onto ext4 (16:08:26.483Z)
+/dev/nvme0n1p1 59G 30G 28G 52% /
+ infra running 203.0.113.10/24 failed=[]
+leo running 203.0.113.21/24 failed=[]
+sophie running 203.0.113.22/24 failed=[]
+dennis running 203.0.113.23/24 failed=[]
+signer running 203.0.113.30/24 failed=[]
+/ dev=66307
+259:3 /var/lib/harness-dir/containers/leo/rootfs /
+0:239 / /dev
+0:240 / /proc
+0:241 / /sys
+0:230 / /dev/mqueue
+0:31 / /sys/firmware/efi/efivars
+0:39 / /sys/fs/fuse/connections
+0:30 / /sys/fs/pstore
+0:38 / /sys/kernel/config
+0:8 / /sys/kernel/debug
+0:7 / /sys/kernel/security
+0:13 / /sys/kernel/tracing
+0:49 / /proc/sys/fs/binfmt_misc
+0:244 / /dev/.lxc/proc
+0:241 / /dev/.lxc/sys
+0:58 / /dev/incus
+0:29 / /sys/fs/cgroup
+0:246 / /dev/pts
+0:250 / /dev/shm
+0:252 / /run
+0:253 / /run/lock
+0:256 / /tmp
+carlos v0.28.5
+dennis,RUNNING,30
+infra,RUNNING,30
+leo,RUNNING,0
+leo-btrfs,STOPPED,22
+leo-ext4-f6,STOPPED,1
+leo-ext4-resume,STOPPED,2
+leo-ext4-run8a,STOPPED,1
+leo-ext4-run8b,STOPPED,4
+signer,RUNNING,30
+sophie,RUNNING,30
+leo:
+leo-btrfs: base,boot,pre62,s7,pre-window,g4-fail-cc90d542,pre-window-seeded,g4-held-8376a468,g4-fail-8376a468,g4-parent-p-refused,rearm-released-v0.28.7,post-b5,post-8.1,g7-fail-8a313548,g7-f4-census,post-b5-465c3a08,post-8.1-465c3a08,g7-fail-465c3a08,post-b5-465c3a08-c8,post-8.1-465c3a08-c8,g7-fail-465c3a08-c8,item6-plain-update-fail
+== 2 H14/H15, H13 (16:09:17.582Z)
+leo: disabled dmi=active ssm=loaded/inactive zram=/usr/local/lib/systemd/system/systemd-zram-setup@.service
+/sys/fs/cgroup rw,nosuid,nodev,noexec,relatime
+/sys/fs/cgroup ro,nosuid,nodev,noexec,relatime
+not writable
+sophie: disabled dmi=active ssm=loaded/inactive zram=/usr/local/lib/systemd/system/systemd-zram-setup@.service
+/sys/fs/cgroup rw,nosuid,nodev,noexec,relatime
+/sys/fs/cgroup ro,nosuid,nodev,noexec,relatime
+not writable
+dennis: disabled dmi=active ssm=loaded/inactive zram=/usr/local/lib/systemd/system/systemd-zram-setup@.service
+/sys/fs/cgroup rw,nosuid,nodev,noexec,relatime
+/sys/fs/cgroup ro,nosuid,nodev,noexec,relatime
+not writable
+published control/certs/wakecheck.dev.harness.test (notAfter=Oct 23 16:09:20 2026 GMT)
+published control/certs/moveapp.dev.harness.test (notAfter=Oct 23 16:09:21 2026 GMT)
+published control/certs/rollbackapp.dev.harness.test (notAfter=Oct 23 16:09:22 2026 GMT)
+operator CLI: carlos v0.28.5
+box reports fresh at 16:10:27
+== 3a saved copies (16:10:27.476Z)
+815226c31a8ff4485f64ccaf9cbcd3d3a866105991aa5b03760c9890e9dae938 /root/claim-trial/paused-20261019/91-claim-runtime.conf
+5df17bac42a91a02d90584edc5476c045400af57e467b2ea0815ba50b7e31d03 /root/claim-trial/paused-20261019/claim-console.env
+== 3b Pause again, verbatim (16:10:27.580Z)
+active
+CARLOS_HOST_CLAIM=
+healthz 200
+0
+== 4 wakecheck, step 4.2, 4.3 (16:10:31.163Z)
+4a79c656fb82fedcfcdf507a8a50dac294bbb48e7f2840c1e9db9446a37db070 /home/operator/cohort1/pw/linux-arm64
+using http://127.0.0.1:8090 as operator@keymail.dev
+created app wakecheck in account bab — it's yours
+ open: http://127.0.0.1:8090/a/bab/apps/wakecheck
+ ship: carlos ship --account bab --app wakecheck ...
+using http://127.0.0.1:8090 as operator@keymail.dev
+shipped wakecheck wc4
+using http://127.0.0.1:8090 as operator@keymail.dev
+promoted wakecheck wc4 -> edge
+enabled instances for wakecheck under dev.harness.test
+using http://127.0.0.1:8090 as operator@keymail.dev
+created instance wakecheck.dev.harness.test (channel edge, Ireland · Dublin)
+ the host comes live on the next reconcile pass on its box
+build= host=sophie hits=2
+ [200] sophie
+build= host=sophie hits=3
+ [200] sophie
+instance is waking elsewhere; retry shortly
+ [503] leo
+instance is waking elsewhere; retry shortly
+ [503] leo
+active
+removed wakecheck.dev.harness.test
+active
+== leo carlos v0.28.5
+== sophie carlos v0.28.5
+('console.dev.harness.test', 'console', '', '', 'canary/console', 0)
+('wakecheck.dev.harness.test', 'wakecheck', '', '', 'edge', 1)
+== dennis carlos v0.28.5
+== 5 snapshot pre-0285 (16:11:23.133Z)
+infra: running failed=[] snapshots=base,boot,pre62,s7,pre-window,g4-fail-cc90d542,pre-window-seeded,g4-held-8376a468,g4-fail-8376a468,g4-parent-p-refused,rearm-released-v0.28.7,post-b5,post-8.1,g7-fail-8a313548,g7-f4-census,post-b5-465c3a08,post-8.1-465c3a08,g7-fail-465c3a08,post-b5-465c3a08-c8,post-8.1-465c3a08-c8,g7-fail-465c3a08-c8,g7-fail-465c3a08-ext4,resume-complete-ext4,post-b5-clean,post-b5-run8,post-b5-run8b,post-8.1-run8,g10-stuck-run8,item6-plain-update-fail,post-window,pre-0285
+leo: running failed=[] snapshots=pre-0285
+sophie: running failed=[] snapshots=base,boot,pre62,s7,pre-window,g4-fail-cc90d542,pre-window-seeded,g4-held-8376a468,g4-fail-8376a468,g4-parent-p-refused,rearm-released-v0.28.7,post-b5,post-8.1,g7-fail-8a313548,g7-f4-census,post-b5-465c3a08,post-8.1-465c3a08,g7-fail-465c3a08,post-b5-465c3a08-c8,post-8.1-465c3a08-c8,g7-fail-465c3a08-c8,g7-fail-465c3a08-ext4,resume-complete-ext4,post-b5-clean,post-b5-run8,post-b5-run8b,post-8.1-run8,g10-stuck-run8,item6-plain-update-fail,post-window,pre-0285
+dennis: running failed=[] snapshots=base,boot,pre62,s7,pre-window,g4-fail-cc90d542,pre-window-seeded,g4-held-8376a468,g4-fail-8376a468,g4-parent-p-refused,rearm-released-v0.28.7,post-b5,post-8.1,g7-fail-8a313548,g7-f4-census,post-b5-465c3a08,post-8.1-465c3a08,g7-fail-465c3a08,post-b5-465c3a08-c8,post-8.1-465c3a08-c8,g7-fail-465c3a08-c8,g7-fail-465c3a08-ext4,resume-complete-ext4,post-b5-clean,post-b5-run8,post-b5-run8b,post-8.1-run8,g10-stuck-run8,item6-plain-update-fail,post-window,pre-0285
+signer: running failed=[] snapshots=base,boot,pre62,s7,pre-window,g4-fail-cc90d542,pre-window-seeded,g4-held-8376a468,g4-fail-8376a468,g4-parent-p-refused,rearm-released-v0.28.7,post-b5,post-8.1,g7-fail-8a313548,g7-f4-census,post-b5-465c3a08,post-8.1-465c3a08,g7-fail-465c3a08,post-b5-465c3a08-c8,post-8.1-465c3a08-c8,g7-fail-465c3a08-c8,g7-fail-465c3a08-ext4,resume-complete-ext4,post-b5-clean,post-b5-run8,post-b5-run8b,post-8.1-run8,g10-stuck-run8,item6-plain-update-fail,post-window,pre-0285
+sophie-console volume snapshots: s7,pre-window,g4-fail-cc90d542,pre-window-seeded,g4-held-8376a468,g4-fail-8376a468,g4-parent-p-refused,rearm-released-v0.28.7,post-b5,post-8.1,g7-fail-8a313548,g7-f4-census,post-b5-465c3a08,post-8.1-465c3a08,g7-fail-465c3a08,post-b5-465c3a08-c8,post-8.1-465c3a08-c8,g7-fail-465c3a08-c8,g7-fail-465c3a08-ext4,resume-complete-ext4,post-b5-clean,post-b5-run8,post-b5-run8b,post-8.1-run8,g10-stuck-run8,item6-plain-update-fail,post-window,pre-0285
+CARLOS_HOST_CLAIM=
+healthz 200
+[hssm] i-06a1ec144aa5226fb b311471f-056d-40af-96b2-804c3d96453b Success exit=0
diff --git a/harness/evidence/run9/snap-e.log b/harness/evidence/run9/snap-e.log
new file mode 100644
index 000000000..393523c46
--- /dev/null
+++ b/harness/evidence/run9/snap-e.log
@@ -0,0 +1,2 @@
+[hssm] i-06a1ec144aa5226fb e7cf1a6f-88b6-4d53-ab2d-03401db873bd Success exit=0
+sophie-console volume snapshots: s7,pre-window,g4-fail-cc90d542,pre-window-seeded,g4-held-8376a468,g4-fail-8376a468,g4-parent-p-refused,rearm-released-v0.28.7,post-b5,post-8.1,g7-fail-8a313548,g7-f4-census,post-b5-465c3a08,post-8.1-465c3a08,g7-fail-465c3a08,post-b5-465c3a08-c8,post-8.1-465c3a08-c8,g7-fail-465c3a08-c8,g7-fail-465c3a08-ext4,resume-complete-ext4,post-b5-clean,post-b5-run8,post-b5-run8b,post-8.1-run8,g10-stuck-run8,item6-plain-update-fail,post-window,pre-0285,e-refused-0285
diff --git a/harness/evidence/run9/snap-post.log b/harness/evidence/run9/snap-post.log
new file mode 100644
index 000000000..662710c63
--- /dev/null
+++ b/harness/evidence/run9/snap-post.log
@@ -0,0 +1,2 @@
+[hssm] i-06a1ec144aa5226fb 8c0dd02f-8618-4f0a-aec7-4ac19749c2eb Success exit=0
+sophie-console volume snapshots: s7,pre-window,g4-fail-cc90d542,pre-window-seeded,g4-held-8376a468,g4-fail-8376a468,g4-parent-p-refused,rearm-released-v0.28.7,post-b5,post-8.1,g7-fail-8a313548,g7-f4-census,post-b5-465c3a08,post-8.1-465c3a08,g7-fail-465c3a08,post-b5-465c3a08-c8,post-8.1-465c3a08-c8,g7-fail-465c3a08-c8,g7-fail-465c3a08-ext4,resume-complete-ext4,post-b5-clean,post-b5-run8,post-b5-run8b,post-8.1-run8,g10-stuck-run8,item6-plain-update-fail,post-window,pre-0285,e-refused-0285,post-0285
diff --git a/harness/evidence/run9/snap-premove.log b/harness/evidence/run9/snap-premove.log
new file mode 100644
index 000000000..d4db4ac1f
--- /dev/null
+++ b/harness/evidence/run9/snap-premove.log
@@ -0,0 +1,3 @@
+[hssm] i-06a1ec144aa5226fb 3f3d01ec-0434-4ba1-88b0-429ab388f17f Success exit=0
+sophie-console volume snapshots: s7,pre-window,g4-fail-cc90d542,pre-window-seeded,g4-held-8376a468,g4-fail-8376a468,g4-parent-p-refused,rearm-released-v0.28.7,post-b5,post-8.1,g7-fail-8a313548,g7-f4-census,post-b5-465c3a08,post-8.1-465c3a08,g7-fail-465c3a08,post-b5-465c3a08-c8,post-8.1-465c3a08-c8,g7-fail-465c3a08-c8,g7-fail-465c3a08-ext4,resume-complete-ext4,post-b5-clean,post-b5-run8,post-b5-run8b,post-8.1-run8,g10-stuck-run8,item6-plain-update-fail,post-window,pre-0285,e-refused-0285,post-0285,pre-move-r9
+edges fresh 17:20:25
diff --git a/harness/evidence/run9/verify.log b/harness/evidence/run9/verify.log
new file mode 100644
index 000000000..5bb86ba79
--- /dev/null
+++ b/harness/evidence/run9/verify.log
@@ -0,0 +1,39 @@
+[hssm] i-06a1ec144aa5226fb 6ff979bc-5b25-427a-b1ab-33e18f6d15e3 Success exit=0
+17:31:35
+== dennis /report
+{"host":"moveapp.dev.harness.test","region":"uk","rows":[{"kind":"bg","region":"home","count":2046,"min_seq":1,"max_seq":2046},{"kind":"bg","region":"uk","count":598,"min_seq":2047,"max_seq":2644},{"kind":"tick","region":"home","count":17,"min_seq":0,"max_seq":0},{"kind":"tick","region":"uk","count":6,"min_seq":0,"max_seq":0},{"kind":"worker","region":"home","count":1024,"min_seq":1,"max_seq":1024},{"kind":"worker","region":"uk","count":299,"min_seq":1025,"max_seq":1323}],"fired":[{"name":"every-minute","due_at":1792515120,"count":1},{"name":"every-minute","due_at":1792515240,"count":1},{"name":"every-minute","due_at":1792515300,"count":1},{"name":"every-minute","due_at":1792515360,"count":1},{"name":"every-minute","due_at":1792515420,"count":1},{"name":"every-minute","due_at":1792515480,"count":1},{"name":"every-minute","due_at":1792515540,"count":1},{"name":"every-minute","due_at":1792515600,"count":1},{"name":"every-minute","due_at":1792515660,"count":1},{"name":"every-minute","due_at":1792515720,"count":1},{"name":"every-minute","due_at":1792515780,"count":1},{"name":"every-minute","due_at":1792515840,"count":1},{"name":"every-minute","due_at":1792515900,"count":1},{"name":"every-minute","due_at":1792515960,"count":1},{"name":"every-minute","due_at":1792516620,"count":1},{"name":"every-minute","due_at":1792516740,"count":1},{"name":"every-minute","due_at":1792516800,"count":1},{"name":"every-minute","due_at":1792516860,"count":1},{"name":"every-minute","due_at":1792517220,"count":1},{"name":"every-minute","due_at":1792517280,"count":1},{"name":"every-minute","due_at":1792517340,"count":1},{"name":"every-minute","due_at":1792517400,"count":1},{"name":"every-minute","due_at":1792517460,"count":1}],"file_key_sha256":"c5a85dd69ca8b542847bf5041652d3f86a8801db0782680686d1b0919c447874","platform_key_sha256":"067b3156a105cea185a9c20f507f92dac33d22ea774b10f1238ed2985178fc84","object":{"key":"probe/0456deb532974a46.txt","body":"moveprobe boot 0456deb532974a46 host moveapp.dev.harness.test region uk at 2026-10-20T17:26:36Z\n"},"has_secret":true,"worker_writes_committed":299,"worker_writes_failed":0}
+== lock.json raw
+harness-data-ie: {"generation":1,"expires_at":"1970-01-01T00:00:00Z","owner":"moved:mv_twameyccfp7ryimabnjg32ltla"}
+harness-data-uk: {"generation":1,"expires_at":"2026-10-20T17:46:34.282514492Z","owner":"dennis:215"}
+[{"LastModified":"2026-10-20T17:30:59.593000+00:00","IsLatest":true,"Size":98},{"LastModified":"2026-10-20T17:26:40.709000+00:00","IsLatest":false,"Size":108},{"LastModified":"2026-10-20T17:26:29.165000+00:00","IsLatest":false,"Size":107},{"LastModified":"2026-10-20T17:26:23.717000+00:00","IsLatest":false,"Size":108},{"LastModified":"2026-10-20T17:25:43.137000+00:00","IsLatest":false,"Size":108},{"LastModified":"2026-10-20T17:20:44.377000+00:00","IsLatest":false,"Size":108},{"LastModified":"2026-10-20T17:20:39.261000+00:00","IsLatest":false,"Size":108},{"LastModified":"2026-10-20T17:20:37.777000+00:00","IsLatest":false,"Size":108},{"LastModified":"2026-10-20T17:20:37.533000+00:00","IsLatest":false,"Size":83},{"LastModified":"2026-10-20T17:18:04.683000+00:00","IsLatest":false,"Size":83},{"LastModified":"2026-10-20T17:02:43.067000+00:00","IsLatest":false,"Size":84},{"LastModified":"2026-10-20T16:57:43.067000+00:00","IsLatest":false,"Size":84},{"LastModified":"2026-10-20T16:52:43.057000+00:00","IsLatest":false,"Size":84},{"LastModified":"2026-10-20T16:52:02.953000+00:00","IsLatest":false,"Size":84}]
+[{"LastModified":"2026-10-20T17:20:37.678000+00:00","IsLatest":false},{"LastModified":"2026-10-20T17:20:31.692000+00:00","IsLatest":false},{"LastModified":"2026-10-20T16:52:33.840000+00:00","IsLatest":false}]
+== record
+{"region":"uk","move":null,"last_move":{"id":"mv_twameyccfp7ryimabnjg32ltla","outcome":"done","at":"2026-10-20T17:31:01.335367958Z","offline_s":356.084826879},"record_seq":null}
+== reports
+2026-10-20T17:20:39 {"role":"sealer","box":"ada-letterpress","phase":"sealed","at":"2026-10-20T17:20:37.252733939Z","lifted":null,"lock":null}
+2026-10-20T17:30:59 {"role":"sealer","box":"ada-letterpress","phase":"lifted","at":"2026-10-20T17:30:59.687941508Z","lifted":null,"lock":null}
+2026-10-20T17:30:59 {"role":"source","box":"ada-letterpress","phase":"gone","at":"2026-10-20T17:30:59.390941963Z","lifted":null,"lock":null}
+2026-10-20T17:26:40 {"role":"source","box":"kathleen-juggling","phase":"gone","at":"2026-10-20T17:26:40.886844323Z","lifted":null,"lock":null}
+2026-10-20T17:26:30 {"role":"target","box":"noor-marquetry","phase":"opened","at":"2026-10-20T17:26:30.12755882Z","lifted":null,"lock":null}
+== sophie stray env and parked tree
+/data/instances/moveapp.dev.harness.test carlos:carlos 700 56 2026-10-20 17:27:04.568481695 +0000
+/data/instances/moveapp.dev.harness.test/moveapp.dev.harness.test.env carlos:carlos 600 84 2026-10-20 17:27:04.568481695 +0000
+/data/.instances/moveapp.dev.harness.test carlos:carlos 700 56 2026-10-20 17:27:04.568481695 +0000
+CARLOS_ADMIN_TOKEN
+moveapp.dev.harness.test
+moveapp.dev.harness.test/mv_twameyccfp7ryimabnjg32ltla
+moveapp.dev.harness.test/mv_twameyccfp7ryimabnjg32ltla/sealer
+moveapp.dev.harness.test/mv_twameyccfp7ryimabnjg32ltla/source
+moveapp.dev.harness.test/mv_twameyccfp7ryimabnjg32ltla/source/instance
+moveapp.dev.harness.test/mv_twameyccfp7ryimabnjg32ltla/source/moveapp.dev.harness.test.json
+lrwxrwxrwx 1 root root 32 Oct 20 16:51 moveapp.dev.harness.test -> /opt/carlos/versions/mp1/moveapp
+Oct 20 17:26:23 sophie carlos[230]: 2026/10/20 17:26:23 provision: not removing moveapp.dev.harness.test (record gone): participant of a running operation
+Oct 20 17:26:23 sophie carlos[230]: 2026/10/20 17:26:23 layout: moveapp.dev.harness.test: deferred -> status moving
+Oct 20 17:26:28 sophie carlos[230]: 2026/10/20 17:26:28 provision: not removing moveapp.dev.harness.test (record gone): participant of a running operation
+Oct 20 17:26:28 sophie carlos[230]: 2026/10/20 17:26:28 moves: moveapp.dev.harness.test: offline move mv_twameyccfp7ryimabnjg32ltla: wake fence lifted
+Oct 20 17:26:29 sophie carlos[230]: 2026/10/20 17:26:29 layout: moveapp.dev.harness.test: deferred -> status moving
+Oct 20 17:26:40 sophie carlos[230]: 2026/10/20 17:26:40 provision: not removing moveapp.dev.harness.test (record gone): participant of a running operation
+Oct 20 17:26:40 sophie carlos[230]: 2026/10/20 17:26:40 moves: moveapp.dev.harness.test: offline move mv_twameyccfp7ryimabnjg32ltla: waiting for reconcile to remove the row
+Oct 20 17:26:40 sophie carlos[230]: 2026/10/20 17:26:40 layout: moveapp.dev.harness.test: deferred -> status moving
+Oct 20 17:30:59 sophie carlos[230]: 2026/10/20 17:30:59 provision: removed retired instance route moveapp.dev.harness.test (record gone)
+Oct 20 17:30:59 sophie carlos[230]: 2026/10/20 17:30:59 moves: moveapp.dev.harness.test: offline move mv_twameyccfp7ryimabnjg32ltla: tombstone lifted
diff --git a/harness/evidence/run9/verify2.log b/harness/evidence/run9/verify2.log
new file mode 100644
index 000000000..b5d4fe9eb
--- /dev/null
+++ b/harness/evidence/run9/verify2.log
@@ -0,0 +1,21 @@
+failed to run commands: exit status 1[hssm] i-06a1ec144aa5226fb c9536ff8-ab69-41df-b8c4-4c3eb973f25d Failed exit=1
+17:33:32
+== rollbackapp on sophie
+{"region":"home","rows":[{"kind":"bg","region":"home","count":2735,"min_seq":1,"max_seq":2735},{"kind":"tick","region":"home","count":15,"min_seq":0,"max_seq":0},{"kind":"worker","region":"home","count":1375,"min_seq":1,"max_seq":1375}],"once":[],"file_key_sha256":"5bbb681b1334269e","platform_key_sha256":"eb5cb3433bc745c9","object":"probe/a6f1b49d1c6b0487.txt","has_secret":true}
+lock data-ie: {"generation":2,"expires_at":"2026-10-20T17:48:12.524083158Z","owner":"sophie:230"}
+lock data-uk:
+record: {"region":null,"move":null,"last_move":{"id":"mv_kai2mu6xs376umepnqhhvykfuu","outcome":"aborted","at":"2026-10-20T17:33:10.663223153Z","offline_s":20.898181071}}
+data-uk moves/ objects for rollbackapp.dev.harness.test: 0
+== moveapp on dennis
+{"region":"uk","rows":[{"kind":"bg","region":"home","count":2046,"min_seq":1,"max_seq":2046},{"kind":"bg","region":"uk","count":839,"min_seq":2047,"max_seq":2885},{"kind":"tick","region":"home","count":17,"min_seq":0,"max_seq":0},{"kind":"tick","region":"uk","count":8,"min_seq":0,"max_seq":0},{"kind":"worker","region":"home","count":1024,"min_seq":1,"max_seq":1024},{"kind":"worker","region":"uk","count":420,"min_seq":1025,"max_seq":1444}],"once":[],"file_key_sha256":"c5a85dd69ca8b542","platform_key_sha256":"067b3156a105cea1","object":"probe/0456deb532974a46.txt","has_secret":true}
+lock data-ie: {"generation":1,"expires_at":"1970-01-01T00:00:00Z","owner":"moved:mv_twameyccfp7ryimabnjg32ltla"}
+lock data-uk: {"generation":1,"expires_at":"2026-10-20T17:46:34.282514492Z","owner":"dennis:215"}
+record: {"region":"uk","move":null,"last_move":{"id":"mv_twameyccfp7ryimabnjg32ltla","outcome":"done","at":"2026-10-20T17:31:01.335367958Z","offline_s":356.084826879}}
+data-uk moves/ objects for moveapp.dev.harness.test: 0
+rollbackapp.dev.harness.test
+rollbackapp.dev.harness.test/mv_kai2mu6xs376umepnqhhvykfuu
+rollbackapp.dev.harness.test/mv_kai2mu6xs376umepnqhhvykfuu/target
+rollbackapp.dev.harness.test/mv_kai2mu6xs376umepnqhhvykfuu/target/rollbackapp.dev.harness.test
+rollbackapp.dev.harness.test/mv_kai2mu6xs376umepnqhhvykfuu/target/rollbackapp.dev.harness.test/instance.key
+rollbackapp.dev.harness.test/mv_kai2mu6xs376umepnqhhvykfuu/target/rollbackapp.dev.harness.test.env
+rollbackapp.dev.harness.test/mv_kai2mu6xs376umepnqhhvykfuu/target/rollbackapp.dev.harness.test.config.env