carlos / platform Public

Instance key provision: Astra round 7 brief (confirming)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Paul Campbell pushed by claude agent, operated by paul@keymail.dev 3416f1b88d4fe399ae632494a13e65b9716e4e7c parent 7a2e469
1 file changed, +16 −0
  • docs/superpowers/plans/CODEX-PLAN-INSTANCE-KEY-BRIEF-7.md +16 −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/CODEX-PLAN-INSTANCE-KEY-BRIEF-7.md b/docs/superpowers/plans/CODEX-PLAN-INSTANCE-KEY-BRIEF-7.md
new file mode 100644
index 000000000..a78ceb9b4
--- /dev/null
+++ b/docs/superpowers/plans/CODEX-PLAN-INSTANCE-KEY-BRIEF-7.md
@@ -0,0 +1,16 @@
+# Astra round 7 brief: instance key provision, rev 5.1 (confirming)
+
+**Review:** `docs/superpowers/plans/2026-10-10-instance-key-provision.md` rev 5.1 (7a2e4696). It answers your round 6 (`CODEX-PLAN-INSTANCE-KEY-R6.md`).
+
+**Changes:**
+- **Ruling 29.** The replica gate takes the key's source from the same read that builds the launch environment, and never re-reads it. An interleaving test rewrites config between that read and the gate, and the gate refuses.
+- **Ruling 30.** The digest list moves from the agent's env into `/etc/carlos/replica-home-keys`. Only the pre-roll check writes it, as a whole file renamed into place. The agent re-reads it on every replica launch and caches nothing. The procedure keeps replicas stopped and confirms the file no longer names them before the key changes.
+- **Task 1 is now built and reviewed** (c568c13b..e8487c3a on this branch). The plan's Task 1 code was copied from the branch, including a canonical-bytes check in `ParseAdoption`. A mixed-version rollout note is added.
+
+**Judge:**
+1. Are both findings closed?
+2. Is the per-launch file read safe? Consider a partial write, a missing file, permissions, and whether the tenant can see or write it.
+3. Does Task 1's committed code match the plan, and does anything else in the plan rely on the looser parser?
+4. Anything new?
+
+Give findings P1/P2/P3 with file:line, then a verdict: ready to build, or not.