Files
jschoubben 53351dd30d
mesh/delivery merged: source.main moved to novox/mesh-catalog@6ba73d4e2a4f
mesh/delivery-group group feat/47-G-join12 merged: every member is merged
mesh/check checking 53351dd30df2 on b1125c02cfe6 | novox/mesh-catalog#675 in group feat/47-G-join11
Merge main into feat/47-G-join11: the zfs module and pacman's config first (issue 1979); zfs's findings in G's form
mesh-conditions keeps G's form: the keeper reads no observer's state (no reads, no Observers list), so main's zfs entry there goes. The zfs follower says its findings through G's findings writer over its keeper: the keeper gains the publish of the writer's three events on the finding stream finding-events and the hear of mesh-conditions.findings-asked on its own durable, nothing else; each pool or device not ONLINE is scope module, id zfs.<pool>.<device> (the device's own name), kind not-online, on the node. The manifest asks its state findings by template in requires (G §529, §577), and gains the finding-events stream and the consumes, and the keeper's bus the three events and the consumes.

Builds: design 47 G §383, §384, §387, §529, §577, A-339, A-340, A-341, A-342; design 42 zfs-owns-zfs §27, A-32, A-37, A-39, A-41

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-13 09:32:48 +01:00
..

mesh-hand-acts

Holds the seat mesh-hand-acts (novox/hq ADR 0565 §10, §11): the hand-act log, moved out of the controller. Go, one binary (cmd/mesh-hand-acts), served by a runtime of its own on its own bus account (runs-as), so that its account alone writes the log.

What it keeps

  • the log acts (the stream LOG_mesh-hand-acts_acts, a module log of ADR 0297, as ADR 0565 §10 has it a stream): every act appended in its order under its key act-<ns>-<n> (warrant-<asker>-<ask> for a warrant), in the layout of the controller's log. The log keeps each act 400 days (max-age-days) and refuses a new act when full rather than drop one; hand-acts says how full it is against its cap. Each act is said as act-recorded.
  • mesh-hand-acts_warrants: one key <asker>.<ask> per warrant, made once by create before its act is appended, so of several instances one records it; a warrant whose act was lost is written again from the router's record.

Its verbs

  • mesh-hand-acts.hand-act: what, why, cause, the condition addressed, and the act's verb (a repair when not given; hand-act drill for a drill, whose cause is always drill). Who did it is the caller the runtime proves.

  • mesh-hand-acts.warranted: asker and ask. Read from the router's own record of that ask (messenger.asks), never from the caller, and recorded once per ask; an ask still open, ended without a choice or another asker's is refused.

  • mesh-hand-acts.hand-acts: this log (the controller's acts were copied into it once), newest first, with the causes repaired by hand twice within a fortnight; warrants=true lists the warrants.

  • hand_acts_copied and hand_acts_copy (research 072 row 26): the controller's hand acts are copied once into this seat's log, each with its own key, time and author. It runs at the module's start while the old bucket is readable and no marker (copied, key controller-hand-acts) says it was done, and by the tool; an act already in the log is never appended again, and hand-acts counts a copied act once. hand_acts_copied says whether, when and how many. The lease write has no hook to run it from, so the start is the trigger; hand_acts_copy with top_up=true, asked after the lease write, appends any act the controller wrote since the copy (a finished copy is otherwise a no-op).

No act is written to both logs: every recorder calls this seat from its delivery, and the controller keeps its own acts in its own bucket until it loses its lease.