checker_ask_again recovers a lost check that names no ask, when no check ask waits in any build stream #210

Merged
mesh-tools merged 2 commits from fix/1373-ask-again-no-ask into main 2026-11-12 23:53:51 +00:00
Member

issue 1373 (small fix, playbook 08; the operator's choice of 2026-11-13).

A lost check whose checker names no ask could not be asked again: checker_ask_again refused, since it could not tell whether an ask waited in a build seat's stream. Milestone G's group check (feat/47-G-join11.69ffef340e92) is lost this way. Now ask-again reads the build seats' backlog through mesh-delivery-view.build_usage (one new invoke) and ends the lost verdict only when every check and recheck row shows waiting 0 and held 0, the answer carries no note, and no step of the candidate runs; otherwise it refuses, naming the stream or the note. Stricter than 'no ask of that check' (the backlog carries no ask identity), and it never runs a check twice.

Quick fix chosen; the thorough fix (the cause: a group check asked while a lone member's own ask still ran was swallowed by the one-check-per-candidate claim) is not built, noted on the issue: G rewrites that part of the checker.

Tests: rows in TestACheckWhoseAskJudgedNothingIsAskedAgainOrRead (waiting, held, unreadable, delivery-only, two recheck rows) and in TestTheToolsServedAreTheFiveReadTools (a note refuses); each fails without the change. The checker's unit and integration tests pass locally. git merge-tree --write-tree 2ab74991 63f944b5 (G's mesh-delivery #209) is clean.

Reviewed-by: mesh-code-reviewer@shanks at 2ab74991b8
Pushed-by: lead-47@shanks

https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h

issue 1373 (small fix, playbook 08; the operator's choice of 2026-11-13). A lost check whose checker names no ask could not be asked again: checker_ask_again refused, since it could not tell whether an ask waited in a build seat's stream. Milestone G's group check (feat/47-G-join11.69ffef340e92) is lost this way. Now ask-again reads the build seats' backlog through `mesh-delivery-view.build_usage` (one new invoke) and ends the lost verdict only when every check and recheck row shows waiting 0 and held 0, the answer carries no note, and no step of the candidate runs; otherwise it refuses, naming the stream or the note. Stricter than 'no ask of that check' (the backlog carries no ask identity), and it never runs a check twice. Quick fix chosen; the thorough fix (the cause: a group check asked while a lone member's own ask still ran was swallowed by the one-check-per-candidate claim) is not built, noted on the issue: G rewrites that part of the checker. Tests: rows in TestACheckWhoseAskJudgedNothingIsAskedAgainOrRead (waiting, held, unreadable, delivery-only, two recheck rows) and in TestTheToolsServedAreTheFiveReadTools (a note refuses); each fails without the change. The checker's unit and integration tests pass locally. `git merge-tree --write-tree 2ab74991 63f944b5` (G's mesh-delivery #209) is clean. Reviewed-by: mesh-code-reviewer@shanks at 2ab74991b856e5a02f3db101eaf94dd94d2656c1 Pushed-by: lead-47@shanks https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
mesh-tools added 2 commits 2026-11-12 23:49:43 +00:00
Quick fix: a running verdict whose asks state names no ask is asked again when mesh-delivery-view's build_usage backlog shows
every check stream with 0 waiting and 0 held and no unreadable row, and no step of the candidate runs; otherwise it refuses,
naming the stream that holds asks. Adds the invoke mesh-delivery-view.build_usage to the checker's manifest.
Thorough fix (not built): a group check asked while a lone member's own ask ran was swallowed by the checker's claim of one
check per candidate; noted on issue 1373.

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
checker_ask_again: an unread backlog and a recheck ask refuse too (issue 1373, review)
mesh/delivery merged: source.main moved to novox/mesh-delivery@7221a1e5cd7f
mesh/check checking 2ab74991b856 on 7221a1e5cd7f
2ab74991b8
Principle 3: unread is never empty. build_usage's notes refuse; a waiting or held recheck ask refuses like a check ask.

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

Delivery novox/mesh-delivery@2ab74991b856 — merged since 2026-11-12T23:53:54Z

Source — source.main moved to novox/mesh-delivery@7221a1e5cd. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Transitions

  • 2026-11-12 23:49 (new) → proposed (announced): novox/mesh-delivery#210's head announced
  • 2026-11-12 23:49 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-12 23:53 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-delivery@2ab74991b856` — **merged** since 2026-11-12T23:53:54Z **Source** — source.main moved to novox/mesh-delivery@7221a1e5cd7f. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Transitions** - 2026-11-12 23:49 (new) → proposed (announced): novox/mesh-delivery#210's head announced - 2026-11-12 23:49 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-12 23:53 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 7221a1e5cd into main 2026-11-12 23:53:51 +00:00
mesh-tools deleted branch fix/1373-ask-again-no-ask 2026-11-12 23:53: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-delivery#210