moves-phase1
Squashed from moves-phase1 into main. Co-Authored-By: Paul Campbell <claude~paul@keymail.dev>
.amadan/ci.d/30-minio-contract+29 −0approved_moves_copy_scan_test.go+2153 −0approved_moves_copy_test.go+1533 −0cmd/console/main.go+21 −2cmd/console/movesswitch_test.go+100 −0docs/superpowers/plans/2026-10-06-moves-phase1-0-index.md+380 −0docs/superpowers/plans/2026-10-06-moves-phase1-1-copy-and-staging.md+3612 −0docs/superpowers/plans/2026-10-06-moves-phase1-2-cut-flip-landing.md+817 −0docs/superpowers/plans/2026-10-06-moves-phase1-3-probe-commit-open.md+379 −0docs/superpowers/plans/2026-10-06-moves-phase1-4-rollback-return-declare-lost.md+216 −0docs/superpowers/plans/2026-10-06-moves-phase1-5-cleanup-and-parks.md+166 −0docs/superpowers/plans/2026-10-06-moves-phase1-6-cli-status-observability.md+142 −0docs/superpowers/plans/2026-10-06-moves-phase1-7-rehearsal-runbook.md+123 −0docs/superpowers/plans/2026-10-06-moves-phase1-copy.md+217 −0docs/superpowers/plans/2026-10-06-moves-region-ha-conflicts.md+99 −0docs/superpowers/plans/CODEX-PLAN-MOVES-PHASE1-R1.md+105 −0docs/superpowers/plans/CODEX-PLAN-MOVES-PHASE1-R2.md+148 −0docs/superpowers/plans/CODEX-PLAN1-REVIEW-R3.md+96 −0docs/superpowers/plans/CODEX-PLAN1-REVIEW-R4.md+95 −0docs/superpowers/plans/CODEX-PLAN1-REVIEW-R5.md+136 −0docs/superpowers/plans/CODEX-PLAN1-REVIEW-R6.md+122 −0docs/superpowers/specs/2026-10-02-move-any-app-design.md+7333 −0docs/superpowers/specs/CODEX-FINDINGS-JOINT-R1.md+303 −0docs/superpowers/specs/CODEX-FINDINGS-JOINT-R2.md+208 −0docs/superpowers/specs/CODEX-FINDINGS-MOVES-R1.md+129 −0docs/superpowers/specs/CODEX-FINDINGS-MOVES-R2.md+150 −0go.mod+1 −0internal/activator/backend_exec.go+386 −14internal/activator/backend_exec_test.go+916 −1internal/appconfig/configack.go+9 −0internal/appconfig/environments.go+20 −11internal/appconfig/instances.go+28 −6internal/appconfig/renderheld.go+106 −0internal/appconfig/renderheld_test.go+242 −0internal/appconfig/syncexec.go+81 −48internal/boxid/boxid_test.go+6 −27internal/boxid/boxidtest/boxidtest.go+52 −0internal/boxid/internal/signtest/signtest.go+61 −0internal/cgroup/strict_linux.go+46 −12internal/cgroup/strict_linux_test.go+57 −0internal/cgroup/strict_other.go+1 −0internal/console/apicli.go+34 −3internal/console/apiinstancemove.go+490 −12internal/console/apiinstancemove_test.go+864 −0internal/console/apiinstances.go+8 −4internal/console/authcli.go+7 −0internal/console/boxselect.go+164 −0internal/console/boxselect_test.go+246 −0internal/console/instancesplacement.go+11 −0internal/console/movesconsole_test.go+69 −0internal/console/server.go+48 −0internal/console/svcroutes_test.go+37 −10internal/genselect/select.go+3 −0internal/host/activationguard_test.go+147 −0internal/host/agent.go+18 −1internal/host/edgesfile.go+23 −0internal/host/edgesfile_test.go+71 −4internal/host/heldstage.go+234 −0internal/host/heldstage_test.go+455 −0internal/host/host_test.go+92 −2internal/host/movesfloor.go+507 −0internal/host/movesfloor_linux.go+201 −0internal/host/movesfloor_linux_test.go+102 −0internal/host/movesfloor_other.go+31 −0internal/host/movesfloor_test.go+359 −0internal/host/movesgrowth_test.go+82 −0internal/host/movesguard.go+117 −0internal/host/movesheldenv.go+67 −0internal/host/movesheldlock.go+67 −0internal/host/movesheldlock_test.go+82 −0internal/host/movesmeasure.go+152 −0internal/host/movesmeasure_linux.go+60 −0internal/host/movesmeasure_other.go+18 −0internal/host/movesnullversion_test.go+75 −0internal/host/movespass.go+281 −8internal/host/movespass_test.go+30 −1internal/host/movesphase1.go+855 −0internal/host/movesphase1_harness_test.go+588 −0internal/host/movesphase1_test.go+895 −0internal/host/movesprobe.go+136 −0internal/host/movesprobe_test.go+146 −0internal/host/movesreport.go+783 −0internal/host/movesreport_minio_test.go+65 −0internal/host/movesreport_test.go+590 −0internal/host/movesstage.go+139 −0internal/host/movesstage_proof_test.go+357 −0internal/host/movesstore.go+135 −0internal/host/proofroot_test.go+16 −0internal/host/refusalwatch.go+14 −3internal/host/refusalwatch_test.go+34 −0internal/host/systemapply.go+593 −19internal/host/systemapply_test.go+914 −0internal/host/units/carlos-system-recover.service+13 −1internal/host/units/carlos-system-update.service+11 −1internal/hostbox/writer.go+3 −0internal/hostclaim/move.go+109 −0internal/hostclaim/move_test.go+275 −0internal/lease/checkpoint_test.go+5 −5internal/lease/endpoint.go+1 −1internal/lease/health.go+7 −2internal/lease/lease.go+11 −8internal/lease/lease_test.go+5 −5internal/lease/leasetest/bucket.go+25 −0internal/lease/leasetest/s3server.go+80 −11internal/lease/leasetest/s3server_test.go+190 −0internal/lease/mirror.go+85 −7internal/lease/mirror_test.go+230 −1internal/lease/staging.go+413 −0internal/lease/staging_test.go+472 −0internal/lease/staging_url_test.go+20 −0internal/moves/archive/archive.go+399 −0internal/moves/archive/archive_test.go+1248 −0internal/moves/archive/archive_unix_test.go+137 −0internal/moves/archive/extract.go+401 −0internal/moves/archive/limits.go+214 −0internal/moves/archive/open_other.go+12 −0internal/moves/archive/open_unix.go+20 −0internal/moves/archive/seal.go+188 −0internal/moves/archive/sync_linux.go+8 −0internal/moves/archive/sync_other.go+8 −0internal/moves/archive/verify.go+162 −0internal/moves/budget.go+151 −0internal/moves/budget_test.go+244 −0internal/moves/check.go+10 −0internal/moves/check_test.go+37 −0internal/moves/envreport.go+179 −0internal/moves/envreport_test.go+163 −0internal/moves/floor.go+98 −0internal/moves/floor_test.go+87 −0internal/moves/ids.go+53 −0internal/moves/ids_test.go+41 −0internal/moves/lease.go+86 −0internal/moves/lease_test.go+187 −0internal/moves/readiness.go+475 −0internal/moves/readiness_test.go+907 −0internal/moves/source.go+53 −0internal/moves/source_test.go+46 −0internal/moves/staging.go+55 −0internal/moves/staging_test.go+52 −0internal/moves/switch.go+22 −0internal/moves/switch_test.go+26 −0internal/moves/timers.go+109 −0internal/moves/timers_test.go+224 −0internal/provision/move_test.go+259 −0internal/provision/provision.go+327 −9internal/registry/hold_test.go+414 −0internal/registry/registry.go+176 −11internal/release/adopt.go+6 −0internal/release/heldrefusal_test.go+103 −0internal/release/heldverify_test.go+203 −0internal/release/materializeheld.go+550 −0internal/release/materializeheld_proof_test.go+478 −0internal/release/materializeheld_test.go+388 −0internal/release/proofgate.go+8 −1internal/release/refusal.go+7 −0internal/sim/hostlife/background_test.go+479 −0internal/sim/hostlife/budget_test.go+198 −0internal/sim/hostlife/console_test.go+1306 −0internal/sim/hostlife/expected-outcomes.txt+23 −0internal/sim/hostlife/ltx_test.go+777 −0internal/sim/hostlife/moves_test.go+2080 −0internal/sim/hostlife/mutate.sh+170 −0internal/sim/hostlife/protocol_test.go+2512 −0internal/sim/hostlife/rules_test.go+147 −0internal/sim/hostlife/sim_test.go+973 −0internal/sim/hostlife/witness_test.go+3554 −0internal/sim/hostlife/world_test.go+1353 −0internal/sim/litestreamfacts/facts_test.go+971 −0testdata/moves-copy/assembled/formatted.go+7 −0testdata/moves-copy/assembled/fragments.go+7 −0testdata/moves-copy/assembled/joined.go+5 −0testdata/moves-copy/assembled/prefix.go+7 −0testdata/moves-copy/assembled/record.md+8 −0testdata/moves-copy/changed-text/applied.go+7 −0testdata/moves-copy/changed-text/record.md+7 −0testdata/moves-copy/em-dash.md+6 −0testdata/moves-copy/missing-id.md+6 −0testdata/moves-copy/pending-default-on.md+6 −0testdata/moves-copy/sinks/closure-alias/emit.go+20 −0testdata/moves-copy/sinks/error-helper/emit.go+60 −0testdata/moves-copy/sinks/error-helper/record.md+6 −0testdata/moves-copy/sinks/error-text/emit.go+56 −0testdata/moves-copy/sinks/error-text/record.md+11 −0testdata/moves-copy/sinks/field-limit/emit.go+27 −0testdata/moves-copy/sinks/field-multi/emit.go+25 −0testdata/moves-copy/sinks/field-reason/emit.go+23 −0testdata/moves-copy/sinks/forwarded-error/emit.go+19 −0testdata/moves-copy/sinks/funcvalue/emit.go+29 −0testdata/moves-copy/sinks/helper-bad-return/emit.go+15 −0testdata/moves-copy/sinks/interface/emit.go+22 −0testdata/moves-copy/sinks/limit/emit.go+36 −0testdata/moves-copy/sinks/local-variable/emit.go+26 −0testdata/moves-copy/sinks/mapping/emit.go+36 −0testdata/moves-copy/sinks/named-result/emit.go+12 −0testdata/moves-copy/sinks/ok/emit.go+134 −0testdata/moves-copy/sinks/ok/record.md+21 −0testdata/moves-copy/sinks/param/emit.go+12 −0testdata/moves-copy/sinks/shadow-receiver/emit.go+21 −0testdata/moves-copy/sinks/shadow-receiver/record.md+3 −0testdata/moves-copy/sinks/shadow/emit.go+13 −0testdata/moves-copy/sinks/sprintf-v/emit.go+18 −0testdata/moves-copy/sinks/substitution/emit.go+12 −0testdata/moves-copy/sinks/unresolved/emit.go+23 −0testdata/moves-copy/substring/emit.go+9 −0testdata/moves-copy/substring/record.md+5 −0
CI passed — run details
.amadan/ci.d/30-minio-contractLoading diff…
approved_moves_copy_scan_test.goLoading diff…
approved_moves_copy_test.goLoading diff…
cmd/console/main.goLoading diff…
cmd/console/movesswitch_test.goLoading diff…
docs/superpowers/plans/2026-10-06-moves-phase1-0-index.mdLoading diff…
docs/superpowers/plans/2026-10-06-moves-phase1-1-copy-and-staging.mdLoading diff…
docs/superpowers/plans/2026-10-06-moves-phase1-2-cut-flip-landing.mdLoading diff…
docs/superpowers/plans/2026-10-06-moves-phase1-3-probe-commit-open.mdLoading diff…
docs/superpowers/plans/2026-10-06-moves-phase1-4-rollback-return-declare-lost.mdLoading diff…
docs/superpowers/plans/2026-10-06-moves-phase1-5-cleanup-and-parks.mdLoading diff…
docs/superpowers/plans/2026-10-06-moves-phase1-6-cli-status-observability.mdLoading diff…
docs/superpowers/plans/2026-10-06-moves-phase1-7-rehearsal-runbook.mdLoading diff…
docs/superpowers/plans/2026-10-06-moves-phase1-copy.mdLoading diff…
docs/superpowers/plans/2026-10-06-moves-region-ha-conflicts.mdLoading diff…
docs/superpowers/plans/CODEX-PLAN-MOVES-PHASE1-R1.mdLoading diff…
docs/superpowers/plans/CODEX-PLAN-MOVES-PHASE1-R2.mdLoading diff…
docs/superpowers/plans/CODEX-PLAN1-REVIEW-R3.mdLoading diff…
docs/superpowers/plans/CODEX-PLAN1-REVIEW-R4.mdLoading diff…
docs/superpowers/plans/CODEX-PLAN1-REVIEW-R5.mdLoading diff…
docs/superpowers/plans/CODEX-PLAN1-REVIEW-R6.mdLoading diff…
docs/superpowers/specs/2026-10-02-move-any-app-design.mdLoading diff…
docs/superpowers/specs/CODEX-FINDINGS-JOINT-R1.mdLoading diff…
docs/superpowers/specs/CODEX-FINDINGS-JOINT-R2.mdLoading diff…
docs/superpowers/specs/CODEX-FINDINGS-MOVES-R1.mdLoading diff…
docs/superpowers/specs/CODEX-FINDINGS-MOVES-R2.mdLoading diff…
go.modLoading diff…
internal/activator/backend_exec.goLoading diff…
internal/activator/backend_exec_test.goLoading diff…
internal/appconfig/configack.goLoading diff…
internal/appconfig/environments.goLoading diff…
internal/appconfig/instances.goLoading diff…
internal/appconfig/renderheld.goLoading diff…
internal/appconfig/renderheld_test.goLoading diff…
internal/appconfig/syncexec.goLoading diff…
internal/boxid/boxid_test.goLoading diff…
internal/boxid/boxidtest/boxidtest.goLoading diff…
internal/boxid/internal/signtest/signtest.goLoading diff…
internal/cgroup/strict_linux.goLoading diff…
internal/cgroup/strict_linux_test.goLoading diff…
internal/cgroup/strict_other.goLoading diff…
internal/console/apicli.goLoading diff…
internal/console/apiinstancemove.goLoading diff…
internal/console/apiinstancemove_test.goLoading diff…
internal/console/apiinstances.goLoading diff…
internal/console/authcli.goLoading diff…
internal/console/boxselect.goLoading diff…
internal/console/boxselect_test.goLoading diff…
internal/console/instancesplacement.goLoading diff…
internal/console/movesconsole_test.goLoading diff…
internal/console/server.goLoading diff…
internal/console/svcroutes_test.goLoading diff…
internal/genselect/select.goLoading diff…
internal/host/activationguard_test.goLoading diff…
internal/host/agent.goLoading diff…
internal/host/edgesfile.goLoading diff…
internal/host/edgesfile_test.goLoading diff…
internal/host/heldstage.goLoading diff…
internal/host/heldstage_test.goLoading diff…
internal/host/host_test.goLoading diff…
internal/host/movesfloor.goLoading diff…
internal/host/movesfloor_linux.goLoading diff…
internal/host/movesfloor_linux_test.goLoading diff…
internal/host/movesfloor_other.goLoading diff…
internal/host/movesfloor_test.goLoading diff…
internal/host/movesgrowth_test.goLoading diff…
internal/host/movesguard.goLoading diff…
internal/host/movesheldenv.goLoading diff…
internal/host/movesheldlock.goLoading diff…
internal/host/movesheldlock_test.goLoading diff…
internal/host/movesmeasure.goLoading diff…
internal/host/movesmeasure_linux.goLoading diff…
internal/host/movesmeasure_other.goLoading diff…
internal/host/movesnullversion_test.goLoading diff…
internal/host/movespass.goLoading diff…
internal/host/movespass_test.goLoading diff…
internal/host/movesphase1.goLoading diff…
internal/host/movesphase1_harness_test.goLoading diff…
internal/host/movesphase1_test.goLoading diff…
internal/host/movesprobe.goLoading diff…
internal/host/movesprobe_test.goLoading diff…
internal/host/movesreport.goLoading diff…
internal/host/movesreport_minio_test.goLoading diff…
internal/host/movesreport_test.goLoading diff…
internal/host/movesstage.goLoading diff…
internal/host/movesstage_proof_test.goLoading diff…
internal/host/movesstore.goLoading diff…
internal/host/proofroot_test.goLoading diff…
internal/host/refusalwatch.goLoading diff…
internal/host/refusalwatch_test.goLoading diff…
internal/host/systemapply.goLoading diff…
internal/host/systemapply_test.goLoading diff…
internal/host/units/carlos-system-recover.serviceLoading diff…
internal/host/units/carlos-system-update.serviceLoading diff…
internal/hostbox/writer.goLoading diff…
internal/hostclaim/move.goLoading diff…
internal/hostclaim/move_test.goLoading diff…
internal/lease/checkpoint_test.goLoading diff…
internal/lease/endpoint.goLoading diff…
internal/lease/health.goLoading diff…
internal/lease/lease.goLoading diff…
internal/lease/lease_test.goLoading diff…
internal/lease/leasetest/bucket.goLoading diff…
internal/lease/leasetest/s3server.goLoading diff…
internal/lease/leasetest/s3server_test.goLoading diff…
internal/lease/mirror.goLoading diff…
internal/lease/mirror_test.goLoading diff…
internal/lease/staging.goLoading diff…
internal/lease/staging_test.goLoading diff…
internal/lease/staging_url_test.goLoading diff…
internal/moves/archive/archive.goLoading diff…
internal/moves/archive/archive_test.goLoading diff…
internal/moves/archive/archive_unix_test.goLoading diff…
internal/moves/archive/extract.goLoading diff…
internal/moves/archive/limits.goLoading diff…
internal/moves/archive/open_other.goLoading diff…
internal/moves/archive/open_unix.goLoading diff…
internal/moves/archive/seal.goLoading diff…
internal/moves/archive/sync_linux.goLoading diff…
internal/moves/archive/sync_other.goLoading diff…
internal/moves/archive/verify.goLoading diff…
internal/moves/budget.goLoading diff…
internal/moves/budget_test.goLoading diff…
internal/moves/check.goLoading diff…
internal/moves/check_test.goLoading diff…
internal/moves/envreport.goLoading diff…
internal/moves/envreport_test.goLoading diff…
internal/moves/floor.goLoading diff…
internal/moves/floor_test.goLoading diff…
internal/moves/ids.goLoading diff…
internal/moves/ids_test.goLoading diff…
internal/moves/lease.goLoading diff…
internal/moves/lease_test.goLoading diff…
internal/moves/readiness.goLoading diff…
internal/moves/readiness_test.goLoading diff…
internal/moves/source.goLoading diff…
internal/moves/source_test.goLoading diff…
internal/moves/staging.goLoading diff…
internal/moves/staging_test.goLoading diff…
internal/moves/switch.goLoading diff…
internal/moves/switch_test.goLoading diff…
internal/moves/timers.goLoading diff…
internal/moves/timers_test.goLoading diff…
internal/provision/move_test.goLoading diff…
internal/provision/provision.goLoading diff…
internal/registry/hold_test.goLoading diff…
internal/registry/registry.goLoading diff…
internal/release/adopt.goLoading diff…
internal/release/heldrefusal_test.goLoading diff…
internal/release/heldverify_test.goLoading diff…
internal/release/materializeheld.goLoading diff…
internal/release/materializeheld_proof_test.goLoading diff…
internal/release/materializeheld_test.goLoading diff…
internal/release/proofgate.goLoading diff…
internal/release/refusal.goLoading diff…
internal/sim/hostlife/background_test.goLoading diff…
internal/sim/hostlife/budget_test.goLoading diff…
internal/sim/hostlife/console_test.goLoading diff…
internal/sim/hostlife/expected-outcomes.txtLoading diff…
internal/sim/hostlife/ltx_test.goLoading diff…
internal/sim/hostlife/moves_test.goLoading diff…
internal/sim/hostlife/mutate.shLoading diff…
internal/sim/hostlife/protocol_test.goLoading diff…
internal/sim/hostlife/rules_test.goLoading diff…
internal/sim/hostlife/sim_test.goLoading diff…
internal/sim/hostlife/witness_test.goLoading diff…
internal/sim/hostlife/world_test.goLoading diff…
internal/sim/litestreamfacts/facts_test.goLoading diff…
testdata/moves-copy/assembled/formatted.goLoading diff…
testdata/moves-copy/assembled/fragments.goLoading diff…
testdata/moves-copy/assembled/joined.goLoading diff…
testdata/moves-copy/assembled/prefix.goLoading diff…
testdata/moves-copy/assembled/record.mdLoading diff…
testdata/moves-copy/changed-text/applied.goLoading diff…
testdata/moves-copy/changed-text/record.mdLoading diff…
testdata/moves-copy/em-dash.mdLoading diff…
testdata/moves-copy/missing-id.mdLoading diff…
testdata/moves-copy/pending-default-on.mdLoading diff…
testdata/moves-copy/sinks/closure-alias/emit.goLoading diff…
testdata/moves-copy/sinks/error-helper/emit.goLoading diff…
testdata/moves-copy/sinks/error-helper/record.mdLoading diff…
testdata/moves-copy/sinks/error-text/emit.goLoading diff…
testdata/moves-copy/sinks/error-text/record.mdLoading diff…
testdata/moves-copy/sinks/field-limit/emit.goLoading diff…
testdata/moves-copy/sinks/field-multi/emit.goLoading diff…
testdata/moves-copy/sinks/field-reason/emit.goLoading diff…
testdata/moves-copy/sinks/forwarded-error/emit.goLoading diff…
testdata/moves-copy/sinks/funcvalue/emit.goLoading diff…
testdata/moves-copy/sinks/helper-bad-return/emit.goLoading diff…
testdata/moves-copy/sinks/interface/emit.goLoading diff…
testdata/moves-copy/sinks/limit/emit.goLoading diff…
testdata/moves-copy/sinks/local-variable/emit.goLoading diff…
testdata/moves-copy/sinks/mapping/emit.goLoading diff…
testdata/moves-copy/sinks/named-result/emit.goLoading diff…
testdata/moves-copy/sinks/ok/emit.goLoading diff…
testdata/moves-copy/sinks/ok/record.mdLoading diff…
testdata/moves-copy/sinks/param/emit.goLoading diff…
testdata/moves-copy/sinks/shadow-receiver/emit.goLoading diff…
testdata/moves-copy/sinks/shadow-receiver/record.mdLoading diff…
testdata/moves-copy/sinks/shadow/emit.goLoading diff…
testdata/moves-copy/sinks/sprintf-v/emit.goLoading diff…
testdata/moves-copy/sinks/substitution/emit.goLoading diff…
testdata/moves-copy/sinks/unresolved/emit.goLoading diff…
testdata/moves-copy/substring/emit.goLoading diff…
testdata/moves-copy/substring/record.mdLoading diff…