diff --git a/.story_kit/work/2_current/83_story_remove_active_work_list_from_agents_panel.md b/.story_kit/work/2_current/83_story_remove_active_work_list_from_agents_panel.md
new file mode 100644
index 0000000..2223dfe
--- /dev/null
+++ b/.story_kit/work/2_current/83_story_remove_active_work_list_from_agents_panel.md
@@ -0,0 +1,20 @@
+---
+name: "Remove active work list from Agents panel"
+test_plan: approved
+---
+
+# Story 83: Remove active work list from Agents panel
+
+## User Story
+
+As a user, I want the Agents panel to only show the agent roster (with lozenges) and not a separate list of active work items, since the flying lozenges already indicate which agents are working on which stories.
+
+## Acceptance Criteria
+
+- [ ] The Agents panel no longer displays the list of active work items / agents-at-work section
+- [ ] The agent roster with availability lozenges remains visible and functional
+- [ ] Flying lozenge animations continue to work as before
+
+## Out of Scope
+
+- TBD
diff --git a/frontend/src/components/AgentPanel.test.tsx b/frontend/src/components/AgentPanel.test.tsx
index ef4aafa..8dd10b5 100644
--- a/frontend/src/components/AgentPanel.test.tsx
+++ b/frontend/src/components/AgentPanel.test.tsx
@@ -66,6 +66,7 @@ describe("AgentPanel active work list removed", () => {
expect(
container.querySelector('[data-testid^="agent-entry-"]'),
).not.toBeInTheDocument();
+<<<<<<< HEAD
});
});
@@ -140,73 +141,3 @@ describe("RosterBadge availability state", () => {
});
});
-describe("RosterBadge availability state", () => {
- beforeAll(() => {
- Element.prototype.scrollIntoView = vi.fn();
- });
-
- beforeEach(() => {
- mockedAgents.getAgentConfig.mockResolvedValue(ROSTER);
- mockedAgents.listAgents.mockResolvedValue([]);
- });
-
- it("shows a green dot for an idle agent", async () => {
- render();
-
- const dot = await screen.findByTestId("roster-dot-coder-1");
- // JSDOM normalizes #3fb950 to rgb(63, 185, 80)
- expect(dot.style.background).toBe("rgb(63, 185, 80)");
- expect(dot.style.animation).toBe("");
- });
-
- it("shows green badge styling for an idle agent", async () => {
- render();
-
- const badge = await screen.findByTestId("roster-badge-coder-1");
- // JSDOM normalizes #3fb95015 to rgba(63, 185, 80, 0.082) and #3fb950 to rgb(63, 185, 80)
- expect(badge.style.background).toBe("rgba(63, 185, 80, 0.082)");
- expect(badge.style.color).toBe("rgb(63, 185, 80)");
- });
-
- it("shows a blue pulsing dot for an active agent", async () => {
- const agentList: AgentInfo[] = [
- {
- story_id: "81_active",
- agent_name: "coder-1",
- status: "running",
- session_id: null,
- worktree_path: null,
- base_branch: null,
- },
- ];
- mockedAgents.listAgents.mockResolvedValue(agentList);
-
- render();
-
- const dot = await screen.findByTestId("roster-dot-coder-1");
- // JSDOM normalizes #58a6ff to rgb(88, 166, 255)
- expect(dot.style.background).toBe("rgb(88, 166, 255)");
- expect(dot.style.animation).toBe("pulse 1.5s infinite");
- });
-
- it("shows blue badge styling for an active agent", async () => {
- const agentList: AgentInfo[] = [
- {
- story_id: "81_active",
- agent_name: "coder-1",
- status: "running",
- session_id: null,
- worktree_path: null,
- base_branch: null,
- },
- ];
- mockedAgents.listAgents.mockResolvedValue(agentList);
-
- render();
-
- const badge = await screen.findByTestId("roster-badge-coder-1");
- // JSDOM normalizes #58a6ff18 to rgba(88, 166, 255, 0.094) and #58a6ff to rgb(88, 166, 255)
- expect(badge.style.background).toBe("rgba(88, 166, 255, 0.094)");
- expect(badge.style.color).toBe("rgb(88, 166, 255)");
- });
-});