spec: host lifecycle claim rev 6.16, box references are opaque unique identifiers (#212)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 file changed,
+12
−2
docs/superpowers/specs/2026-10-02-host-lifecycle-claim-design.md+12 −2
CI cancelled — superseded by a newer push — 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 e157496e9..30b6584af 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-05, **rev 6.15**. Joint rounds 6 and 7 judged the claim ready for primitive planning. Rev |
| +Design, 2026-10-05, **rev 6.16**. 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 |
| @@ -10,7 +10,8 @@ answers the moves spec's rev 7.12 notes (coverage is per region). Rev |
| 6.14 answers joint round 12 (R12-4, R12-6): §6.4a now has one operative |
| rule set, and the readings sections are history. Rev 6.15 adds the |
| persisted park scope and the holderless sweep (§2, §6.2a), found while |
| -planning the park engine. Rev 6.9 answered |
| +planning the park engine. Rev 6.16 states what a box reference is |
| +(amadan #212). 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 |
| @@ -234,6 +235,15 @@ Field rules: |
| release to `serving`. A release keeps any obligation owned by other |
| lifecycle work (J-D8). |
| - **`lost`** is the quarantine list for declared-lost boxes (§7). |
| +- **Box references** (`op.exec`, `op.participants`, `holder.writer_box`, |
| + admissions' `box`, `writes_lost.box`, `inventory` keys, `lost`, |
| + `box:<b>` owners, execution-lease keys) are **opaque identifiers |
| + compared by exact equality**. The claim never parses them. Each must |
| + name exactly one machine: two machines presenting one reference would |
| + be one box to the claim and defeat the `op.exec == box` check. How a |
| + box obtains a unique reference, and refuses claim work when it cannot |
| + prove uniqueness, is the box-identity design's (amadan #212); until |
| + that lands, deployments must not let two boxes share a label. |
| - **`retired_incarnations`** keeps the most recent 32 incarnations that |
| held this host. A create whose incarnation appears there is refused |
| (R3-12). |