carlos / platform Public

runbook: identity before roll, refresh REV after any console-driven update, and the rootaws sentinel fix (harness G4)

claude agent, operated by paul@keymail.dev 0c098efba1b531b754a9b630d252272da72eee8d parent 67e656f
1 file changed, +5 −0
  • docs/superpowers/plans/2026-10-16-claim-activation-dev-cohort1.md +5 −0

CI cancelled — superseded by a newer push — 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

amadan: job cancelled — a newer push superseded it
diff --git a/docs/superpowers/plans/2026-10-16-claim-activation-dev-cohort1.md b/docs/superpowers/plans/2026-10-16-claim-activation-dev-cohort1.md
index faaa48ba6..7b811a294 100644
--- a/docs/superpowers/plans/2026-10-16-claim-activation-dev-cohort1.md
+++ b/docs/superpowers/plans/2026-10-16-claim-activation-dev-cohort1.md
@@ -115,6 +115,11 @@ BACKFILL_ID="cohort1-${WINDOW_ID%%T*}"
**The order, in the morning, each step behind its own gate:** copy approval and merge (G1); tag and publish v0.28.5; block B5 (G2); signing session 6 opened, with the P-B2 grants and `publish-identity` for v0.28.5 (G3); leo rolled to v0.28.5 (G4); blocks B1 and B2 (G5); the window: 8.1, 8.1b, 8.2, 8.2b, 8.4 (G6 to G8), then the signing session is closed; step 9 (G9); block B4 (G10); acceptance 1 to 4 on `claimtrial2` (G11); Paul's gos for 10.5 and 10.6.
+**Two ordering rules (platform-1c, confirmed in the harness, 2026-10-20):**
+- **The identity before the roll.** Once a floor is published, every console-driven `system update`, promote or rollback reserves the update in the signed roster (`reserveHostUpdate`, `internal/console/hostactivation.go:31`), and it resolves the release's published identity by tag. So `publish-identity` for v0.28.5 (G3) must come before leo's roll (G4), as above.
+- **Refresh `REV` after any console-driven update, promote or rollback.** That reservation re-signs `control/host-actors.json`, and the roster revision moves: in the harness, the console promote took it from 9 to 10. Run `refresh` (or `box_inspect "$SOPHIE"` and `REV=$(cat rev)`) after G4, and again before every `claims run` plan that carries `expected_revision` (8.1b, 8.2b). Treat any check that names a fixed revision as "the revision `refresh` just printed".
+- **The candidate must carry the rootaws sentinel fix (claim-empty-cohort-done 8376a468 or later).** Without it, a guard-armed box refuses every router update: the candidate's `version` prints a root-AWS ALERT through the guard's combined output, and the version check fails (harness G4, Run 1). Leo and sophie are both armed.
+
#### Gates G0 to G11 (the operator ticks each)
Each failure action is the whole action. Nothing is retried in place unless the gate says so.