carlos / platform Public

Merge remote-tracking branch 'origin/main' into settings-5-surfaces

claude agent, operated by paul@keymail.dev f966f6b481d593c45b9da8dafe0ce2ad34d9836c parent 13294aeparent d612253
105 files changed, +16447 −794
  • approved_moves_copy_test.go +16 −2
  • docs/superpowers/plans/2026-10-06-moves-phase1-copy.md +22 −0
  • docs/superpowers/plans/2026-10-06-moves-phase1-rehearsal.md +30 −6
  • docs/superpowers/specs/2026-10-02-move-any-app-design.md +16 −1
  • internal/appconfig/renderheld.go +19 −0
  • internal/appconfig/renderheld_claim_test.go +120 −0
  • internal/console/claim_authority_census_test.go +4 −0
  • internal/console/movesrecovery.go +155 −10
  • internal/console/movesrecovery_test.go +413 −0
  • internal/console/server.go +8 −3
  • internal/console/testdata/claim-authority-sites.txt +3 −2
  • internal/console/view_test.go +8 −1
  • internal/genselect/generationmax_test.go +126 −0
  • internal/genselect/select.go +67 −14
  • internal/host/agent.go +15 −5
  • internal/host/claimfiles.go +161 −0
  • internal/host/claimfiles_test.go +239 −0
  • internal/host/claimlaunch_production.go +14 −3
  • internal/host/claimlaunch_transport_test.go +14 −1
  • internal/host/claimmoveparks.go +30 −2
  • internal/host/claimmoveparks_test.go +3 −3
  • internal/host/claimproduction.go +14 −1
  • internal/host/claimstop_run.go +20 −1
  • internal/host/movescut_test.go +1 −1
  • internal/host/movescutguard_test.go +7 −5
  • internal/host/movesevidence.go +18 −20
  • internal/host/movesevidence_test.go +169 −42
  • internal/host/movesfiles.go +971 −0
  • internal/host/movesfiles_test.go +1648 −0
  • internal/host/movesfileslive_test.go +16 −10
  • internal/host/movesfinal.go +20 −15
  • internal/host/movesfinal_test.go +5 −5
  • internal/host/movesheldclaim_test.go +480 −0
  • internal/host/movesheldrelease.go +375 −0
  • internal/host/movesheldrelease_agent_test.go +389 −0
  • internal/host/movesheldrelease_linux.go +59 −0
  • internal/host/movesheldrelease_linux_test.go +259 −0
  • internal/host/movesheldrelease_other.go +14 −0
  • internal/host/movesheldrelease_production.go +80 −0
  • internal/host/movesheldrelease_production_test.go +28 −0
  • internal/host/movesheldrelease_root.go +555 −0
  • internal/host/movesheldrelease_test.go +893 −0
  • internal/host/movesinstall.go +202 −40
  • internal/host/movesinstall_test.go +1 −1
  • internal/host/movesland.go +40 −28
  • internal/host/movesland_test.go +409 −24
  • internal/host/moveslandcommit.go +2 −1
  • internal/host/moveslandpark.go +24 −12
  • internal/host/movesloss.go +318 −0
  • internal/host/movesloss_test.go +962 −0
  • internal/host/movesparkfakes_test.go +22 −9
  • internal/host/movesparks.go +2 −1
  • internal/host/movespass.go +178 −36
  • internal/host/movespass_lost_test.go +226 −0
  • internal/host/movesphase1_harness_test.go +1 −1
  • internal/host/movespolicy.go +9 −10
  • internal/host/movespolicy_test.go +54 −18
  • internal/host/movesprobeattempts.go +4 −2
  • internal/host/movesprobeowners.go +124 −36
  • internal/host/movesprobeowners_fix1_test.go +9 −0
  • internal/host/movesprobeowners_test.go +171 −1
  • internal/host/movesrecover.go +26 −9
  • internal/host/movesrecover_test.go +1 −1
  • internal/host/movesrecoveryowners.go +1077 −0
  • internal/host/movesrecoveryowners_test.go +1133 −0
  • internal/host/movesrecoveryprobe.go +35 −8
  • internal/host/movesrefusals.go +3 −2
  • internal/host/movesrefusals_test.go +2 −2
  • internal/host/movesreport.go +10 −2
  • internal/host/movesrevert.go +5 −3
  • internal/host/movesrevert_test.go +1 −1
  • internal/host/movesrollback.go +17 −23
  • internal/host/movesrollback_finalfix_test.go +8 −2
  • internal/host/movesrollback_test.go +1 −1
  • internal/host/movessources.go +140 −135
  • internal/host/movessources_test.go +466 −172
  • internal/host/movesstage.go +212 −5
  • internal/host/moveswakesource.go +281 −0
  • internal/host/moveswakesource_linux_test.go +824 −0
  • internal/host/moveswakesource_test.go +521 −0
  • internal/host/plan10_j2_adapter_test.go +66 −1
  • internal/host/plan13_views_test.go +7 −5
  • internal/hostbox/lossrestorepoint_test.go +135 −0
  • internal/hostbox/plan12_fence_loss_test.go +1 −1
  • internal/hostbox/plan12_loss_test.go +1 −1
  • internal/hostbox/writer_loss.go +28 −6
  • internal/hostfiles/manifest.go +23 −3
  • internal/hostfiles/manifestcheck.go +23 −0
  • internal/hostfiles/platform.go +33 −0
  • internal/hostfiles/prepared.go +252 −0
  • internal/hostfiles/prepared_test.go +403 −0
  • internal/hostfiles/publisher.go +47 −0
  • internal/hostfiles/wake.go +11 −2
  • internal/hostops/move_fence_release.go +35 −3
  • internal/hostops/plan12_fence_home_test.go +8 −2
  • internal/hostops/plan12_fence_test.go +40 −6
  • internal/hostops/plan13_fence_test.go +4 −1
  • internal/instancectl/claim.go +6 −2
  • internal/instancectl/claimunit_test.go +35 −0
  • internal/instancectl/server.go +16 −4
  • internal/moves/journal.go +18 −1
  • internal/provision/plan9_b8_census_test.go +25 −9
  • internal/provision/provision.go +22 −5
  • internal/release/materializeheld.go +55 −3
  • internal/release/materializeheld_claim_test.go +128 −0

CI failed — 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	341.043s
?   	github.com/carlosframework/platform/cmd/changelog	[no test files]
ok  	github.com/carlosframework/platform/cmd/console	3.036s
ok  	github.com/carlosframework/platform/cmd/moveprobe	92.296s
ok  	github.com/carlosframework/platform/internal/activator	228.957s
ok  	github.com/carlosframework/platform/internal/agentsock	0.016s
ok  	github.com/carlosframework/platform/internal/alerting	0.004s
ok  	github.com/carlosframework/platform/internal/analytics	0.021s
ok  	github.com/carlosframework/platform/internal/appconfig	2.391s
ok  	github.com/carlosframework/platform/internal/apperr	0.073s
ok  	github.com/carlosframework/platform/internal/applog	0.138s
ok  	github.com/carlosframework/platform/internal/awsinv	0.004s
ok  	github.com/carlosframework/platform/internal/boxchoice	0.004s
ok  	github.com/carlosframework/platform/internal/boxid	0.765s
?   	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.008s
ok  	github.com/carlosframework/platform/internal/caps	0.012s
ok  	github.com/carlosframework/platform/internal/certwarm	0.005s
ok  	github.com/carlosframework/platform/internal/cgroup	0.190s
ok  	github.com/carlosframework/platform/internal/changelog	0.240s
ok  	github.com/carlosframework/platform/internal/clamd	0.054s
?   	github.com/carlosframework/platform/internal/cliflag	[no test files]
ok  	github.com/carlosframework/platform/internal/console	363.456s
?   	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	6.146s
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.153s
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	25.814s
?   	github.com/carlosframework/platform/internal/edgeproof	[no test files]
ok  	github.com/carlosframework/platform/internal/edgesfile	0.006s
ok  	github.com/carlosframework/platform/internal/fleetapi	0.123s
ok  	github.com/carlosframework/platform/internal/gate	1.655s
ok  	github.com/carlosframework/platform/internal/genselect	0.015s
ok  	github.com/carlosframework/platform/internal/geo	0.013s
ok  	github.com/carlosframework/platform/internal/geoip	0.030s
ok  	github.com/carlosframework/platform/internal/host	62.318s
ok  	github.com/carlosframework/platform/internal/hostactors	0.396s
ok  	github.com/carlosframework/platform/internal/hostbox	1.291s
ok  	github.com/carlosframework/platform/internal/hostclaim	0.240s
ok  	github.com/carlosframework/platform/internal/hostevidence	0.009s
ok  	github.com/carlosframework/platform/internal/hostexec	0.315s
ok  	github.com/carlosframework/platform/internal/hostfence	0.031s
ok  	github.com/carlosframework/platform/internal/hostfiles	4.168s
ok  	github.com/carlosframework/platform/internal/hostfloor	0.008s
ok  	github.com/carlosframework/platform/internal/hostguard	0.139s
ok  	github.com/carlosframework/platform/internal/hostops	1.362s
?   	github.com/carlosframework/platform/internal/hostops/fencerelease	[no test files]
ok  	github.com/carlosframework/platform/internal/hostops/internal/fencerelease	0.008s
ok  	github.com/carlosframework/platform/internal/hostquarantine	0.008s
ok  	github.com/carlosframework/platform/internal/hostresolve	0.144s
ok  	github.com/carlosframework/platform/internal/hostwrite	0.008s
ok  	github.com/carlosframework/platform/internal/infraview	0.008s
ok  	github.com/carlosframework/platform/internal/instancectl	1.705s
ok  	github.com/carlosframework/platform/internal/instanceexec	2.699s
ok  	github.com/carlosframework/platform/internal/instancefs	0.012s
ok  	github.com/carlosframework/platform/internal/instancekey	0.011s
ok  	github.com/carlosframework/platform/internal/instanceupdates	0.007s
ok  	github.com/carlosframework/platform/internal/layout	1.399s
ok  	github.com/carlosframework/platform/internal/lease	9.436s
ok  	github.com/carlosframework/platform/internal/lease/leasetest	0.013s
ok  	github.com/carlosframework/platform/internal/ledger	0.012s
ok  	github.com/carlosframework/platform/internal/mail	0.160s
ok  	github.com/carlosframework/platform/internal/maintenance	0.081s
ok  	github.com/carlosframework/platform/internal/maintenanceexec	5.497s
ok  	github.com/carlosframework/platform/internal/maintenanceguard	0.067s
ok  	github.com/carlosframework/platform/internal/metrics	0.004s
ok  	github.com/carlosframework/platform/internal/moves	20.944s
ok  	github.com/carlosframework/platform/internal/moves/archive	0.744s
ok  	github.com/carlosframework/platform/internal/objstore	0.155s
ok  	github.com/carlosframework/platform/internal/ops	0.169s
ok  	github.com/carlosframework/platform/internal/park	0.190s
ok  	github.com/carlosframework/platform/internal/privatefile	0.003s
ok  	github.com/carlosframework/platform/internal/provision	3.265s
ok  	github.com/carlosframework/platform/internal/publicrelease	0.007s
?   	github.com/carlosframework/platform/internal/regionname	[no test files]
ok  	github.com/carlosframework/platform/internal/registry	3.920s
ok  	github.com/carlosframework/platform/internal/relay	7.225s
ok  	github.com/carlosframework/platform/internal/release	19.525s
ok  	github.com/carlosframework/platform/internal/rollout	3.247s
ok  	github.com/carlosframework/platform/internal/rolloutwords	0.003s
ok  	github.com/carlosframework/platform/internal/rootaws	0.010s
ok  	github.com/carlosframework/platform/internal/s3compat	0.004s
ok  	github.com/carlosframework/platform/internal/safefile	0.007s
ok  	github.com/carlosframework/platform/internal/schedule	2.280s
ok  	github.com/carlosframework/platform/internal/sim/hostlife	2.362s
ok  	github.com/carlosframework/platform/internal/sim/litestreamfacts	4.331s
ok  	github.com/carlosframework/platform/internal/status	0.037s
ok  	github.com/carlosframework/platform/internal/steering	0.006s
ok  	github.com/carlosframework/platform/internal/stopevidence	0.158s
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.005s
ok  	github.com/carlosframework/platform/internal/unixdial	0.003s
--- FAIL: TestApprovedCopyIsApplied (0.00s)
    words_approved_test.go:70: open ../../docs/superpowers/plans/2026-10-07-instance-settings-5-copy.json: no such file or directory
FAIL
FAIL	github.com/carlosframework/platform/internal/updatewords	0.003s
ok  	github.com/carlosframework/platform/internal/usage	0.004s
ok  	github.com/carlosframework/platform/internal/version	0.002s
ok  	github.com/carlosframework/platform/internal/vet	1.569s
FAIL
make: *** [Makefile:18: test] Error 1

amadan: step gate failed: exit status 2

amadan: job failed at step gate — its output is above, not at the tail of this log
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…

docs/superpowers/specs/2026-10-02-move-any-app-design.md

Loading diff…

internal/appconfig/renderheld.go

Loading diff…

internal/appconfig/renderheld_claim_test.go

Loading diff…

internal/console/claim_authority_census_test.go

Loading diff…

internal/console/movesrecovery.go

Loading diff…

internal/console/movesrecovery_test.go

Loading diff…

internal/console/server.go

Loading diff…

internal/console/testdata/claim-authority-sites.txt

Loading diff…

internal/console/view_test.go

Loading diff…

internal/genselect/generationmax_test.go

Loading diff…

internal/genselect/select.go

Loading diff…

internal/host/agent.go

Loading diff…

internal/host/claimfiles.go

Loading diff…

internal/host/claimfiles_test.go

Loading diff…

internal/host/claimlaunch_production.go

Loading diff…

internal/host/claimlaunch_transport_test.go

Loading diff…

internal/host/claimmoveparks.go

Loading diff…

internal/host/claimmoveparks_test.go

Loading diff…

internal/host/claimproduction.go

Loading diff…

internal/host/claimstop_run.go

Loading diff…

internal/host/movescut_test.go

Loading diff…

internal/host/movescutguard_test.go

Loading diff…

internal/host/movesevidence.go

Loading diff…

internal/host/movesevidence_test.go

Loading diff…

internal/host/movesfiles.go

Loading diff…

internal/host/movesfiles_test.go

Loading diff…

internal/host/movesfileslive_test.go

Loading diff…

internal/host/movesfinal.go

Loading diff…

internal/host/movesfinal_test.go

Loading diff…

internal/host/movesheldclaim_test.go

Loading diff…

internal/host/movesheldrelease.go

Loading diff…

internal/host/movesheldrelease_agent_test.go

Loading diff…

internal/host/movesheldrelease_linux.go

Loading diff…

internal/host/movesheldrelease_linux_test.go

Loading diff…

internal/host/movesheldrelease_other.go

Loading diff…

internal/host/movesheldrelease_production.go

Loading diff…

internal/host/movesheldrelease_production_test.go

Loading diff…

internal/host/movesheldrelease_root.go

Loading diff…

internal/host/movesheldrelease_test.go

Loading diff…

internal/host/movesinstall.go

Loading diff…

internal/host/movesinstall_test.go

Loading diff…

internal/host/movesland.go

Loading diff…

internal/host/movesland_test.go

Loading diff…

internal/host/moveslandcommit.go

Loading diff…

internal/host/moveslandpark.go

Loading diff…

internal/host/movesloss.go

Loading diff…

internal/host/movesloss_test.go

Loading diff…

internal/host/movesparkfakes_test.go

Loading diff…

internal/host/movesparks.go

Loading diff…

internal/host/movespass.go

Loading diff…

internal/host/movespass_lost_test.go

Loading diff…

internal/host/movesphase1_harness_test.go

Loading diff…

internal/host/movespolicy.go

Loading diff…

internal/host/movespolicy_test.go

Loading diff…

internal/host/movesprobeattempts.go

Loading diff…

internal/host/movesprobeowners.go

Loading diff…

internal/host/movesprobeowners_fix1_test.go

Loading diff…

internal/host/movesprobeowners_test.go

Loading diff…

internal/host/movesrecover.go

Loading diff…

internal/host/movesrecover_test.go

Loading diff…

internal/host/movesrecoveryowners.go

Loading diff…

internal/host/movesrecoveryowners_test.go

Loading diff…

internal/host/movesrecoveryprobe.go

Loading diff…

internal/host/movesrefusals.go

Loading diff…

internal/host/movesrefusals_test.go

Loading diff…

internal/host/movesreport.go

Loading diff…

internal/host/movesrevert.go

Loading diff…

internal/host/movesrevert_test.go

Loading diff…

internal/host/movesrollback.go

Loading diff…

internal/host/movesrollback_finalfix_test.go

Loading diff…

internal/host/movesrollback_test.go

Loading diff…

internal/host/movessources.go

Loading diff…

internal/host/movessources_test.go

Loading diff…

internal/host/movesstage.go

Loading diff…

internal/host/moveswakesource.go

Loading diff…

internal/host/moveswakesource_linux_test.go

Loading diff…

internal/host/moveswakesource_test.go

Loading diff…

internal/host/plan10_j2_adapter_test.go

Loading diff…

internal/host/plan13_views_test.go

Loading diff…

internal/hostbox/lossrestorepoint_test.go

Loading diff…

internal/hostbox/plan12_fence_loss_test.go

Loading diff…

internal/hostbox/plan12_loss_test.go

Loading diff…

internal/hostbox/writer_loss.go

Loading diff…

internal/hostfiles/manifest.go

Loading diff…

internal/hostfiles/manifestcheck.go

Loading diff…

internal/hostfiles/platform.go

Loading diff…

internal/hostfiles/prepared.go

Loading diff…

internal/hostfiles/prepared_test.go

Loading diff…

internal/hostfiles/publisher.go

Loading diff…

internal/hostfiles/wake.go

Loading diff…

internal/hostops/move_fence_release.go

Loading diff…

internal/hostops/plan12_fence_home_test.go

Loading diff…

internal/hostops/plan12_fence_test.go

Loading diff…

internal/hostops/plan13_fence_test.go

Loading diff…

internal/instancectl/claim.go

Loading diff…

internal/instancectl/claimunit_test.go

Loading diff…

internal/instancectl/server.go

Loading diff…

internal/moves/journal.go

Loading diff…

internal/provision/plan9_b8_census_test.go

Loading diff…

internal/provision/provision.go

Loading diff…

internal/release/materializeheld.go

Loading diff…

internal/release/materializeheld_claim_test.go

Loading diff…