Skip to content

UX — F75 workbench active state, F95, F97 proof of life on the harness card - #119

Merged
munchist merged 1 commit into
mainfrom
aflow/ux-f75-f95-f97-live-state
Oct 16, 2026
Merged

munchist merged 1 commit into
mainfrom
aflow/ux-f75-f95-f97-live-state

Conversation

@munchist

Copy link
Copy Markdown
Contributor

The UX slice of Plan 315 §6 — F75, F95, F97 — so the operator sees a conversation's and a commission's state without opening each one:

  • F75 — a workbench conversation row (WorkbenchRecentConversations.tsx, WorkbenchConversationRow.tsx) carries its live state: the agent's turn from the session hot state and the runs the conversation waits on with their phase, through the existing useApiQuery and entity-event broker paths on the ['space', spaceId, …] keys, never a per-row fetch.
  • F95 — the run surface (WorkflowRunSurface.tsx, TaskExecutionDetails.tsx) shows a harness task's live feed — last tool line, elapsed time, turns — from the step's activity stream, the same card the chat shows, one component mounted in both places, not a second rendering.
  • F97 — the harness activity card (harness-activity-card.tsx) leads with the agent's last status or plain-text message and the time since its last activity, then the files it changed, with the tool lines collapsed behind a disclosure; exit codes are shown only where the harness reports them truthfully (F84 is open, so a command's non-zero exit is not shown as failure).

Tests state each property: a row with a running commission renders its phase; the run surface mounts the card for a harness task carrying activity; the card's lead line is the last status or message and the tool lines are collapsed by default. Any extension of the activity event shape is in the Zod schema first and derived from there.

…and the harness card (F75, F95, F97)

F75 — a workbench conversation row carries its live state: the agent's
turn from the session hot state and the runs the conversation waits on
with their phase, through the existing useApiQuery and entity-event
broker paths on the ['space', spaceId, …] keys, never a per-row fetch.

F95 — the run surface's harness task shows the same live card the chat
shows — last tool line, elapsed time, turns — from the step's activity
stream, one component mounted in both places, not a second rendering.

F97 — the harness activity card leads with the agent's last status or
plain-text message and the time since its last activity, then the files
it changed, with the tool lines collapsed behind a disclosure; exit
codes are shown only where the harness reports them truthfully (F84 is
open, so a command's non-zero exit is not shown as failure).

Tests state each property: a row with a running commission renders its
phase; the run surface mounts the card for a harness task carrying
activity; the card's lead line is the last status or message and the
tool lines are collapsed by default. Any extension of the activity
event shape is in the Zod schema first and derived from there.
@munchist
munchist merged commit b9b62aa into main Oct 16, 2026
3 checks passed
@munchist
munchist deleted the aflow/ux-f75-f95-f97-live-state branch October 16, 2026 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant