carlos / platform Public

settings-4: classify this branch's sites for the record-write census and the moves copy scan

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev 7bacb9cf1fee43be5c8affa3331fe72f50be5b35 parent e69c90b
2 files changed, +18 −3
  • approved_moves_copy_test.go +1 −0
  • internal/provision/plan9_b8_census_test.go +17 −3
diff --git a/approved_moves_copy_test.go b/approved_moves_copy_test.go
index eef047380..25c9d0da8 100644
--- a/approved_moves_copy_test.go
+++ b/approved_moves_copy_test.go
@@ -1193,6 +1193,7 @@ var movesScanFiles = []string{
"internal/edge/edge.go",
"internal/genselect/select.go",
"internal/host/agent.go",
+ "internal/host/buildstate.go",
"internal/host/edgesfile.go",
"internal/host/heldstage.go",
"internal/host/movesfloor.go",
diff --git a/internal/provision/plan9_b8_census_test.go b/internal/provision/plan9_b8_census_test.go
index 91cdd9cd5..1e6f122b0 100644
--- a/internal/provision/plan9_b8_census_test.go
+++ b/internal/provision/plan9_b8_census_test.go
@@ -546,6 +546,14 @@ var plan9B8CensusInventory = []censusEntry{
{"internal/host/movesinstall.go", "installRun.transition", "record-writer", "key:SetRecordMove", "1c6d390393de6065acc6d11409a493ac2fc49299b1f18f08c329a8af68f88c20"},
// The refusal callback marks the return stuck through SetRecordMove; other callbacks only read or mutate memory.
{"internal/host/movesinstall.go", "recoveryInstallSource", "record-writer", "key:SetRecordMove", "2b5c592c20612eb5edb58856d05755244ea25bec6aa65632c6644c274a69474e"},
+ // Copies the sealed lane's build-state.json (moves.BuildStateSuffix) to
+ // <holder location>/build-state.json in this box's own data bucket, or deletes a leftover there; no record key.
+ {"internal/host/movesinstall.go", "installRun.placeBuildState", "nonrecord", "sel:CopyVersion", "e50eb9a2fa51ac01e7665aa53ab7527ebabc1e1231907be1e22f84eaaae13b72"},
+ // Puts only release.BuildStateKey(prefix), <lease prefix>/build-state.json in the
+ // hibernate or claim data bucket, CAS on the etag it read; no record key.
+ {"internal/host/buildstate.go", "buildStates.write", "nonrecord", "sel:Put", "9d1fb38d5a3e0b324f8085d8b40249a204259243f3ab36bbd694bb552ffaec6f"},
+ // Lists RecordsPrefix and reads each record with provision.GetRecord for retention; writes nothing.
+ {"internal/host/retention.go", "appRecords", "key-site", "key:RecordsPrefix", "b5410327666747c08e7ffda28b4462cd54290c0327e78333fb45f590d7a2f34a"},
// Commits the landing through SetRecordMove (MoveCommit), its refusal the rollback mark.
{"internal/host/moveslandcommit.go", "landingRun.probed", "record-writer", "key:SetRecordMove", "d914debf1ba5d011767fc06cb430c09e39a469dfb182f5996fa3bda806499952"},
// Stamps opened_at through SetRecordMove (MoveOpened) inside the hold lock, after the proved release.
@@ -703,9 +711,13 @@ var plan9B8CensusInventory = []censusEntry{
{"internal/host/moveslandpark.go", "leasedStore.CopyVersion", "versioned-transport", "def:CopyVersion,sel:CopyVersion", "a8b33c9f61f59477b76fa50472250622c717ab2883f32837c601da5eeb497e9d"},
{"internal/host/moveslandpark.go", "leasedStore.PutIfAbsent", "versioned-transport", "def:PutIfAbsent,sel:PutIfAbsent", "33542589bf2a336b181f685bd0dc5faa0285449e5ca9e850e9f4e0e7e4164c6b"},
{"internal/host/movesmeasure.go", "measureS3", "nonrecord", "sel:Put", "3ae9fc093b453e19a5b19be0929533b30a0e2a3e998ba8dc766f41287db2caca"},
- {"internal/host/movespass.go", "legacyMoveRound", "record-writer", "key:SetRecordMove", "1e13a3ea099d45318d3b64b067448c87dc4a136cd909348f526e4583ac00150a"},
+ // settings-4: added step 3b, cfg.CarryRequest into build-state.json at the
+ // hibernate prefix in OwnBucket (buildStates.write); record writes are still SetRecordMove only.
+ {"internal/host/movespass.go", "legacyMoveRound", "record-writer", "key:SetRecordMove", "ea9e188a104cfd4a69193e8be67b8c64ebb82478a69580104f8e46d8cf1f9663"},
{"internal/host/movesphase1.go", "writeMoveLedger", "nonrecord", "sel:Put", "597a70ac06ceb4e9eb52bb9f61b28a4937e703fa4a0916f64bd95d9594f0556e"},
- {"internal/host/movesphase1.go", "movesWorker.sourceRound", "nonrecord", "sel:PutIfAbsentVersioned", "c5bc2e6cb57b819ae1da485d37093c9a9ed3cdc9e9e16e8a8e312fd5ad2e2fe3"},
+ // settings-4: added the build-state lane (mirrorBuildState: holder location's
+ // build-state.json to the move lane's state/ prefix in the data bucket); no record key.
+ {"internal/host/movesphase1.go", "movesWorker.sourceRound", "nonrecord", "sel:PutIfAbsentVersioned", "21e70f40dcdea780f7aea938114b5b4aed9f36b4c50cda26447eb392cfc44ec6"},
{"internal/host/movesphase1.go", "movesWorker.refreshCrossRate", "nonrecord", "sel:CopyVersioned", "7e03e680bd61be26dddcf168cacd2427bb535571dfd326c4a3130ebe65ea1968"},
{"internal/host/movesphase1.go", "movesWorker.writeSourceReport", "nonrecord", "sel:PutReplace", "370407cca2c1b91f6e5e7f135238f04c0dce9d7986e6e1ee9bebbf88cad0b9e0"},
{"internal/host/movesphase1.go", "movesWorker.decideReady", "record-writer", "key:SetRecordMove", "d29c22eafacfb894b96cd0c40ec447b6ab02f46ea087201685627861f992085d"},
@@ -848,7 +860,9 @@ var plan9B8CensusInventory = []censusEntry{
{"internal/ops/litestream.go", "FleetDBsWithSkipped", "key-site", "lit:instances", "f62291df0685db15529c4946dca358a29aba66fc31e81aab299de579e37f60f1"},
{"internal/park/remote.go", "locationOf", "key-site", "lit:instances", "83b3efca31b3faadcd5997dc181d81b7bb8fc866cc4a448683bf8423b1bea866"},
{"internal/park/remote.go", "Engine.run", "versioned-transport", "sel:CopyVersion,sel:PutIfAbsent", "3de5b215e4b7aba67768243891b3f6d8ff8c77a465aefe5168c789cb012b1ea9"},
- {"internal/park/sweep.go", "Decide", "key-site", "lit:instances", "d03c3af1430816d3f9517a3944e553291805f97a317e54b96a02b9fbfbb5efb5"},
+ // settings-4: Decide also passes over the holder location's build-state.json
+ // (isBuildState); a pure decision, no write.
+ {"internal/park/sweep.go", "Decide", "key-site", "lit:instances", "df7ac4d374c672f3652dfb4802ac081a6c0ff08efeded99dca2b13e8ade6b67c"},
{"internal/park/sweep.go", "Engine.Discover", "key-site", "lit:instances", "69b83e6e859c1c9809ba76d46cb0192888df1ecdcd161b4f2b6435733eecdfa3"},
{"internal/provision/claim_app_writes.go", "UpdateRecord", "record-writer", "key:UpdateRecord,key:claimRawUpdateRecord", "caf714cb78e1280d489c7ad5b3cefb1420e812d541108b1fe13d733abed97229"},
{"internal/provision/provision.go", "ManifestKey", "key-site", "lit:instances", "b8ee0e77bdfade19af79a4012c411c1eb0b6ddca16037e5536fa8597f7cde270"},