From 325bf80f198a82165f39a1f6af5d795bc81ae6f4 Mon Sep 17 00:00:00 2001 From: jochen Date: Fri, 13 Nov 2026 09:08:48 +0100 Subject: [PATCH 1/4] Answer A-339: zfs's findings take G's writer over its keeper Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- 03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md index 08786da7..8109e748 100644 --- a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md +++ b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md @@ -659,3 +659,9 @@ the principle that settles it, cited as "design 47 G A-n". - **A-338** (A-335, ADR 0233; principle 7; the operator, 2026-11-13 about 03:50 CET: "it's a poc") The two trunk manifests the manifest validator refuses once they change, for a written directory with no data declared, declare it in G's change: f1-circuits' `cache` and Link2Pay's `logs`, both class `cache`. +- **A-339** (G §383, §384, §387; design 42 zfs-owns-zfs A-32, A-37, A-39, A-41; principles 1, 7) The zfs module's + findings take G's form through the bus path it already has: its keeper's closed list gains exactly what G's generated + findings writer needs (the publish of `finding-written` on its stream `zfs-findings`, and a hear of + `mesh-conditions.findings-asked`), and the root follower runs G's writer over the keeper; its manifest gains the + `finding-events` stream and that `consumes`. The follower keeps writing its findings, since it is the part that sees + them; nothing else of the keeper's list widens. From 20a04f022612b0b34bb36d2339bba361a6db10b0 Mon Sep 17 00:00:00 2001 From: jochen Date: Fri, 13 Nov 2026 09:10:36 +0100 Subject: [PATCH 2/4] Answer A-340: a process's bus may name what its module consumes; the writer's three events Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- 03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md index 8109e748..58ae2622 100644 --- a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md +++ b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md @@ -665,3 +665,8 @@ the principle that settles it, cited as "design 47 G A-n". `mesh-conditions.findings-asked`), and the root follower runs G's writer over the keeper; its manifest gains the `finding-events` stream and that `consumes`. The follower keeps writing its findings, since it is the part that sees them; nothing else of the keeper's list widens. +- **A-340** (sharpens A-339; design 42's V5 and G1; principle 7) A process's `bus` may name, under `consumes`, an event its + module's `consumes` names, as V5 lets it name what its module's `requires` asks; the manifest validator judges it as V5 + does, and the grants part gives that process's account the hear and the consumer of exactly those events, as G1 gives + the publish. The zfs keeper names `mesh-conditions.findings-asked` there. "Exactly what G's writer needs" is its three + events on the module's `finding-events` stream: `finding-written`, `finding-cleared`, `findings-stated`. From 253c18c69380fb6e43597d86a5aaf50de11277d8 Mon Sep 17 00:00:00 2001 From: jochen Date: Fri, 13 Nov 2026 09:16:08 +0100 Subject: [PATCH 3/4] Answer A-341: a zfs device's finding in the writer's key form Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- 03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md index 58ae2622..77054c08 100644 --- a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md +++ b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md @@ -670,3 +670,7 @@ the principle that settles it, cited as "design 47 G A-n". does, and the grants part gives that process's account the hear and the consumer of exactly those events, as G1 gives the publish. The zfs keeper names `mesh-conditions.findings-asked` there. "Exactly what G's writer needs" is its three events on the module's `finding-events` stream: `finding-written`, `finding-cleared`, `findings-stated`. +- **A-341** (A-339; design 42 §27; G's findings writer; principle 7) Under G's writer a zfs device's finding is scope + `module`, id `zfs..` (the pool's own state: `zfs..pool`), kind `not-online`, its subject scope + `module`, id `zfs`, on the node; `` is the device's own name, the last element of its path. §27's one finding + per device not online stands; only its key takes the writer's form. From 14b5b324a258ae8e5c2c44ccbc7d37caa780813a Mon Sep 17 00:00:00 2001 From: jochen Date: Fri, 13 Nov 2026 09:17:36 +0100 Subject: [PATCH 4/4] Answer A-342: the node-engine sets MESH_NODE for every process it runs Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- 03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md index 77054c08..9187bf39 100644 --- a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md +++ b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md @@ -674,3 +674,8 @@ the principle that settles it, cited as "design 47 G A-n". `module`, id `zfs..` (the pool's own state: `zfs..pool`), kind `not-online`, its subject scope `module`, id `zfs`, on the node; `` is the device's own name, the last element of its path. §27's one finding per device not online stands; only its key takes the writer's form. +- **A-342** (A-339, A-341; principles 2, 7) A process learns its node the way the SDK already reads it: the node-engine + sets `MESH_NODE` to its own node's name in the environment of every process it runs, beside the resource's own `env` + (a resource's own `MESH_NODE` is refused by the manifest validator, so the mesh's value is the only one). The zfs + follower's writer and its `node-service-manager` calls then name the node; no new reference form and nothing special to + the keeper.