Pin the mid-tool-call rule in the control board scanner (#1503)
Acceptance rule (plan page, bf641e22): a seat mid-tool-call is working,
never waiting. The scanner already met it through pi's stopReason values;
deriveState now also checks the content for a toolCall block (working),
after the error stop reasons and before "stop" (waiting). Thinking blocks
do not keep a text turn from being waiting. Three JSONL fixture tests and
three state-table cases pin the rule. Live check on the real board:
orch-01 and rev-code-01 mid-tool-call are working, velma's finished
text-only turn is waiting. Sonnet review: APPROVED.
Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
@@ -218,3 +218,4 @@ are never rewritten or removed; corrections are new entries.
|
||||
- 2026-09-12 — jarvis (Claude Code, coordinator) — Control board step 3, second refinement (#1503): Jason asked for a way to recall Seen rows; added a collapsed "Seen (N)" section with Unsee per row. Page-only change plus one static test (64/64); sonnet review APPROVED; live check in Chrome against Jason's two real marks.
|
||||
- 2026-09-12 — jarvis (Claude Code, coordinator) — Control board step 3, third refinement (#1503): Jason suggested a per-project "Hide seen" checkbox beside "Hide offline"; added, on by default, with a combined hidden-count note. Page-only change plus one static test (65/65); sonnet review APPROVED (one test-rigor FYI fixed); live check in Chrome.
|
||||
- 2026-09-12 — jarvis (Claude Code, coordinator) — Control board step 3, fourth refinement (#1503): Jason asked for "N of N" in the project header; now "shown of total" while a checkbox hides rows, plain total otherwise. Page-only change plus one static test (66/66); sonnet review APPROVED (no findings); live check in Chrome at all four edges.
|
||||
- 2026-09-12 — jarvis (Claude Code, coordinator) — Control board step 3, mid-tool-call rule (#1503), asked by the professor session on Jason's behalf: scanner already honoured the rule via stopReason; added a content-level toolCall check, 3 fixture tests + 3 table cases (69/69); live check on orch-01/rev-code-01 (working) and velma (waiting); sonnet review APPROVED (no findings; thinking-block nuance already recorded).
|
||||
|
||||
@@ -145,6 +145,19 @@ closed across refreshes.
|
||||
Seen section exists. Each project header has both boxes, on by default,
|
||||
and the note under the table reads "N offline hidden · N seen hidden".
|
||||
|
||||
**2026-09-12 — Mid-tool-call rule checked and pinned.** Requested by the
|
||||
professor session on Jason's behalf. Finding: the scanner already honoured
|
||||
the rule, but only through pi's `stopReason` (`toolUse` and tool results
|
||||
were `working`, `stop` was `waiting`; `deriveState` in `scan.mjs`). It now
|
||||
also looks at the content: an assistant message with a `toolCall` block is
|
||||
`working` whatever its stop reason; an error stop reason still wins; a
|
||||
`thinking` block does not stop a text turn from being `waiting`. Three
|
||||
fixture tests (tool call after a question-looking text, tool result last,
|
||||
finished text-only turn) plus three state-table cases. Live check at
|
||||
14:27Z: orch-01 mid-tool-call → working, rev-code-01 tool result last →
|
||||
working, velma finished text-only turn → waiting; all 13 waiting seats had
|
||||
text-only (or thinking+text) last messages, none had a tool call.
|
||||
|
||||
**2026-09-12 — Header count "N of N".** Jason pointed out that "fleet (38)"
|
||||
sat above a table showing 13 rows. The header now reads "fleet (13 of 38)"
|
||||
while a checkbox hides something and falls back to "fleet (38)" when nothing
|
||||
|
||||
Reference in New Issue
Block a user