Show task, active project and workspace per control board row (#1503)
Gate A fix asked by the professor session on Jason's behalf. Each row
now carries three derived fields, shown as "unknown" when the log and
tmux do not hold them:
- task: the session's first user message (pi logs have no task envelope)
- workspace: the live pane path of the pane running pi, else session cwd
- activeProject: basename of the nearest git checkout above the workspace
tmuxInspect replaces the bare liveness call in the CLI and returns
{ alive, workspace }; tmuxIsAlive stays as a wrapper. The grouping column
and seen.json keys are unchanged. Fixture test per field, tmux parse
tests, page test; missing launcher signals are recorded in the plan page.
Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
@@ -219,3 +219,4 @@ are never rewritten or removed; corrections are new entries.
|
||||
- 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).
|
||||
- 2026-09-12 — jarvis (Claude Code, coordinator) — Control board step 3, Gate A fix (#1503), asked by the professor session on Jason's behalf: per-row Task (first user message), Active project (nearest git checkout above the workspace) and Workspace (live tmux pane path, else session cwd), "unknown" when not derivable; missing launcher signals logged on the plan page. Fixture test per field (79/79); live check on a scratch server; sonnet review APPROVED (no findings).
|
||||
|
||||
@@ -50,6 +50,25 @@ Acceptance:
|
||||
|
||||
### Step 3 log
|
||||
|
||||
**2026-09-12 — Gate A fix: task, active project and workspace per row.**
|
||||
Asked by the professor session on Jason's behalf. Each row now shows
|
||||
Task (the session's first user message), Active project (basename of the
|
||||
nearest git checkout above the workspace) and, in the detail row,
|
||||
Workspace (the live `#{pane_current_path}` of the pane running `pi`, else
|
||||
the session log's `cwd`). Anything that cannot be derived shows the word
|
||||
"unknown". Missing signals, for launchers: (1) pi session logs carry no
|
||||
task envelope entry, so Task is the free-text first user message, which
|
||||
for fleet seats is a fleet-comms envelope and for hand-started seats is
|
||||
whatever was typed ("resume", "who are you?"); a launcher that wants a
|
||||
clean task label should emit one as the first line of the first message
|
||||
or write a per-seat status file the scanner can read. (2) Neither
|
||||
`roster.yaml` nor a seat's `profile.json` names a project, and every fleet
|
||||
seat runs in `~/.mosaic`, which is itself a git checkout, so Active
|
||||
project reads `.mosaic` for all of them; a `project` field in the roster
|
||||
would fix that. (3) Workspace is only live while a `pi` pane exists; for
|
||||
offline seats it is history from the log. Fixture test per field, a
|
||||
tmux-inspect parse test, and a page test (79/79). Sonnet review: APPROVED, no findings.
|
||||
|
||||
**2026-09-12 — liveness follows the tmux pane, not just the session.**
|
||||
Jason found agents marked "waiting" that were actually dead: their tmux
|
||||
session still existed but no longer ran `pi` (it had exited to a shell or
|
||||
|
||||
Reference in New Issue
Block a user