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: modules/disk-load watches mesh-host.data .*, measures on a changed key and on ADR 0233's schedule, writes each round to disk-load_rounds key (tool disk_round), never ends a round on a failed item, retires readings only on a key's delete or once after the watch is ready; one integration test starts disk-load whole against a bus. Pins mesh-sdk c28c645.
Reviewed-by: reviewer-577@shanks at 0c46f47ae5
Pushed-by: builder-577@shanks
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: modules/disk-load watches mesh-host.data <node>.*, measures on a changed key and on ADR 0233's schedule, writes each round to disk-load_rounds key <node> (tool disk_round), never ends a round on a failed item, retires readings only on a key's delete or once after the watch is ready; one integration test starts disk-load whole against a bus. Pins mesh-sdk c28c645.
Reviewed-by: reviewer-577@shanks at 0c46f47ae57ee37b9c2877e728d1be2ce3f0d292
Pushed-by: builder-577@shanks
https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
It watches its node's keys of mesh-host_data instead of composing every module's items from
about 370 resolved keys per round, so a round no longer takes 30 to 45 minutes across the tunnel
and a manifest its mesh-sdk cannot judge no longer silences it. A changed key measures its module
at once; each round writes how far it got to the per-node state rounds, said by disk_round.
Pins mesh-sdk feat/data-items.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
A round no longer retires readings missing from the watched set, which may be empty or partial;
a module's readings are retired when its key of mesh-host_data is deleted or names fewer items.
A round refused before the watch caught up runs once it has, not an hour later. disk_round reads
this machine's key alone, as its grant allows.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
A key deleted while disk-load was not watching (a restart, a reboot, a machine asleep) never
arrives as a delete. Once the watch has handed over every current key, the readings of modules
with no key are retired once; an empty set is skipped and said, since the engine has not written.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Deliverynovox/mesh-catalog@0c46f47ae57e — merged since 2026-11-01T00:03:15Z
Source — source.main moved to novox/mesh-catalog@4b16c193f0. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
composed together: pass — the checker's verdict at the members' heads (e2b935f1f425)
Transitions
2026-10-31 23:46 (new) → proposed (announced): novox/mesh-catalog#584'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-catalog@0c46f47ae57e` — **merged** since 2026-11-01T00:03:15Z
**Source** — source.main moved to novox/mesh-catalog@4b16c193f0fb. 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-catalog#584'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`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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: modules/disk-load watches mesh-host.data .*, measures on a changed key and on ADR 0233's schedule, writes each round to disk-load_rounds key (tool disk_round), never ends a round on a failed item, retires readings only on a key's delete or once after the watch is ready; one integration test starts disk-load whole against a bus. Pins mesh-sdk c28c645.
Reviewed-by: reviewer-577@shanks at
0c46f47ae5Pushed-by: builder-577@shanks
https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Delivery
novox/mesh-catalog@0c46f47ae57e— merged since 2026-11-01T00:03:15ZSource — source.main moved to novox/mesh-catalog@4b16c193f0. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.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@c28c645ca4Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.