carlos / platform Public

Instance key provision: Astra round 6, unedited

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Paul Campbell pushed by claude agent, operated by paul@keymail.dev c18d6b04c8b228629af7e5e2fe2874aad77183e2 parent afa8905
1 file changed, +35 −0
  • docs/superpowers/plans/CODEX-PLAN-INSTANCE-KEY-R6.md +35 −0
diff --git a/docs/superpowers/plans/CODEX-PLAN-INSTANCE-KEY-R6.md b/docs/superpowers/plans/CODEX-PLAN-INSTANCE-KEY-R6.md
new file mode 100644
index 000000000..041ca1d1e
--- /dev/null
+++ b/docs/superpowers/plans/CODEX-PLAN-INSTANCE-KEY-R6.md
@@ -0,0 +1,35 @@
+Reviewed `2c39819c` (HEAD at review start). The plan remained unchanged during concurrent implementation work.
+
+1. **P2 — A concurrent config removal bypasses the fresh check.** [Plan:2907](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/instance-key-provision/docs/superpowers/plans/2026-10-10-instance-key-provision.md:2907)
+ The launch captures configured key A, but the gate rereads the files to determine its source. If `SyncExec` removes the key between those reads, `Effective` returns `LayerNone`. The `layer != LayerConfig` branch then admits the launch without consulting the bucket, while the child still receives A. Config sync shares no lock with these reads; its bounce during a wake is deferred until afterward. Capture the source alongside the launch environment, or refuse when the reread disagrees. Add a deterministic interleaving test.
+
+2. **P2 — The coordinated procedure never applies digest-list changes to the running agent.** [Plan:4655](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/instance-key-provision/docs/superpowers/plans/2026-10-10-instance-key-provision.md:4655)
+ `replicaHomeKeys` parses the environment once and captures the map. Editing the agent’s environment drop-in neither invalidates its existing entries nor loads replacements. Following the procedure literally leaves the old map active; a replica updated to B remains refused against A. Specify an agent restart—or implement an explicit reload—after invalidation and replacement, keeping replicas stopped throughout. Verify that invalidation has taken effect before changing the key.
+
+R5-2 and R5-3 are closed: O8 explicitly defers configured-only homes, and parser errors omit input. R5-1’s approach is sound, but these gaps prevent full closure.
+
+When reached, the fresh read fails closed on missing configuration, bucket errors and decryption errors. Network reads use a ten-second timeout; bucket outages therefore cost replica availability as documented. The home-only residual is acceptable within the stated no-rotation scope once the coordinated procedure actually updates the agent.
+
+Static review; proposed tests were not executed. No files changed by me.
+
+**Verdict: not ready to build.**
+
+---
+
+**FIRST PROMPT:**
+Review the instance-key provision plan at HEAD using brief 6.
+
+**WHAT:**
+Check prior findings, fresh-read safety and the documented residual.
+
+**STATUS:**
+Review complete: two P2 findings.
+
+**NEEDED:**
+Nothing for this review.
+
+**RECOMMENDED:**
+Fix launch-snapshot provenance and make digest-list updates effective.
+
+**SESSION:**
+Safe to close this review. No processes left running; handoff not saved because the workspace is read-only.
\ No newline at end of file