carlos / platform Public

Merge main ee35dee (files seed) into the integrated Plan 14 branch (not for merge)

Seven conflicts resolved, keeping FS-R11 threading, boot-aware handover, per-journal isolation and park retention alongside Plan 14's lock order, merge ruling 6 and the named-unit preflight; census main -> E -> P3 re-pinned.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Paul Campbell pushed by claude agent, operated by paul@keymail.dev 726a5798fea2d28d4b8ac8e1aafe11cb21ae1522 parent cabe3b9parent ee35dee
190 files changed, +28515 −325
  • approved_moves_copy_test.go +2 −0
  • docs/superpowers/plans/2026-10-06-moves-phase1-copy.md +14 −0
  • docs/superpowers/plans/2026-10-06-moves-phase1-rehearsal.md +10 −2
  • internal/activator/activator.go +9 −3
  • internal/activator/claimwake.go +11 −10
  • internal/activator/cleanup.go +67 −0
  • internal/activator/cleanup_test.go +62 −0
  • internal/activator/maintenance.go +6 −2
  • internal/activator/seed_diagnostic.go +51 −0
  • internal/activator/seed_diagnostic_test.go +48 −0
  • internal/activator/seed_exclusion.go +96 −0
  • internal/activator/seed_exclusion_test.go +93 −0
  • internal/activator/servingretry.go +54 −7
  • internal/activator/servingretry_test.go +117 −0
  • internal/activator/swaphold.go +3 −0
  • internal/host/agent.go +43 −8
  • internal/host/agent_test.go +5 −0
  • internal/host/claimassembly.go +18 −0
  • internal/host/claimconstruction.go +34 −11
  • internal/host/claimconstruction_rootrunner_linux_test.go +188 −0
  • internal/host/claimfilesseed.go +284 −0
  • internal/host/claimfilesseed_assembly_linux_test.go +255 −0
  • internal/host/claimfilesseed_cli_rootrunner_linux_test.go +325 −0
  • internal/host/claimfilesseed_command.go +167 −0
  • internal/host/claimfilesseed_crash_rootrunner_linux_test.go +252 −0
  • internal/host/claimfilesseed_delegation_linux.go +225 −0
  • internal/host/claimfilesseed_delegation_other.go +13 −0
  • internal/host/claimfilesseed_enrollment_test.go +40 −0
  • internal/host/claimfilesseed_guard.go +82 −0
  • internal/host/claimfilesseed_guard_linux_test.go +112 −0
  • internal/host/claimfilesseed_integration_linux_test.go +263 −0
  • internal/host/claimfilesseed_isolated_rootrunner_linux_test.go +385 −0
  • internal/host/claimfilesseed_killed_linux.go +90 −0
  • internal/host/claimfilesseed_killed_linux_test.go +86 −0
  • internal/host/claimfilesseed_lifetime_rootrunner_linux_test.go +186 −0
  • internal/host/claimfilesseed_live_rootrunner_linux_test.go +170 −0
  • internal/host/claimfilesseed_reboot_rootrunner_linux_test.go +369 −0
  • internal/host/claimfilesseed_recovery_linux_test.go +67 −0
  • internal/host/claimfilesseed_renumber_rootrunner_linux_test.go +121 −0
  • internal/host/claimfilesseed_restore_linux_test.go +699 −0
  • internal/host/claimfilesseed_retry.go +56 −0
  • internal/host/claimfilesseed_retry_linux_test.go +124 −0
  • internal/host/claimfilesseed_runtime.go +114 −0
  • internal/host/claimfilesseed_runtime_test.go +190 −0
  • internal/host/claimfilesseed_select.go +299 −0
  • internal/host/claimfilesseed_select_linux_test.go +229 −0
  • internal/host/claimfilesseed_shutdown.go +35 −0
  • internal/host/claimfilesseed_shutdown_test.go +25 −0
  • internal/host/claimfilesseed_stage.go +204 −0
  • internal/host/claimfilesseed_stage_linux_test.go +188 −0
  • internal/host/claimfilesseed_transport_linux.go +301 −0
  • internal/host/claimfilesseed_transport_linux_test.go +244 −0
  • internal/host/claimfilesseed_transport_other.go +17 −0
  • internal/host/claimfilesseed_twohost_rootrunner_linux_test.go +157 −0
  • internal/host/claimhandover_recovery_test.go +36 −3
  • internal/host/claimhandover_transport.go +36 −3
  • internal/host/claimjournal_transport.go +4 −0
  • internal/host/claimlaunch_production.go +3 −1
  • internal/host/claimlaunch_root.go +10 −0
  • internal/host/claimowners.go +11 −1
  • internal/host/claimproduction.go +6 −13
  • internal/host/claimrecovery_combined_linux_test.go +150 −0
  • internal/host/claimrecovery_combined_rootrunner_linux_test.go +37 −0
  • internal/host/claimrecovery_rulings_test.go +82 −0
  • internal/host/claimrestore_observation.go +93 −0
  • internal/host/claimrestore_observation_linux_test.go +133 −0
  • internal/host/claimretire_local.go +5 −1
  • internal/host/claimretire_transport.go +20 −22
  • internal/host/claimretryrecovery_test.go +18 −6
  • internal/host/claimservingartifact.go +5 −0
  • internal/host/claimservingartifact_linux.go +50 −0
  • internal/host/claimservingartifact_other.go +13 −0
  • internal/host/claimservingboot_linux.go +64 −0
  • internal/host/claimservingboot_linux_test.go +196 −0
  • internal/host/claimservingcollection.go +124 −0
  • internal/host/claimservingcollection_linux_test.go +415 −0
  • internal/host/claimservingcollection_rootrunner_linux_test.go +116 −0
  • internal/host/claimservingdisplaced_linux.go +136 −0
  • internal/host/claimservingdisplaced_linux_test.go +398 −0
  • internal/host/claimservingdisplaced_rootrunner_linux_test.go +152 −0
  • internal/host/claimservinggrow_rootrunner_linux_test.go +141 −0
  • internal/host/claimservinghandover.go +139 −0
  • internal/host/claimservinghandover_linux_test.go +477 −0
  • internal/host/claimservinghandover_reboot_linux.go +80 −0
  • internal/host/claimservinghandover_reboot_linux_test.go +178 −0
  • internal/host/claimservinghandover_reboot_other.go +13 −0
  • internal/host/claimservinghandover_reboot_other_test.go +11 −0
  • internal/host/claimservingidentity.go +103 −0
  • internal/host/claimservingidentity_linux.go +53 −0
  • internal/host/claimservinglegacy.go +149 −0
  • internal/host/claimservinglegacyroot_linux.go +270 −0
  • internal/host/claimservinglegacyroot_linux_test.go +661 −0
  • internal/host/claimservingmaintenance.go +173 −0
  • internal/host/claimservingmaintenance_linux.go +54 −0
  • internal/host/claimservingmaintenance_linux_test.go +132 −0
  • internal/host/claimservingnamespace_linux.go +199 −0
  • internal/host/claimservingnamespace_linux_test.go +329 −0
  • internal/host/claimservingpark.go +69 −0
  • internal/host/claimservingpark_linux.go +758 −0
  • internal/host/claimservingpark_linux_test.go +709 −0
  • internal/host/claimservingpark_other.go +26 −0
  • internal/host/claimservingpark_reap_test.go +32 −0
  • internal/host/claimservingpark_records.go +701 −0
  • internal/host/claimservingpark_recovery.go +164 −0
  • internal/host/claimservingpark_recovery_linux.go +138 −0
  • internal/host/claimservingpark_recovery_linux_test.go +391 −0
  • internal/host/claimservingpark_rootrunner_linux_test.go +845 −0
  • internal/host/claimservingpark_test.go +79 −0
  • internal/host/claimservingpark_transport.go +191 −0
  • internal/host/claimservingpark_transport_linux_test.go +366 −0
  • internal/host/claimservingparkroot_linux.go +327 −0
  • internal/host/claimservingparkroot_linux_test.go +613 −0
  • internal/host/claimservingparksource_linux.go +73 −0
  • internal/host/claimservingparksource_linux_test.go +83 −0
  • internal/host/claimservingpeer_rootrunner_linux_test.go +900 −0
  • internal/host/claimservingquarantine_linux.go +350 −0
  • internal/host/claimservingquarantine_linux_test.go +621 −0
  • internal/host/claimservingquarantine_rootrunner_linux_test.go +214 −0
  • internal/host/claimservingreboot_binding.go +98 −0
  • internal/host/claimservingreboot_commit_linux.go +86 −0
  • internal/host/claimservingreboot_commit_linux_test.go +230 −0
  • internal/host/claimservingreboot_linux.go +207 −0
  • internal/host/claimservingreboot_linux_test.go +429 −0
  • internal/host/claimservingreboot_prepare_linux.go +223 −0
  • internal/host/claimservingreboot_prepare_linux_test.go +420 −0
  • internal/host/claimservingrenumber_linux_test.go +313 −0
  • internal/host/claimservingretained_linux_test.go +117 −0
  • internal/host/claimservingretire.go +484 −0
  • internal/host/claimservingretire_linux_test.go +828 −0
  • internal/host/claimservingtopology_linux.go +189 −0
  • internal/host/claimservingtopology_linux_test.go +307 −0
  • internal/host/claimservingvolume_linux.go +66 −0
  • internal/host/claimservingvolume_linux_test.go +120 −0
  • internal/host/claimservingvolume_rootrunner_linux_test.go +180 −0
  • internal/host/claimservingwriter_rootrunner_linux_test.go +320 −0
  • internal/host/claimstop.go +19 −13
  • internal/host/claimstop_kernel_linux.go +3 −0
  • internal/host/claimstop_noprocess_test.go +40 −2
  • internal/host/claimstop_run.go +5 −1
  • internal/host/claimwakeassembly.go +76 −17
  • internal/host/claimwakestop.go +3 −3
  • internal/host/movesfiles.go +107 −31
  • internal/host/movesfiles_test.go +11 −5
  • internal/host/movesfilescap_test.go +539 −0
  • internal/host/movesphase1.go +106 −3
  • internal/host/plan12_restore_linux_test.go +26 −4
  • internal/host/plan9_d4_retire_linux_test.go +6 −1
  • internal/host/plan9_i2_movesoff_test.go +4 −6
  • internal/host/relocationflush.go +13 −26
  • internal/host/relocationhandover_unix_test.go +7 −1
  • internal/host/rootexecution_recovery.go +12 −2
  • internal/host/rootexecution_runtime.go +4 −0
  • internal/host/startup_largebox_linux_test.go +35 −3
  • internal/host/startup_test.go +6 −1
  • internal/hostbox/coldhandover.go +25 −20
  • internal/hostbox/journalservice.go +20 −3
  • internal/hostbox/restore.go +55 −0
  • internal/hostbox/restore_enrollment_test.go +109 −0
  • internal/hostbox/restore_test.go +74 −0
  • internal/hostbox/servinghandover.go +314 −0
  • internal/hostbox/servinghandover_linux_test.go +325 −0
  • internal/hostbox/servingpark.go +12 −0
  • internal/hostbox/servingpark_service.go +108 −0
  • internal/hostbox/servingpark_service_test.go +203 −0
  • internal/hostbox/servingpark_transport.go +153 −0
  • internal/hostfiles/seed.go +28 −0
  • internal/hostfiles/seed_test.go +43 −0
  • internal/hostguard/coldhandover.go +19 −2
  • internal/hostguard/servingretirement.go +67 −0
  • internal/hostguard/servingstop_test.go +103 −0
  • internal/hostguard/writerstop.go +33 −0
  • internal/instancectl/claimexec_rev3_linux_test.go +10 −5
  • internal/lease/leasetest/s3server.go +10 −0
  • internal/lease/leasetest/s3server_test.go +29 −0
  • internal/moves/archive/archive.go +17 −0
  • internal/moves/archive/archive_test.go +90 −6
  • internal/moves/archive/limits.go +15 −0
  • internal/park/local.go +9 −8
  • internal/provision/plan14_e_write_census_test.go +2 −2
  • internal/provision/plan14_input_inventory_test.go +8 −0
  • internal/provision/plan14_legacy_identity_test.go +56 −0
  • internal/provision/plan14_p3_census_test.go +2 −2
  • internal/provision/plan14_root_reads_test.go +29 −0
  • internal/provision/plan9_b8_census_test.go +18 −6
  • internal/provision/testdata/plan14-root-reads-e.tsv +49 −49
  • internal/provision/testdata/plan14-root-reads-moves-overcap-cut-236.tsv +15 −0
  • internal/provision/testdata/plan14-root-reads-p3.tsv +13 −9
  • internal/provision/testdata/plan14-root-reads-seed.tsv +363 −0
  • system.go +3 −1
  • system_test.go +17 −0

CI passed — run details

CI log
=== gate ===
cd launchctx && go vet ./... && go test ./... -count=1
ok  	amadan.net/carlos/platform.git/launchctx	0.011s
?   	amadan.net/carlos/platform.git/launchctx/controlname	[no test files]
?   	amadan.net/carlos/platform.git/launchctx/wireid	[no test files]
go vet ./...
gofmt -l .: clean
go test ./... -count=1 -timeout 30m
ok  	github.com/carlosframework/platform	293.247s
?   	github.com/carlosframework/platform/cmd/changelog	[no test files]
ok  	github.com/carlosframework/platform/cmd/console	2.520s
ok  	github.com/carlosframework/platform/cmd/moveprobe	93.195s
ok  	github.com/carlosframework/platform/cmd/zddprobe	0.705s
ok  	github.com/carlosframework/platform/internal/activator	251.745s
ok  	github.com/carlosframework/platform/internal/agentsock	0.022s
ok  	github.com/carlosframework/platform/internal/alerting	0.008s
ok  	github.com/carlosframework/platform/internal/analytics	0.024s
ok  	github.com/carlosframework/platform/internal/appconfig	2.452s
ok  	github.com/carlosframework/platform/internal/apperr	0.072s
ok  	github.com/carlosframework/platform/internal/applog	0.128s
ok  	github.com/carlosframework/platform/internal/awsinv	0.007s
ok  	github.com/carlosframework/platform/internal/boxchoice	0.008s
ok  	github.com/carlosframework/platform/internal/boxid	0.745s
?   	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.010s
ok  	github.com/carlosframework/platform/internal/caps	0.015s
ok  	github.com/carlosframework/platform/internal/certwarm	0.004s
ok  	github.com/carlosframework/platform/internal/cgroup	0.702s
ok  	github.com/carlosframework/platform/internal/changelog	0.309s
ok  	github.com/carlosframework/platform/internal/clamd	0.056s
?   	github.com/carlosframework/platform/internal/cliflag	[no test files]
ok  	github.com/carlosframework/platform/internal/console	389.740s
?   	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.743s
ok  	github.com/carlosframework/platform/internal/dbdoor/dbdoortest	0.009s
ok  	github.com/carlosframework/platform/internal/dbverify	0.004s
ok  	github.com/carlosframework/platform/internal/dnsrec	0.003s
ok  	github.com/carlosframework/platform/internal/docsite	0.005s
ok  	github.com/carlosframework/platform/internal/domains	2.373s
ok  	github.com/carlosframework/platform/internal/doorkey	0.006s
ok  	github.com/carlosframework/platform/internal/economics	0.004s
ok  	github.com/carlosframework/platform/internal/edge	26.760s
?   	github.com/carlosframework/platform/internal/edgeproof	[no test files]
ok  	github.com/carlosframework/platform/internal/edgesfile	0.008s
ok  	github.com/carlosframework/platform/internal/fleetapi	0.135s
ok  	github.com/carlosframework/platform/internal/gate	1.656s
ok  	github.com/carlosframework/platform/internal/genselect	0.015s
ok  	github.com/carlosframework/platform/internal/geo	0.017s
ok  	github.com/carlosframework/platform/internal/geoip	0.029s
ok  	github.com/carlosframework/platform/internal/historyreadback	0.153s
ok  	github.com/carlosframework/platform/internal/host	171.999s
ok  	github.com/carlosframework/platform/internal/hostactors	0.504s
ok  	github.com/carlosframework/platform/internal/hostbox	2.605s
ok  	github.com/carlosframework/platform/internal/hostclaim	0.522s
ok  	github.com/carlosframework/platform/internal/hostevidence	0.006s
ok  	github.com/carlosframework/platform/internal/hostexec	4.832s
ok  	github.com/carlosframework/platform/internal/hostfence	0.041s
ok  	github.com/carlosframework/platform/internal/hostfiles	10.485s
ok  	github.com/carlosframework/platform/internal/hostfloor	0.012s
ok  	github.com/carlosframework/platform/internal/hostguard	0.995s
ok  	github.com/carlosframework/platform/internal/hostops	1.575s
?   	github.com/carlosframework/platform/internal/hostops/fencerelease	[no test files]
ok  	github.com/carlosframework/platform/internal/hostops/internal/fencerelease	0.005s
ok  	github.com/carlosframework/platform/internal/hostquarantine	0.002s
ok  	github.com/carlosframework/platform/internal/hostrelocate	0.443s
ok  	github.com/carlosframework/platform/internal/hostresolve	0.141s
ok  	github.com/carlosframework/platform/internal/hostwrite	0.002s
ok  	github.com/carlosframework/platform/internal/infraview	0.002s
ok  	github.com/carlosframework/platform/internal/instancectl	5.232s
ok  	github.com/carlosframework/platform/internal/instanceexec	2.728s
ok  	github.com/carlosframework/platform/internal/instancefs	0.005s
ok  	github.com/carlosframework/platform/internal/instancekey	0.002s
ok  	github.com/carlosframework/platform/internal/instanceupdates	0.015s
ok  	github.com/carlosframework/platform/internal/layout	1.523s
ok  	github.com/carlosframework/platform/internal/lease	9.800s
ok  	github.com/carlosframework/platform/internal/lease/leasetest	0.008s
ok  	github.com/carlosframework/platform/internal/ledger	0.015s
ok  	github.com/carlosframework/platform/internal/mail	0.173s
ok  	github.com/carlosframework/platform/internal/maintenance	0.087s
ok  	github.com/carlosframework/platform/internal/maintenanceexec	5.540s
ok  	github.com/carlosframework/platform/internal/maintenanceguard	0.078s
ok  	github.com/carlosframework/platform/internal/metrics	0.005s
ok  	github.com/carlosframework/platform/internal/moves	21.221s
ok  	github.com/carlosframework/platform/internal/moves/archive	0.783s
ok  	github.com/carlosframework/platform/internal/objstore	0.183s
ok  	github.com/carlosframework/platform/internal/ops	0.177s
ok  	github.com/carlosframework/platform/internal/park	0.206s
ok  	github.com/carlosframework/platform/internal/privatefile	0.004s
ok  	github.com/carlosframework/platform/internal/provision	32.243s
ok  	github.com/carlosframework/platform/internal/publicrelease	0.006s
?   	github.com/carlosframework/platform/internal/regionname	[no test files]
ok  	github.com/carlosframework/platform/internal/registry	5.474s
ok  	github.com/carlosframework/platform/internal/relay	7.235s
ok  	github.com/carlosframework/platform/internal/release	22.221s
ok  	github.com/carlosframework/platform/internal/rollout	3.714s
ok  	github.com/carlosframework/platform/internal/rolloutwords	0.004s
ok  	github.com/carlosframework/platform/internal/rootaws	0.007s
ok  	github.com/carlosframework/platform/internal/rootparticipation	0.058s
ok  	github.com/carlosframework/platform/internal/rootstate	0.026s
ok  	github.com/carlosframework/platform/internal/runs	0.580s
ok  	github.com/carlosframework/platform/internal/s3compat	0.006s
ok  	github.com/carlosframework/platform/internal/safefile	0.004s
ok  	github.com/carlosframework/platform/internal/schedule	2.499s
ok  	github.com/carlosframework/platform/internal/seeds	0.011s
ok  	github.com/carlosframework/platform/internal/sim/hostlife	9.443s
ok  	github.com/carlosframework/platform/internal/sim/litestreamfacts	4.375s
ok  	github.com/carlosframework/platform/internal/status	0.041s
ok  	github.com/carlosframework/platform/internal/steering	0.006s
ok  	github.com/carlosframework/platform/internal/stopevidence	0.237s
ok  	github.com/carlosframework/platform/internal/svcrole	0.002s
ok  	github.com/carlosframework/platform/internal/telemetry	0.004s
ok  	github.com/carlosframework/platform/internal/termfence	0.004s
ok  	github.com/carlosframework/platform/internal/tunnelclient	0.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.004s
ok  	github.com/carlosframework/platform/internal/version	0.001s
ok  	github.com/carlosframework/platform/internal/vet	1.551s
=== cross ===
--- shard 0 of 5 ---
cross-compiling darwin/arm64
--- shard 1 of 5 ---
cross-compiling darwin/amd64
--- shard 2 of 5 ---
cross-compiling linux/arm64
linux/arm64 carlos binary: 48431266 bytes (ceiling 52000000)
--- shard 3 of 5 ---
cross-compiling windows/amd64
--- shard 4 of 5 ---
cross-compiling windows/arm64
=== minio-contract ===
minio contract: arm64, minio RELEASE.2025-09-07T16-13-09Z, mc RELEASE.2025-08-13T08-35-41Z
  minio: cached, digest verified
  mc: cached, digest verified
  minio healthy on 127.0.0.1:20999
Added `local` successfully.
Bucket created successfully `local/contract-bucket`.
Bucket created successfully `local/denied-bucket`.
Created policy `contract-only` successfully.
Added user `scopeduser` successfully.
Attached Policies: [contract-only]
To User: scopeduser
  buckets and scoped user ready
=== RUN   TestDeliveredContractMinio
=== RUN   TestDeliveredContractMinio/put
=== RUN   TestDeliveredContractMinio/get_round-trips_the_body
=== RUN   TestDeliveredContractMinio/list_shows_the_key
=== RUN   TestDeliveredContractMinio/head_and_list_agree_on_the_version
=== RUN   TestDeliveredContractMinio/the_app_cannot_tag_its_own_object
=== RUN   TestDeliveredContractMinio/the_app_cannot_tag_its_own_object/not_by_PutObjectTagging
=== RUN   TestDeliveredContractMinio/the_app_cannot_tag_its_own_object/and_not_by_x-amz-tagging_on_upload
=== RUN   TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route
=== RUN   TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/not_by_CreateMultipartUpload
=== RUN   TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/not_by_CopyObject_with_a_REPLACE_tagging_directive
=== RUN   TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/but_multipart_itself_is_allowed
=== RUN   TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/and_copy_itself_is_allowed
=== RUN   TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/a_POST-policy_forged_tag_with_a_matching_version_is_still_not_a_verdict
=== RUN   TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/and_an_ordinary_tagged-with-something-else_upload_is_allowed
=== RUN   TestDeliveredContractMinio/delete_removes_it
=== RUN   TestDeliveredContractMinio/cross-bucket_denial
--- PASS: TestDeliveredContractMinio (0.02s)
    --- PASS: TestDeliveredContractMinio/put (0.00s)
    --- PASS: TestDeliveredContractMinio/get_round-trips_the_body (0.00s)
    --- PASS: TestDeliveredContractMinio/list_shows_the_key (0.00s)
    --- PASS: TestDeliveredContractMinio/head_and_list_agree_on_the_version (0.00s)
    --- PASS: TestDeliveredContractMinio/the_app_cannot_tag_its_own_object (0.00s)
        --- PASS: TestDeliveredContractMinio/the_app_cannot_tag_its_own_object/not_by_PutObjectTagging (0.00s)
        --- PASS: TestDeliveredContractMinio/the_app_cannot_tag_its_own_object/and_not_by_x-amz-tagging_on_upload (0.00s)
    --- PASS: TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route (0.01s)
        --- PASS: TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/not_by_CreateMultipartUpload (0.00s)
        --- PASS: TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/not_by_CopyObject_with_a_REPLACE_tagging_directive (0.00s)
        --- PASS: TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/but_multipart_itself_is_allowed (0.00s)
        --- PASS: TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/and_copy_itself_is_allowed (0.00s)
        --- PASS: TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/a_POST-policy_forged_tag_with_a_matching_version_is_still_not_a_verdict (0.00s)
        --- PASS: TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/and_an_ordinary_tagged-with-something-else_upload_is_allowed (0.00s)
    --- PASS: TestDeliveredContractMinio/delete_removes_it (0.00s)
    --- PASS: TestDeliveredContractMinio/cross-bucket_denial (0.00s)
PASS
ok  	github.com/carlosframework/platform/internal/objstore	0.023s
=== RUN   TestT4StorageProbeMinio
2026/10/16 03:46:51 moves: T4: STORE: list: operation error S3: ListObjectsV2, https response error StatusCode: 403, RequestID: 18DEE5D689D562BA, HostID: 7c420053e0fbcd7f41653fdd92ffa2802c903d05303b1aa15adc2e8bb65d183f, api error SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided. Check your key and signing method.
--- PASS: TestT4StorageProbeMinio (0.00s)
PASS
ok  	github.com/carlosframework/platform/internal/host	0.020s
minio contract: PASS
approved_moves_copy_test.go

Loading diff…

docs/superpowers/plans/2026-10-06-moves-phase1-copy.md

Loading diff…

docs/superpowers/plans/2026-10-06-moves-phase1-rehearsal.md

Loading diff…

internal/activator/activator.go

Loading diff…

internal/activator/claimwake.go

Loading diff…

internal/activator/cleanup.go

Loading diff…

internal/activator/cleanup_test.go

Loading diff…

internal/activator/maintenance.go

Loading diff…

internal/activator/seed_diagnostic.go

Loading diff…

internal/activator/seed_diagnostic_test.go

Loading diff…

internal/activator/seed_exclusion.go

Loading diff…

internal/activator/seed_exclusion_test.go

Loading diff…

internal/activator/servingretry.go

Loading diff…

internal/activator/servingretry_test.go

Loading diff…

internal/activator/swaphold.go

Loading diff…

internal/host/agent.go

Loading diff…

internal/host/agent_test.go

Loading diff…

internal/host/claimassembly.go

Loading diff…

internal/host/claimconstruction.go

Loading diff…

internal/host/claimconstruction_rootrunner_linux_test.go

Loading diff…

internal/host/claimfilesseed.go

Loading diff…

internal/host/claimfilesseed_assembly_linux_test.go

Loading diff…

internal/host/claimfilesseed_cli_rootrunner_linux_test.go

Loading diff…

internal/host/claimfilesseed_command.go

Loading diff…

internal/host/claimfilesseed_crash_rootrunner_linux_test.go

Loading diff…

internal/host/claimfilesseed_delegation_linux.go

Loading diff…

internal/host/claimfilesseed_delegation_other.go

Loading diff…

internal/host/claimfilesseed_enrollment_test.go

Loading diff…

internal/host/claimfilesseed_guard.go

Loading diff…

internal/host/claimfilesseed_guard_linux_test.go

Loading diff…

internal/host/claimfilesseed_integration_linux_test.go

Loading diff…

internal/host/claimfilesseed_isolated_rootrunner_linux_test.go

Loading diff…

internal/host/claimfilesseed_killed_linux.go

Loading diff…

internal/host/claimfilesseed_killed_linux_test.go

Loading diff…

internal/host/claimfilesseed_lifetime_rootrunner_linux_test.go

Loading diff…

internal/host/claimfilesseed_live_rootrunner_linux_test.go

Loading diff…

internal/host/claimfilesseed_reboot_rootrunner_linux_test.go

Loading diff…

internal/host/claimfilesseed_recovery_linux_test.go

Loading diff…

internal/host/claimfilesseed_renumber_rootrunner_linux_test.go

Loading diff…

internal/host/claimfilesseed_restore_linux_test.go

Loading diff…

internal/host/claimfilesseed_retry.go

Loading diff…

internal/host/claimfilesseed_retry_linux_test.go

Loading diff…

internal/host/claimfilesseed_runtime.go

Loading diff…

internal/host/claimfilesseed_runtime_test.go

Loading diff…

internal/host/claimfilesseed_select.go

Loading diff…

internal/host/claimfilesseed_select_linux_test.go

Loading diff…

internal/host/claimfilesseed_shutdown.go

Loading diff…

internal/host/claimfilesseed_shutdown_test.go

Loading diff…

internal/host/claimfilesseed_stage.go

Loading diff…

internal/host/claimfilesseed_stage_linux_test.go

Loading diff…

internal/host/claimfilesseed_transport_linux.go

Loading diff…

internal/host/claimfilesseed_transport_linux_test.go

Loading diff…

internal/host/claimfilesseed_transport_other.go

Loading diff…

internal/host/claimfilesseed_twohost_rootrunner_linux_test.go

Loading diff…

internal/host/claimhandover_recovery_test.go

Loading diff…

internal/host/claimhandover_transport.go

Loading diff…

internal/host/claimjournal_transport.go

Loading diff…

internal/host/claimlaunch_production.go

Loading diff…

internal/host/claimlaunch_root.go

Loading diff…

internal/host/claimowners.go

Loading diff…

internal/host/claimproduction.go

Loading diff…

internal/host/claimrecovery_combined_linux_test.go

Loading diff…

internal/host/claimrecovery_combined_rootrunner_linux_test.go

Loading diff…

internal/host/claimrecovery_rulings_test.go

Loading diff…

internal/host/claimrestore_observation.go

Loading diff…

internal/host/claimrestore_observation_linux_test.go

Loading diff…

internal/host/claimretire_local.go

Loading diff…

internal/host/claimretire_transport.go

Loading diff…

internal/host/claimretryrecovery_test.go

Loading diff…

internal/host/claimservingartifact.go

Loading diff…

internal/host/claimservingartifact_linux.go

Loading diff…

internal/host/claimservingartifact_other.go

Loading diff…

internal/host/claimservingboot_linux.go

Loading diff…

internal/host/claimservingboot_linux_test.go

Loading diff…

internal/host/claimservingcollection.go

Loading diff…

internal/host/claimservingcollection_linux_test.go

Loading diff…

internal/host/claimservingcollection_rootrunner_linux_test.go

Loading diff…

internal/host/claimservingdisplaced_linux.go

Loading diff…

internal/host/claimservingdisplaced_linux_test.go

Loading diff…

internal/host/claimservingdisplaced_rootrunner_linux_test.go

Loading diff…

internal/host/claimservinggrow_rootrunner_linux_test.go

Loading diff…

internal/host/claimservinghandover.go

Loading diff…

internal/host/claimservinghandover_linux_test.go

Loading diff…

internal/host/claimservinghandover_reboot_linux.go

Loading diff…

internal/host/claimservinghandover_reboot_linux_test.go

Loading diff…

internal/host/claimservinghandover_reboot_other.go

Loading diff…

internal/host/claimservinghandover_reboot_other_test.go

Loading diff…

internal/host/claimservingidentity.go

Loading diff…

internal/host/claimservingidentity_linux.go

Loading diff…

internal/host/claimservinglegacy.go

Loading diff…

internal/host/claimservinglegacyroot_linux.go

Loading diff…

internal/host/claimservinglegacyroot_linux_test.go

Loading diff…

internal/host/claimservingmaintenance.go

Loading diff…

internal/host/claimservingmaintenance_linux.go

Loading diff…

internal/host/claimservingmaintenance_linux_test.go

Loading diff…

internal/host/claimservingnamespace_linux.go

Loading diff…

internal/host/claimservingnamespace_linux_test.go

Loading diff…

internal/host/claimservingpark.go

Loading diff…

internal/host/claimservingpark_linux.go

Loading diff…

internal/host/claimservingpark_linux_test.go

Loading diff…

internal/host/claimservingpark_other.go

Loading diff…

internal/host/claimservingpark_reap_test.go

Loading diff…

internal/host/claimservingpark_records.go

Loading diff…

internal/host/claimservingpark_recovery.go

Loading diff…

internal/host/claimservingpark_recovery_linux.go

Loading diff…

internal/host/claimservingpark_recovery_linux_test.go

Loading diff…

internal/host/claimservingpark_rootrunner_linux_test.go

Loading diff…

internal/host/claimservingpark_test.go

Loading diff…

internal/host/claimservingpark_transport.go

Loading diff…

internal/host/claimservingpark_transport_linux_test.go

Loading diff…

internal/host/claimservingparkroot_linux.go

Loading diff…

internal/host/claimservingparkroot_linux_test.go

Loading diff…

internal/host/claimservingparksource_linux.go

Loading diff…

internal/host/claimservingparksource_linux_test.go

Loading diff…

internal/host/claimservingpeer_rootrunner_linux_test.go

Loading diff…

internal/host/claimservingquarantine_linux.go

Loading diff…

internal/host/claimservingquarantine_linux_test.go

Loading diff…

internal/host/claimservingquarantine_rootrunner_linux_test.go

Loading diff…

internal/host/claimservingreboot_binding.go

Loading diff…

internal/host/claimservingreboot_commit_linux.go

Loading diff…

internal/host/claimservingreboot_commit_linux_test.go

Loading diff…

internal/host/claimservingreboot_linux.go

Loading diff…

internal/host/claimservingreboot_linux_test.go

Loading diff…

internal/host/claimservingreboot_prepare_linux.go

Loading diff…

internal/host/claimservingreboot_prepare_linux_test.go

Loading diff…

internal/host/claimservingrenumber_linux_test.go

Loading diff…

internal/host/claimservingretained_linux_test.go

Loading diff…

internal/host/claimservingretire.go

Loading diff…

internal/host/claimservingretire_linux_test.go

Loading diff…

internal/host/claimservingtopology_linux.go

Loading diff…

internal/host/claimservingtopology_linux_test.go

Loading diff…

internal/host/claimservingvolume_linux.go

Loading diff…

internal/host/claimservingvolume_linux_test.go

Loading diff…

internal/host/claimservingvolume_rootrunner_linux_test.go

Loading diff…

internal/host/claimservingwriter_rootrunner_linux_test.go

Loading diff…

internal/host/claimstop.go

Loading diff…

internal/host/claimstop_kernel_linux.go

Loading diff…

internal/host/claimstop_noprocess_test.go

Loading diff…

internal/host/claimstop_run.go

Loading diff…

internal/host/claimwakeassembly.go

Loading diff…

internal/host/claimwakestop.go

Loading diff…

internal/host/movesfiles.go

Loading diff…

internal/host/movesfiles_test.go

Loading diff…

internal/host/movesfilescap_test.go

Loading diff…

internal/host/movesphase1.go

Loading diff…

internal/host/plan12_restore_linux_test.go

Loading diff…

internal/host/plan9_d4_retire_linux_test.go

Loading diff…

internal/host/plan9_i2_movesoff_test.go

Loading diff…

internal/host/relocationflush.go

Loading diff…

internal/host/relocationhandover_unix_test.go

Loading diff…

internal/host/rootexecution_recovery.go

Loading diff…

internal/host/rootexecution_runtime.go

Loading diff…

internal/host/startup_largebox_linux_test.go

Loading diff…

internal/host/startup_test.go

Loading diff…

internal/hostbox/coldhandover.go

Loading diff…

internal/hostbox/journalservice.go

Loading diff…

internal/hostbox/restore.go

Loading diff…

internal/hostbox/restore_enrollment_test.go

Loading diff…

internal/hostbox/restore_test.go

Loading diff…

internal/hostbox/servinghandover.go

Loading diff…

internal/hostbox/servinghandover_linux_test.go

Loading diff…

internal/hostbox/servingpark.go

Loading diff…

internal/hostbox/servingpark_service.go

Loading diff…

internal/hostbox/servingpark_service_test.go

Loading diff…

internal/hostbox/servingpark_transport.go

Loading diff…

internal/hostfiles/seed.go

Loading diff…

internal/hostfiles/seed_test.go

Loading diff…

internal/hostguard/coldhandover.go

Loading diff…

internal/hostguard/servingretirement.go

Loading diff…

internal/hostguard/servingstop_test.go

Loading diff…

internal/hostguard/writerstop.go

Loading diff…

internal/instancectl/claimexec_rev3_linux_test.go

Loading diff…

internal/lease/leasetest/s3server.go

Loading diff…

internal/lease/leasetest/s3server_test.go

Loading diff…

internal/moves/archive/archive.go

Loading diff…

internal/moves/archive/archive_test.go

Loading diff…

internal/moves/archive/limits.go

Loading diff…

internal/park/local.go

Loading diff…

internal/provision/plan14_e_write_census_test.go

Loading diff…

internal/provision/plan14_input_inventory_test.go

Loading diff…

internal/provision/plan14_legacy_identity_test.go

Loading diff…

internal/provision/plan14_p3_census_test.go

Loading diff…

internal/provision/plan14_root_reads_test.go

Loading diff…

internal/provision/plan9_b8_census_test.go

Loading diff…

internal/provision/testdata/plan14-root-reads-e.tsv

Loading diff…

internal/provision/testdata/plan14-root-reads-moves-overcap-cut-236.tsv

Loading diff…

internal/provision/testdata/plan14-root-reads-p3.tsv

Loading diff…

internal/provision/testdata/plan14-root-reads-seed.tsv

Loading diff…

system.go

Loading diff…

system_test.go

Loading diff…