Name system seats by scope; let a module define its own (ADR 0121) #81

Merged
jschoubben merged 1 commits from feat/system-seats-named-by-scope into main 2026-09-27 12:32:27 +00:00
Owner

Implements ADR 0121. System seats are mesh-* / node-*; renamed the-build-machine→mesh-build-machine (+mesh scope), the-catalogue→mesh-catalog, the-dns-port→node-dns-resolver, the-intrusion-prevention→node-intrusion-prevention, the-packet-filter→node-packet-filter, the-resolver-configuration→node-resolver-config, the-uplink→node-uplink. Removed the-showcase (now module-defined).

A manifest may declare its own seats (seats:); claim validation is 3-way — system seat, reserved-but-undefined mesh-*/node-* (refused), or module-defined (valid only if declared).

Deferred (per ADR 0121): delivering registry seats (git, npm-package-registry, the-artifact-store) and the-private-network (scope + server/client model change).

Pairs with the mesh-catalog PR of the same name — one coordinated seat migration. Full suite green.

Implements ADR 0121. System seats are `mesh-*` / `node-*`; renamed the-build-machine→mesh-build-machine (+mesh scope), the-catalogue→mesh-catalog, the-dns-port→node-dns-resolver, the-intrusion-prevention→node-intrusion-prevention, the-packet-filter→node-packet-filter, the-resolver-configuration→node-resolver-config, the-uplink→node-uplink. Removed the-showcase (now module-defined). A manifest may declare its own seats (`seats:`); claim validation is 3-way — system seat, reserved-but-undefined `mesh-*`/`node-*` (refused), or module-defined (valid only if declared). **Deferred** (per ADR 0121): delivering registry seats (git, npm-package-registry, the-artifact-store) and the-private-network (scope + server/client model change). Pairs with the mesh-catalog PR of the same name — one coordinated seat migration. Full suite green.
jschoubben added 1 commit 2026-09-27 12:31:44 +00:00
System seats are mesh-* (one, mesh-wide) or node-* (one per node). Renamed:
the-build-machine -> mesh-build-machine (+scope mesh), the-catalogue ->
mesh-catalog, the-dns-port -> node-dns-resolver, the-intrusion-prevention ->
node-intrusion-prevention, the-packet-filter -> node-packet-filter,
the-resolver-configuration -> node-resolver-config, the-uplink -> node-uplink.
Removed the-showcase from the set — it becomes the first module-defined seat.

A manifest may declare its own seats (DefinesSeats); a claim is a system seat,
a reserved mesh-*/node-* name the mesh does not define (refused), or a
module-defined seat valid only when the manifest declares it.

Deferred: the delivering registry seats (git, npm-package-registry,
the-artifact-store) and the-private-network (a scope + server/client model
change), per ADR 0121.
jschoubben merged commit a7df0fc62f into main 2026-09-27 12:32:27 +00:00
jschoubben deleted branch feat/system-seats-named-by-scope 2026-09-27 12:32:27 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-controller#81