carlos / platform Public

s3-polling-336

Squashed from s3-polling-336 into main.
claude agent, operated by paul@keymail.dev 26fbd042e938e2d22a9068d31890f468515d24a4 parent 13e2f75
75 files changed, +12947 −450
  • .amadan/ci.d/30-minio-contract +30 −0
  • README.md +11 −0
  • cli.go +9 −5
  • cmd/console/changeindex_test.go +67 −0
  • cmd/console/deploydir_opener_test.go +27 −0
  • cmd/console/main.go +57 −2
  • deploydir_opener_test.go +27 −0
  • docs/superpowers/plans/2026-10-21-s3-change-index.md +523 −0
  • docs/superpowers/specs/2026-10-21-s3-change-index-design.md +522 −0
  • docs/superpowers/specs/CODEX-FINDINGS-S3-CHANGE-INDEX-CODE-R1.md +42 −0
  • docs/superpowers/specs/CODEX-FINDINGS-S3-CHANGE-INDEX-CODE-R2.md +25 −0
  • docs/superpowers/specs/CODEX-FINDINGS-S3-CHANGE-INDEX-R1.md +23 −0
  • docs/superpowers/specs/CODEX-FINDINGS-S3-CHANGE-INDEX-R2.md +17 −0
  • docs/superpowers/specs/CODEX-FIX-REPORT-S3-CHANGE-INDEX-CODE-R1.md +310 −0
  • docs/superpowers/specs/CODEX-REVIEW-BRIEF-S3-CHANGE-INDEX-CODE.md +62 −0
  • docs/superpowers/specs/CODEX-REVIEW-BRIEF-S3-CHANGE-INDEX.md +75 −0
  • internal/appconfig/syncexec.go +22 −1
  • internal/appconfig/syncexec_test.go +89 −0
  • internal/console/claim_authority_census_test.go +1 −1
  • internal/console/claim_invariant_test.go +1 −1
  • internal/console/recordview.go +70 −0
  • internal/console/runsweep.go +45 −2
  • internal/console/runsweep_test.go +194 −0
  • internal/console/seedsweep.go +18 −6
  • internal/console/seedsweep_test.go +64 −0
  • internal/console/server.go +13 −0
  • internal/console/store.go +27 −0
  • internal/console/store_test.go +43 −0
  • internal/console/testdata/claim-authority-sites.txt +1 −1
  • internal/edge/certsync.go +262 −43
  • internal/edge/certsync_test.go +502 −0
  • internal/edge/edge.go +21 −2
  • internal/edge/homemap.go +93 −3
  • internal/edge/homemap_test.go +176 −0
  • internal/host/activation_command_linux.go +4 −4
  • internal/host/agent.go +272 −65
  • internal/host/boxpublish_test.go +38 −0
  • internal/host/buildstate.go +19 −8
  • internal/host/changeindex.go +331 −0
  • internal/host/changeindex_test.go +826 −0
  • internal/host/deploydir_opener_test.go +31 −0
  • internal/host/movespass.go +100 −0
  • internal/host/readgate_test.go +595 −0
  • internal/host/steering_loop.go +4 −1
  • internal/host/telemetry_pass.go +143 −2
  • internal/hostops/mutation_boundary.go +15 −0
  • internal/hostops/mutation_boundary_test.go +68 −0
  • internal/hostops/record_writes.go +15 −0
  • internal/ops/deploydir_test.go +30 −0
  • internal/ops/ops.go +4 −2
  • internal/provision/plan14_root_reads_test.go +21 −0
  • internal/provision/plan9_b8_census_test.go +1 −1
  • internal/provision/reconcile.go +194 −139
  • internal/provision/recordview.go +609 −0
  • internal/provision/recordview_sim_test.go +1390 −0
  • internal/provision/recordview_store.go +535 −0
  • internal/provision/recordview_test.go +1352 −0
  • internal/provision/s3_change_index_census_test.go +81 −0
  • internal/provision/sidecar_reconcile.go +199 −148
  • internal/provision/testdata/plan14-root-reads-s3-change-index.tsv +87 −0
  • internal/release/adopt.go +69 −0
  • internal/release/adopt_test.go +62 −0
  • internal/release/changeindex.go +184 −0
  • internal/release/changeindex_store_test.go +245 −0
  • internal/release/changeindex_test.go +185 −0
  • internal/release/changewatch.go +238 −0
  • internal/release/changewatch_test.go +551 −0
  • internal/release/conditional_delete.go +17 −1
  • internal/release/openers_test.go +303 −0
  • internal/release/readext_test.go +178 −0
  • internal/release/s3_minio_test.go +168 −0
  • internal/release/store.go +271 −5
  • internal/telemetry/telemetry.go +12 −5
  • internal/vet/deploydir_test.go +27 −0
  • internal/vet/vet.go +4 −2

CI failed — run details

CI log
=== gate ===
.amadan/test-gate.sh
=== launchctx (0 s)
ok  	amadan.net/carlos/platform.git/launchctx	0.014s
?   	amadan.net/carlos/platform.git/launchctx/controlname	[no test files]
?   	amadan.net/carlos/platform.git/launchctx/wireid	[no test files]
=== vet (18 s)
=== gofmt (0 s)
gofmt -l .: clean
=== rest (173 s)
?   	github.com/carlosframework/platform/cmd/changelog	[no test files]
ok  	github.com/carlosframework/platform/cmd/console	3.653s
ok  	github.com/carlosframework/platform/cmd/moveprobe	11.971s
ok  	github.com/carlosframework/platform/cmd/zddprobe	0.809s
ok  	github.com/carlosframework/platform/internal/activator	59.478s
ok  	github.com/carlosframework/platform/internal/agentsock	0.049s
ok  	github.com/carlosframework/platform/internal/alerting	0.008s
ok  	github.com/carlosframework/platform/internal/analytics	0.088s
ok  	github.com/carlosframework/platform/internal/appconfig	3.151s
ok  	github.com/carlosframework/platform/internal/apperr	0.139s
ok  	github.com/carlosframework/platform/internal/applog	0.250s
ok  	github.com/carlosframework/platform/internal/awsinv	0.008s
ok  	github.com/carlosframework/platform/internal/boxchoice	0.012s
ok  	github.com/carlosframework/platform/internal/boxid	1.022s
?   	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.016s
ok  	github.com/carlosframework/platform/internal/caps	0.021s
ok  	github.com/carlosframework/platform/internal/certwarm	0.010s
ok  	github.com/carlosframework/platform/internal/cgroup	0.849s
ok  	github.com/carlosframework/platform/internal/changelog	0.521s
ok  	github.com/carlosframework/platform/internal/claimactivation	1.412s
ok  	github.com/carlosframework/platform/internal/clamd	0.069s
?   	github.com/carlosframework/platform/internal/cliflag	[no test files]
?   	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	8.520s
ok  	github.com/carlosframework/platform/internal/dbdoor/dbdoortest	0.020s
ok  	github.com/carlosframework/platform/internal/dbquery	0.015s
ok  	github.com/carlosframework/platform/internal/dbreads	2.132s
?   	github.com/carlosframework/platform/internal/dbreads/dbreadstest	[no test files]
ok  	github.com/carlosframework/platform/internal/dbverify	0.014s
ok  	github.com/carlosframework/platform/internal/dnsrec	0.015s
ok  	github.com/carlosframework/platform/internal/docsite	0.041s
ok  	github.com/carlosframework/platform/internal/domains	2.745s
ok  	github.com/carlosframework/platform/internal/doorkey	0.016s
ok  	github.com/carlosframework/platform/internal/economics	0.009s
ok  	github.com/carlosframework/platform/internal/edge	45.989s
?   	github.com/carlosframework/platform/internal/edgeproof	[no test files]
ok  	github.com/carlosframework/platform/internal/edgesfile	0.008s
ok  	github.com/carlosframework/platform/internal/fleetapi	0.134s
ok  	github.com/carlosframework/platform/internal/gate	1.654s
ok  	github.com/carlosframework/platform/internal/genselect	0.015s
ok  	github.com/carlosframework/platform/internal/geo	0.020s
ok  	github.com/carlosframework/platform/internal/geoip	0.031s
ok  	github.com/carlosframework/platform/internal/historyreadback	0.167s
ok  	github.com/carlosframework/platform/internal/host	143.859s
ok  	github.com/carlosframework/platform/internal/hostactors	6.367s
ok  	github.com/carlosframework/platform/internal/hostactors/awsmembership	0.005s
ok  	github.com/carlosframework/platform/internal/hostbox	3.096s
ok  	github.com/carlosframework/platform/internal/hostclaim	0.780s
ok  	github.com/carlosframework/platform/internal/hostenv	0.004s
ok  	github.com/carlosframework/platform/internal/hostevidence	0.005s
ok  	github.com/carlosframework/platform/internal/hostexec	5.285s
ok  	github.com/carlosframework/platform/internal/hostfence	0.034s
ok  	github.com/carlosframework/platform/internal/hostfiles	10.375s
ok  	github.com/carlosframework/platform/internal/hostfloor	0.018s
ok  	github.com/carlosframework/platform/internal/hostguard	1.041s
ok  	github.com/carlosframework/platform/internal/hostops	1.938s
?   	github.com/carlosframework/platform/internal/hostops/fencerelease	[no test files]
ok  	github.com/carlosframework/platform/internal/hostops/internal/fencerelease	0.002s
ok  	github.com/carlosframework/platform/internal/hostquarantine	0.002s
ok  	github.com/carlosframework/platform/internal/hostrelocate	0.640s
ok  	github.com/carlosframework/platform/internal/hostresolve	0.208s
ok  	github.com/carlosframework/platform/internal/hostwrite	0.002s
ok  	github.com/carlosframework/platform/internal/infraview	0.003s
ok  	github.com/carlosframework/platform/internal/instancectl	5.241s
ok  	github.com/carlosframework/platform/internal/instanceexec	2.785s
ok  	github.com/carlosframework/platform/internal/instancefs	0.018s
ok  	github.com/carlosframework/platform/internal/instancekey	0.014s
ok  	github.com/carlosframework/platform/internal/instanceupdates	0.008s
ok  	github.com/carlosframework/platform/internal/layout	1.723s
ok  	github.com/carlosframework/platform/internal/lbhealth	0.014s
ok  	github.com/carlosframework/platform/internal/lease	10.166s
ok  	github.com/carlosframework/platform/internal/lease/leasetest	0.521s
ok  	github.com/carlosframework/platform/internal/ledger	0.037s
ok  	github.com/carlosframework/platform/internal/mail	0.259s
ok  	github.com/carlosframework/platform/internal/maintenance	0.086s
ok  	github.com/carlosframework/platform/internal/maintenanceexec	5.559s
ok  	github.com/carlosframework/platform/internal/maintenanceguard	0.122s
ok  	github.com/carlosframework/platform/internal/metrics	0.011s
ok  	github.com/carlosframework/platform/internal/moves	22.287s
ok  	github.com/carlosframework/platform/internal/moves/archive	1.007s
ok  	github.com/carlosframework/platform/internal/objstore	0.318s
ok  	github.com/carlosframework/platform/internal/ops	0.284s
ok  	github.com/carlosframework/platform/internal/park	0.290s
ok  	github.com/carlosframework/platform/internal/plans	0.014s
ok  	github.com/carlosframework/platform/internal/privatefile	0.004s
ok  	github.com/carlosframework/platform/internal/provision	23.907s
ok  	github.com/carlosframework/platform/internal/publicrelease	0.010s
?   	github.com/carlosframework/platform/internal/regionname	[no test files]
ok  	github.com/carlosframework/platform/internal/registry	5.622s
ok  	github.com/carlosframework/platform/internal/relay	7.227s
ok  	github.com/carlosframework/platform/internal/release	26.328s
--- FAIL: TestAMoveOntoTheInstalledGoodBuildWaitsForASignedRollback (5.03s)
    --- FAIL: TestAMoveOntoTheInstalledGoodBuildWaitsForASignedRollback/worker (5.02s)
        holdran_test.go:796: timed out waiting for the move onto v1
FAIL
FAIL	github.com/carlosframework/platform/internal/rollout	8.657s
ok  	github.com/carlosframework/platform/internal/rolloutwords	0.008s
ok  	github.com/carlosframework/platform/internal/rootaws	0.007s
ok  	github.com/carlosframework/platform/internal/rootparticipation	0.059s
ok  	github.com/carlosframework/platform/internal/rootstate	0.029s
ok  	github.com/carlosframework/platform/internal/runs	0.589s
ok  	github.com/carlosframework/platform/internal/s3compat	0.007s
ok  	github.com/carlosframework/platform/internal/safefile	0.004s
ok  	github.com/carlosframework/platform/internal/schedule	2.700s
ok  	github.com/carlosframework/platform/internal/seeds	0.010s
ok  	github.com/carlosframework/platform/internal/sim/engines	2.529s
ok  	github.com/carlosframework/platform/internal/sim/hostlife	10.642s
ok  	github.com/carlosframework/platform/internal/sim/litestreamfacts	3.643s
ok  	github.com/carlosframework/platform/internal/status	0.074s
ok  	github.com/carlosframework/platform/internal/steering	0.006s
ok  	github.com/carlosframework/platform/internal/stopevidence	0.303s
ok  	github.com/carlosframework/platform/internal/svcrole	0.003s
ok  	github.com/carlosframework/platform/internal/telemetry	0.006s
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.004s
ok  	github.com/carlosframework/platform/internal/updatewords	0.005s
ok  	github.com/carlosframework/platform/internal/usage	0.005s
ok  	github.com/carlosframework/platform/internal/version	0.002s
ok  	github.com/carlosframework/platform/internal/vet	1.680s
FAIL
=== internal_console@0 (87 s)
ok  	github.com/carlosframework/platform/internal/console	85.682s
=== internal_console@1 (38 s)
ok  	github.com/carlosframework/platform/internal/console	36.802s
=== internal_console@2 (37 s)
ok  	github.com/carlosframework/platform/internal/console	35.521s
=== internal_console@3 (36 s)
ok  	github.com/carlosframework/platform/internal/console	34.700s
=== internal_console@4 (39 s)
ok  	github.com/carlosframework/platform/internal/console	38.013s
=== internal_console@5 (42 s)
ok  	github.com/carlosframework/platform/internal/console	40.246s
=== internal_console@6 (40 s)
ok  	github.com/carlosframework/platform/internal/console	38.291s
=== internal_console@7 (44 s)
ok  	github.com/carlosframework/platform/internal/console	42.872s
=== root@0 (35 s)
ok  	github.com/carlosframework/platform	33.646s
=== root@1 (44 s)
ok  	github.com/carlosframework/platform	43.046s
=== root@2 (44 s)
ok  	github.com/carlosframework/platform	42.711s

FAILED: rest
make: *** [Makefile:19: 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
.amadan/ci.d/30-minio-contract

Loading diff…

README.md

Loading diff…

cli.go

Loading diff…

cmd/console/changeindex_test.go

Loading diff…

cmd/console/deploydir_opener_test.go

Loading diff…

cmd/console/main.go

Loading diff…

deploydir_opener_test.go

Loading diff…

docs/superpowers/plans/2026-10-21-s3-change-index.md

Loading diff…

docs/superpowers/specs/2026-10-21-s3-change-index-design.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-S3-CHANGE-INDEX-CODE-R1.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-S3-CHANGE-INDEX-CODE-R2.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-S3-CHANGE-INDEX-R1.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-S3-CHANGE-INDEX-R2.md

Loading diff…

docs/superpowers/specs/CODEX-FIX-REPORT-S3-CHANGE-INDEX-CODE-R1.md

Loading diff…

docs/superpowers/specs/CODEX-REVIEW-BRIEF-S3-CHANGE-INDEX-CODE.md

Loading diff…

docs/superpowers/specs/CODEX-REVIEW-BRIEF-S3-CHANGE-INDEX.md

Loading diff…

internal/appconfig/syncexec.go

Loading diff…

internal/appconfig/syncexec_test.go

Loading diff…

internal/console/claim_authority_census_test.go

Loading diff…

internal/console/claim_invariant_test.go

Loading diff…

internal/console/recordview.go

Loading diff…

internal/console/runsweep.go

Loading diff…

internal/console/runsweep_test.go

Loading diff…

internal/console/seedsweep.go

Loading diff…

internal/console/seedsweep_test.go

Loading diff…

internal/console/server.go

Loading diff…

internal/console/store.go

Loading diff…

internal/console/store_test.go

Loading diff…

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

Loading diff…

internal/edge/certsync.go

Loading diff…

internal/edge/certsync_test.go

Loading diff…

internal/edge/edge.go

Loading diff…

internal/edge/homemap.go

Loading diff…

internal/edge/homemap_test.go

Loading diff…

internal/host/activation_command_linux.go

Loading diff…

internal/host/agent.go

Loading diff…

internal/host/boxpublish_test.go

Loading diff…

internal/host/buildstate.go

Loading diff…

internal/host/changeindex.go

Loading diff…

internal/host/changeindex_test.go

Loading diff…

internal/host/deploydir_opener_test.go

Loading diff…

internal/host/movespass.go

Loading diff…

internal/host/readgate_test.go

Loading diff…

internal/host/steering_loop.go

Loading diff…

internal/host/telemetry_pass.go

Loading diff…

internal/hostops/mutation_boundary.go

Loading diff…

internal/hostops/mutation_boundary_test.go

Loading diff…

internal/hostops/record_writes.go

Loading diff…

internal/ops/deploydir_test.go

Loading diff…

internal/ops/ops.go

Loading diff…

internal/provision/plan14_root_reads_test.go

Loading diff…

internal/provision/plan9_b8_census_test.go

Loading diff…

internal/provision/reconcile.go

Loading diff…

internal/provision/recordview.go

Loading diff…

internal/provision/recordview_sim_test.go

Loading diff…

internal/provision/recordview_store.go

Loading diff…

internal/provision/recordview_test.go

Loading diff…

internal/provision/s3_change_index_census_test.go

Loading diff…

internal/provision/sidecar_reconcile.go

Loading diff…

internal/provision/testdata/plan14-root-reads-s3-change-index.tsv

Loading diff…

internal/release/adopt.go

Loading diff…

internal/release/adopt_test.go

Loading diff…

internal/release/changeindex.go

Loading diff…

internal/release/changeindex_store_test.go

Loading diff…

internal/release/changeindex_test.go

Loading diff…

internal/release/changewatch.go

Loading diff…

internal/release/changewatch_test.go

Loading diff…

internal/release/conditional_delete.go

Loading diff…

internal/release/openers_test.go

Loading diff…

internal/release/readext_test.go

Loading diff…

internal/release/s3_minio_test.go

Loading diff…

internal/release/store.go

Loading diff…

internal/telemetry/telemetry.go

Loading diff…

internal/vet/deploydir_test.go

Loading diff…

internal/vet/vet.go

Loading diff…