carlos / platform Public

spec: host lifecycle claim rev 6.8.1, only op.exec may open replication

AdmitWriter requires op.exec == box in every op kind; landing targets, probes
and recovering sources are handed exec first (evidence-backed CAS); the moves
phase table schedules handovers, never admits a non-exec writer.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev a963d98d9ee0f78e90b7f6e6020e430503226225 parent 5462d29
1 file changed, +9 −4
  • docs/superpowers/specs/2026-10-02-host-lifecycle-claim-design.md +9 −4

CI passed — run details

diff --git a/docs/superpowers/specs/2026-10-02-host-lifecycle-claim-design.md b/docs/superpowers/specs/2026-10-02-host-lifecycle-claim-design.md
index ff6aeb578..e793f8db9 100644
--- a/docs/superpowers/specs/2026-10-02-host-lifecycle-claim-design.md
+++ b/docs/superpowers/specs/2026-10-02-host-lifecycle-claim-design.md
@@ -1,6 +1,6 @@
# The host lifecycle claim
-Design, 2026-10-04, **rev 6.8**. Joint rounds 6 and 7 judged the claim ready for primitive planning. Rev
+Design, 2026-10-04, **rev 6.8.1**. Joint rounds 6 and 7 judged the claim ready for primitive planning. Rev
6.5 added the R6-4 rule. Rev 6.6 added writer epochs (R7-1, amadan #225).
Rev 6.7 answered the moves session's notes on §6.4a. Rev 6.8 rewrites §6.4a
around writer sessions, for joint round 8 (R8-1 to R8-4). A small primitive cited by:
@@ -859,8 +859,13 @@ current writer session.
**`AdmitWriter`** is one claim CAS, made by the box **before the writer
issues any upload**. It requires:
- the observed `holder.session` and `holder.generation`;
-- `op.exec`, or the moves spec's phase table for the current op, to
- permit this box to open replication.
+- `op.exec == this box`. **Only `op.exec` may open replication, in every
+ op kind.** At most one box writes a host's replica at any time, and
+ `op.exec` names it. A landing target, a probe box or a recovering
+ source must first be handed `op.exec`, by a CAS that cites stop
+ evidence or a lost-box fence (§4, J-D1). The moves spec's phase table
+ says when each handover happens; it never admits a writer that isn't
+ `op.exec`.
It writes:
- `holder.session = its own resulting gen`;
@@ -876,7 +881,7 @@ It never replaces the operation. Kind, id, phase, intent, participants,
obligations and the rest of the journal are kept. **Recovery inside
`landing`, `restoring`, `reverting` or a probe is therefore an
`AdmitWriter` within that operation**, never a new operation (R8-2). The
-moves spec's phase table says which box may be admitted in which phase.
+moves spec's phase table says when `op.exec` is handed to which box.
#### The clean-close certificate is one-use by construction (R8-1)