carlos / platform Public

moves-phase1

.amadan/ci.d/30-minio-contract +29 −0
.amadan/ci.d/30-minio-contract

Loading diff…

approved_moves_copy_scan_test.go +2153 −0
approved_moves_copy_scan_test.go

Loading diff…

approved_moves_copy_test.go +1533 −0
approved_moves_copy_test.go

Loading diff…

cmd/console/main.go +21 −2
cmd/console/main.go

Loading diff…

cmd/console/movesswitch_test.go +100 −0
cmd/console/movesswitch_test.go

Loading diff…

docs/superpowers/plans/2026-10-06-moves-phase1-0-index.md +380 −0
docs/superpowers/plans/2026-10-06-moves-phase1-0-index.md

Loading 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.md

Loading 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.md

Loading 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.md

Loading 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.md

Loading 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.md

Loading 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.md

Loading 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.md

Loading diff…

docs/superpowers/plans/2026-10-06-moves-phase1-copy.md +217 −0
docs/superpowers/plans/2026-10-06-moves-phase1-copy.md

Loading diff…

docs/superpowers/plans/2026-10-06-moves-region-ha-conflicts.md +99 −0
docs/superpowers/plans/2026-10-06-moves-region-ha-conflicts.md

Loading diff…

docs/superpowers/plans/CODEX-PLAN-MOVES-PHASE1-R1.md +105 −0
docs/superpowers/plans/CODEX-PLAN-MOVES-PHASE1-R1.md

Loading diff…

docs/superpowers/plans/CODEX-PLAN-MOVES-PHASE1-R2.md +148 −0
docs/superpowers/plans/CODEX-PLAN-MOVES-PHASE1-R2.md

Loading diff…

docs/superpowers/plans/CODEX-PLAN1-REVIEW-R3.md +96 −0
docs/superpowers/plans/CODEX-PLAN1-REVIEW-R3.md

Loading diff…

docs/superpowers/plans/CODEX-PLAN1-REVIEW-R4.md +95 −0
docs/superpowers/plans/CODEX-PLAN1-REVIEW-R4.md

Loading diff…

docs/superpowers/plans/CODEX-PLAN1-REVIEW-R5.md +136 −0
docs/superpowers/plans/CODEX-PLAN1-REVIEW-R5.md

Loading diff…

docs/superpowers/plans/CODEX-PLAN1-REVIEW-R6.md +122 −0
docs/superpowers/plans/CODEX-PLAN1-REVIEW-R6.md

Loading diff…

docs/superpowers/specs/2026-10-02-move-any-app-design.md +7333 −0
docs/superpowers/specs/2026-10-02-move-any-app-design.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-JOINT-R1.md +303 −0
docs/superpowers/specs/CODEX-FINDINGS-JOINT-R1.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-JOINT-R2.md +208 −0
docs/superpowers/specs/CODEX-FINDINGS-JOINT-R2.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-MOVES-R1.md +129 −0
docs/superpowers/specs/CODEX-FINDINGS-MOVES-R1.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-MOVES-R2.md +150 −0
docs/superpowers/specs/CODEX-FINDINGS-MOVES-R2.md

Loading diff…

go.mod +1 −0
go.mod

Loading diff…

internal/activator/backend_exec.go +386 −14
internal/activator/backend_exec.go

Loading diff…

internal/activator/backend_exec_test.go +916 −1
internal/activator/backend_exec_test.go

Loading diff…

internal/appconfig/configack.go +9 −0
internal/appconfig/configack.go

Loading diff…

internal/appconfig/environments.go +20 −11
internal/appconfig/environments.go

Loading diff…

internal/appconfig/instances.go +28 −6
internal/appconfig/instances.go

Loading diff…

internal/appconfig/renderheld.go +106 −0
internal/appconfig/renderheld.go

Loading diff…

internal/appconfig/renderheld_test.go +242 −0
internal/appconfig/renderheld_test.go

Loading diff…

internal/appconfig/syncexec.go +81 −48
internal/appconfig/syncexec.go

Loading diff…

internal/boxid/boxid_test.go +6 −27
internal/boxid/boxid_test.go

Loading diff…

internal/boxid/boxidtest/boxidtest.go +52 −0
internal/boxid/boxidtest/boxidtest.go

Loading diff…

internal/boxid/internal/signtest/signtest.go +61 −0
internal/boxid/internal/signtest/signtest.go

Loading diff…

internal/cgroup/strict_linux.go +46 −12
internal/cgroup/strict_linux.go

Loading diff…

internal/cgroup/strict_linux_test.go +57 −0
internal/cgroup/strict_linux_test.go

Loading diff…

internal/cgroup/strict_other.go +1 −0
internal/cgroup/strict_other.go

Loading diff…

internal/console/apicli.go +34 −3
internal/console/apicli.go

Loading diff…

internal/console/apiinstancemove.go +490 −12
internal/console/apiinstancemove.go

Loading diff…

internal/console/apiinstancemove_test.go +864 −0
internal/console/apiinstancemove_test.go

Loading diff…

internal/console/apiinstances.go +8 −4
internal/console/apiinstances.go

Loading diff…

internal/console/authcli.go +7 −0
internal/console/authcli.go

Loading diff…

internal/console/boxselect.go +164 −0
internal/console/boxselect.go

Loading diff…

internal/console/boxselect_test.go +246 −0
internal/console/boxselect_test.go

Loading diff…

internal/console/instancesplacement.go +11 −0
internal/console/instancesplacement.go

Loading diff…

internal/console/movesconsole_test.go +69 −0
internal/console/movesconsole_test.go

Loading diff…

internal/console/server.go +48 −0
internal/console/server.go

Loading diff…

internal/console/svcroutes_test.go +37 −10
internal/console/svcroutes_test.go

Loading diff…

internal/genselect/select.go +3 −0
internal/genselect/select.go

Loading diff…

internal/host/activationguard_test.go +147 −0
internal/host/activationguard_test.go

Loading diff…

internal/host/agent.go +18 −1
internal/host/agent.go

Loading diff…

internal/host/edgesfile.go +23 −0
internal/host/edgesfile.go

Loading diff…

internal/host/edgesfile_test.go +71 −4
internal/host/edgesfile_test.go

Loading diff…

internal/host/heldstage.go +234 −0
internal/host/heldstage.go

Loading diff…

internal/host/heldstage_test.go +455 −0
internal/host/heldstage_test.go

Loading diff…

internal/host/host_test.go +92 −2
internal/host/host_test.go

Loading diff…

internal/host/movesfloor.go +507 −0
internal/host/movesfloor.go

Loading diff…

internal/host/movesfloor_linux.go +201 −0
internal/host/movesfloor_linux.go

Loading diff…

internal/host/movesfloor_linux_test.go +102 −0
internal/host/movesfloor_linux_test.go

Loading diff…

internal/host/movesfloor_other.go +31 −0
internal/host/movesfloor_other.go

Loading diff…

internal/host/movesfloor_test.go +359 −0
internal/host/movesfloor_test.go

Loading diff…

internal/host/movesgrowth_test.go +82 −0
internal/host/movesgrowth_test.go

Loading diff…

internal/host/movesguard.go +117 −0
internal/host/movesguard.go

Loading diff…

internal/host/movesheldenv.go +67 −0
internal/host/movesheldenv.go

Loading diff…

internal/host/movesheldlock.go +67 −0
internal/host/movesheldlock.go

Loading diff…

internal/host/movesheldlock_test.go +82 −0
internal/host/movesheldlock_test.go

Loading diff…

internal/host/movesmeasure.go +152 −0
internal/host/movesmeasure.go

Loading diff…

internal/host/movesmeasure_linux.go +60 −0
internal/host/movesmeasure_linux.go

Loading diff…

internal/host/movesmeasure_other.go +18 −0
internal/host/movesmeasure_other.go

Loading diff…

internal/host/movesnullversion_test.go +75 −0
internal/host/movesnullversion_test.go

Loading diff…

internal/host/movespass.go +281 −8
internal/host/movespass.go

Loading diff…

internal/host/movespass_test.go +30 −1
internal/host/movespass_test.go

Loading diff…

internal/host/movesphase1.go +855 −0
internal/host/movesphase1.go

Loading diff…

internal/host/movesphase1_harness_test.go +588 −0
internal/host/movesphase1_harness_test.go

Loading diff…

internal/host/movesphase1_test.go +895 −0
internal/host/movesphase1_test.go

Loading diff…

internal/host/movesprobe.go +136 −0
internal/host/movesprobe.go

Loading diff…

internal/host/movesprobe_test.go +146 −0
internal/host/movesprobe_test.go

Loading diff…

internal/host/movesreport.go +783 −0
internal/host/movesreport.go

Loading diff…

internal/host/movesreport_minio_test.go +65 −0
internal/host/movesreport_minio_test.go

Loading diff…

internal/host/movesreport_test.go +590 −0
internal/host/movesreport_test.go

Loading diff…

internal/host/movesstage.go +139 −0
internal/host/movesstage.go

Loading diff…

internal/host/movesstage_proof_test.go +357 −0
internal/host/movesstage_proof_test.go

Loading diff…

internal/host/movesstore.go +135 −0
internal/host/movesstore.go

Loading diff…

internal/host/proofroot_test.go +16 −0
internal/host/proofroot_test.go

Loading diff…

internal/host/refusalwatch.go +14 −3
internal/host/refusalwatch.go

Loading diff…

internal/host/refusalwatch_test.go +34 −0
internal/host/refusalwatch_test.go

Loading diff…

internal/host/systemapply.go +593 −19
internal/host/systemapply.go

Loading diff…

internal/host/systemapply_test.go +914 −0
internal/host/systemapply_test.go

Loading diff…

internal/host/units/carlos-system-recover.service +13 −1
internal/host/units/carlos-system-recover.service

Loading diff…

internal/host/units/carlos-system-update.service +11 −1
internal/host/units/carlos-system-update.service

Loading diff…

internal/hostbox/writer.go +3 −0
internal/hostbox/writer.go

Loading diff…

internal/hostclaim/move.go +109 −0
internal/hostclaim/move.go

Loading diff…

internal/hostclaim/move_test.go +275 −0
internal/hostclaim/move_test.go

Loading diff…

internal/lease/checkpoint_test.go +5 −5
internal/lease/checkpoint_test.go

Loading diff…

internal/lease/endpoint.go +1 −1
internal/lease/endpoint.go

Loading diff…

internal/lease/health.go +7 −2
internal/lease/health.go

Loading diff…

internal/lease/lease.go +11 −8
internal/lease/lease.go

Loading diff…

internal/lease/lease_test.go +5 −5
internal/lease/lease_test.go

Loading diff…

internal/lease/leasetest/bucket.go +25 −0
internal/lease/leasetest/bucket.go

Loading diff…

internal/lease/leasetest/s3server.go +80 −11
internal/lease/leasetest/s3server.go

Loading diff…

internal/lease/leasetest/s3server_test.go +190 −0
internal/lease/leasetest/s3server_test.go

Loading diff…

internal/lease/mirror.go +85 −7
internal/lease/mirror.go

Loading diff…

internal/lease/mirror_test.go +230 −1
internal/lease/mirror_test.go

Loading diff…

internal/lease/staging.go +413 −0
internal/lease/staging.go

Loading diff…

internal/lease/staging_test.go +472 −0
internal/lease/staging_test.go

Loading diff…

internal/lease/staging_url_test.go +20 −0
internal/lease/staging_url_test.go

Loading diff…

internal/moves/archive/archive.go +399 −0
internal/moves/archive/archive.go

Loading diff…

internal/moves/archive/archive_test.go +1248 −0
internal/moves/archive/archive_test.go

Loading diff…

internal/moves/archive/archive_unix_test.go +137 −0
internal/moves/archive/archive_unix_test.go

Loading diff…

internal/moves/archive/extract.go +401 −0
internal/moves/archive/extract.go

Loading diff…

internal/moves/archive/limits.go +214 −0
internal/moves/archive/limits.go

Loading diff…

internal/moves/archive/open_other.go +12 −0
internal/moves/archive/open_other.go

Loading diff…

internal/moves/archive/open_unix.go +20 −0
internal/moves/archive/open_unix.go

Loading diff…

internal/moves/archive/seal.go +188 −0
internal/moves/archive/seal.go

Loading diff…

internal/moves/archive/sync_linux.go +8 −0
internal/moves/archive/sync_linux.go

Loading diff…

internal/moves/archive/sync_other.go +8 −0
internal/moves/archive/sync_other.go

Loading diff…

internal/moves/archive/verify.go +162 −0
internal/moves/archive/verify.go

Loading diff…

internal/moves/budget.go +151 −0
internal/moves/budget.go

Loading diff…

internal/moves/budget_test.go +244 −0
internal/moves/budget_test.go

Loading diff…

internal/moves/check.go +10 −0
internal/moves/check.go

Loading diff…

internal/moves/check_test.go +37 −0
internal/moves/check_test.go

Loading diff…

internal/moves/envreport.go +179 −0
internal/moves/envreport.go

Loading diff…

internal/moves/envreport_test.go +163 −0
internal/moves/envreport_test.go

Loading diff…

internal/moves/floor.go +98 −0
internal/moves/floor.go

Loading diff…

internal/moves/floor_test.go +87 −0
internal/moves/floor_test.go

Loading diff…

internal/moves/ids.go +53 −0
internal/moves/ids.go

Loading diff…

internal/moves/ids_test.go +41 −0
internal/moves/ids_test.go

Loading diff…

internal/moves/lease.go +86 −0
internal/moves/lease.go

Loading diff…

internal/moves/lease_test.go +187 −0
internal/moves/lease_test.go

Loading diff…

internal/moves/readiness.go +475 −0
internal/moves/readiness.go

Loading diff…

internal/moves/readiness_test.go +907 −0
internal/moves/readiness_test.go

Loading diff…

internal/moves/source.go +53 −0
internal/moves/source.go

Loading diff…

internal/moves/source_test.go +46 −0
internal/moves/source_test.go

Loading diff…

internal/moves/staging.go +55 −0
internal/moves/staging.go

Loading diff…

internal/moves/staging_test.go +52 −0
internal/moves/staging_test.go

Loading diff…

internal/moves/switch.go +22 −0
internal/moves/switch.go

Loading diff…

internal/moves/switch_test.go +26 −0
internal/moves/switch_test.go

Loading diff…

internal/moves/timers.go +109 −0
internal/moves/timers.go

Loading diff…

internal/moves/timers_test.go +224 −0
internal/moves/timers_test.go

Loading diff…

internal/provision/move_test.go +259 −0
internal/provision/move_test.go

Loading diff…

internal/provision/provision.go +327 −9
internal/provision/provision.go

Loading diff…

internal/registry/hold_test.go +414 −0
internal/registry/hold_test.go

Loading diff…

internal/registry/registry.go +176 −11
internal/registry/registry.go

Loading diff…

internal/release/adopt.go +6 −0
internal/release/adopt.go

Loading diff…

internal/release/heldrefusal_test.go +103 −0
internal/release/heldrefusal_test.go

Loading diff…

internal/release/heldverify_test.go +203 −0
internal/release/heldverify_test.go

Loading diff…

internal/release/materializeheld.go +550 −0
internal/release/materializeheld.go

Loading diff…

internal/release/materializeheld_proof_test.go +478 −0
internal/release/materializeheld_proof_test.go

Loading diff…

internal/release/materializeheld_test.go +388 −0
internal/release/materializeheld_test.go

Loading diff…

internal/release/proofgate.go +8 −1
internal/release/proofgate.go

Loading diff…

internal/release/refusal.go +7 −0
internal/release/refusal.go

Loading diff…

internal/sim/hostlife/background_test.go +479 −0
internal/sim/hostlife/background_test.go

Loading diff…

internal/sim/hostlife/budget_test.go +198 −0
internal/sim/hostlife/budget_test.go

Loading diff…

internal/sim/hostlife/console_test.go +1306 −0
internal/sim/hostlife/console_test.go

Loading diff…

internal/sim/hostlife/expected-outcomes.txt +23 −0
internal/sim/hostlife/expected-outcomes.txt

Loading diff…

internal/sim/hostlife/ltx_test.go +777 −0
internal/sim/hostlife/ltx_test.go

Loading diff…

internal/sim/hostlife/moves_test.go +2080 −0
internal/sim/hostlife/moves_test.go

Loading diff…

internal/sim/hostlife/mutate.sh +170 −0
internal/sim/hostlife/mutate.sh

Loading diff…

internal/sim/hostlife/protocol_test.go +2512 −0
internal/sim/hostlife/protocol_test.go

Loading diff…

internal/sim/hostlife/rules_test.go +147 −0
internal/sim/hostlife/rules_test.go

Loading diff…

internal/sim/hostlife/sim_test.go +973 −0
internal/sim/hostlife/sim_test.go

Loading diff…

internal/sim/hostlife/witness_test.go +3554 −0
internal/sim/hostlife/witness_test.go

Loading diff…

internal/sim/hostlife/world_test.go +1353 −0
internal/sim/hostlife/world_test.go

Loading diff…

internal/sim/litestreamfacts/facts_test.go +971 −0
internal/sim/litestreamfacts/facts_test.go

Loading diff…

testdata/moves-copy/assembled/formatted.go +7 −0
testdata/moves-copy/assembled/formatted.go

Loading diff…

testdata/moves-copy/assembled/fragments.go +7 −0
testdata/moves-copy/assembled/fragments.go

Loading diff…

testdata/moves-copy/assembled/joined.go +5 −0
testdata/moves-copy/assembled/joined.go

Loading diff…

testdata/moves-copy/assembled/prefix.go +7 −0
testdata/moves-copy/assembled/prefix.go

Loading diff…

testdata/moves-copy/assembled/record.md +8 −0
testdata/moves-copy/assembled/record.md

Loading diff…

testdata/moves-copy/changed-text/applied.go +7 −0
testdata/moves-copy/changed-text/applied.go

Loading diff…

testdata/moves-copy/changed-text/record.md +7 −0
testdata/moves-copy/changed-text/record.md

Loading diff…

testdata/moves-copy/em-dash.md +6 −0
testdata/moves-copy/em-dash.md

Loading diff…

testdata/moves-copy/missing-id.md +6 −0
testdata/moves-copy/missing-id.md

Loading diff…

testdata/moves-copy/pending-default-on.md +6 −0
testdata/moves-copy/pending-default-on.md

Loading diff…

testdata/moves-copy/sinks/closure-alias/emit.go +20 −0
testdata/moves-copy/sinks/closure-alias/emit.go

Loading diff…

testdata/moves-copy/sinks/error-helper/emit.go +60 −0
testdata/moves-copy/sinks/error-helper/emit.go

Loading diff…

testdata/moves-copy/sinks/error-helper/record.md +6 −0
testdata/moves-copy/sinks/error-helper/record.md

Loading diff…

testdata/moves-copy/sinks/error-text/emit.go +56 −0
testdata/moves-copy/sinks/error-text/emit.go

Loading diff…

testdata/moves-copy/sinks/error-text/record.md +11 −0
testdata/moves-copy/sinks/error-text/record.md

Loading diff…

testdata/moves-copy/sinks/field-limit/emit.go +27 −0
testdata/moves-copy/sinks/field-limit/emit.go

Loading diff…

testdata/moves-copy/sinks/field-multi/emit.go +25 −0
testdata/moves-copy/sinks/field-multi/emit.go

Loading diff…

testdata/moves-copy/sinks/field-reason/emit.go +23 −0
testdata/moves-copy/sinks/field-reason/emit.go

Loading diff…

testdata/moves-copy/sinks/forwarded-error/emit.go +19 −0
testdata/moves-copy/sinks/forwarded-error/emit.go

Loading diff…

testdata/moves-copy/sinks/funcvalue/emit.go +29 −0
testdata/moves-copy/sinks/funcvalue/emit.go

Loading diff…

testdata/moves-copy/sinks/helper-bad-return/emit.go +15 −0
testdata/moves-copy/sinks/helper-bad-return/emit.go

Loading diff…

testdata/moves-copy/sinks/interface/emit.go +22 −0
testdata/moves-copy/sinks/interface/emit.go

Loading diff…

testdata/moves-copy/sinks/limit/emit.go +36 −0
testdata/moves-copy/sinks/limit/emit.go

Loading diff…

testdata/moves-copy/sinks/local-variable/emit.go +26 −0
testdata/moves-copy/sinks/local-variable/emit.go

Loading diff…

testdata/moves-copy/sinks/mapping/emit.go +36 −0
testdata/moves-copy/sinks/mapping/emit.go

Loading diff…

testdata/moves-copy/sinks/named-result/emit.go +12 −0
testdata/moves-copy/sinks/named-result/emit.go

Loading diff…

testdata/moves-copy/sinks/ok/emit.go +134 −0
testdata/moves-copy/sinks/ok/emit.go

Loading diff…

testdata/moves-copy/sinks/ok/record.md +21 −0
testdata/moves-copy/sinks/ok/record.md

Loading diff…

testdata/moves-copy/sinks/param/emit.go +12 −0
testdata/moves-copy/sinks/param/emit.go

Loading diff…

testdata/moves-copy/sinks/shadow-receiver/emit.go +21 −0
testdata/moves-copy/sinks/shadow-receiver/emit.go

Loading diff…

testdata/moves-copy/sinks/shadow-receiver/record.md +3 −0
testdata/moves-copy/sinks/shadow-receiver/record.md

Loading diff…

testdata/moves-copy/sinks/shadow/emit.go +13 −0
testdata/moves-copy/sinks/shadow/emit.go

Loading diff…

testdata/moves-copy/sinks/sprintf-v/emit.go +18 −0
testdata/moves-copy/sinks/sprintf-v/emit.go

Loading diff…

testdata/moves-copy/sinks/substitution/emit.go +12 −0
testdata/moves-copy/sinks/substitution/emit.go

Loading diff…

testdata/moves-copy/sinks/unresolved/emit.go +23 −0
testdata/moves-copy/sinks/unresolved/emit.go

Loading diff…

testdata/moves-copy/substring/emit.go +9 −0
testdata/moves-copy/substring/emit.go

Loading diff…

testdata/moves-copy/substring/record.md +5 −0
testdata/moves-copy/substring/record.md

Loading diff…