A held module is in status, and it stops the mesh reading as well #150

Merged
jschoubben merged 1 commits from fix/125-a-hold-is-a-line-in-the-report into main 2026-09-30 06:47:51 +00:00
Owner

Fixes the other half of novox/hq issue 125. Status had no vocabulary for a module assigned and never taken, so the mesh printed "all doing what they were told" — which was true, was acted on, and every public name on the machine went dark.

Status now names each held module per machine with a count, read from what the machine reported rather than the mesh's take-time listing. The JSON form carries the same rows, absent when nothing is held.

And a hold suppresses the all-well sentence, where being adopted does not: adopted is a mode somebody chose, a module assigned and never taken is a half-finished action with nothing left to finish it. That condition is now a named function so the rule lives in one place and the test binds to the real thing rather than a copy.

untakenModules raises a read it cannot make rather than answering "holding nothing" from a failed query — the shape this whole issue is about.

make check: only the pre-existing TestConvergingPreviewsThenChangesAndAdoptingKeepsWhatWasTaken failure, which fails identically on a pristine tree.

Fixes the other half of novox/hq issue 125. Status had no vocabulary for a module assigned and never taken, so the mesh printed "all doing what they were told" — which was true, was acted on, and every public name on the machine went dark. Status now names each held module per machine with a count, read from what the **machine** reported rather than the mesh's take-time listing. The JSON form carries the same rows, absent when nothing is held. **And a hold suppresses the all-well sentence**, where being adopted does not: adopted is a mode somebody chose, a module assigned and never taken is a half-finished action with nothing left to finish it. That condition is now a named function so the rule lives in one place and the test binds to the real thing rather than a copy. `untakenModules` raises a read it cannot make rather than answering "holding nothing" from a failed query — the shape this whole issue is about. `make check`: only the pre-existing `TestConvergingPreviewsThenChangesAndAdoptingKeepsWhatWasTaken` failure, which fails identically on a pristine tree.
jschoubben added 1 commit 2026-09-30 06:47:38 +00:00
novox/hq 04-ISSUES/125. A module assigned to a machine and never taken
runs none of what it declares. Status had no vocabulary for it: the
machine was heard from, current, and doing what it was told, so the mesh
printed "all doing what they were told" — which was true, and was acted
on, and every public name on the machine went dark.

Status now names each module a machine is holding rather than running,
per machine and with a count, read from what the MACHINE reported rather
than from the mesh's take-time listing — the machine is the only thing
that knows what it found. The JSON form carries the same rows, absent
rather than empty when nothing is held.

And a hold suppresses the all-well sentence, where being adopted does
not: adopted is a mode somebody chose, a module assigned and never taken
is a half-finished action with nothing left to finish it. The condition
is now a named function so the rule lives in one place and a test binds
to the real thing rather than a copy of it.

untakenModules raises a read it cannot make rather than answering "holding
nothing" from a failed query, which is the shape this whole issue is.
jschoubben merged commit a0d7d72a26 into main 2026-09-30 06:47:51 +00:00
jschoubben deleted branch fix/125-a-hold-is-a-line-in-the-report 2026-09-30 06:47:51 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-controller#150