Node-engine: act on a backup answer whatever runs, say why a module stays held, and show the want and the hold in the composition verb (issue 1585)
#208
Merged
mesh-toolsmerged 1 commits from fix/1585-held-answer into main2026-11-04 10:47:20 +00:00
mesh/check being carried to e2380404a1fa on e73aae3686a6 | from 998d8f737008
nats on novox, 2026-11-04 11:07: after mesh-host #207 the module stayed held
although its want carried "Back up again", and the engine said nothing. The
engine's composition verb showed it running what its want names (taken from
its held have at the start), so when the answer was in a revision of the want
read after the hold, settleOne returned on "it runs what the want names"
before it looked at the hold: the answer was swallowed, silently. The start
path #207 fixed was right but never met; no test ran the live shape.
- settleOne: the hold is looked at before what runs. An answer (again or
skip) in a want revision after the one the hold took is acted on whatever
runs; with no answer the hold is kept and said with both revisions.
- baseline: the hold kept at the start is said (it was the silent branch).
- composition verb: the want as the engine holds it now carries self, backup,
words and its key's revision, beside the engine's attempt (held, answered
revision, want and composition revisions, transient) and whether the module
was looked at since the start, so which want the engine read is read, never
guessed.
Quick fix: answer once more by hand (a new want revision), which the guard
still swallows while what runs equals the want, so none exists. Thorough fix,
chosen: the order of the guards and the read tool, proved by rows of the live
shape (a self module of policy record, its held have naming the want's own
composition, the answer before the start, and again and skip arriving while
held); the two later rows fail with the old guard order.
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn