carlos / platform Public

self-serve-moves-3

.amadan/ci.d/10-gate +6 −55
.amadan/ci.d/10-gate

Loading diff…

.amadan/ci.d/10-gate.real +56 −0
.amadan/ci.d/10-gate.real

Loading diff…

.amadan/sigwho.py +55 −0
.amadan/sigwho.py

Loading diff…

.amadan/test-gate.sh +86 −2
.amadan/test-gate.sh

Loading diff…

approved_moves_copy_test.go +59 −18
approved_moves_copy_test.go

Loading diff…

cmd/console/main.go +62 −6
cmd/console/main.go

Loading diff…

cmd/console/movesswitch_test.go +93 −6
cmd/console/movesswitch_test.go

Loading diff…

cmd/console/startpaging_test.go +85 −0
cmd/console/startpaging_test.go

Loading diff…

docs/site/cli.md +38 −0
docs/site/cli.md

Loading diff…

docs/superpowers/notes/census-proposal-self-serve-moves-1.md +49 −0
docs/superpowers/notes/census-proposal-self-serve-moves-1.md

Loading diff…

docs/superpowers/notes/census-proposal-self-serve-moves-2.md +59 −0
docs/superpowers/notes/census-proposal-self-serve-moves-2.md

Loading diff…

docs/superpowers/notes/census-proposal-self-serve-moves-3.md +176 −0
docs/superpowers/notes/census-proposal-self-serve-moves-3.md

Loading diff…

docs/superpowers/plans/2026-10-06-moves-phase1-copy.md +101 −1
docs/superpowers/plans/2026-10-06-moves-phase1-copy.md

Loading diff…

docs/superpowers/plans/2026-10-22-self-serve-moves-1-lifetimes-and-order.md +364 −0
docs/superpowers/plans/2026-10-22-self-serve-moves-1-lifetimes-and-order.md

Loading diff…

docs/superpowers/plans/2026-10-22-self-serve-moves-2-door-token-job.md +245 −0
docs/superpowers/plans/2026-10-22-self-serve-moves-2-door-token-job.md

Loading diff…

docs/superpowers/plans/2026-10-22-self-serve-moves-3-holding-page.md +144 −0
docs/superpowers/plans/2026-10-22-self-serve-moves-3-holding-page.md

Loading diff…

docs/superpowers/plans/2026-10-22-self-serve-moves-4-cleanup.md +501 −0
docs/superpowers/plans/2026-10-22-self-serve-moves-4-cleanup.md

Loading diff…

docs/superpowers/specs/2026-10-21-self-serve-offline-moves-design.md +273 −0
docs/superpowers/specs/2026-10-21-self-serve-offline-moves-design.md

Loading diff…

internal/alerting/alerting.go +11 −0
internal/alerting/alerting.go

Loading diff…

internal/console/apex.go +4 −2
internal/console/apex.go

Loading diff…

internal/console/apidb.go +1 −1
internal/console/apidb.go

Loading diff…

internal/console/apidb_test.go +1 −1
internal/console/apidb_test.go

Loading diff…

internal/console/apidomains.go +25 −4
internal/console/apidomains.go

Loading diff…

internal/console/apidomains_test.go +5 −5
internal/console/apidomains_test.go

Loading diff…

internal/console/apidoorkeys_test.go +2 −2
internal/console/apidoorkeys_test.go

Loading diff…

internal/console/apiinstanceimport.go +98 −36
internal/console/apiinstanceimport.go

Loading diff…

internal/console/apiinstancemove.go +72 −19
internal/console/apiinstancemove.go

Loading diff…

internal/console/apiinstancemove_offline.go +734 −231
internal/console/apiinstancemove_offline.go

Loading diff…

internal/console/apiinstancemove_offline_ahead_test.go +62 −0
internal/console/apiinstancemove_offline_ahead_test.go

Loading diff…

internal/console/apiinstancemove_offline_queued_test.go +60 −0
internal/console/apiinstancemove_offline_queued_test.go

Loading diff…

internal/console/apiinstancemove_offline_snapshot_test.go +315 −0
internal/console/apiinstancemove_offline_snapshot_test.go

Loading diff…

internal/console/apiinstancemove_offline_test.go +22 −8
internal/console/apiinstancemove_offline_test.go

Loading diff…

internal/console/apiinstances.go +83 −25
internal/console/apiinstances.go

Loading diff…

internal/console/apiinstances_test.go +4 −4
internal/console/apiinstances_test.go

Loading diff…

internal/console/apiinstanceseed.go +33 −2
internal/console/apiinstanceseed.go

Loading diff…

internal/console/apiinstancesenable_test.go +2 −2
internal/console/apiinstancesenable_test.go

Loading diff…

internal/console/apilegacyroutes.go +5 −4
internal/console/apilegacyroutes.go

Loading diff…

internal/console/apiretry.go +1 −1
internal/console/apiretry.go

Loading diff…

internal/console/apiroutes_test.go +1 −1
internal/console/apiroutes_test.go

Loading diff…

internal/console/apiruns.go +2 −2
internal/console/apiruns.go

Loading diff…

internal/console/apirunsfollow.go +1 −1
internal/console/apirunsfollow.go

Loading diff…

internal/console/apiservices_test.go +3 −3
internal/console/apiservices_test.go

Loading diff…

internal/console/apisidecars_test.go +3 −3
internal/console/apisidecars_test.go

Loading diff…

internal/console/applocks.go +13 −1
internal/console/applocks.go

Loading diff…

internal/console/appsettings.go +2 −2
internal/console/appsettings.go

Loading diff…

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

Loading diff…

internal/console/authstore.go +32 −12
internal/console/authstore.go

Loading diff…

internal/console/authstore_test.go +5 −5
internal/console/authstore_test.go

Loading diff…

internal/console/channelmove.go +2 −2
internal/console/channelmove.go

Loading diff…

internal/console/channelmove_test.go +1 −1
internal/console/channelmove_test.go

Loading diff…

internal/console/claim_invariant_fixtures_test.go +39 −16
internal/console/claim_invariant_fixtures_test.go

Loading diff…

internal/console/claim_invariant_probes_test.go +1 −1
internal/console/claim_invariant_probes_test.go

Loading diff…

internal/console/claim_invariant_probes_worker_test.go +6 −2
internal/console/claim_invariant_probes_worker_test.go

Loading diff…

internal/console/claim_invariant_test.go +15 −1
internal/console/claim_invariant_test.go

Loading diff…

internal/console/claim_retire.go +5 −2
internal/console/claim_retire.go

Loading diff…

internal/console/claim_workers.go +22 −18
internal/console/claim_workers.go

Loading diff…

internal/console/domainattach.go +163 −4
internal/console/domainattach.go

Loading diff…

internal/console/domaincatchall.go +7 −2
internal/console/domaincatchall.go

Loading diff…

internal/console/domaincatchall_test.go +69 −1
internal/console/domaincatchall_test.go

Loading diff…

internal/console/domainplatform_test.go +1 −1
internal/console/domainplatform_test.go

Loading diff…

internal/console/edges_offline_moves_test.go +278 −0
internal/console/edges_offline_moves_test.go

Loading diff…

internal/console/expirypass.go +17 −11
internal/console/expirypass.go

Loading diff…

internal/console/fleets.go +1 −1
internal/console/fleets.go

Loading diff…

internal/console/hostclaimops.go +5 −0
internal/console/hostclaimops.go

Loading diff…

internal/console/instancetoken_moves_test.go +185 −0
internal/console/instancetoken_moves_test.go

Loading diff…

internal/console/lifetimes.go +295 −0
internal/console/lifetimes.go

Loading diff…

internal/console/lifetimes_audit_test.go +460 −0
internal/console/lifetimes_audit_test.go

Loading diff…

internal/console/lifetimes_create.go +610 −0
internal/console/lifetimes_create.go

Loading diff…

internal/console/lifetimes_create_test.go +2688 −0
internal/console/lifetimes_create_test.go

Loading diff…

internal/console/lifetimes_cutover.go +586 −0
internal/console/lifetimes_cutover.go

Loading diff…

internal/console/lifetimes_cutover_test.go +928 −0
internal/console/lifetimes_cutover_test.go

Loading diff…

internal/console/lifetimes_e2e_test.go +470 −0
internal/console/lifetimes_e2e_test.go

Loading diff…

internal/console/lifetimes_floor.go +167 −0
internal/console/lifetimes_floor.go

Loading diff…

internal/console/lifetimes_floor_test.go +201 −0
internal/console/lifetimes_floor_test.go

Loading diff…

internal/console/lifetimes_migrate.go +494 −0
internal/console/lifetimes_migrate.go

Loading diff…

internal/console/lifetimes_migrate_test.go +1110 −0
internal/console/lifetimes_migrate_test.go

Loading diff…

internal/console/lifetimes_purge.go +316 −0
internal/console/lifetimes_purge.go

Loading diff…

internal/console/lifetimes_purge_test.go +441 −0
internal/console/lifetimes_purge_test.go

Loading diff…

internal/console/lifetimes_read.go +56 −0
internal/console/lifetimes_read.go

Loading diff…

internal/console/lifetimes_read_test.go +253 −0
internal/console/lifetimes_read_test.go

Loading diff…

internal/console/lifetimes_recovery.go +230 −0
internal/console/lifetimes_recovery.go

Loading diff…

internal/console/lifetimes_retire.go +375 −0
internal/console/lifetimes_retire.go

Loading diff…

internal/console/lifetimes_retire_test.go +1324 −0
internal/console/lifetimes_retire_test.go

Loading diff…

internal/console/lifetimes_store.go +446 −0
internal/console/lifetimes_store.go

Loading diff…

internal/console/lifetimes_store_test.go +660 −0
internal/console/lifetimes_store_test.go

Loading diff…

internal/console/movesrecovery.go +1 −1
internal/console/movesrecovery.go

Loading diff…

internal/console/offlineopen_test.go +98 −0
internal/console/offlineopen_test.go

Loading diff…

internal/console/offlinereserve.go +497 −0
internal/console/offlinereserve.go

Loading diff…

internal/console/offlinereserve_test.go +1270 −0
internal/console/offlinereserve_test.go

Loading diff…

internal/console/offlinereturn.go +642 −0
internal/console/offlinereturn.go

Loading diff…

internal/console/offlinereturn_test.go +878 −0
internal/console/offlinereturn_test.go

Loading diff…

internal/console/ownership.go +9 −1
internal/console/ownership.go

Loading diff…

internal/console/regiondrift.go +15 −4
internal/console/regiondrift.go

Loading diff…

internal/console/relayops.go +1 −2
internal/console/relayops.go

Loading diff…

internal/console/runsweep.go +10 −10
internal/console/runsweep.go

Loading diff…

internal/console/seedfinish.go +11 −4
internal/console/seedfinish.go

Loading diff…

internal/console/seedfloor_test.go +1 −1
internal/console/seedfloor_test.go

Loading diff…

internal/console/seedmove.go +14 −4
internal/console/seedmove.go

Loading diff…

internal/console/seedsweep.go +9 −11
internal/console/seedsweep.go

Loading diff…

internal/console/selfserve_apply.go +426 −0
internal/console/selfserve_apply.go

Loading diff…

internal/console/selfserve_checks.go +284 −0
internal/console/selfserve_checks.go

Loading diff…

internal/console/selfserve_checks_test.go +146 −0
internal/console/selfserve_checks_test.go

Loading diff…

internal/console/selfserve_door.go +551 −0
internal/console/selfserve_door.go

Loading diff…

internal/console/selfserve_door_test.go +1258 −0
internal/console/selfserve_door_test.go

Loading diff…

internal/console/selfserve_estimate.go +363 −0
internal/console/selfserve_estimate.go

Loading diff…

internal/console/selfserve_estimate_test.go +454 −0
internal/console/selfserve_estimate_test.go

Loading diff…

internal/console/selfserve_events.go +211 −0
internal/console/selfserve_events.go

Loading diff…

internal/console/selfserve_events_test.go +289 −0
internal/console/selfserve_events_test.go

Loading diff…

internal/console/selfserve_finalise.go +121 −0
internal/console/selfserve_finalise.go

Loading diff…

internal/console/selfserve_finalise_test.go +109 −0
internal/console/selfserve_finalise_test.go

Loading diff…

internal/console/selfserve_gate.go +111 −0
internal/console/selfserve_gate.go

Loading diff…

internal/console/selfserve_gate_test.go +670 −0
internal/console/selfserve_gate_test.go

Loading diff…

internal/console/selfserve_health.go +225 −0
internal/console/selfserve_health.go

Loading diff…

internal/console/selfserve_health_test.go +179 −0
internal/console/selfserve_health_test.go

Loading diff…

internal/console/selfserve_job.go +2254 −0
internal/console/selfserve_job.go

Loading diff…

internal/console/selfserve_lease.go +190 −0
internal/console/selfserve_lease.go

Loading diff…

internal/console/selfserve_pages.go +174 −0
internal/console/selfserve_pages.go

Loading diff…

internal/console/selfserve_pass.go +296 −0
internal/console/selfserve_pass.go

Loading diff…

internal/console/selfserve_pass_test.go +404 −0
internal/console/selfserve_pass_test.go

Loading diff…

internal/console/selfserve_startup_test.go +207 −0
internal/console/selfserve_startup_test.go

Loading diff…

internal/console/selfserve_store.go +1335 −0
internal/console/selfserve_store.go

Loading diff…

internal/console/selfserve_store_test.go +1194 −0
internal/console/selfserve_store_test.go

Loading diff…

internal/console/selfserve_view.go +128 −0
internal/console/selfserve_view.go

Loading diff…

internal/console/serialbump.go +13 −4
internal/console/serialbump.go

Loading diff…

internal/console/server.go +105 −5
internal/console/server.go

Loading diff…

internal/console/server_test.go +10 −0
internal/console/server_test.go

Loading diff…

internal/console/settle.go +12 −1
internal/console/settle.go

Loading diff…

internal/console/stepup.go +4 −1
internal/console/stepup.go

Loading diff…

internal/console/store.go +88 −14
internal/console/store.go

Loading diff…

internal/console/store_gate.go +31 −1
internal/console/store_gate.go

Loading diff…

internal/console/store_gate_test.go +30 −0
internal/console/store_gate_test.go

Loading diff…

internal/console/svcpage_test.go +4 −4
internal/console/svcpage_test.go

Loading diff…

internal/console/svcprincipal.go +15 −5
internal/console/svcprincipal.go

Loading diff…

internal/console/svcprincipal_test.go +5 −5
internal/console/svcprincipal_test.go

Loading diff…

internal/console/svcroutes_test.go +6 −2
internal/console/svcroutes_test.go

Loading diff…

internal/console/svcscope_test.go +4 −4
internal/console/svcscope_test.go

Loading diff…

internal/console/templates/settings.html +1 −1
internal/console/templates/settings.html

Loading diff…

internal/console/tempstore.go +5 −10
internal/console/tempstore.go

Loading diff…

internal/console/testdata/claim-authority-sites.txt +1 −0
internal/console/testdata/claim-authority-sites.txt

Loading diff…

internal/console/testdata/claim-routes.txt +6 −0
internal/console/testdata/claim-routes.txt

Loading diff…

internal/console/testdata/operator-door-answers.golden +223 −0
internal/console/testdata/operator-door-answers.golden

Loading diff…

internal/console/testdata/operator-staged-ahead.golden +1 −0
internal/console/testdata/operator-staged-ahead.golden

Loading diff…

internal/console/testhooks.go +123 −0
internal/console/testhooks.go

Loading diff…

internal/console/updatescore.go +1 −1
internal/console/updatescore.go

Loading diff…

internal/domains/aliases.go +62 −8
internal/domains/aliases.go

Loading diff…

internal/domains/aliases_explicit_test.go +114 −0
internal/domains/aliases_explicit_test.go

Loading diff…

internal/domains/aliases_offline_moves_test.go +134 −0
internal/domains/aliases_offline_moves_test.go

Loading diff…

internal/domains/claims.go +99 −5
internal/domains/claims.go

Loading diff…

internal/domains/instancecatchall_judged_test.go +189 −0
internal/domains/instancecatchall_judged_test.go

Loading diff…

internal/domains/instancecatchall_lifetimes_test.go +109 −0
internal/domains/instancecatchall_lifetimes_test.go

Loading diff…

internal/domains/reconcile.go +13 −19
internal/domains/reconcile.go

Loading diff…

internal/domains/reconcile_test.go +48 −34
internal/domains/reconcile_test.go

Loading diff…

internal/e2e/selfserve/abort_pinned_test.go +57 −0
internal/e2e/selfserve/abort_pinned_test.go

Loading diff…

internal/e2e/selfserve/bridge_test.go +211 −0
internal/e2e/selfserve/bridge_test.go

Loading diff…

internal/e2e/selfserve/catch_up_test.go +72 −0
internal/e2e/selfserve/catch_up_test.go

Loading diff…

internal/e2e/selfserve/cut_test.go +972 −0
internal/e2e/selfserve/cut_test.go

Loading diff…

internal/e2e/selfserve/holding_test.go +811 −0
internal/e2e/selfserve/holding_test.go

Loading diff…

internal/e2e/selfserve/holding_world_test.go +778 −0
internal/e2e/selfserve/holding_world_test.go

Loading diff…

internal/e2e/selfserve/job_boundary_test.go +396 −0
internal/e2e/selfserve/job_boundary_test.go

Loading diff…

internal/e2e/selfserve/job_phases_test.go +579 −0
internal/e2e/selfserve/job_phases_test.go

Loading diff…

internal/e2e/selfserve/job_races_test.go +420 −0
internal/e2e/selfserve/job_races_test.go

Loading diff…

internal/e2e/selfserve/job_reconcile_test.go +331 −0
internal/e2e/selfserve/job_reconcile_test.go

Loading diff…

internal/e2e/selfserve/job_requests_test.go +329 −0
internal/e2e/selfserve/job_requests_test.go

Loading diff…

internal/e2e/selfserve/job_resume_test.go +360 −0
internal/e2e/selfserve/job_resume_test.go

Loading diff…

internal/e2e/selfserve/job_test.go +76 −0
internal/e2e/selfserve/job_test.go

Loading diff…

internal/e2e/selfserve/job_world_test.go +674 −0
internal/e2e/selfserve/job_world_test.go

Loading diff…

internal/e2e/selfserve/member_test.go +198 −0
internal/e2e/selfserve/member_test.go

Loading diff…

internal/e2e/selfserve/open_record_lease_test.go +76 −0
internal/e2e/selfserve/open_record_lease_test.go

Loading diff…

internal/e2e/selfserve/operator_test.go +98 −0
internal/e2e/selfserve/operator_test.go

Loading diff…

internal/e2e/selfserve/queue_replay_test.go +149 −0
internal/e2e/selfserve/queue_replay_test.go

Loading diff…

internal/e2e/selfserve/return_test.go +160 −0
internal/e2e/selfserve/return_test.go

Loading diff…

internal/e2e/selfserve/seal_bytes_test.go +38 −0
internal/e2e/selfserve/seal_bytes_test.go

Loading diff…

internal/e2e/selfserve/selfserve_forward_test.go +352 −0
internal/e2e/selfserve/selfserve_forward_test.go

Loading diff…

internal/e2e/selfserve/selfserve_operator_test.go +392 −0
internal/e2e/selfserve/selfserve_operator_test.go

Loading diff…

internal/e2e/selfserve/selfserve_rows_test.go +315 −0
internal/e2e/selfserve/selfserve_rows_test.go

Loading diff…

internal/e2e/selfserve/validated_bind_test.go +69 −0
internal/e2e/selfserve/validated_bind_test.go

Loading diff…

internal/edge/alias_test.go +236 −0
internal/edge/alias_test.go

Loading diff…

internal/edge/certwarm.go +10 −1
internal/edge/certwarm.go

Loading diff…

internal/edge/decision_test.go +886 −0
internal/edge/decision_test.go

Loading diff…

internal/edge/e2e_bridge.go +106 −0
internal/edge/e2e_bridge.go

Loading diff…

internal/edge/edge.go +375 −137
internal/edge/edge.go

Loading diff…

internal/edge/holding.go +505 −0
internal/edge/holding.go

Loading diff…

internal/edge/holding_test.go +335 −0
internal/edge/holding_test.go

Loading diff…

internal/edge/homemap.go +378 −49
internal/edge/homemap.go

Loading diff…

internal/edge/homemap_test.go +749 −8
internal/edge/homemap_test.go

Loading diff…

internal/edge/importgate.go +7 −2
internal/edge/importgate.go

Loading diff…

internal/edge/importgate_test.go +35 −0
internal/edge/importgate_test.go

Loading diff…

internal/edge/path_test.go +2 −2
internal/edge/path_test.go

Loading diff…

internal/edge/probe_test.go +509 −0
internal/edge/probe_test.go

Loading diff…

internal/edge/rank.go +252 −0
internal/edge/rank.go

Loading diff…

internal/edge/rank_property_test.go +927 −0
internal/edge/rank_property_test.go

Loading diff…

internal/edge/rank_test.go +271 −0
internal/edge/rank_test.go

Loading diff…

internal/edge/servedby.go +111 −0
internal/edge/servedby.go

Loading diff…

internal/edge/wildcard_parents_test.go +1 −1
internal/edge/wildcard_parents_test.go

Loading diff…

internal/edgesfile/audit_test.go +1001 −0
internal/edgesfile/audit_test.go

Loading diff…

internal/edgesfile/eligible.go +32 −0
internal/edgesfile/eligible.go

Loading diff…

internal/edgesfile/eligible_test.go +37 −0
internal/edgesfile/eligible_test.go

Loading diff…

internal/edgesfile/offline_moves_test.go +233 −0
internal/edgesfile/offline_moves_test.go

Loading diff…

internal/edgesfile/testdata/audit/alias/alias.go +50 −0
internal/edgesfile/testdata/audit/alias/alias.go

Loading diff…

internal/edgesfile/testdata/audit/boxid/boxid.go +19 −0
internal/edgesfile/testdata/audit/boxid/boxid.go

Loading diff…

internal/edgesfile/testdata/audit/helper/helper.go +45 −0
internal/edgesfile/testdata/audit/helper/helper.go

Loading diff…

internal/edgesfile/testdata/audit/holds/holds.go +30 −0
internal/edgesfile/testdata/audit/holds/holds.go

Loading diff…

internal/edgesfile/testdata/audit/unrelated/unrelated.go +33 −0
internal/edgesfile/testdata/audit/unrelated/unrelated.go

Loading diff…

internal/edgesfile/testdata/audit/untagged/untagged.go +59 −0
internal/edgesfile/testdata/audit/untagged/untagged.go

Loading diff…

internal/edgesfile/testdata/audit/wrapper/wrapper.go +23 −0
internal/edgesfile/testdata/audit/wrapper/wrapper.go

Loading diff…

internal/edgesfile/testdata/offline-moves.json +44 −0
internal/edgesfile/testdata/offline-moves.json

Loading diff…

internal/host/agent.go +77 −22
internal/host/agent.go

Loading diff…

internal/host/agent_test.go +2 −2
internal/host/agent_test.go

Loading diff…

internal/host/boxaddress_test.go +7 −7
internal/host/boxaddress_test.go

Loading diff…

internal/host/boxjudge.go +35 −0
internal/host/boxjudge.go

Loading diff…

internal/host/e2e_bridge.go +1588 −0
internal/host/e2e_bridge.go

Loading diff…

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

Loading diff…

internal/host/edgesclaims_test.go +1 −1
internal/host/edgesclaims_test.go

Loading diff…

internal/host/edgesfile.go +204 −17
internal/host/edgesfile.go

Loading diff…

internal/host/edgesfile_decoders_test.go +243 −0
internal/host/edgesfile_decoders_test.go

Loading diff…

internal/host/edgesfile_holding_e2e_test.go +64 −0
internal/host/edgesfile_holding_e2e_test.go

Loading diff…

internal/host/edgesfile_holding_test.go +643 −0
internal/host/edgesfile_holding_test.go

Loading diff…

internal/host/edgesfile_test.go +430 −3
internal/host/edgesfile_test.go

Loading diff…

internal/host/host_test.go +0 −14
internal/host/host_test.go

Loading diff…

internal/host/lifetime_gating_test.go +749 −0
internal/host/lifetime_gating_test.go

Loading diff…

internal/host/movescut.go +1 −1
internal/host/movescut.go

Loading diff…

internal/host/movesfinal.go +3 −3
internal/host/movesfinal.go

Loading diff…

internal/host/moveshold.go +1 −1
internal/host/moveshold.go

Loading diff…

internal/host/movesland.go +1 −1
internal/host/movesland.go

Loading diff…

internal/host/moveslandcommit.go +2 −2
internal/host/moveslandcommit.go

Loading diff…

internal/host/moveslandinstall.go +1 −1
internal/host/moveslandinstall.go

Loading diff…

internal/host/movesoffline.go +490 −33
internal/host/movesoffline.go

Loading diff…

internal/host/movesoffline_e2e_test.go +253 −229
internal/host/movesoffline_e2e_test.go

Loading diff…

internal/host/movesoffline_land.go +254 −9
internal/host/movesoffline_land.go

Loading diff…

internal/host/movesoffline_land_test.go +2 −100
internal/host/movesoffline_land_test.go

Loading diff…

internal/host/movesoffline_lifetime_test.go +459 −0
internal/host/movesoffline_lifetime_test.go

Loading diff…

internal/host/movesoffline_reports.go +615 −0
internal/host/movesoffline_reports.go

Loading diff…

internal/host/movesoffline_reports_test.go +1300 −0
internal/host/movesoffline_reports_test.go

Loading diff…

internal/host/movesoffline_return.go +301 −0
internal/host/movesoffline_return.go

Loading diff…

internal/host/movesoffline_return_test.go +409 −0
internal/host/movesoffline_return_test.go

Loading diff…

internal/host/movesoffline_seal.go +41 −7
internal/host/movesoffline_seal.go

Loading diff…

internal/host/movesoffline_seal_test.go +1 −151
internal/host/movesoffline_seal_test.go

Loading diff…

internal/host/movesoffline_stage.go +142 −22
internal/host/movesoffline_stage.go

Loading diff…

internal/host/movesoffline_stage_test.go +17 −11
internal/host/movesoffline_stage_test.go

Loading diff…

internal/host/movesoffline_test.go +29 −152
internal/host/movesoffline_test.go

Loading diff…

internal/host/movesparks.go +1 −1
internal/host/movesparks.go

Loading diff…

internal/host/movespass.go +102 −3
internal/host/movespass.go

Loading diff…

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

Loading diff…

internal/host/movespass_test.go +2 −2
internal/host/movespass_test.go

Loading diff…

internal/host/movesphase1_test.go +1 −1
internal/host/movesphase1_test.go

Loading diff…

internal/host/movespolicy.go +1 −1
internal/host/movespolicy.go

Loading diff…

internal/host/movesprobeowners_test.go +0 −9
internal/host/movesprobeowners_test.go

Loading diff…

internal/host/movesrecover.go +2 −2
internal/host/movesrecover.go

Loading diff…

internal/host/movesreport.go +10 −1
internal/host/movesreport.go

Loading diff…

internal/host/movesreport_offline_moves_test.go +85 −0
internal/host/movesreport_offline_moves_test.go

Loading diff…

internal/host/movesrevert.go +3 −3
internal/host/movesrevert.go

Loading diff…

internal/host/movesrollback.go +3 −3
internal/host/movesrollback.go

Loading diff…

internal/host/probes.go +11 −0
internal/host/probes.go

Loading diff…

internal/host/proofbinding.go +8 −0
internal/host/proofbinding.go

Loading diff…

internal/host/proofnamed.go +3 −0
internal/host/proofnamed.go

Loading diff…

internal/host/relocatepass.go +1 −1
internal/host/relocatepass.go

Loading diff…

internal/host/retention.go +18 −2
internal/host/retention.go

Loading diff…

internal/host/rootgeneration_requirements.go +1 −1
internal/host/rootgeneration_requirements.go

Loading diff…

internal/host/rootgenerations_launch.go +1 −1
internal/host/rootgenerations_launch.go

Loading diff…

internal/host/roothistory.go +1 −1
internal/host/roothistory.go

Loading diff…

internal/host/roothistory_creation.go +4 −3
internal/host/roothistory_creation.go

Loading diff…

internal/host/rootrestart_requests.go +3 −2
internal/host/rootrestart_requests.go

Loading diff…

internal/host/rootrestart_requests_source.go +7 −1
internal/host/rootrestart_requests_source.go

Loading diff…

internal/host/rootupdates.go +5 −4
internal/host/rootupdates.go

Loading diff…

internal/host/rootupdates_runtime.go +1 −1
internal/host/rootupdates_runtime.go

Loading diff…

internal/host/runexec.go +2 −2
internal/host/runexec.go

Loading diff…

internal/host/runs.go +14 −4
internal/host/runs.go

Loading diff…

internal/host/schedule_wake_test.go +0 −111
internal/host/schedule_wake_test.go

Loading diff…

internal/host/seedwiring.go +12 −3
internal/host/seedwiring.go

Loading diff…

internal/host/seedwiring_test.go +6 −6
internal/host/seedwiring_test.go

Loading diff…

internal/host/steering_loop.go +7 −4
internal/host/steering_loop.go

Loading diff…

internal/host/steering_loop_test.go +4 −4
internal/host/steering_loop_test.go

Loading diff…

internal/hostactors/references_offline_moves_test.go +100 −0
internal/hostactors/references_offline_moves_test.go

Loading diff…

internal/lease/mirror.go +83 −4
internal/lease/mirror.go

Loading diff…

internal/lease/observed_test.go +210 −0
internal/lease/observed_test.go

Loading diff…

internal/moves/offline.go +791 −15
internal/moves/offline.go

Loading diff…

internal/moves/offline_openrecord_test.go +85 −0
internal/moves/offline_openrecord_test.go

Loading diff…

internal/moves/offline_reserve_test.go +84 −0
internal/moves/offline_reserve_test.go

Loading diff…

internal/moves/offline_test.go +357 −0
internal/moves/offline_test.go

Loading diff…

internal/moves/participants.go +123 −0
internal/moves/participants.go

Loading diff…

internal/moves/participants_test.go +101 −0
internal/moves/participants_test.go

Loading diff…

internal/park/region_names.go +3 −2
internal/park/region_names.go

Loading diff…

internal/provision/lifetime.go +191 −0
internal/provision/lifetime.go

Loading diff…

internal/provision/lifetime_judge.go +385 −0
internal/provision/lifetime_judge.go

Loading diff…

internal/provision/lifetime_judge_test.go +982 −0
internal/provision/lifetime_judge_test.go

Loading diff…

internal/provision/lifetime_migration.go +149 −0
internal/provision/lifetime_migration.go

Loading diff…

internal/provision/lifetime_test.go +293 −0
internal/provision/lifetime_test.go

Loading diff…

internal/provision/offline_move.go +417 −54
internal/provision/offline_move.go

Loading diff…

internal/provision/offline_move_copy_test.go +4 −4
internal/provision/offline_move_copy_test.go

Loading diff…

internal/provision/offline_move_test.go +340 −45
internal/provision/offline_move_test.go

Loading diff…

internal/provision/offline_queue_test.go +763 −0
internal/provision/offline_queue_test.go

Loading diff…

internal/provision/offline_return_test.go +40 −0
internal/provision/offline_return_test.go

Loading diff…

internal/provision/offline_stage_test.go +50 −34
internal/provision/offline_stage_test.go

Loading diff…

internal/provision/plan14_root_reads_test.go +156 −0
internal/provision/plan14_root_reads_test.go

Loading diff…

internal/provision/plan9_b8_census_test.go +5 −2
internal/provision/plan9_b8_census_test.go

Loading diff…

internal/provision/provision.go +236 −32
internal/provision/provision.go

Loading diff…

internal/provision/provision_test.go +21 −0
internal/provision/provision_test.go

Loading diff…

internal/provision/reconcile.go +309 −21
internal/provision/reconcile.go

Loading diff…

internal/provision/reconcile_lifetime_test.go +1143 −0
internal/provision/reconcile_lifetime_test.go

Loading diff…

internal/provision/record_sequence.go +23 −0
internal/provision/record_sequence.go

Loading diff…

internal/provision/record_sequence_test.go +249 −0
internal/provision/record_sequence_test.go

Loading diff…

internal/provision/replica.go +8 −1
internal/provision/replica.go

Loading diff…

internal/provision/retirement.go +38 −0
internal/provision/retirement.go

Loading diff…

internal/provision/retirement_test.go +36 −0
internal/provision/retirement_test.go

Loading diff…

internal/provision/rootrecord.go +25 −12
internal/provision/rootrecord.go

Loading diff…

internal/provision/rootrecord_test.go +84 −0
internal/provision/rootrecord_test.go

Loading diff…

internal/provision/seed.go +1 −1
internal/provision/seed.go

Loading diff…

internal/provision/seedjournal_test.go +1 −1
internal/provision/seedjournal_test.go

Loading diff…

internal/provision/seedreconcile.go +6 −3
internal/provision/seedreconcile.go

Loading diff…

internal/provision/seedreconcile_lifetime_test.go +82 −0
internal/provision/seedreconcile_lifetime_test.go

Loading diff…

internal/provision/seedrollback.go +32 −2
internal/provision/seedrollback.go

Loading diff…

internal/provision/self_serve_moves1_census_test.go +384 −0
internal/provision/self_serve_moves1_census_test.go

Loading diff…

internal/provision/self_serve_moves2_census_test.go +293 −0
internal/provision/self_serve_moves2_census_test.go

Loading diff…

internal/provision/self_serve_moves3_census_test.go +40 −0
internal/provision/self_serve_moves3_census_test.go

Loading diff…

internal/provision/testdata/plan14-root-reads-self-serve-moves-1.tsv +205 −0
internal/provision/testdata/plan14-root-reads-self-serve-moves-1.tsv

Loading diff…

internal/provision/testdata/plan14-root-reads-self-serve-moves-2.tsv +244 −0
internal/provision/testdata/plan14-root-reads-self-serve-moves-2.tsv

Loading diff…

internal/provision/testdata/plan14-root-reads-self-serve-moves-3.tsv +71 −0
internal/provision/testdata/plan14-root-reads-self-serve-moves-3.tsv

Loading diff…

internal/regionname/region.go +9 −0
internal/regionname/region.go

Loading diff…

internal/registry/alias_explicit_test.go +135 −0
internal/registry/alias_explicit_test.go

Loading diff…

internal/registry/registry.go +177 −19
internal/registry/registry.go

Loading diff…

internal/registry/registry_test.go +323 −0
internal/registry/registry_test.go

Loading diff…

internal/registry/remote_dispatch.go +8 −0
internal/registry/remote_dispatch.go

Loading diff…

internal/release/temporary.go +41 −1
internal/release/temporary.go

Loading diff…

internal/release/temporary_test.go +57 −0
internal/release/temporary_test.go

Loading diff…

internal/release/trash.go +58 −3
internal/release/trash.go

Loading diff…

internal/status/snapshot.go +62 −8
internal/status/snapshot.go

Loading diff…

internal/status/snapshot_test.go +44 −0
internal/status/snapshot_test.go

Loading diff…

internal/steering/offline_moves_test.go +138 −0
internal/steering/offline_moves_test.go

Loading diff…

system.go +7 −1
system.go

Loading diff…

system_lifetimes.go +128 −0
system_lifetimes.go

Loading diff…

system_lifetimes_test.go +118 −0
system_lifetimes_test.go

Loading diff…

system_test.go +2 −0
system_test.go

Loading diff…