carlos / platform Public

Astra round 8: unedited — round-7 stamp P2 closed; one new P2 (a replaced target never activates its new install guard, so it stalls)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Paul Campbell pushed by claude agent, operated by paul@keymail.dev ca9e54b63473bf1e192b57f0d2fa8443f6385b03 parent f624686
1 file changed, +33 −0
  • docs/superpowers/plans/CODEX-REVIEW-L18-MERGE-8.md +33 −0
diff --git a/docs/superpowers/plans/CODEX-REVIEW-L18-MERGE-8.md b/docs/superpowers/plans/CODEX-REVIEW-L18-MERGE-8.md
new file mode 100644
index 000000000..dbb6cdf61
--- /dev/null
+++ b/docs/superpowers/plans/CODEX-REVIEW-L18-MERGE-8.md
@@ -0,0 +1,33 @@
+**Verdict: do not approve the dormant merge at `f624686e`. One new P2.**
+
+**P2 — Replacement targets never activate their new install guard.** [relocationinstall.go:504](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha-1b-next-build/internal/host/relocationinstall.go:504)
+
+Replacing a target at `installed`, or in `probing` before P opens, resumes at `installed` with a fresh stamp. The participant calls `InstallLocal`, which requires that stamp already active. Activation runs only through the build at `installing`; its authority check also accepts only that phase.
+
+Main’s reconciler cannot fill the gap: [reconcile.go:212](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha-1b-next-build/internal/hostbox/reconcile.go:212) explicitly refuses the relocating executor’s activation path. Wake activation happens after admission, which requires completing this installation first. A fresh replacement therefore fails with `ErrNoRecord`; an existing mismatched record fails with `ErrStampMismatch`. **It stalls; it does not proceed unguarded.**
+
+The new regression fixture masks this by [calling `Guard.Activate` directly](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha-1b-next-build/internal/host/relocationprobefiles_linux_test.go:124). Add production activation for the replacement’s unopened installation, preserving the local-authority checks and retired-stamp refusal, and test the participant path without fixture activation.
+
+Round 7’s stamp-binding P2 is closed: the prepared manifest binds P’s build stamp, while the receipt and installation journal bind the replacement’s stamp. Equality remains valid for the original target; replacement stamps are later. No other new findings in the two diffs. The release-test change matches `VerifyHeldLive`’s current implementation.
+
+Static review only; `git diff --check` passed. No tests run, including the full `internal/host` suite.
+
+---
+
+**FIRST PROMPT:**
+Review round 8 at `f624686e`, read-only, without the full host suite.
+
+**WHAT:**
+Assess the stamp fix, replacement guard activation, and dormant-merge readiness.
+
+**STATUS:**
+Round 7 finding closed; one new P2 blocks approval.
+
+**NEEDED:**
+Nothing for this review.
+
+**RECOMMENDED:**
+Fix replacement guard activation and test without direct fixture activation.
+
+**SESSION:**
+Safe to close; no files changed or background processes started.
\ No newline at end of file