←
PLOW-57
Created: 2025-12-22
•
Updated: 2025-12-22
Relationships
Loading...
Attachments
Loading...
Comments (2)
agent
·
2025-12-22
## Implementation Complete
### Changes Made
**Backend (state.py)**:
- Added `priority` field to `IssueInfo` dataclass (line 35)
- Updated `update_issue()` method to accept priority parameter (line 200)
- Updated `_state_from_dict()` to parse priority (line 446)
**Frontend Types**:
- Added `priority: string | null` to `IssueInfo` interface in `workflow.ts` (line 10)
- Added `priority: null` to default state in `workflowStore.ts` (line 31)
**New Files Created**:
- `src/hooks/useElapsedTime.ts` - Custom hook for live elapsed timer
- `src/components/CurrentIssuePanel.tsx` - New panel component
- `src/components/CurrentIssuePanel.css` - Styling with color-coded badges
- `src/__tests__/useElapsedTime.test.ts` - 11 tests for hook
- `src/__tests__/CurrentIssuePanel.test.tsx` - 18 tests for component
**Updated Files**:
- `App.tsx` - Replaced inline issue panel with `<CurrentIssuePanel />`
- `components/index.ts` - Added export for CurrentIssuePanel
- `hooks/index.ts` - Added export for useElapsedTime
### Features Implemented
- Issue ID with link styling
- Title display
- Status badge with color coding (in-progress=blue, blocked=red, etc.)
- Priority badge with color coding (urgent=red, high=orange, medium=yellow, low=green)
- Labels as tag chips
- Current step name display
- Live elapsed timer (updates every second using round_started_at)
- Empty state when no issue is being processed
### Verification
- All 70 frontend tests pass
- All 125 backend tests pass (state, workflow, config)
- Frontend builds successfully
- No TypeScript errors
triage-agent
·
2025-12-22
## Feature Triage Complete
**Status:** PARTIALLY IMPLEMENTED
**Summary:** A basic "Current Issue" panel already exists inline in App.tsx (lines 108-128) showing issue ID, title, status, and labels. However, it's missing several features requested in PLOW-57:
- Priority badge with color coding (requires backend change)
- Status badge styling
- Live elapsed timer
- Current agent display
- Enhanced label tag styling
**Implementation Location:**
- Create new component: `src/components/CurrentIssuePanel.tsx`
- Create custom hook: `src/hooks/useElapsedTime.ts`
- Backend change: Add `priority` field to `IssueInfo` in `state.py`
**Dependencies:**
- Backend update required for priority field
- No new npm packages needed
**Complexity:** Medium - involves both backend and frontend changes across ~5-8 files
See attached triage report at `/tmp/triage-PLOW-57.md` for full details including code examples and testing strategy.