The node-engine publishes each placed module's data items, so disk-load stops recomposing the node (ADR 0577) #191

Merged
mesh-tools merged 3 commits from feat/data-items into main 2026-11-01 00:03:19 +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: internal/selfcompose/data.go writes . only when it differs and deletes keys of modules that left; a failed run or write is retried on the composer's growing bound; a done build is kept per run and dropped on any change of its key. Pins mesh-sdk c28c645.

Reviewed-by: reviewer-577@shanks at e031758e4a
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: internal/selfcompose/data.go writes <node>.<module> only when it differs and deletes keys of modules that left; a failed run or write is retried on the composer's growing bound; a done build is kept per run and dropped on any change of its key. Pins mesh-sdk c28c645. Reviewed-by: reviewer-577@shanks at e031758e4a37eb1bdf75f116f67f4926d9a0e7b0 Pushed-by: builder-577@shanks https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
mesh-tools added 3 commits 2026-10-31 23:46:32 +00:00
After a pass that handed a new composition, the node's composer works out its modules' data
items from the inputs it composed from and writes each module's key <node>.<module> of
mesh-host_data only when it differs, deleting the keys of modules that left. Pins mesh-sdk
feat/data-items for the contract and the engine's grant. Two tool-answer tests are merged so
the unit count stays where it was.

Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
The data items after a pass re-read each placed module's build over the bus (about 55 per pass on
ace, g14 and shanks); a done build never changes, so the composer keeps it. The items are now
worked out with the pass's own kept builds and modules run inside the node's own, as composed.

Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Forget a kept build when its key is written again, and retry data items on the composer's bound (review round 1)
mesh/delivery merged: source.main moved to novox/mesh-host@233bb23bbcb1
mesh/delivery-group group feat/data-items merged: every member is merged
mesh/check pass e031758e4a37 on 6c1f7cc7f50f | unit 4510 run, 4259 kept, 49 skipped | integration 4589 run, 4361 kept, 51 skipped | over bound: unit, …
e031758e4a
The builder claims a done key again as a new revision, so a build kept as done is dropped on any
write of its key. Data items that could not be worked out or written stay due and owe a pass after
the growing bound, so a first write refused before the state or grant exists is tried again
without waiting for an unrelated composition.

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

Delivery novox/mesh-host@e031758e4a37 — merged since 2026-11-01T00:03:20Z

Source — source.main moved to novox/mesh-host@233bb23bbc. 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-host#191'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-host@e031758e4a37` — **merged** since 2026-11-01T00:03:20Z **Source** — source.main moved to novox/mesh-host@233bb23bbcb1. 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-host#191'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 233bb23bbc into main 2026-11-01 00:03:19 +00:00
mesh-tools deleted branch feat/data-items 2026-11-01 00:03:20 +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-host#191