harness: Run 9 (A) b-f: re-arm leo and sophie PASS, dennis PASS, install-console refuses an installed console (defect 5), E1, dev check
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5 files changed,
+175
−0
harness/RUNLOG.md+93 −0harness/scenarios/cohort1/blocks/r9-console-e1.host.sh+38 −0harness/scenarios/cohort1/blocks/r9-devcheck.host.sh+16 −0harness/scenarios/cohort1/blocks/r9-move-setup.host.sh+7 −0harness/scenarios/cohort1/blocks/r9-normal.host.sh+21 −0
CI failed — run details
CI log
=== gate ===
go: downloading github.com/aws/aws-sdk-go-v2/service/autoscaling v1.74.0
go: downloading github.com/aws/aws-sdk-go-v2/service/ssm v1.74.0
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 309.965s
? github.com/carlosframework/platform/cmd/changelog [no test files]
ok github.com/carlosframework/platform/cmd/console 3.278s
ok github.com/carlosframework/platform/cmd/moveprobe 93.611s
ok github.com/carlosframework/platform/cmd/zddprobe 0.731s
? github.com/carlosframework/platform/harness/apps/wakecheck [no test files]
ok github.com/carlosframework/platform/internal/activator 251.764s
ok github.com/carlosframework/platform/internal/agentsock 0.034s
ok github.com/carlosframework/platform/internal/alerting 0.008s
ok github.com/carlosframework/platform/internal/analytics 0.046s
ok github.com/carlosframework/platform/internal/appconfig 2.708s
ok github.com/carlosframework/platform/internal/apperr 0.119s
ok github.com/carlosframework/platform/internal/applog 0.259s
ok github.com/carlosframework/platform/internal/awsinv 0.006s
ok github.com/carlosframework/platform/internal/boxchoice 0.010s
ok github.com/carlosframework/platform/internal/boxid 0.523s
? 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.042s
ok github.com/carlosframework/platform/internal/certwarm 0.008s
ok github.com/carlosframework/platform/internal/cgroup 0.747s
ok github.com/carlosframework/platform/internal/changelog 0.452s
ok github.com/carlosframework/platform/internal/claimactivation 1.016s
ok github.com/carlosframework/platform/internal/clamd 0.057s
? github.com/carlosframework/platform/internal/cliflag [no test files]
ok github.com/carlosframework/platform/internal/console 404.599s
? 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.756s
ok github.com/carlosframework/platform/internal/dbdoor/dbdoortest 0.011s
ok github.com/carlosframework/platform/internal/dbverify 0.011s
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.448s
ok github.com/carlosframework/platform/internal/doorkey 0.006s
ok github.com/carlosframework/platform/internal/economics 0.005s
ok github.com/carlosframework/platform/internal/edge 45.648s
? github.com/carlosframework/platform/internal/edgeproof [no test files]
ok github.com/carlosframework/platform/internal/edgesfile 0.013s
ok github.com/carlosframework/platform/internal/fleetapi 0.142s
ok github.com/carlosframework/platform/internal/gate 1.656s
ok github.com/carlosframework/platform/internal/genselect 0.020s
ok github.com/carlosframework/platform/internal/geo 0.016s
ok github.com/carlosframework/platform/internal/geoip 0.044s
ok github.com/carlosframework/platform/internal/historyreadback 0.191s
ok github.com/carlosframework/platform/internal/host 182.291s
ok github.com/carlosframework/platform/internal/hostactors 6.565s
ok github.com/carlosframework/platform/internal/hostactors/awsmembership 0.012s
ok github.com/carlosframework/platform/internal/hostbox 2.970s
ok github.com/carlosframework/platform/internal/hostclaim 0.812s
ok github.com/carlosframework/platform/internal/hostenv 0.006s
ok github.com/carlosframework/platform/internal/hostevidence 0.007s
ok github.com/carlosframework/platform/internal/hostexec 6.455s
ok github.com/carlosframework/platform/internal/hostfence 0.049s
ok github.com/carlosframework/platform/internal/hostfiles 10.963s
ok github.com/carlosframework/platform/internal/hostfloor 0.021s
ok github.com/carlosframework/platform/internal/hostguard 1.060s
ok github.com/carlosframework/platform/internal/hostops 1.919s
? github.com/carlosframework/platform/internal/hostops/fencerelease [no test files]
ok github.com/carlosframework/platform/internal/hostops/internal/fencerelease 0.003s
ok github.com/carlosframework/platform/internal/hostquarantine 0.006s
ok github.com/carlosframework/platform/internal/hostrelocate 0.677s
ok github.com/carlosframework/platform/internal/hostresolve 0.176s
ok github.com/carlosframework/platform/internal/hostwrite 0.003s
ok github.com/carlosframework/platform/internal/infraview 0.002s
ok github.com/carlosframework/platform/internal/instancectl 5.275s
ok github.com/carlosframework/platform/internal/instanceexec 2.817s
ok github.com/carlosframework/platform/internal/instancefs 0.007s
ok github.com/carlosframework/platform/internal/instancekey 0.003s
ok github.com/carlosframework/platform/internal/instanceupdates 0.012s
ok github.com/carlosframework/platform/internal/layout 1.834s
ok github.com/carlosframework/platform/internal/lbhealth 0.007s
ok github.com/carlosframework/platform/internal/lease 9.876s
ok github.com/carlosframework/platform/internal/lease/leasetest 0.006s
ok github.com/carlosframework/platform/internal/ledger 0.022s
ok github.com/carlosframework/platform/internal/mail 0.276s
ok github.com/carlosframework/platform/internal/maintenance 0.096s
ok github.com/carlosframework/platform/internal/maintenanceexec 5.770s
ok github.com/carlosframework/platform/internal/maintenanceguard 0.098s
ok github.com/carlosframework/platform/internal/metrics 0.015s
ok github.com/carlosframework/platform/internal/moves 21.827s
ok github.com/carlosframework/platform/internal/moves/archive 0.996s
ok github.com/carlosframework/platform/internal/objstore 0.299s
ok github.com/carlosframework/platform/internal/ops 0.182s
ok github.com/carlosframework/platform/internal/park 0.352s
ok github.com/carlosframework/platform/internal/privatefile 0.003s
2026/10/20 16:38:07 provision: listing apps/bab/blog/instances/: list refused — its records are unseen this pass
2026/10/20 16:38:07 provision: listing apps/bab/: listdirs refused — its records are unseen this pass
2026/10/20 16:38:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/20 16:38:08 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/20 16:38:08 provision: skipping record apps/bac/tito/instances/one.example.com.json: unreadable: read refused
2026/10/20 16:38:08 provision: listing apps/bac/tito/instances/: list refused — its records are unseen this pass
2026/10/20 16:38:08 provision: an app's records could not be listed: they are skipped
2026/10/20 16:38:08 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 16:38:08 provision: remove retired instance route shop.example: provision: claim admission unavailable
2026/10/20 16:38:08 provision: remove retired instance route shop.example: provision: claim admission unavailable
2026/10/20 16:38:08 provision: remove retired sidecar route worker.sidecar.internal: provision: claim admission unavailable
2026/10/20 16:38:08 provision: remove retired sidecar route worker.sidecar.internal: provision: claim admission unavailable
2026/10/20 16:38:08 provision: claim install acme.go.tito.io: provision: claim admission unavailable
2026/10/20 16:38:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/20 16:38:08 provision: claim install bot.eleven.bac.sidecar.internal: provision: claim admission unavailable
2026/10/20 16:38:08 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/20 16:38:08 provision: claim install bot.eleven.bac.sidecar.internal: registry: claim row ownership changed or unknown
2026/10/20 16:38:08 provision: refusing to mint route acme.go.tito.io (app "tito" acct "bac"): this box declares CARLOS_INBOUND=none (no-inbound) and cannot serve routed instance traffic
2026/10/20 16:38:08 provision: acme.go.tito.io: not minting this pass: the box's layout intent could not be read: no sealed config
2026/10/20 16:38:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: REFUSING to mint sidecar bot.eleven.bac.sidecar.internal: bot.eleven.bac.sidecar.internal-sidecar.env is staged on this box — the legacy file co-spawn and a native sidecar row are two mechanisms for one host; remove the file to migrate this host onto sidecar records
2026/10/20 16:38:08 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/20 16:38:08 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/20 16:38:08 provision: refusing to mint route acme.go.tito.io (app "tito" acct "bac"): this box declares CARLOS_INBOUND=none (no-inbound) and cannot serve routed instance traffic
2026/10/20 16:38:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: REFUSING to mint sidecar bot.eleven.bac.sidecar.internal: bot.eleven.bac.sidecar.internal-sidecar.env is staged on this box — the legacy file co-spawn and a native sidecar row are two mechanisms for one host; remove the file to migrate this host onto sidecar records
2026/10/20 16:38:08 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/20 16:38:08 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/20 16:38:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/20 16:38:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: claim install acme.go.tito.io: registry: claim row ownership changed or unknown
2026/10/20 16:38:08 provision: bot.eleven.bac.sidecar.internal exists but is not a sidecar row this pass owns (kind "sidecar" provisioned false app "eleven" acct "bac") — leaving it alone
2026/10/20 16:38:08 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["run"])
2026/10/20 16:38:08 provision: claim install bot.eleven.bac.sidecar.internal: registry: claim row ownership changed or unknown
2026/10/20 16:38:08 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/20 16:38:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/20 16:38:08 provision: bot.eleven.bac.sidecar.internal exists but is not a sidecar row this pass owns (kind "sidecar" provisioned false app "eleven" acct "bac") — leaving it alone
2026/10/20 16:38:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 16:38:08 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 16:38:08 provision: skipping record apps/bac/tito/instances/new.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 16:38:08 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/20 16:38:08 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 16:38:08 provision: skipping record apps/bac/tito/instances/new.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 16:38:08 provision: minted instance route re.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route rf.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route rg.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route rh.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route ri.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route rj.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route rc.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route rd.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route rk.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route rl.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route ra.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route rb.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route ra.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route rb.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route rc.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: minted instance route rd.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:08 provision: skipping record apps/bac/tito/instances/rb.go.tito.io.json: read failed: read refused
2026/10/20 16:38:08 provision: skipping record apps/bac/tito/instances/rb.go.tito.io.json: read failed: read refused
2026/10/20 16:38:08 provision: minted instance route re.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route x.appj.example (app "appj" acct "bac")
2026/10/20 16:38:09 provision: minted instance route x.appb.example (app "appb" acct "bac")
2026/10/20 16:38:09 provision: minted instance route x.appc.example (app "appc" acct "bac")
2026/10/20 16:38:09 provision: minted instance route x.appe.example (app "appe" acct "bac")
2026/10/20 16:38:09 provision: minted instance route x.appa.example (app "appa" acct "bac")
2026/10/20 16:38:09 provision: minted instance route x.appd.example (app "appd" acct "bac")
2026/10/20 16:38:09 provision: minted instance route x.appf.example (app "appf" acct "bac")
2026/10/20 16:38:09 provision: minted instance route x.appg.example (app "appg" acct "bac")
2026/10/20 16:38:09 provision: minted instance route x.apph.example (app "apph" acct "bac")
2026/10/20 16:38:09 provision: minted instance route x.appi.example (app "appi" acct "bac")
2026/10/20 16:38:09 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/20 16:38:09 provision: minted instance route r0090.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0109.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0111.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0001.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0004.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0024.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0060.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0101.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0006.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0045.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0103.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0007.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0017.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0047.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0059.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0069.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0002.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0025.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0033.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0035.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0068.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0055.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0070.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0098.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0000.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0040.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0062.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0071.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0076.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0081.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0115.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0117.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0054.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0100.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0108.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0051.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0016.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0023.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0028.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0037.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0066.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0114.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0027.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0079.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0094.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0105.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0116.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0126.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0036.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0065.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0013.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0052.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0078.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0082.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0087.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0123.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0124.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0129.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0008.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0010.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0050.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0121.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0032.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0085.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0118.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0053.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0096.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0113.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0127.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0003.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0015.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0021.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0026.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0039.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0044.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0005.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0012.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0034.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0056.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0119.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0128.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0020.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0063.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0086.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0104.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0110.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0084.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0091.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0099.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0125.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0018.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0029.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0031.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0067.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0073.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0009.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0030.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0080.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0048.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0049.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0042.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0088.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0046.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0014.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0097.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0112.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0038.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0057.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0058.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0075.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0092.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0019.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0074.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0102.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0106.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0107.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0120.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0011.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0072.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0077.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0089.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0093.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0095.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0043.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0122.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0022.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0041.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0061.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0064.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:09 provision: minted instance route r0083.go.tito.io (app "tito" acct "bac")
--- FAIL: TestPlan14RootReadCensus (4.57s)
plan14_root_reads_test.go:940: root read census: 132 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-setup.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 16:38:41 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:41 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:41 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 16:38:41 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:41 provision: minted service route ha.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:41 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:41 provision: minted service route svc.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:41 provision: minted instance route whole.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:41 provision: minted instance route console.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:41 provision: minted instance route shared.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:41 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:41 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: converged acme.go.tito.io channel stable -> edge
2026/10/20 16:38:42 provision: converged acme.go.tito.io channel edge -> canary/rehearsal
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: empty channel
2026/10/20 16:38:42 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: converged acme.go.tito.io environment "" -> "staging"
2026/10/20 16:38:42 provision: converged acme.go.tito.io environment "staging" -> ""
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: converged acme.go.tito.io steering "" -> "latency"
2026/10/20 16:38:42 provision: converged acme.go.tito.io steering "latency" -> ""
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: converged acme.go.tito.io hibernate false -> true
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: converged acme.go.tito.io hibernate true -> false (replication "daily" cleared: only a hibernating route's rung is read)
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: converged acme.go.tito.io status-named false -> true
2026/10/20 16:38:42 provision: converged acme.go.tito.io status-named true -> false
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted service route ha.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 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 16:38:42 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 16:38:42 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 16:38:42 provision: minted service route whole.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 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 16:38:42 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 16:38:42 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 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted service route whole.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: skipping accounts/bac/account.json: malformed account manifest: invalid character 'o' in literal null (expecting 'u')
2026/10/20 16:38:42 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: manifest bac/tito: read failed: provision: manifest bac/tito: invalid character 'o' in literal null (expecting 'u')
2026/10/20 16:38:42 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 16:38:42 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 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 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 16:38:42 provision: not removing acme$evil.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/20 16:38:42 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 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 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 16:38:42 provision: not removing bad-service.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/20 16:38:42 provision: skipping record apps/bac/tito/instances/no-channel.go.tito.io.json: empty channel
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: skipping record apps/bac/tito/instances/no-channel.go.tito.io.json: empty channel
2026/10/20 16:38:42 provision: not removing no-channel.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: skipping record apps/bac/tito/instances/acme.go.tito.io.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 16:38:42 provision: not removing acme.go.tito.io: its record exists but could not be read cleanly this pass
2026/10/20 16:38:42 provision: removed retired instance route ghost.go.tito.io (record gone)
2026/10/20 16:38:42 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 16:38:42 provision: minted instance route dup.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/20 16:38:42 provision: removed retired instance route acme.go.tito.io (app in the trash)
2026/10/20 16:38:42 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/20 16:38:42 provision: removed retired static route site.go.tito.io (app in the trash)
2026/10/20 16:38:42 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 16:38:42 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/20 16:38:42 provision: removed retired instance route acme.go.tito.io (app in the trash)
2026/10/20 16:38:42 provision: bac/tito is in the trash — not minting instance routes for it
2026/10/20 16:38:42 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 16:38:42 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/20 16:38:42 provision: converged acme.go.tito.io channel stable -> edge
2026/10/20 16:38:42 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/20 16:38:42 provision: converged acme.go.tito.io channel canary/rehearsal -> edge
2026/10/20 16:38:42 provision: converged acme.go.tito.io environment "staging" -> ""
2026/10/20 16:38:42 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/20 16:38:42 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 16:38:42 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 16:38:42 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 16:38:42 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 16:38:42 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 16:38:42 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 16:38:42 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/20 16:38:42 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/20 16:38:42 provision: dry-run: would mint instance route acme.go.tito.io (app "tito" acct "bac" channel "stable")
2026/10/20 16:38:42 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 16:38:42 provision: dry-run: would converge adopt.go.tito.io channel stable -> edge
2026/10/20 16:38:42 provision: dry-run: would converge adopt.go.tito.io environment "" -> "staging"
2026/10/20 16:38:42 provision: dry-run: would converge owned.go.tito.io channel stable -> edge
2026/10/20 16:38:42 provision: dry-run: would converge owned.go.tito.io environment "" -> "staging"
2026/10/20 16:38:42 provision: dry-run: would converge owned.go.tito.io hibernate false -> true
2026/10/20 16:38:42 provision: dry-run: would converge owned.go.tito.io seed
2026/10/20 16:38:42 provision: dry-run: would remove retired instance route gone.go.tito.io (record gone)
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: adopted existing route adopt.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/20 16:38:42 provision: converged adopt.go.tito.io channel stable -> edge
2026/10/20 16:38:42 provision: converged adopt.go.tito.io environment "" -> "staging"
2026/10/20 16:38:42 provision: converged owned.go.tito.io channel stable -> edge
2026/10/20 16:38:42 provision: converged owned.go.tito.io environment "" -> "staging"
2026/10/20 16:38:42 provision: converged owned.go.tito.io hibernate false -> true
2026/10/20 16:38:42 provision: removed retired instance route gone.go.tito.io (record gone)
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: adopted existing route story.carlosframework.com (app "story" acct "bad") — this record now owns its channel and environment
2026/10/20 16:38:42 provision: story.carlosframework.com exists but is not the route this record describes (kind "instance"/"static") — leaving it alone
2026/10/20 16:38:42 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted service route pub.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted service route pubs.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted instance route exec.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted service route loop.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted service route named.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted service route priv.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted instance route unit.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted static route pisite.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted static route site.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: removed retired static route site.go.tito.io (record gone)
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted instance route acme-uk.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: converged acme.go.tito.io replicas "ie,uk" -> "uk"
2026/10/20 16:38:42 provision: converged acme.go.tito.io replicas "uk" -> ""
2026/10/20 16:38:42 provision: minted instance route acme-uk.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: converged acme-uk.go.tito.io replica mark true -> false
2026/10/20 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 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 16:38:42 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:42 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:43 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:43 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:43 provision: minted instance route router.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:43 provision: acme.go.tito.io: not minting this pass: the box's layout intent could not be read: store down
2026/10/20 16:38:43 provision: router.go.tito.io: not minting this pass: the box's layout intent could not be read: store down
2026/10/20 16:38:43 provision: adopted existing route acme.go.tito.io (app "tito" acct "bac") — this record now owns its channel and environment
2026/10/20 16:38:43 provision: converged acme.go.tito.io channel stable -> edge
2026/10/20 16:38:43 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/20 16:38:43 provision: not removing acme.go.tito.io (record gone): participant of a running operation
2026/10/20 16:38:43 provision: removed retired instance route acme.go.tito.io (record gone)
2026/10/20 16:38:43 provision: minted instance route acme.go.tito.io held landing by mv_acme (app "tito" acct "bac")
2026/10/20 16:38:43 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 16:38:43 provision: held acme.go.tito.io landing by mv_acme (was ready)
2026/10/20 16:38:43 provision: acme.go.tito.io: held restoring by rb_other, not by mv_acme; leaving it
2026/10/20 16:38:43 provision: acme.go.tito.io: the row is not this pass's (app "other" acct ""); not holding it for mv_acme
2026/10/20 16:38:43 provision: acme.go.tito.io exists but is not the route this record describes (app "other"/"tito") — leaving it alone
2026/10/20 16:38:43 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 16:38:43 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 16:38:43 provision: held acme.go.tito.io landing by mv_acme (was ready)
2026/10/20 16:38:43 provision: minted instance route acme.example.com (app "shop" acct "bac")
2026/10/20 16:38:43 provision: minted instance route plain.example.com (app "shop" acct "bac")
2026/10/20 16:38:43 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 16:38:43 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 16:38:43 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 16:38:43 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 16:38:43 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 16:38:43 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 16:38:43 provision: skipping record apps/bac/shop/instances/garbled.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 16:38:43 provision: listing apps/bac/shop/instances/: list refused — its records are unseen this pass
2026/10/20 16:38:43 provision: a.shop.example.com: swapped for import sd_suv4nymqxxt3mugs7tb3todrwa (the original route is journaled)
2026/10/20 16:38:43 provision: a.shop.example.com: import sd_suv4nymqxxt3mugs7tb3todrwa committed: its gate is cleared and its journal row dropped
2026/10/20 16:38:43 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/20 16:38:43 provision: a.shop.example.com: import sd_eemb2mmtfdq4wr5zffbwf5imsi rolled back to its original route
2026/10/20 16:38:43 provision: a.shop.example.com: import sd_eemb2mmtfdq4wr5zffbwf5imsi: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/20 16:38:43 provision: a.shop.example.com: import sd_eemb2mmtfdq4wr5zffbwf5imsi is cleaned up and its journal row retired
2026/10/20 16:38:43 provision: a.shop.example.com: import sd_tuzhqczuxdepfbeubtsl3zu2de rolled back to its original route
2026/10/20 16:38:43 provision: a.shop.example.com: import sd_tuzhqczuxdepfbeubtsl3zu2de: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/20 16:38:43 provision: a.shop.example.com: import sd_tuzhqczuxdepfbeubtsl3zu2de is cleaned up and its journal row retired
2026/10/20 16:38:43 provision: dry-run: would redo a.shop.example.com's swap record CAS for import sd_m2nzlupmqzhaew3e354m33bliy
2026/10/20 16:38:43 provision: dry-run: would clear a.shop.example.com's import gate
2026/10/20 16:38:43 provision: dry-run: would converge a.shop.example.com seed source
2026/10/20 16:38:43 provision: a.shop.example.com: row is on the nested layout (db "/data/instances/a.shop.example.com/a.shop.example.com.db" socket "/run/carlos/instances/a.shop.example.com/app.sock"); the record's shared paths are not drift
2026/10/20 16:38:44 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 16:38:44 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 16:38:44 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 16:38:44 provision: a.shop.example.com: import sd_rkvptb3l5dkmdcypc44jn7zmkm cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_nj3qlfw4mxg6vk6cg63n73up2a cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_eykal4iow3ac6ptfkcf2cecaji is journaled, but this box cannot act on imports; its row is left alone
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_x37mgseuvvdvramthvrhatxewi is journaled, but this box cannot act on imports; its row is left alone
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_unlp2cv6vnwirvu3irhcn6eds4 is journaled, but this box cannot act on imports; its row is left alone
2026/10/20 16:38:44 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 16:38:44 provision: b.shop.example.com: import sd_kdxt5xqiibbdkoh2acr6sacgsy left alone this pass: the import journal could not be read
2026/10/20 16:38:44 provision: c.shop.example.com: import sd_3qmhbsrik4fm7jxamsqmcz5w4e left alone this pass: the import journal could not be read
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_hzk4alglnnhzg6fkuurg4obo2i committed: its gate is cleared and its journal row dropped
2026/10/20 16:38:44 provision: a.shop.example.com: not converging import sd_7osn2whjxr6xwwfpjdlljbi6qi: it is swapped but not committed, and the row on this box has no import gate
2026/10/20 16:38:44 provision: a.shop.example.com: not converging import sd_npqb2d5xoyntnamfqjkvoltd6q: it is swapped but not committed, and the row on this box has no import gate
2026/10/20 16:38:44 provision: a.shop.example.com: not converging import sd_sszpp3zxjkqq52cuzqy6ugehki: it is placed but not committed, and the row on this box has no import gate
2026/10/20 16:38:44 provision: a.shop.example.com: not converging import sd_22zamxk33vq56vgg6e2n3savyq: it is placed but not committed, and the row on this box has no import gate
2026/10/20 16:38:44 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 16:38:44 provision: converge seed source on a.shop.example.com: constraint failed: seed_source is read-only here (1811)
2026/10/20 16:38:44 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 16:38:44 provision: a.shop.example.com: import sd_s7czvbaz245nkvjimpvj7cs3fu committed: its gate is cleared and its journal row dropped
2026/10/20 16:38:44 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 16:38:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:44 provision: acme.go.tito.io: row is on the nested layout (db "/data/instances/acme.go.tito.io/acme.go.tito.io.db" socket "/run/carlos/instances/acme.go.tito.io/app.sock"); the record's shared paths are not drift
2026/10/20 16:38:44 provision: acme.go.tito.io: not minting a seeded instance: this box does not mint nested (<nil>)
2026/10/20 16:38:44 provision: acme.go.tito.io: not minting a seeded instance: claim control is on for this box
2026/10/20 16:38:44 provision: acme.go.tito.io: aborted seed sd_liptimri6cdndi4je2dqskyok4: this box cannot read seed markers, and places no seed; nothing local is removed
2026/10/20 16:38:44 provision: acme.go.tito.io: aborted seed sd_liptimri6cdndi4je2dqskyok4 rolled back (no box had swapped it)
2026/10/20 16:38:44 provision: acme.go.tito.io: not minting a seeded instance: its record does not describe a hibernating instance
2026/10/20 16:38:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:44 provision: removed instance route acme.go.tito.io (its seed sd_g6apqih6ilzflhqhebeuzhzhne was aborted); the next pass rolls it back
2026/10/20 16:38:44 provision: acme.go.tito.io: aborted seed sd_g6apqih6ilzflhqhebeuzhzhne: this box cannot read seed markers, and places no seed; nothing local is removed
2026/10/20 16:38:44 provision: acme.go.tito.io: aborted seed sd_g6apqih6ilzflhqhebeuzhzhne rolled back (no box had swapped it)
2026/10/20 16:38:44 provision: acme.go.tito.io: aborted seed sd_jvh4pyrm7pjtcruusanugxmgmu has a row this pass may not remove; leaving the seed aborted
2026/10/20 16:38:44 provision: acme.go.tito.io: aborted seed sd_xcgps5p2osfn2dn7ejfqejl7yi rolled back (no box had swapped it)
2026/10/20 16:38:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:44 provision: removed instance route acme.go.tito.io (its seed sd_wmrrbtyywygdnfp4bzsnzjv7pi was aborted); the next pass rolls it back
2026/10/20 16:38:44 provision: acme.go.tito.io: aborted seed sd_wmrrbtyywygdnfp4bzsnzjv7pi has no route on this box: its local data is removed
2026/10/20 16:38:44 provision: acme.go.tito.io: aborted seed sd_wmrrbtyywygdnfp4bzsnzjv7pi rolled back (no box had swapped it)
2026/10/20 16:38:44 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:44 provision: a.shop.example.com: swapped for import sd_xq7bw4alyyn4sha2vefl5lkswi (the original route is journaled)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_xq7bw4alyyn4sha2vefl5lkswi rolled back to its original route
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_xq7bw4alyyn4sha2vefl5lkswi is cleaned up and its journal row retired
2026/10/20 16:38:44 provision: a.shop.example.com: swapped for import sd_rxfon6aiyv5p5w3iqxfe2raooa (the original route is journaled)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_rxfon6aiyv5p5w3iqxfe2raooa rolled back to its original route
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_rxfon6aiyv5p5w3iqxfe2raooa is cleaned up and its journal row retired
2026/10/20 16:38:44 provision: a.shop.example.com: swapped for import sd_gtmcesbpr3lnwgfjnop22ieiui (the original route is journaled)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_gtmcesbpr3lnwgfjnop22ieiui rolled back to its original route
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_gtmcesbpr3lnwgfjnop22ieiui: the host's replica is left alone: its record no longer names this seed
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_gtmcesbpr3lnwgfjnop22ieiui is cleaned up and its journal row retired
2026/10/20 16:38:44 provision: a.shop.example.com: swapped for import sd_gy4fpmrqq4gnuiphe6df265yiu (the original route is journaled)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_gy4fpmrqq4gnuiphe6df265yiu rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_gy4fpmrqq4gnuiphe6df265yiu rolled back to its original route
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_gy4fpmrqq4gnuiphe6df265yiu is cleaned up and its journal row retired
2026/10/20 16:38:44 provision: a.shop.example.com: swapped for import sd_yp43ugzkxxfu7nmtnbzurtkqgy (the original route is journaled)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_yp43ugzkxxfu7nmtnbzurtkqgy rollback deferred: the host is not fenced and stopped yet (stop unproven)
2026/10/20 16:38:44 provision: a.shop.example.com: swapped for import sd_hu4i7pt5zloi3tqw5kiwbqlxdq (the original route is journaled)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_hu4i7pt5zloi3tqw5kiwbqlxdq is cleaned up and its journal row retired
2026/10/20 16:38:44 provision: a.shop.example.com: swapped for import sd_tsmgixyvcrbxhx3hgxuc4ovmmi (the original route is journaled)
2026/10/20 16:38:44 provision: skipping record apps/bac/shop/instances/a.shop.example.com.json: malformed: provision: invalid maintenance projection or protected fields
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_tsmgixyvcrbxhx3hgxuc4ovmmi left alone this pass: its record could not be read
2026/10/20 16:38:44 provision: a.shop.example.com: swapped for import sd_6hber3jce7i4jvyjjuxqqzyraq (the original route is journaled)
2026/10/20 16:38:44 provision: skipping record apps/bac/shop/instances/a.shop.example.com.json: read failed: connection reset
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_6hber3jce7i4jvyjjuxqqzyraq left alone this pass: its record could not be read
2026/10/20 16:38:44 provision: a.shop.example.com: swapped for import sd_iifrx7y2vq5avdihuaj33g6uaq (the original route is journaled)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_iifrx7y2vq5avdihuaj33g6uaq: close the import gate: constraint failed: injected (1811)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_iifrx7y2vq5avdihuaj33g6uaq rolled back to its original route
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_iifrx7y2vq5avdihuaj33g6uaq is cleaned up and its journal row retired
2026/10/20 16:38:44 provision: a.shop.example.com: swapped for import sd_acuwhpzmsbhkmb2jdpc7we4kzq (the original route is journaled)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_acuwhpzmsbhkmb2jdpc7we4kzq: close the import gate: constraint failed: injected (1811)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_acuwhpzmsbhkmb2jdpc7we4kzq rolled back to its original route
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_acuwhpzmsbhkmb2jdpc7we4kzq is cleaned up and its journal row retired
2026/10/20 16:38:44 provision: a.shop.example.com: swapped for import sd_e7umk7gehxg45sfelahoafnkve (the original route is journaled)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_e7umk7gehxg45sfelahoafnkve rollback deferred: the host is not fenced and stopped yet (injected failure at fence)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_e7umk7gehxg45sfelahoafnkve rolled back to its original route
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_e7umk7gehxg45sfelahoafnkve is cleaned up and its journal row retired
2026/10/20 16:38:44 provision: a.shop.example.com: swapped for import sd_ump4rji2xl6sk6uq2dqikdnwxq (the original route is journaled)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_ump4rji2xl6sk6uq2dqikdnwxq rolled back to its original route
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_ump4rji2xl6sk6uq2dqikdnwxq is cleaned up and its journal row retired
2026/10/20 16:38:44 provision: a.shop.example.com: swapped for import sd_5b2vld55envntrdjdlco5gjpty (the original route is journaled)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_5b2vld55envntrdjdlco5gjpty: retire its instance key: injected failure at retire-key
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_5b2vld55envntrdjdlco5gjpty rolled back to its original route
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_5b2vld55envntrdjdlco5gjpty is cleaned up and its journal row retired
2026/10/20 16:38:44 provision: a.shop.example.com: swapped for import sd_pb2rnl533wu7igpoenaezukpvi (the original route is journaled)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_pb2rnl533wu7igpoenaezukpvi rolled back to its original route
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_pb2rnl533wu7igpoenaezukpvi is cleaned up and its journal row retired
2026/10/20 16:38:44 provision: a.shop.example.com: swapped for import sd_67rn3b5im55qu4evnvjanz7azm (the original route is journaled)
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_67rn3b5im55qu4evnvjanz7azm: remove its local data: injected failure at remove-local
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_67rn3b5im55qu4evnvjanz7azm rolled back to its original route
2026/10/20 16:38:44 provision: a.shop.example.com: import sd_67rn3b5im55qu4evnvjanz7azm is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_bw423yvofrgy7gilta5eul6rg4 (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_bw423yvofrgy7gilta5eul6rg4 rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_bw423yvofrgy7gilta5eul6rg4 is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_v7jchzglbz2tsn6rxyhuwny7l4 (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_v7jchzglbz2tsn6rxyhuwny7l4: remove its local data: injected failure at remove-local-done
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_v7jchzglbz2tsn6rxyhuwny7l4 rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_v7jchzglbz2tsn6rxyhuwny7l4 is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_gt6regbkoavdebsbaqfn4mnoli (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_gt6regbkoavdebsbaqfn4mnoli rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_gt6regbkoavdebsbaqfn4mnoli is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_qz6zpu4p5jvoskc3l25totansm (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_qz6zpu4p5jvoskc3l25totansm: restore the original route: constraint failed: injected (1811)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_qz6zpu4p5jvoskc3l25totansm rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_qz6zpu4p5jvoskc3l25totansm is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_wbdluguvwkxjruzovawf2jtr4q (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_wbdluguvwkxjruzovawf2jtr4q: restore the original route: constraint failed: injected (1811)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_wbdluguvwkxjruzovawf2jtr4q rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_wbdluguvwkxjruzovawf2jtr4q is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_vp43yk76tc7jv2oe7ltwlmikwe (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_vp43yk76tc7jv2oe7ltwlmikwe is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_djbjao6txjsbx2hkbeez65hiai (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_djbjao6txjsbx2hkbeez65hiai rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_djbjao6txjsbx2hkbeez65hiai: delete its snapshot: injected failure at delete-snapshot
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_djbjao6txjsbx2hkbeez65hiai is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_kenbqdxjl5wfz5wl4bv5iyaqcu (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_kenbqdxjl5wfz5wl4bv5iyaqcu rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_kenbqdxjl5wfz5wl4bv5iyaqcu is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_bhbswm5ujvzggz75bvu33somdm (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_bhbswm5ujvzggz75bvu33somdm rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_bhbswm5ujvzggz75bvu33somdm: delete the host's replica: injected failure at delete-replica
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_bhbswm5ujvzggz75bvu33somdm is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_x4alyf6k6ks75pkncc5xpqjhxu (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_x4alyf6k6ks75pkncc5xpqjhxu rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_x4alyf6k6ks75pkncc5xpqjhxu is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_ei2wmmxhtzeeoywlyroyj2422e (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_ei2wmmxhtzeeoywlyroyj2422e rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_ei2wmmxhtzeeoywlyroyj2422e: retire its journal row: constraint failed: injected (1811)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_ei2wmmxhtzeeoywlyroyj2422e is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_qujie72zpj4ongedyo3p3ded2y (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_qujie72zpj4ongedyo3p3ded2y rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_qujie72zpj4ongedyo3p3ded2y: retire its journal row: constraint failed: injected (1811)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_qujie72zpj4ongedyo3p3ded2y is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_p2zcqz62mfno2ihimghfzyohiy (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_p2zcqz62mfno2ihimghfzyohiy rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_p2zcqz62mfno2ihimghfzyohiy is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: mark import sd_p2zcqz62mfno2ihimghfzyohiy rolled back: injected failure at cas
2026/10/20 16:38:45 provision: a.shop.example.com: aborted seed sd_p2zcqz62mfno2ihimghfzyohiy rolled back (no box had swapped it)
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_73vh2yucn6pmcgmw3utgiud2na (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_73vh2yucn6pmcgmw3utgiud2na rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_73vh2yucn6pmcgmw3utgiud2na is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: aborted seed sd_73vh2yucn6pmcgmw3utgiud2na rolled back (no box had swapped it)
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_pftulf3lj2to6jcay24w534u5u (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_pftulf3lj2to6jcay24w534u5u rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_pftulf3lj2to6jcay24w534u5u rollback deferred: the host is not fenced and stopped yet (<nil>)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_pftulf3lj2to6jcay24w534u5u rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_pftulf3lj2to6jcay24w534u5u is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_lbh5o2omiv5moqos2wpxniaowi (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_lbh5o2omiv5moqos2wpxniaowi rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_lbh5o2omiv5moqos2wpxniaowi is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_frunv7k75me4jysw6tgcb6lgci (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_frunv7k75me4jysw6tgcb6lgci rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_frunv7k75me4jysw6tgcb6lgci is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_2k4mrlfpef3fuu6efbkhfplfcm (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_2k4mrlfpef3fuu6efbkhfplfcm rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_2k4mrlfpef3fuu6efbkhfplfcm is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_ynllkut64b4h75cr6k2bxpybki (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_ynllkut64b4h75cr6k2bxpybki rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_ynllkut64b4h75cr6k2bxpybki is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_egrjeuwzyplvqravmukq3tqeni (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_egrjeuwzyplvqravmukq3tqeni rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_egrjeuwzyplvqravmukq3tqeni is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_5dpmovvzni6g6uk5c55sp7ramu (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_5dpmovvzni6g6uk5c55sp7ramu rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_5dpmovvzni6g6uk5c55sp7ramu is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_r5es7bfgfc5lj2me7rd6puvxxq (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_r5es7bfgfc5lj2me7rd6puvxxq rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_r5es7bfgfc5lj2me7rd6puvxxq is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: minted instance route a.shop.example.com (app "other" acct "bac")
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_7wivglg2rdpiovha7lqtx7odfa (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_7wivglg2rdpiovha7lqtx7odfa has no route on this box: its local data is removed and no route is put back
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_7wivglg2rdpiovha7lqtx7odfa is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_mux5ywmudetmgf42z5qyze6jsa (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_7n2bn73k2ken4e6x6lw2yanjgy (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_jnaq4tqwhvyynwyjwjbjnah2va (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_jnaq4tqwhvyynwyjwjbjnah2va cannot roll back on this box: the activator is not wired; it stays journaled and gated
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_fere224ws2gwqk5iy6gzzdrrr4 (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_fere224ws2gwqk5iy6gzzdrrr4 is not rolled back: the route changed under the fence, so nothing there is touched
2026/10/20 16:38:45 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 16:38:45 provision: a.shop.example.com: import ../not-a-seed is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_crd4bqdm3cqbjlac6zubvhhvp4 (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_nxjtldtfv7xxgkbutokvs2opqm (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_6357r4ctmjhr537yp764wvdpra (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_nwy26eqqhpwq7fgfj6kkwk4qwu (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_c4eahovizyu3577njrpee5tcty (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_c4eahovizyu3577njrpee5tcty rollback deferred: the host is not fenced and stopped yet (stop evidence unreadable)
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_plv2vzgmn6ljhedryov4prjntm (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_plv2vzgmn6ljhedryov4prjntm has no route on this box: its local data is removed and no route is put back
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_plv2vzgmn6ljhedryov4prjntm is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_5xyi2fbhijmrqr6q6zblblip54 (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_5xyi2fbhijmrqr6q6zblblip54: remove its local data: injected failure at remove-local
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_5xyi2fbhijmrqr6q6zblblip54 is not rolled back: the route at the host is not the import's, so nothing there is touched
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_zoevxvhyrk2z32sxkmvui5frae (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_zoevxvhyrk2z32sxkmvui5frae: a route appeared at the host, so its local database is left and the rollback waits
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_kgrocrrsbiq6gsufliem443lua (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_kgrocrrsbiq6gsufliem443lua rollback deferred: no fence generation: registry busy
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_ia3f2qmj2pzsoqbxseg7cvc5zu (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_ia3f2qmj2pzsoqbxseg7cvc5zu rollback deferred: no fence generation: the generation source answered 0
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_izzprcjohigyuun7umjpsb464q (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_tn6e5u3ssnt52u62pj7xplimwe (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_pbaxtty3sah5vdkmjzeox4sgia (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import deferred: this box cannot read the instance's env file
2026/10/20 16:38:45 provision: a.shop.example.com: import deferred: the instance's env file could not be read: a symlink
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_42ex5bzqkiygzl7xifz3mmdoc4 (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_42ex5bzqkiygzl7xifz3mmdoc4 rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_42ex5bzqkiygzl7xifz3mmdoc4 is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_gbu5mnzqcuofheiom7ifk7ud4a (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_gbu5mnzqcuofheiom7ifk7ud4a rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_gbu5mnzqcuofheiom7ifk7ud4a is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_iaafcsdxkmuebkseyxqzpvup7u (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_iaafcsdxkmuebkseyxqzpvup7u rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_iaafcsdxkmuebkseyxqzpvup7u is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_cadw3m4efxzuhcxcqo4gj2sm5m (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_cadw3m4efxzuhcxcqo4gj2sm5m: retire its instance key: the env file is a symlink
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_cadw3m4efxzuhcxcqo4gj2sm5m rolled back to its original route
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_cadw3m4efxzuhcxcqo4gj2sm5m is cleaned up and its journal row retired
2026/10/20 16:38:45 provision: a.shop.example.com: swapped for import sd_ejjsi3j2xm3rsxfkr2l3lg5mdy (the original route is journaled)
2026/10/20 16:38:45 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 16:38:45 provision: a.shop.example.com: swapped for import sd_xj2pks6nbrf6rgoki6xyyq6bq4 (the original route is journaled)
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_2lhrwe2k7nf3n3ohjhspjgcz3i refused: there is no route at a.shop.example.com to replace
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_fldlp3lyhwmk23y22k4wccgvya refused: the route's address is 127.0.0.1:9, not 127.0.0.1:8401
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_lybx73ogbbibyfxvray6m4r7ny 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 16:38:45 provision: a.shop.example.com: import sd_vt5lcyx233lehxvjz7hxhekvey refused: the route's address is 127.0.0.1:9, not 127.0.0.1:8401
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_4wxlonlvpane3mu5mrl4srkir4 refused: the route belongs to app other
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_wbtf2gpxgvvwrvf6etjkdtpo5q refused: the route is filed under another account
2026/10/20 16:38:45 provision: a.shop.example.com: import sd_hfzyu2wdxby43fv5lmfkomw7ua refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_5n4266gyqohtggkfzedvo2c5se refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_qxrymmxty7h5tkfqcz2p3djewu refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_bpk5mmf2ekhju6zgujthfk6cnm refused: the route is filed under the operator account, and no assignment maps shop to this app
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_mimkut4enwdfbynlztfw6kvcru refused: the route is not an address route this import can take over (socket)
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_ltofts2kglttrk3nanx2yz3bma refused: the route is not an address route this import can take over (no address)
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_whcbubm4gkk7dayftasxllm6ni refused: the route is not an address route this import can take over (provisioned)
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_q43miwvly7bhjic2qcilex73je refused: the route is not an address route this import can take over (kind static)
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_owiluvu7ovb7w3onq74ax2bd7i refused: the route is not an address route this import can take over (backing)
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_ghlpg5icqpnumf6i22j6acclja refused: the route is not an address route this import can take over (tunnel)
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_lhqaeen3mbl7rox5cziml6j43u refused: the route is not an address route this import can take over (caps)
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_zwb2izlt2nlf4c2eqay55njxym refused: the route is not an address route this import can take over (platform)
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_jjtkczjmv5dricoauilmyehkhe refused: the route is not an address route this import can take over (canary)
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_bvbowk6umniyeqipcklgrg5d2y refused: the route is not an address route this import can take over (kind sidecar)
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_m3adhu6xfhqajflvkbsgzzgnba refused: the route is not an address route this import can take over (region)
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_cu5cuttddyurxok2osvhcgjb5q refused: the route is not an address route this import can take over (fleet_box)
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_yzpg52mxqpccyybfzcgktbw6h4 refused: the route is not an address route this import can take over (hibernate)
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_33wmvzugjeih5zdsxxyliqhn3u refused: the route is not an address route this import can take over (claim_owner)
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_2mdsxi4sxl2xv2gon54lpnudgm refused: this box does not run instances nested
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_zgpefc6tdtc2vf2upxznps4dty refused: this box does not run instances nested
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_lti7z4ftgxr4mczzx2u5yshp3i refused: claim control is on for this box
2026/10/20 16:38:46 provision: a.shop.example.com: swapped for import sd_ckfunzglzkn4urcsxkxqowe324 (the original route is journaled)
2026/10/20 16:38:46 provision: a.shop.example.com: swapped for import sd_2cgn3edltolym6pfepy47fvxua (the original route is journaled)
2026/10/20 16:38:46 provision: a.shop.example.com: import deferred: the legacy route assignments could not be read: store down
2026/10/20 16:38:46 provision: a.shop.example.com: import deferred: this box cannot read the legacy route assignments
2026/10/20 16:38:46 provision: a.shop.example.com: not swapping for import sd_rboc4oapdf5x2hlpqsgs2uisvq: its verify hash is not a sha256
2026/10/20 16:38:46 provision: a.shop.example.com: not swapping for import sd_ohzn47oiirg5tejrzqgyir5qca: its verify hash is not a sha256
2026/10/20 16:38:46 provision: a.shop.example.com: not swapping for import sd_qb73q76mbsyc3hohz7mvj3qwkm: its verify hash is not a sha256
2026/10/20 16:38:46 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 16:38:46 provision: A.shop.example.com/..: not swapping for import sd_wae7ybavs2wzzmcbbhlykjisuq: its host or seed id is malformed (seeds: not a host)
2026/10/20 16:38:46 provision: a.shop.example.com: not swapping for import sd_dcu2gscuswt23o4fc3afwfpfye: its record does not describe a nested, hibernating instance
2026/10/20 16:38:46 provision: a.shop.example.com: not swapping for import sd_plyraupzq7tz5qffazvjkzzzve: its record does not describe a nested, hibernating instance
2026/10/20 16:38:46 provision: a.shop.example.com: not swapping for import sd_zxztzrg2s636cc2437n4p4eoga: its record does not describe a nested, hibernating instance
2026/10/20 16:38:46 provision: a.shop.example.com: not swapping for import sd_xgu47x6bcxi7lshvuhpnrswqrm: its record does not describe a nested, hibernating instance
2026/10/20 16:38:46 provision: a.shop.example.com: import deferred: the box's layout intent could not be read: store down
2026/10/20 16:38:46 provision: a.shop.example.com: swapped for import sd_rqp4egs42d3ihmjjioa3xkqs7y (the original route is journaled)
2026/10/20 16:38:46 provision: a.shop.example.com: import deferred: the box's nested probe did not answer: ready probe timed out
2026/10/20 16:38:46 provision: a.shop.example.com: swapped for import sd_4d2jltvbssym4p6amudfna7lqq (the original route is journaled)
2026/10/20 16:38:46 provision: a.shop.example.com: swapped for import sd_mwisoy4c2gfzotgyrhnsvkcrli (the original route is journaled)
2026/10/20 16:38:46 provision: a.shop.example.com: import deferred: the route is held by operation op_1
2026/10/20 16:38:46 provision: dry-run: would consider swapping a.shop.example.com for import sd_pw7bsbepldqqugpy7a2l2qowbm
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_d4z5mljc66c5uhta2jlfwwek7y rolled back to its original route
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_d4z5mljc66c5uhta2jlfwwek7y: the host's replica is left alone: the record apps/bac/shop/instances/a.shop.example.com.json holds the host
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_d4z5mljc66c5uhta2jlfwwek7y is cleaned up and its journal row retired
2026/10/20 16:38:46 provision: a.shop.example.com: import sd_b2bymxtnhy4xyk4igmqfbrdqd4 left alone: the import journal holds seed sd_6p2mzqtpnnlytdkvchu4uhxe6i at swapped
2026/10/20 16:38:46 provision: a.shop.example.com: not minting import sd_dqq4lojmotxybwl2nzgbdf44q4: it is swapped but not committed, and only its swap makes its row
2026/10/20 16:38:46 provision: a.shop.example.com: not minting import sd_3a6huj7tffmijbnympg6iasn2u: it is placed but not committed, and only its swap makes its row
2026/10/20 16:38:46 provision: a.shop.example.com: swapped for import sd_zarxsxszgvizlsduo4dhmbxrh4 (the original route is journaled)
2026/10/20 16:38:46 provision: a.shop.example.com: not minting import sd_zarxsxszgvizlsduo4dhmbxrh4: it is swapped but not committed, and only its swap makes its row
2026/10/20 16:38:46 provision: a.shop.example.com: not minting import sd_zarxsxszgvizlsduo4dhmbxrh4: it is placed but not committed, and only its swap makes its row
2026/10/20 16:38:46 provision: minted instance route a.shop.example.com (app "shop" acct "bac")
2026/10/20 16:38:46 provision: removed retired sidecar route gone.eleven.bac.sidecar.internal (record gone)
2026/10/20 16:38:46 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 16:38:46 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 16:38:46 provision: converged sidecar bot.eleven.bac.sidecar.internal args ["sidecar","run"] -> ["worker","run"]
2026/10/20 16:38:46 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 16:38:46 provision: converged sidecar bot.eleven.bac.sidecar.internal ceilings 300/3600 -> 60/120
2026/10/20 16:38:46 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 16:38:46 provision: converged sidecar bot.eleven.bac.sidecar.internal channel stable -> canary/eleven
2026/10/20 16:38:46 provision: converged sidecar bot.eleven.bac.sidecar.internal environment "other" -> "relay"
2026/10/20 16:38:46 provision: converged sidecar bot.eleven.bac.sidecar.internal hibernate true -> false
2026/10/20 16:38:46 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: read failed: failStore: reads disabled under apps/bac/eleven/sidecars/
2026/10/20 16:38:46 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: malformed: invalid character 'n' looking for beginning of object key string
2026/10/20 16:38:46 provision: not removing sidecar bot.eleven.bac.sidecar.internal: its record exists but could not be read cleanly this pass
2026/10/20 16:38:46 provision: skipping sidecar record apps/bac/eleven/sidecars/bot.json: empty channel
2026/10/20 16:38:46 provision: skipping sidecar record apps/bac/eleven/sidecars/held.json: empty channel
2026/10/20 16:38:46 provision: not removing sidecar held.eleven.bac.sidecar.internal: its record exists but could not be read cleanly this pass
2026/10/20 16:38:46 provision: removed retired sidecar route old.eleven.bac.sidecar.internal (record gone)
2026/10/20 16:38:46 provision: bac/eleven has sidecar records but no sidecars manifest — not minting
2026/10/20 16:38:46 provision: bac/eleven is in the trash — not minting sidecar routes for it
2026/10/20 16:38:46 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 16:38:46 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 16:38:46 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 16:38:46 provision: minted sidecar route hub.relay.bac.sidecar.internal (app "relay" acct "bac" args ["relay"])
2026/10/20 16:38:46 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 16:38:46 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 16:38:46 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 16:38:46 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 16:38:46 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 16:38:46 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 16:38:46 provision: removed retired sidecar route bot.eleven.bac.sidecar.internal (record gone)
2026/10/20 16:38:46 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 16:38:46 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 16:38:46 provision: skipping sidecar record apps/bac/relay/sidecars/hub.json: read failed: failStore: reads disabled under apps/bac/relay/sidecars/
2026/10/20 16:38:46 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 16:38:46 provision: minted sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" args ["sidecar","run"])
2026/10/20 16:38:46 provision: dry-run: would mint sidecar route bot.eleven.bac.sidecar.internal (app "eleven" acct "bac" channel "stable" args ["sidecar","run"])
2026/10/20 16:38:46 provision: dry-run: would remove retired sidecar route gone.eleven.bac.sidecar.internal (record gone)
2026/10/20 16:38:46 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 16:38:46 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:46 provision: converged acme.go.tito.io update settings "{\"updates\":\"manual\",\"channel\":\"stable\"}" -> ""
2026/10/20 16:38:46 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:46 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:46 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/20 16:38:46 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/20 16:38:46 provision: acme.go.tito.io: not minted this pass: the app's update policy could not be read
2026/10/20 16:38:46 provision: minted instance route acme.go.tito.io (app "tito" acct "bac")
2026/10/20 16:38:47 provision: manifest bac/tito: read failed: provision: manifest bac/tito: unexpected end of JSON input
2026/10/20 16:38:47 provision: acme.go.tito.io: not minted this pass: the app's update policy could not be read
2026/10/20 16:38:47 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 39.099s
ok github.com/carlosframework/platform/internal/publicrelease 0.008s
? github.com/carlosframework/platform/internal/regionname [no test files]
ok github.com/carlosframework/platform/internal/registry 6.171s
ok github.com/carlosframework/platform/internal/relay 7.271s
ok github.com/carlosframework/platform/internal/release 25.004s
ok github.com/carlosframework/platform/internal/rollout 4.129s
ok github.com/carlosframework/platform/internal/rolloutwords 0.006s
ok github.com/carlosframework/platform/internal/rootaws 0.007s
ok github.com/carlosframework/platform/internal/rootparticipation 0.062s
ok github.com/carlosframework/platform/internal/rootstate 0.026s
ok github.com/carlosframework/platform/internal/runs 0.560s
ok github.com/carlosframework/platform/internal/s3compat 0.009s
ok github.com/carlosframework/platform/internal/safefile 0.006s
ok github.com/carlosframework/platform/internal/schedule 2.642s
ok github.com/carlosframework/platform/internal/seeds 0.015s
ok github.com/carlosframework/platform/internal/sim/hostlife 12.182s
ok github.com/carlosframework/platform/internal/sim/litestreamfacts 3.537s
ok github.com/carlosframework/platform/internal/status 0.067s
ok github.com/carlosframework/platform/internal/steering 0.006s
ok github.com/carlosframework/platform/internal/stopevidence 0.258s
ok github.com/carlosframework/platform/internal/svcrole 0.002s
ok github.com/carlosframework/platform/internal/telemetry 0.005s
ok github.com/carlosframework/platform/internal/termfence 0.004s
ok github.com/carlosframework/platform/internal/tunnelclient 0.004s
ok github.com/carlosframework/platform/internal/unixdial 0.003s
ok github.com/carlosframework/platform/internal/updatewords 0.004s
ok github.com/carlosframework/platform/internal/usage 0.006s
ok github.com/carlosframework/platform/internal/version 0.002s
ok github.com/carlosframework/platform/internal/vet 1.667s
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 aad784de0..b0d4aea79 100644 |
| --- a/harness/RUNLOG.md |
| +++ b/harness/RUNLOG.md |
| @@ -1483,3 +1483,96 @@ identity accept, newer than v0.28.6). |
| `control/system/router/releases/v0.28.6.json` (`b67dffa3...`); router `9c662e4d...` (= the signed sums), console |
| `dd24213d...`; identity file = published object; REV 9. |
| +### (b) Leo by the ruled re-arm: PASS (16:19:47-16:23:32Z) |
| + |
| +`blocks/r9-rearm.host.sh leo kathleen-juggling stable v0.28.6` (box side `rearm-strict.leo.sh`, unchanged). Leo's |
| +installed updater is harness v0.28.5 = 96db0efe, which has neither 8376a468 nor 8a313548, as dev's v0.28.4 has not. |
| +``` |
| +roster before {"rev":9,"activations":[]}; leo carlos v0.28.5 / prev v0.28.5 |
| +1 16:19:47.831Z systemctl stop carlos-system-update.path -> ActiveState=inactive |
| +2 16:19:47.940Z carlos system update --channel stable --version v0.28.6 --file ... --yes |
| + -> 2 boxes over 5m (kathleen-juggling, noor-marquetry), "has not been on canary" warning, pointed router/stable |
| + roster {"rev":10,"activations":["7762024dc81675d306d936c615bec328"]} |
| +3 cache: fetched by the agent (/data/system/router/v0.28.6/carlos, sha = the identity's router sha; not staged by hand) |
| +4 staged /root/carlos-v0.28.6 9c662e4d... = signed sums = identity (root:root 700) |
| +5 systemd-run --wait --pipe -p EnvironmentFile=-/etc/carlos/host.env -p UMask=0022 /root/carlos-v0.28.6 system apply |
| + Finished with result: success / status=0/SUCCESS / runtime 19.239s |
| +6 applied.json v0.28.6 stable 16:20:38Z; result.json outcome "applied" promoted_at 16:19:48Z |
| + guard identities v0.28.5.json v0.28.6.json; completed.json 7762024dc81675d306d936c615bec328 |
| + edge pid 661 exe = the release, NRestarts=0, started 16:20:21Z; carlos v0.28.6, carlos.prev v0.28.5 |
| + leo's report 16:21:22Z: release v0.28.6, binary 9c662e4d, activation_complete true |
| + 16:23:32Z roster {"rev":11,"activations":[]}; system status kathleen-juggling stable v0.28.6 current |
| +7 systemctl start carlos-system-update.path -> active; shred -u /root/carlos-v0.28.6 -> shredded |
| +``` |
| + |
| +### (c) Dennis by its normal `system update`: PASS (16:23:40-16:23:58Z) |
| + |
| +Unarmed (no guard policy). `carlos-system-update.service` ran 16:23:40-16:23:58Z inside the 5 m spread: |
| +`result.json` outcome `applied` v0.28.6; `carlos v0.28.6`, `.prev v0.28.5`; edge restarted 16:23:41Z, NRestarts 0; |
| +`noor-marquetry stable v0.28.6 current` (16:24:51Z). |
| + |
| +### (d) Sophie's router by the same re-arm: PASS (16:30:36-16:33:24Z) |
| + |
| +`blocks/r9-rearm.host.sh sophie ada-letterpress canary v0.28.6` (sophie follows canary, H8): |
| +``` |
| +roster before {"rev":11,"activations":[]}; sophie carlos v0.28.5 / prev v0.28.5 |
| +1 16:30:36.064Z stop the path -> inactive |
| +2 16:30:36.191Z carlos system update --channel canary --version v0.28.6 ... -> 1 box, "already mirrored", rev 12, activation 0c3968094c6a8ef3ed075c27513c8bba |
| +3 cache fetched by the agent; 4 staged = sums = identity |
| +5 system apply: Finished with result: success, runtime 19.330s |
| +6 applied/result "applied" canary v0.28.6 16:31:46Z; identities v0.28.5, v0.28.6; completed 0c396809... |
| + edge pid 767 exe = the release, NRestarts 0; carlos v0.28.6, .prev v0.28.5; report 16:32:30Z activation_complete true |
| + 16:33:24Z roster {"rev":13,"activations":[]}; all three boxes current v0.28.6 |
| +7 path active; binary shredded |
| +``` |
| +The router apply did not touch the console: console.service kept running the protected `b2b431f3...` (harness v0.28.5). |
| + |
| +### (e) Sophie's guarded console: FAIL as written (16:33:34Z); passes only by experiment E1 |
| + |
| +`blocks/r9-console.host.sh v0.28.6 54ae7fb9 dd24213d...`: identity file = published object, pushed to |
| +`/root/claim-trial/identity.v0.28.6.json`; source = the agent-staged copy of the promoted console, |
| +`/opt/carlos/versions/54ae7fb9/console` (root:root 755, one link, `dd24213d...` = the identity's console sha). |
| +Before: console pid 308, exe `/opt/carlos/system/console/console` `b2b431f3...`, `.prev` the same. |
| +``` |
| +/opt/carlos/carlos system claims install-console --identity /root/claim-trial/identity.v0.28.6.json \ |
| + --source /opt/carlos/versions/54ae7fb9/console --bucket harness-deployment --aws-region eu-west-1 --public-key "$PUB" --dry-run |
| +2026/10/20 16:33:35 claim activation: input or protected state refused |
| +``` |
| +**Defect 5 (code): `install-console` cannot replace an installed protected console.** `installProtectedConsole` |
| +(`internal/host/activation_artifacts_linux.go:285-291`) checks both slots with `consoleSlotHolds`, which refuses any |
| +slot that holds a regular file with other bytes (`activation_artifacts_linux.go:359-360`, `hash != sha` -> |
| +`errActivation`), dry run included. Its own comment says so ("A slot that already holds other bytes ... is refused and |
| +left as it is"). Nothing else writes `/opt/carlos/system/console` (`consoleInstallDir`, only |
| +`activation_command_linux.go:282`), and `system apply` does not (step d). Everything else checked out: source sha, |
| +mode, links; identity = published; `p.Current.Version` = the build (v0.28.6). So **v0.28.5 has no supported road to |
| +move a guarded console (dev's sophie since 6.3) off the build it was armed with**, and the offline-move doors exist |
| +only in the new console (7af88155 is after 96db0efe): on dev, (B) cannot start until this is ruled. Snapshot |
| +**`e-refused-0285`** (16:34Z). |
| + |
| +**Experiment E1 (harness only, not a ruled road; `blocks/r9-console-e1.host.sh`)**, from that state at 16:35:14Z: |
| +both slots moved aside by rename to `/root/claim-trial/console-aside-20261020T163514Z/` (root 700; kept), then the |
| +same `install-console` dry run and apply: `already_installed false`, `release_tag v0.28.6`, `sha256 dd24213d...`, both |
| +slots `755 root:root 47317154 links=1`; `systemctl restart console.service` 16:35:16.563Z -> `active`, pid 314, exe |
| +`/opt/carlos/system/console/console` sha256 `dd24213d...` = the release console, `CARLOS_HOST_CLAIM=` (empty), |
| +healthz 200 at 16:35:17.113Z, `/` 200, NRestarts 0. So `guard-exec console` accepts the new build once |
| +install-console has put it there (it checks against any persisted identity, `hostfloor/floor.go:150-172`). E1 leaves |
| +`.prev` = the new build too: the old console survives only in the aside directory. (B) runs on this console, marked. |
| + |
| +### (f) The dev check (README "Checking dev", adapted): PASS on the console box; leo's pinned check 502 (harness) |
| + |
| +`blocks/r9-devcheck.host.sh` (16:35:36Z): |
| +1. `carlos logs --app wakecheck --since 30m`: last line `instance woke in 688ms` (16:11:13Z); no `instance exited` |
| + because the snapshot restarts killed it rather than idling it out. Harness only. |
| +2. Console box (sophie), the harness's stand-in for "through DNS": `build= host=sophie hits=5`, 200, ttfb 0.71 s. PASS. |
| +3. Leo pinned: **502** in 23 ms. Leo has no wakecheck row (runbook 4.2/4.3, as on dev), so its edge backhauls to |
| + sophie, and that failed `tls: failed to verify certificate: x509: certificate signed by unknown authority`: the |
| + harness CA was only given to curl (H13 gap; fixed as H13b in (B)'s setup). On dev the same check reaches leo's edge, |
| + which also has no wakecheck row since 4.3, so the README's `host=` "that box" (carlos-dev-ie-b) cannot hold on dev |
| + either: the answer comes from sophie by backhaul (README correction R9-1). |
| +4. `carlos status --layout`: `ada-letterpress wakecheck.dev.harness.test nested`; ada-letterpress and noor-marquetry |
| + "not nested by default: isolation not ready: instance control: box not ready: probe fail not yet run" (the |
| + probe had not run since the snapshot restart); kathleen-juggling nested. |
| + |
| +Snapshot **`post-0285`** (16:37Z): every box v0.28.6, router/stable and router/canary at v0.28.6, the console on |
| +`dd24213d...` by E1, claims off. |
| + |
diff --git a/harness/scenarios/cohort1/blocks/r9-console-e1.host.sh b/harness/scenarios/cohort1/blocks/r9-console-e1.host.sh| new file mode 100644 |
| index 000000000..b38f731a8 |
| --- /dev/null |
| +++ b/harness/scenarios/cohort1/blocks/r9-console-e1.host.sh |
| @@ -0,0 +1,38 @@ |
| +#!/bin/bash |
| +# Run 9 (e), EXPERIMENT E1 (harness only, NOT a ruled road): after install-console refused to replace an |
| +# installed protected console (activation_artifacts_linux.go:359-360, consoleSlotHolds: a slot holding other |
| +# bytes is refused), move both slots aside by rename (never deleted), so install-console sees empty slots, |
| +# then install-console as written (dry run, apply), restart console.service, and read what guard-exec runs. |
| +# r9-console-e1.host.sh <TAG> <console sha> |
| +set -uo pipefail |
| +TAG=$1 COS=$2 |
| +incus exec sophie -- bash -s -- "$TAG" "$COS" <<'BOX' |
| +set -euo pipefail |
| +TAG=$1 COS=$2 |
| +umask 077 |
| +cd /root/claim-trial |
| +set -a; . /etc/carlos/host.env; set +a |
| +PUB=$(cat release.pub) |
| +SRC=/opt/carlos/versions/54ae7fb9/console |
| +D=/opt/carlos/system/console |
| +A=/root/claim-trial/console-aside-$(date -u +%Y%m%dT%H%M%SZ) |
| +install -d -m 0700 "$A" |
| +echo "E1 $(date -u +%T.%3NZ): aside to $A" |
| +sha256sum $D/console $D/console.prev | cut -c1-16 |
| +mv -T $D/console.prev "$A/console.prev"; mv -T $D/console "$A/console" |
| +ls -la $D "$A" |
| +/opt/carlos/carlos system claims install-console --identity /root/claim-trial/identity.$TAG.json --source "$SRC" \ |
| + --bucket harness-deployment --aws-region eu-west-1 --public-key "$PUB" --dry-run |
| +/opt/carlos/carlos system claims install-console --identity /root/claim-trial/identity.$TAG.json --source "$SRC" \ |
| + --bucket harness-deployment --aws-region eu-west-1 --public-key "$PUB" |
| +stat -c '%n %a %U:%G %s links=%h' $D/console $D/console.prev |
| +T=$(date -u +%T.%3NZ); systemctl restart console.service; echo "restart at $T"; systemctl is-active console.service |
| +for i in $(seq 1 40); do p=$(systemctl show -p MainPID --value console.service); [ "$(readlink /proc/$p/exe)" = $D/console ] && break; sleep 0.25; done |
| +H=$(sha256sum < /proc/$p/exe | cut -d' ' -f1); echo "console pid $p exe $(readlink /proc/$p/exe) sha256 $H"; test "$H" = "$COS" && echo "exe = the release console" |
| +tr '\0' '\n' < "/proc/$p/environ" | grep '^CARLOS_HOST_CLAIM=' |
| +for i in $(seq 1 30); do c=$(curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:8090/healthz); [ "$c" = 200 ] && break; sleep 0.5; done |
| +echo "healthz $c ($(date -u +%T.%3NZ)); / $(curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:8090/)" |
| +systemctl show console.service -p NRestarts -p ActiveState -p ExecMainStartTimestamp |
| +journalctl -u console.service --since "-1min" --no-pager | grep -iE "guard|floor|refus|listening" | tail -5 |
| +BOX |
| +runuser -l operator -c 'carlos system status --console http://127.0.0.1:8090' 2>&1 | grep -v ALERT | tail -4 |
diff --git a/harness/scenarios/cohort1/blocks/r9-devcheck.host.sh b/harness/scenarios/cohort1/blocks/r9-devcheck.host.sh| new file mode 100644 |
| index 000000000..2659872fe |
| --- /dev/null |
| +++ b/harness/scenarios/cohort1/blocks/r9-devcheck.host.sh |
| @@ -0,0 +1,16 @@ |
| +#!/bin/bash |
| +# Run 9 (f): the README's "Checking dev" (wakecheck) after the roll, adapted to the harness: |
| +# console http://127.0.0.1:8090; "through DNS" = the console box's address (sophie 203.0.113.22, the harness has no |
| +# public DNS); "pinning its address" = leo 203.0.113.21; certificates from the harness CA (H13). |
| +set -uo pipefail |
| +OP() { runuser -l operator -c "C=http://127.0.0.1:8090; $1" 2>&1 | grep -v ALERT; } |
| +echo "== 1 asleep? ($(date -u +%T))" |
| +OP 'carlos logs --app wakecheck --account bab --console $C --since 30m' | tail -4 |
| +H=wakecheck.dev.harness.test; CA=/run/harness/keys/ca.pem |
| +echo "== 2 wake on the console box (sophie) ($(date -u +%T))" |
| +curl -sS -m 40 --cacert $CA --resolve $H:443:203.0.113.22 -w '\n [%{http_code}] ttfb %{time_starttransfer}s\n' https://$H/ |
| +echo "== 3 the second ie box (leo), pinned ($(date -u +%T))" |
| +curl -sS -m 40 --cacert $CA --resolve $H:443:203.0.113.21 -w '\n [%{http_code}] ttfb %{time_starttransfer}s\n' https://$H/ |
| +echo "== 4 layout" |
| +OP 'carlos status --layout --console $C' |
| +for b in leo sophie; do echo "$b routes: $(incus exec $b -- python3 -c "import sqlite3; c=sqlite3.connect('file:/data/registry.db?mode=ro',uri=True); print([r for r in c.execute('select host,pool,status from routes')])")"; done |
diff --git a/harness/scenarios/cohort1/blocks/r9-move-setup.host.sh b/harness/scenarios/cohort1/blocks/r9-move-setup.host.sh| index 2411f2e3e..dbab65d43 100644 |
| --- a/harness/scenarios/cohort1/blocks/r9-move-setup.host.sh |
| +++ b/harness/scenarios/cohort1/blocks/r9-move-setup.host.sh |
| @@ -24,6 +24,13 @@ for b in leo sophie dennis; do |
| incus exec $b -- bash -c "grep -q '^CARLOS_SECRETS_KEY=' /etc/carlos/host.env || printf 'CARLOS_SECRETS_KEY=%s\n' '$CARLOS_SECRETS_KEY' >> /etc/carlos/host.env" |
| done |
| incus exec sophie -- bash -c "grep -q '^CARLOS_SECRETS_PUBKEY=' /etc/carlos/host.env || printf 'CARLOS_SECRETS_PUBKEY=%s\n' '$CARLOS_SECRETS_PUBKEY' >> /etc/carlos/host.env" |
| +# H13b: box-to-box backhaul verifies the target edge's certificate against the system roots; the H13 test CA was |
| +# only given to curl, so every backhaul failed "x509: certificate signed by unknown authority" (Run 9 (f)). The |
| +# test CA joins each box's system trust store (dev's Let's Encrypt chain is already trusted there). |
| +for b in leo sophie dennis; do |
| + incus file push $K/ca.pem $b/usr/local/share/ca-certificates/harness-test-ca.crt --uid 0 --gid 0 --mode 0644 -q |
| + incus exec $b -- sh -c 'update-ca-certificates 2>&1 | tail -1' |
| +done |
| for b in leo sophie dennis; do incus exec $b -- bash -c 'stat -c "%n %a %U:%G" /etc/carlos/host.env; systemctl restart carlos-edge.service; systemctl is-active carlos-edge.service'; done |
| incus exec sophie -- bash -c 'systemctl restart console.service; for i in $(seq 1 40); do [ "$(curl -s -o /dev/null -w %{http_code} http://127.0.0.1:8090/healthz)" = 200 ] && break; sleep 0.5; done; echo "console $(systemctl is-active console.service) healthz 200"' |
| echo "pubkey fp: $(printf %s "$CARLOS_SECRETS_PUBKEY" | base64 -d | sha256sum | cut -c1-16)" |
diff --git a/harness/scenarios/cohort1/blocks/r9-normal.host.sh b/harness/scenarios/cohort1/blocks/r9-normal.host.sh| new file mode 100644 |
| index 000000000..d106fcf9e |
| --- /dev/null |
| +++ b/harness/scenarios/cohort1/blocks/r9-normal.host.sh |
| @@ -0,0 +1,21 @@ |
| +#!/bin/bash |
| +# Run 9 (A5): the normal road. With leo on the release (v0.28.6 = 54ae7fb9), a trivially rebuilt |
| +# v0.28.5+harness-1 (stamped v0.28.7, the same tree) is published with its identity and promoted to stable; |
| +# leo must take it through its own carlos system update, NO hand step on leo. |
| +# r9-normal.host.sh <carlos sha> <console sha> |
| +set -uo pipefail |
| +CS=$1 COS=$2 TAG=v0.28.7 |
| +bash /home/operator/cohort1/blocks/r9-release.host.sh $TAG $TAG-54ae7fb9 $CS $COS 54ae7fb9-h1 2>&1 | grep -E "^==|Verified|operator CLI|promoted console|canary/console|run-id|carlos v0|root 600|writes:|identity |REV=" |
| +insp() { runuser -l operator -c 'carlos system claims inspect --bucket harness-deployment --aws-region eu-west-1 --public-key "$(cat ~/release.pub)" 2>/dev/null | jq -c "{rev: .roster.revision, activations: (.roster.activations | keys)}"'; } |
| +echo "leo before: $(incus exec leo -- /opt/carlos/carlos version | tail -1); path $(incus exec leo -- systemctl is-active carlos-system-update.path); roster $(insp)" |
| +T0=$(date -u +%T.%3NZ); echo "== promote stable $TAG at $T0 (no step on any box)" |
| +runuser -l operator -c "carlos system update --console http://127.0.0.1:8090 --channel stable --version $TAG --file ~/release-$TAG/carlos-linux-arm64 --platform linux-arm64 --yes" 2>&1 | grep -v ALERT |
| +for i in $(seq 1 60); do s=$(runuser -l operator -c "carlos system status --console http://127.0.0.1:8090" 2>&1 | grep -E "kathleen|noor"); [ "$(echo "$s" | grep -c "v0.28.7 *current")" = 2 ] && break; sleep 15; done |
| +echo "$(date -u +%T.%3NZ)"; echo "$s" |
| +incus exec leo -- bash -c 'cat /opt/carlos/system/router/result.json; echo; ls /opt/carlos/system/guard/identities; echo "completed $(cat /opt/carlos/system/guard/completed.json)" |
| +P=$(systemctl show -p MainPID --value carlos-edge.service); echo "edge exe sha $(sha256sum < /proc/$P/exe | cut -c1-16)"; systemctl show carlos-edge -p NRestarts -p ActiveState |
| +/opt/carlos/carlos version; /opt/carlos/carlos.prev version; ls /root/carlos-* 2>&1 |
| +journalctl -u carlos-system-update.service --since "-15min" --no-pager | grep -E "Starting|Finished|refus|apply" | tail -4' |
| +for i in $(seq 1 40); do a=$(insp); case "$a" in *'"activations":[]'*) echo "$(date -u +%T) roster $a"; break;; esac; sleep 15; done |
| +echo "== close the signing session" |
| +incus exec signer -- bash -c 'shred -u /run/claim-signer/release.key && rm -rf /run/claim-signer && echo "key shredded"; ls /run/claim-signer 2>&1' |