Summary
A worker session whose status is pr_open or draft is shown as a breathing orange "Working" pill in the session topbar — implying the agent is actively working — while the board files the exact same session under "In review" and the sidebar shows a neutral dot. The three surfaces disagree, and the topbar's reading is the misleading one: a session that has opened a PR and gone idle awaiting review is animated as if it's busy coding.
Expected behavior
For a session with an open or draft PR (agent idle, awaiting review), the topbar status pill should reflect a review/pending state consistent with the board and sidebar — not a breathing "Working".
Actual behavior
- Board: session sits in the "In review" column with a "PR open" / "Draft PR" badge.
- Sidebar: neutral/passive dot.
- Topbar: breathing orange "Working" pill.
The breathing animation specifically signals active agent work, so the topbar tells a story that contradicts the other two views.
Root cause
Two status-mapping functions handle pr_open/draft differently, and the topbar uses the one that has no case for them:
attentionZone maps pr_open and draft → pending → board "In review":
frontend/src/renderer/types/workspace.ts:277-280
workerDisplayStatus has no case for pr_open or draft, so they fall through to default: return "working":
frontend/src/renderer/types/workspace.ts:158-159
- The topbar
SessionStatusPill feeds workerDisplayStatus into STATUS_PILL, where working is { label: "Working", tone: var(--orange), breathe: true }:
frontend/src/renderer/components/ShellTopbar.tsx (STATUS_PILL, SessionStatusPill)
So pr_open/draft collapse into the "working" bucket — the one bucket that is orange and animates.
Steps to reproduce
- Spawn a worker and have its agent open a normal PR from the session branch (not failing CI, no review requested/approved → derives to
pr_open; a draft PR gives draft).
- On the board, confirm the session appears in the "In review" column with a "PR open" badge.
- Open that session.
- Observe the topbar status pill: it shows a breathing orange "Working", contradicting the board.
Affected files
frontend/src/renderer/types/workspace.ts (workerDisplayStatus, ~lines 139-161)
frontend/src/renderer/components/ShellTopbar.tsx (STATUS_PILL, SessionStatusPill)
Summary
A worker session whose status is
pr_openordraftis shown as a breathing orange "Working" pill in the session topbar — implying the agent is actively working — while the board files the exact same session under "In review" and the sidebar shows a neutral dot. The three surfaces disagree, and the topbar's reading is the misleading one: a session that has opened a PR and gone idle awaiting review is animated as if it's busy coding.Expected behavior
For a session with an open or draft PR (agent idle, awaiting review), the topbar status pill should reflect a review/pending state consistent with the board and sidebar — not a breathing "Working".
Actual behavior
The breathing animation specifically signals active agent work, so the topbar tells a story that contradicts the other two views.
Root cause
Two status-mapping functions handle
pr_open/draftdifferently, and the topbar uses the one that has no case for them:attentionZonemapspr_openanddraft→pending→ board "In review":frontend/src/renderer/types/workspace.ts:277-280workerDisplayStatushas no case forpr_openordraft, so they fall through todefault: return "working":frontend/src/renderer/types/workspace.ts:158-159SessionStatusPillfeedsworkerDisplayStatusintoSTATUS_PILL, whereworkingis{ label: "Working", tone: var(--orange), breathe: true }:frontend/src/renderer/components/ShellTopbar.tsx(STATUS_PILL,SessionStatusPill)So
pr_open/draftcollapse into the "working" bucket — the one bucket that is orange and animates.Steps to reproduce
pr_open; a draft PR givesdraft).Affected files
frontend/src/renderer/types/workspace.ts(workerDisplayStatus, ~lines 139-161)frontend/src/renderer/components/ShellTopbar.tsx(STATUS_PILL,SessionStatusPill)