carlos / platform Public

spec: host lifecycle claim rev 6.25, the moves spec's rev 7.17 notes

A delete parks only the deleted location (plus moves/<host>), never the
whole host prefix; a created incarnation's first admission declares
nothing.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev 413b12cbdec524dcbb4f37bb7e89010bb815d395 parent 0b82189
1 file changed, +14 −4
  • docs/superpowers/specs/2026-10-02-host-lifecycle-claim-design.md +14 −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 f0d9c6a90..a7ca54c6b 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-06, **rev 6.24**. Joint rounds 6 and 7 judged the claim ready for primitive planning. Rev
+Design, 2026-10-06, **rev 6.25**. 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 rewrote §6.4a
around writer sessions, for joint round 8. Rev 6.10 answers joint round 10
@@ -23,7 +23,9 @@ Rev 6.23 answers joint round 15 (R15-1): the park scope's staging
paths, and evidence_at as the original bound for every scope; it also
states the rev 7.14 sweep notes (joining, the horizon). Rev 6.24 answers
joint round 16 (R16-1 scope namespaces, R16-3 the legacy loss identity)
-and states the narrowed born-covered rule. Rev 6.9 answered
+and states the narrowed born-covered rule. Rev 6.25 answers the moves
+spec's rev 7.17 notes (a delete's parks are scoped; a create's first
+admission declares nothing). Rev 6.9 answered
joint round 9
(R9-1 to R9-4) and takes **Paul's ruling R6 (2026-10-04): a box never
reuses its local database. Every writer start restores from the
@@ -539,7 +541,12 @@ site now uses:
replayable: a record that is already absent, or one whose ETag doesn't
match, is checked again under C6.
3. **CAS** `parking`, writing the obligations:
- - `park-replica` for each region in `touched.regions`;
+ - `park-replica` for each region in `touched.regions`, **scoped to the
+ deleted location** (`holder.location`: the incarnation location, or
+ the legacy `instances/<host>`, which excludes child incarnations),
+ plus one scoped to `moves/<host>` for staging; never the whole host
+ prefix. An older incarnation's residue is the at-rest sweep's (R3-4,
+ moves 7.17 note 1);
- `park-local` for each box in `touched.boxes`;
- if `touched.complete` is false: **every** region and **every** box
of the deployment, taken from the fleet inventory (J-N5).
@@ -1603,7 +1610,10 @@ reached, and where their wording differs, this text wins.
`@root`): an adopted host's pre-claim writer, whose box `Adopt`
records as `holder.writer_box`. It is valid in both fields, exactly
like any other declaration; every other declaration has session `> 0`
- and a non-empty generation. Box is always non-empty; the caller supplies
+ and a non-empty generation. Box is always non-empty, so a created
+ incarnation's first admission, whose predecessor has no writer
+ (`writer_box` `""`), declares nothing: nothing was acknowledged
+ (moves 7.17 note 2). The caller supplies
the list, the library records it in the admitting CAS. **Alerts:**
the admitting box raises one alert per declaration after the CAS
succeeds, and retries until delivered; the console's durable loss