carlos / platform Public

settings-2: reconcile with main (record-write census)

Main's feat/hostclaim-activation added the Plan 9 B8 record-write census
(internal/provision/plan9_b8_census_test.go), which pins every unit that
names Put or a *RecordKey constructor. The branch's promotion records
match the census by name (PromotionRecordKey) though they are signed
release objects, not provisioning records, and four reviewed units
changed under the branch.

Reviewed each and recorded it:
- new: PromotionRecordKey, ReadPromotionRecord and claimRawDeleteVersion
  as key-site; Signer.WritePromotionRecord as foreign-recordkey (the
  relay/loss-record precedent); classifyPromotionRecord as reference
  (the classifyPointerDigestMarker precedent).
- re-digested: registerCLIRoutes (two authorize routes), ClassifyMutation
  (the promotion-record case), claimRawPromote (the new head's record
  through WritePromotionRecord; the pointer Put unchanged), main (the
  authorize dispatch). Classes and kinds unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev 6a7d58e9dcaa54355ac58893bd719233d3e0d3ee parent fee327b
1 file changed, +17 −5
  • internal/provision/plan9_b8_census_test.go +17 −5
diff --git a/internal/provision/plan9_b8_census_test.go b/internal/provision/plan9_b8_census_test.go
index 26d0fe6c8..5920578c8 100644
--- a/internal/provision/plan9_b8_census_test.go
+++ b/internal/provision/plan9_b8_census_test.go
@@ -523,6 +523,9 @@ var plan9B8CensusInventory = []censusEntry{
{"internal/host/movesrollback.go", "rollbackRun.stuck", "record-writer", "key:SetRecordMove", "84fcea399a55d77ceee17e35652ef269e5811453ffff62dff43208b68538b1ed"},
// Validates the pointer-digest marker key and Put/Delete method names without writing.
{"internal/hostops/mutation_classifier.go", "classifyPointerDigestMarker", "reference", "str:Put", "08111b5db5d98e788d1eef5861ad9c861cf926c5e1d5d54717fd650d2dcf9fa8"},
+ // Validates the promotion-record key (releases/<acct>/<app>/promoted/<version>, a release object, not a
+ // provisioning record) and Put/Delete method names without writing.
+ {"internal/hostops/mutation_classifier.go", "classifyPromotionRecord", "reference", "key:PromotionRecordKey,str:Put", "211775ccd2f2924f1ca7bb4f0c5cd1711d096c2065f111362130847d8e6daa0a"},
// Renders systemd paths under /data/instances and /run/carlos/instances; performs no store write.
{"internal/instancectl/gen.go", "GenDropIn", "key-site", "lit:instances", "f25956c74df80e9a89026ae5a6cf59b1d78ec227ee6cd6ece53bc79d14cc8746"},
// Lists reserved local layout basenames, including instances; contains no writer.
@@ -532,7 +535,7 @@ var plan9B8CensusInventory = []censusEntry{
// Re-signs only the validated channel pointer; the digest-marker helper only reads.
{"internal/release/resign.go", "Signer.claimRawResign", "nonrecord", "sel:Put", "30b9a49890bde1ef0f26886c3dd3eb385de4502bc191e1e9a96cd1b75d4cc8e5"},
// Dispatches CLI verb names including instances and sidecars; record writes remain in reviewed handlers.
- {"main.go", "main", "key-site", "lit:instances,lit:sidecars", "b6acc4946774345817c1b6b23dfc6afb8f8a0f153705d868b788746412b88e6c"},
+ {"main.go", "main", "key-site", "lit:instances,lit:sidecars", "73ff8f69f13e3f140f9782132173f09f12b434d6e0bd34b0bc11d34baa4e13ed"},
{"schedule.go", "renderScheduleList", "key-site", "lit:instances", "af6d666083fbbc753eecc98809d3d307344cc15110362a7e93afab573749ea6e"},
{"internal/activator/layout.go", "LayoutInputs.sockets", "key-site", "lit:instances", "1d11ac5ac5be6a42e676e064771141fe8f4367c78cbb7e5c5cca072f40c27c42"},
{"internal/activator/paths.go", "ExecBackend.pathsFor", "key-site", "lit:instances", "cbc01865e27934cb38baab9329a0867b899149531b4706a533a6956afc7c71b3"},
@@ -563,7 +566,7 @@ var plan9B8CensusInventory = []censusEntry{
{"internal/console/apisystemupdate.go", "Server.mirrorSystemArtifact", "nonrecord", "sel:Put", "76a8dcb558e3723ad5774788da37c22234c229dc3257ded5a6c7b04746c69c2f"},
{"internal/console/appsettings.go", "Server.handleAppGate", "record-writer", "key:UpdateRecord", "011431f5459529c0abf354edc2cb772cb6a7f2816d3bb50d91598d7d241838ce"},
// Registers instance and sidecar HTTP paths; record handlers use the reviewed provision writers.
- {"internal/console/authcli.go", "Server.registerCLIRoutes", "key-site", "lit:instances,lit:sidecars", "933a4200e75137c5093528da57cf4b3842fb251ce5cb5ac35fe8224fdde579eb"},
+ {"internal/console/authcli.go", "Server.registerCLIRoutes", "key-site", "lit:instances,lit:sidecars", "1b93d0d7d358aeec836f88b9f6ee4920fee76a8dad52d347c47affe51557a4dc"},
{"internal/console/browserrestart.go", "Server.handleBrowserRestart", "key-site", "lit:instances", "955d71813504f2cfec1e1f64817d5aa5a921aa38e1044c0e903d2cfbe4d073f4"},
{"internal/console/channelmove.go", "Server.handleAPIInstanceChannel", "record-writer", "key:UpdateRecord", "91a2b3157bde9af832e8d95b17d0c384910229982945818f8b52f62dafddb342"},
{"internal/console/channelmove.go", "Server.executePendingRouteChannel", "record-writer", "key:UpdateRecord", "b3b9a12213261a70b680ad5290957ebe7434eff633a73c2d80c75cc24d026d9a"},
@@ -695,7 +698,7 @@ var plan9B8CensusInventory = []censusEntry{
{"internal/hostops/mutation_boundary_putfrom.go", "conditionalRecordStore.PutFrom", "record-transport", "def:PutFrom,sel:Put,sel:PutObjectFrom", "3c3cb33a601eab5c4d74042a7ca8baf411c0549508b5a8273ef88f4ee0e9636c"},
{"internal/hostops/mutation_classifier.go", "lifecycleFamily", "reference", "str:Put", "75df2a3966d0bfe4b4b367617de3ebe28055a38ef4738f352859ba94ddbff241"},
// Classifies mutation keys and method names without executing a store write.
- {"internal/hostops/mutation_classifier.go", "ClassifyMutation", "reference", "str:Put", "35980690cecc96a442f240db62ab0dad04673ccbe0bea228a0ffdd27a9d15f98"},
+ {"internal/hostops/mutation_classifier.go", "ClassifyMutation", "reference", "str:Put", "2d22e1d4a99a69ebff6f033a667f59c778855a66828ee5c7646a6b1d18573b65"},
{"internal/hostops/mutation_classifier.go", "ownerUnion", "reference", "str:Put", "0c35233653dfe9ca6cc78bc54bac2c6991f82c9a7c2fd27c228c125f099f489b"},
{"internal/hostops/mutation_classifier.go", "classifyRelayAuthority", "reference", "str:Put", "2887dce5f9f73b637c3a66308fe315f3ee20369263aa462b644d85048cdffc08"},
{"internal/hostops/mutation_classifier.go", "classifyRelayIssuer", "reference", "str:Put", "106e4975e12208e561ac4a021a24db9390ac0ad6e40e76d68886be3275335cc1"},
@@ -833,8 +836,17 @@ var plan9B8CensusInventory = []censusEntry{
{"internal/release/production.go", "claimRawSetProduction", "nonrecord", "sel:Put", "0dd1875a9fcf58da306e8f1a009291b370650b6deeb5fda92afa89f979866ec2"},
{"internal/release/proof.go", "PutProofPending", "nonrecord", "sel:Put", "cea0ebb0d4f6a3ec44df9aec22c9f27eb4440786d5135b6d942059208768016f"},
{"internal/release/release.go", "putImmutable", "nonrecord", "sel:Put", "c1fb19059ffc1a2b5f5c5031b987b86b6a5e7e63a925a3e28e260eb758f60d0e"},
- // Writes a signed channels/<channel>.json pointer under the validated account and app.
- {"internal/release/release.go", "Signer.claimRawPromote", "nonrecord", "sel:Put", "e7ac1afb3e931747f052d81bdca6057969ee9ec64b8381aa9a7d46f2b57caae4"},
+ // Promotion records are signed release objects at releases/<acct>/<app>/promoted/<version>; the name ends
+ // in RecordKey, but no provisioning record (apps/<acct>/<app>/instances|sidecars) is built or written.
+ {"internal/release/promotion.go", "PromotionRecordKey", "key-site", "key:PromotionRecordKey", "7dc4ab60059c02b0eaa1d2200e8b97de3c0f945c851e21ac64e372b82eb2eb8e"},
+ {"internal/release/promotion.go", "ReadPromotionRecord", "key-site", "key:PromotionRecordKey", "bcaaef3f8253b1cfe0f0ca4580977f9def67f463ef6d16c05cc54736cf59a6b0"},
+ // Puts the signed promotion record (release key grammar, hostops family promotion-record); not a provisioning record.
+ {"internal/release/promotion.go", "Signer.WritePromotionRecord", "foreign-recordkey", "key:PromotionRecordKey,sel:Put", "ac2d87745d7e8a40e56342dafe8b5b49eeb31c37ed72d8f91b737c3ef77038ff"},
+ // Deletes the pruned version's promotion record; no Put and no provisioning record.
+ {"internal/release/prune.go", "claimRawDeleteVersion", "key-site", "key:PromotionRecordKey", "8781c30f067735b81431df34beddd16f0a7af44776fe01a876a8944af8dbbfb2"},
+ // Writes a signed channels/<channel>.json pointer under the validated account and app; a new head's
+ // promotion record (releases/<acct>/<app>/promoted/<version>) goes through Signer.WritePromotionRecord.
+ {"internal/release/release.go", "Signer.claimRawPromote", "nonrecord", "sel:Put", "c08a9c111ba6a632ff3b598bf1f7b32c970cbd7fbc5648edeadc498625e5c68a"},
// Writes a signed channels/<channel>.json rollback pointer under the validated account and app.
{"internal/release/release.go", "Signer.claimRawRollbackAuthorized", "nonrecord", "sel:Put", "592ab8576c9a81bc2963d8debc4c184903aabf0a7700e3a123090b91fd4359b1"},
// Writes a signed channels/<channel>.json fast-track pointer under the validated account and app.