Design 42 zfs-owns-zfs: A-38, a process's bus names what its module asks for in requires

This commit is contained in:
2026-11-13 01:01:16 +01:00
parent 53c407350f
commit 0f9ab08e2d
@@ -136,3 +136,11 @@ settles it (`00-META/principles.md`), cited as "design 42 zfs-owns-zfs A-n". The
calls: emit an event, put or delete a key of those states, and invoke one of those three. The root processes say
everything they say on the bus through it; with the keeper not answering they act as with the bus down (A-8), and
warn. The module's tools keep their own account as today.
- **A-38** (A-37, §25, §26, met in develop; ADR 0436 §1, ADR 0595 §1, §2; the operator's "a case the delivery cannot
handle is a gap in the build and delivery system") A process's `bus` today is judged and granted only against the
module-level `emits` and `state`, which ADR 0595 replaced by what a module asks for in `requires`. In this
milestone a process's `bus.emits` may name an event of the events stream its module asks for by template in
`requires`, and its `bus.state` a state its module asks for there: the validator accepts them (in the indexer's
process-bus rule), and the grants (mesh-grants) give the process's account publish on that stream's subjects of
its own node and the reads and writes of those states, as they give a module's tools account today. A name its
module does not ask for is refused as today.