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