A replaced build module whose settings file still held an old value (not a whole number) parked at capacity 0, and nothing woke it when the node-engine refilled the file or after its bus follow of the config value timed out (2026-10-28, mesh-catalog #553 waited about 13 minutes).
The puller now:
wakes on a write or replacement of its settings file (inotify, no timer), and re-arms that watch when the kernel drops it (IN_IGNORED), said once;
retries a failed config follow at the next wake, each failure said once;
says a capacity of 0 and why (CapacityNote); an unreadable or refused setting is a fault.
One subtest in TestPullAtCapacityZeroTakesNothing proves the wake, the retry and the re-arm; it waits on the arm event, with no sleep.
Group with mesh-catalog fix/park-wakes, which pins this head.
Review: rev-l2 approved c006aa8 (mesh-sdk) and 848c0cbd (mesh-catalog). The later commits fold in the review's notes (IN_IGNORED re-arm, no sleep in the test) plus the re-pin.
A replaced build module whose settings file still held an old value (not a whole number) parked at capacity 0, and nothing woke it when the node-engine refilled the file or after its bus follow of the config value timed out (2026-10-28, mesh-catalog #553 waited about 13 minutes).
The puller now:
- wakes on a write or replacement of its settings file (inotify, no timer), and re-arms that watch when the kernel drops it (IN_IGNORED), said once;
- retries a failed config follow at the next wake, each failure said once;
- says a capacity of 0 and why (CapacityNote); an unreadable or refused setting is a fault.
One subtest in TestPullAtCapacityZeroTakesNothing proves the wake, the retry and the re-arm; it waits on the arm event, with no sleep.
Group with mesh-catalog fix/park-wakes, which pins this head.
Review: rev-l2 approved c006aa8 (mesh-sdk) and 848c0cbd (mesh-catalog). The later commits fold in the review's notes (IN_IGNORED re-arm, no sleep in the test) plus the re-pin.
Reviewed-by: rev-l2@shanks at 9e5666b4d6f581930fb0227ed65156dcca9aeb69
Deliverynovox/mesh-sdk@9e5666b4d6f5 — merged since 2026-10-28T21:03:16Z
Source — source.main moved to novox/mesh-sdk@53f2649369. 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 (d0cdd3e43b1d)
Transitions
2026-10-28 20:25 (new) → proposed (announced): novox/mesh-sdk#122's head announced
2026-10-28 20:25 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-10-28 21: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@9e5666b4d6f5` — **merged** since 2026-10-28T21:03:16Z
**Source** — source.main moved to novox/mesh-sdk@53f26493697e. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Group** `fix/park-wakes`: novox/mesh-catalog@5c6899e64166, novox/mesh-sdk@9e5666b4d6f5
- composed together: pass — the checker's verdict at the members' heads (d0cdd3e43b1d)
**Transitions**
- 2026-10-28 20:25 (new) → proposed (announced): novox/mesh-sdk#122's head announced
- 2026-10-28 20:25 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-10-28 21: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.
A replaced build module whose settings file still held an old value (not a whole number) parked at capacity 0, and nothing woke it when the node-engine refilled the file or after its bus follow of the config value timed out (2026-10-28, mesh-catalog #553 waited about 13 minutes).
The puller now:
One subtest in TestPullAtCapacityZeroTakesNothing proves the wake, the retry and the re-arm; it waits on the arm event, with no sleep.
Group with mesh-catalog fix/park-wakes, which pins this head.
Review: rev-l2 approved
c006aa8(mesh-sdk) and 848c0cbd (mesh-catalog). The later commits fold in the review's notes (IN_IGNORED re-arm, no sleep in the test) plus the re-pin.Reviewed-by: rev-l2@shanks at
9e5666b4d6Delivery
novox/mesh-sdk@9e5666b4d6f5— merged since 2026-10-28T21:03:16ZSource — source.main moved to novox/mesh-sdk@53f2649369. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
fix/park-wakes: novox/mesh-catalog@5c6899e641, novox/mesh-sdk@9e5666b4d6Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.