From 0f9ab08e2d5d5802dbb3101d54c91a68bc05c746 Mon Sep 17 00:00:00 2001 From: jochens Date: Fri, 13 Nov 2026 01:01:16 +0100 Subject: [PATCH] Design 42 zfs-owns-zfs: A-38, a process's bus names what its module asks for in requires --- .../01-to-be/42-milestones/zfs-owns-zfs-lead-answers.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/03-DESIGN/01-to-be/42-milestones/zfs-owns-zfs-lead-answers.md b/03-DESIGN/01-to-be/42-milestones/zfs-owns-zfs-lead-answers.md index 619a85f7..b84bd3a5 100644 --- a/03-DESIGN/01-to-be/42-milestones/zfs-owns-zfs-lead-answers.md +++ b/03-DESIGN/01-to-be/42-milestones/zfs-owns-zfs-lead-answers.md @@ -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.