0062: a host may be episodic; 0060's Android gap closed

0060 named the gap and did not close it: everywhere else an init runs the
launcher at boot, and Android grants neither an init to register with nor
anything worth supervising, because a supervisor would be killed alongside what
it supervises.

Closed by narrowing what is required rather than building something. A host is
resident or episodic, and both are hosts. Being killed by the platform is
disconnection, which 0036 already made ordinary -- and every mechanism an
episodic host needs already exists because it was built for laptops that close.

A partial host can join a mesh and cannot be the first node, since every
bootstrap step is a shape it refuses. Its bundle says so.

Two consequences that are easy to miss: last-heard-from means much less on an
episodic host, so a healthy phone reads as a dead server unless the reader
knows which kind it is; and a declaration may take a long time to land, which
makes 0058's outstanding-versus-failed distinction load-bearing.

Still open, and in that order: what an Android node is FOR, and only then how
it is started.
This commit is contained in:
2026-08-28 01:24:07 +02:00
parent f1b1cd9aa0
commit ba0d01788e
3 changed files with 149 additions and 0 deletions
@@ -87,6 +87,16 @@ reports which shapes it implements so the control plane never sends one it canno
filesystem and a way to run something, which makes a partial host a real thing rather than a
broken one.
**A partial host can join a mesh and cannot be the first node.** Every step of raising a
substrate is a `package`, a `container`, or an `action` against one, so the shapes it refuses
are exactly the ones a bootstrap needs. Its bundle says so rather than being an empty
placeholder.
**How such a host is started was left open here and is closed by
[ADR 0062](0062-a-host-may-be-episodic.md)** — by narrowing what is required rather than
building something. A host may be *episodic* rather than resident, and being killed by the
platform is disconnection, which is already ordinary.
## Consequences
- **Each implementation stays as sharp as its operating system allows.** The `LoadState`