The contract of the node-engine's data items, so disk-load reads what the engine composed (ADR 0577) #151

Merged
mesh-tools merged 1 commits from feat/data-items into main 2026-11-01 00:03:10 +00:00
Member

Delivery group feat/data-items (mesh-sdk, mesh-host, mesh-catalog, mesh-delivery), one check, one Approve. Decision: ADR 0577 (the node-engine publishes each placed module's data items; disk-load watches them and composes nothing), changing ADR 0571 §5. Fixes issue 1955 in part: disk-load needed 30 to 45 minutes per round on ace, g14 and shanks, and went silent for 45 hours when its mesh-sdk refused a manifest.

Quick fix (a prefix filter in the states reader) not chosen: a fourth hand pin and more logic in mesh-sdk. Thorough fix chosen: one composer per node, disk-load event-driven.

This member: delivery/enginedata.go (state mesh-host_data, key ., value type, encode/decode) and the grants in buscompose: each engine writes only its own .> keys; disk-load reads only its node's keys. No composing or measuring logic.

Reviewed-by: reviewer-577@shanks at c28c645ca4
Pushed-by: builder-577@shanks

https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL

Delivery group feat/data-items (mesh-sdk, mesh-host, mesh-catalog, mesh-delivery), one check, one Approve. Decision: ADR 0577 (the node-engine publishes each placed module's data items; disk-load watches them and composes nothing), changing ADR 0571 §5. Fixes issue 1955 in part: disk-load needed 30 to 45 minutes per round on ace, g14 and shanks, and went silent for 45 hours when its mesh-sdk refused a manifest. Quick fix (a prefix filter in the states reader) not chosen: a fourth hand pin and more logic in mesh-sdk. Thorough fix chosen: one composer per node, disk-load event-driven. This member: delivery/enginedata.go (state mesh-host_data, key <node>.<module>, value type, encode/decode) and the grants in buscompose: each engine writes only its own <node>.> keys; disk-load reads only its node's keys. No composing or measuring logic. Reviewed-by: reviewer-577@shanks at c28c645ca4069cc925b64217dd3055a75d06c011 Pushed-by: builder-577@shanks https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
mesh-tools added 1 commit 2026-10-31 23:46:31 +00:00
Name the node-engine's data items state, so mesh-host writes and disk-load reads one shape (ADR 0577)
mesh/delivery merged: source.main moved to novox/mesh-sdk@ff5e00f1f894
mesh/delivery-group group feat/data-items merged: every member is merged
mesh/check pass c28c645ca406 on 5ae69df8ccde | unit 4510 run, 4259 kept, 49 skipped | integration 4589 run, 4361 kept, 51 skipped | over bound: unit, …
c28c645ca4
The contract (state name, key form, value) is in delivery; buscompose grants the engine its own
node's keys of mesh-host_data and each node's disk-load a read of its own node's keys alone, the
same way the engine's other states are granted.

Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Author
Member

Delivery novox/mesh-sdk@c28c645ca406 — merged since 2026-11-01T00:03:13Z

Source — source.main moved to novox/mesh-sdk@ff5e00f1f8. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Group feat/data-items: novox/mesh-catalog@0c46f47ae5, novox/mesh-delivery@ddadb75bf4, novox/mesh-host@e031758e4a, novox/mesh-sdk@c28c645ca4

  • composed together: pass — the checker's verdict at the members' heads (e2b935f1f425)

Transitions

  • 2026-10-31 23:46 (new) → proposed (announced): novox/mesh-sdk#151's head announced
  • 2026-10-31 23:46 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
  • 2026-11-01 00:03 ready → merged (merged): on the trunk its modules follow: merged there

The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-sdk@c28c645ca406` — **merged** since 2026-11-01T00:03:13Z **Source** — source.main moved to novox/mesh-sdk@ff5e00f1f894. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `feat/data-items`: novox/mesh-catalog@0c46f47ae57e, novox/mesh-delivery@ddadb75bf474, novox/mesh-host@e031758e4a37, novox/mesh-sdk@c28c645ca406 - composed together: pass — the checker's verdict at the members' heads (e2b935f1f425) **Transitions** - 2026-10-31 23:46 (new) → proposed (announced): novox/mesh-sdk#151's head announced - 2026-10-31 23:46 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false) - 2026-11-01 00:03 ready → merged (merged): on the trunk its modules follow: merged there The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
mesh-tools merged commit ff5e00f1f8 into main 2026-11-01 00:03:10 +00:00
mesh-tools deleted branch feat/data-items 2026-11-01 00:03:10 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-sdk#151