carlos / platform Public

design-host-ownership

Design for amadan #232 (instance create door: one app can claim a hostname another app holds, race and aliases).

Spec: docs/superpowers/specs/2026-10-06-host-ownership-design.md, rev 5 at 27903735.

Model (Paul's ruling 2026-10-06): domains/<host>.json is the single ownership authority for every hostname family, acquired If-None-Match, with immutable acquisition ids and pending -> committed -> releasing states, every update and delete conditional. The lifecycle claim (rev 6.16) keeps execution, parking and retirement, bound to the acquisition; it is never deleted. Release follows lifecycle retirement and is recoverable. Detach dispatches by family. A per-app owned/ index gives purge complete enumeration. App rows carry an incarnation. Boxes read a console-published alias index. Migration is a freeze with an observed drain, a box-published route inventory, reconciliation with quarantine, and operator resolution.

Review: revs 1-3 were the retired two-family design (Astra rounds 1-3). Rev 4 was the single-object rewrite; round 4 found 5 P1, 11 P2, 1 P3; rev 5 answers all seventeen and has not been reviewed. Section 6 lists six asks of the lifecycle spec for platform-1e. Section 13 has the open questions.

Human

Design spec for amadan #232: host-scoped atomic ownership, rev 5 at 27903735. Paul's ruling: one ownership record per hostname. domains/<host>.json owns every family (instance, sidecar, alias, apex) with immutable acquisition ids and pending/committed/releasing states; the lifecycle claim keeps execution, parking and retirement, bound by op.intent.ownership and the holder incarnation. Four Astra rounds; rev 5 answers round 4's 5 P1 / 11 P2 / 1 P3 and is itself unreviewed. Six asks of lifecycle spec rev 6.16 in section 6. Spec only, nothing built.

Commits 5
Files changed 1 +792 −0
Discussions 0 0 open
Tasks 0/0 done

Discussions

  • No discussions on this branch yet.

Tasks

  • No tasks yet.

Activity