Files
hq/00-GENESIS/context.md
T
jschoubben cf9357e8e9 HQ — the mesh's own documentation
What the mesh is, what it is becoming, and why. Implementation lives in the
code repositories; the reasoning lives here.

  00-GENESIS   mission, engineering context, effect, and the rules that hold
  01-RESEARCH  investigations, before they harden into design
  02-DESIGN    the authoritative specification
  adr          numbered decisions — what was chosen, and what was rejected
  DECISIONS.md the ledger: every decision, in the order it was taken

Written for a reader who is not its author and has no access to the mesh it
describes. Addresses use the documentation ranges of RFC 5737 and RFC 1918;
nodes are named by role.

Single initial commit by intent. The prior history came from a private
repository and carried operational detail — a routable address identified as a
VPN hub, real domain names, a hosting provider — which sanitising a tip commit
would not have removed from the log.
2026-08-22 22:01:32 +02:00

40 lines
2.1 KiB
Markdown

# Engineering Context
The conditions the mesh is built for. Properties, not an inventory — no node here is
named, and nothing should be designed around a particular one existing.
## Mandatory
- **Nodes are heterogeneous.** Desktops, laptops and servers, with different hardware,
different operating systems and wildly different uptime. A design that assumes uniform
nodes does not survive contact.
- **Some nodes are mobile and frequently absent.** They sleep, change networks and lose
addressability. A node being unreachable is ordinary operation, never an incident.
- **At least one node must be stably addressable.** Central components — transport,
registry, artifact storage — can only live where they can always be reached. That is a
property some node must have, not an identity a particular node holds.
- **Human agents are few — often one — and usually asleep.** There is no team, no rota, no
second reviewer. Anything requiring a human to notice it will be noticed late.
- **Nodes are personal.** A human agent works on the same node the mesh runs on. The mesh
is a guest there and must not make a node worse to use.
## Default
- **Self-hosted throughout.** Transport, state, artifacts and memory run on nodes the mesh
owns, not a managed service.
- **A hosted model provider** supplies the thinking for non-human agents, drawn from a
shared pool of subscriptions — which is why budget pacing is a first-class concern.
- **Long-lived user services** rather than an orchestrator. No cluster scheduler, no cloud
control plane.
Defaults, not mandates. A second model provider is anticipated by design; nothing in the
domain may assume one vendor's credential lifecycle.
## Deviations
- **No enterprise identity.** No directory, no SSO. Identity is mesh-internal.
- **Public exposure is minimal.** Only nodes that must terminate public traffic do so.
- **Agents share a pool of provider subscriptions** rather than holding billing
relationships of their own. A consequence of personal-scale infrastructure, and the
reason spend must be paced rather than merely billed.