story-kit: create 173_bug_pipeline_board_lozenges_dont_update_on_agent_state_changes

This commit is contained in:
Dave
2026-02-24 23:28:41 +00:00
parent cbccb78d93
commit 5807c1f5a6

View File

@@ -0,0 +1,28 @@
---
type: bug
title: Pipeline board lozenges don't update on agent state changes
---
# Bug 173: Pipeline board lozenges don't update on agent state changes
## Description
The pipeline board (`LozengeFlyContext`) only refreshes on `WorkItemChanged` and `PipelineState` WebSocket events (file moves between stages). It does not react to `AgentStateChanged` events. This means lozenge colors (amber=unassigned, green=agent working) don't update in real-time when agents are assigned or complete.
The coder assignment appeared to work because the file moved from `1_upcoming` to `2_current` at the same time, triggering a `WorkItemChanged` refresh. But QA assignment doesn't move the file (it's already in `3_qa`), so the lozenge stays amber until a full page refresh.
## Root cause
`LozengeFlyContext.tsx` does not consume `agentStateVersion` (or any equivalent signal from `AgentStateChanged` WebSocket events). Only `AgentPanel.tsx` reacts to that signal via `stateVersion`.
## Key files
- `frontend/src/components/LozengeFlyContext.tsx` — needs to react to `AgentStateChanged`
- `frontend/src/components/Chat.tsx:1074` — passes `stateVersion={agentStateVersion}` to `AgentPanel` but not to the pipeline board
- `frontend/src/components/AgentPanel.tsx:312` — example of how `stateVersion` triggers a re-fetch
## Acceptance Criteria
- [ ] Pipeline board re-fetches and updates lozenge colors when an `AgentStateChanged` event is received
- [ ] QA agent assignment turns the lozenge green without a page refresh
- [ ] All tests pass