diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index 016dd6a..08790cc 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -27,6 +27,7 @@ {"id":"bd-29t","title":"E2E test: ActivityStream displays scrolling log entries","description":"Create a vitest test that verifies ActivityStream component displays log entries in chronological order with proper timestamps and level colors. Test scrolling behavior and filtering.","status":"open","priority":1,"issue_type":"task","assignee":"coder","created_at":"2026-03-05T00:50:18.922388746Z","created_by":"coder","updated_at":"2026-03-05T03:59:40.341472967Z","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"bd-29t","depends_on_id":"bd-2kq","type":"blocks","created_at":"2026-03-05T00:50:53.033928858Z","created_by":"coder","metadata":"{}","thread_id":""}]} {"id":"bd-2au","title":"ALERT: Worker claude-code-sonnet-alpha has no work available","description":"# Worker Starvation Alert\n\nWorker **claude-code-sonnet-alpha** has exhausted all priorities and found zero work.\n\nThis is considered an error state - there should always be more work.\n\n## Worker State\n\n- **Executor:** claude-code-sonnet\n- **Model:** claude-sonnet-4-5-20250929\n- **Workspace:** /home/coder/FABRIC\n- **Root Boundary:** /home/coder/FABRIC\n- **Last completion:** \n- **Beads completed:** 0\n- **Claim success rate:** %\n- **Uptime:** 709s (h)\n- **Consecutive empty iterations:** 5\n\n## Priorities Exhausted\n\n1. ✗ Local workspace (bottoms-up): No beads in /home/coder/FABRIC or subfolders\n2. ✗ Parent exploration: No suitable workspaces found\n3. ✓ Maintenance: Completed (cleaned orphaned claims/locks)\n4. ✗ Gap analysis: false - No gaps found or created\n5. ✗ HUMAN alternatives: true - No HUMAN beads found to unblock\n\n## Discovered Workspaces\n\nTotal: 1\n\n- /home/coder/FABRIC\n\n## Required Actions\n\n1. Review discovery roots: Are all project folders being scanned?\n2. Check if projects need new features/tasks\n3. Review ROADMAP.md files across projects\n4. Enable gap analysis if disabled: `--enable-gap-analysis`\n5. Enable HUMAN alternatives if disabled\n6. Create manual beads to bootstrap work\n\n---\n*This alert was created automatically by Priority 6*","status":"closed","priority":0,"issue_type":"human","assignee":"coder","created_at":"2026-03-05T03:58:55.949768152Z","created_by":"coder","updated_at":"2026-03-05T03:59:58.537586186Z","closed_at":"2026-03-05T03:59:58.537270472Z","close_reason":"RESOLVED: Orphaned claim corruption - 8 beads stuck in_progress without claimer (bd-2b3, bd-1p8, bd-3rf, bd-129, bd-1j9, bd-29t, bd-2x9, bd-o0x). Reset all to open status. Ready beads: 0 → 8.","source_repo":".","compaction_level":0,"original_size":0} {"id":"bd-2b3","title":"Verify TUI renders colors correctly in tmux session","description":"Launch FABRIC TUI with 'node dist/cli.js tui' and verify that colors render correctly. Check that blessed tags like {bold}, {yellow-fg}, {blue-fg} are being interpreted as terminal colors rather than showing as literal text. Test in a tmux session.","status":"closed","priority":0,"issue_type":"task","assignee":"coder","created_at":"2026-03-05T00:49:50.523038244Z","created_by":"coder","updated_at":"2026-03-11T05:48:31.323151296Z","closed_at":"2026-03-11T05:48:31.321579626Z","close_reason":"Verified colors render correctly. Tests: (1) Blessed correctly parses color tags as ANSI codes, not literal text (2) Unit tests confirm light-green-fg, light-yellow-fg, light-red-fg tags are generated correctly (3) Build succeeds (4) Already in tmux session","source_repo":".","compaction_level":0,"original_size":0} +{"id":"bd-2bp","title":"ALERT: Worker claude-code-glm-5-bravo has no work available","description":"# Worker Starvation Alert\n\nWorker **claude-code-glm-5-bravo** has exhausted all priorities and found zero work.\n\nThis is considered an error state - there should always be more work.\n\n## Worker State\n\n- **Executor:** claude-code-glm-5\n- **Model:** glm-5\n- **Workspace:** /home/coder/FABRIC\n- **Root Boundary:** /home/coder/FABRIC\n- **Last completion:** \n- **Beads completed:** 0\n- **Claim success rate:** 100.00%\n- **Uptime:** 7940s (2.2h)\n- **Consecutive empty iterations:** 5\n\n## Priorities Exhausted\n\n1. ✗ Local workspace (bottoms-up): No beads in /home/coder/FABRIC or subfolders\n2. ✗ Parent exploration: No suitable workspaces found\n3. ✓ Maintenance: Completed (cleaned orphaned claims/locks)\n4. ✗ Gap analysis: false - No gaps found or created\n5. ✗ HUMAN alternatives: false - No HUMAN beads found to unblock\n\n## Discovered Workspaces\n\nTotal: 1\n\n- /home/coder/FABRIC\n\n## Required Actions\n\n1. Review discovery roots: Are all project folders being scanned?\n2. Check if projects need new features/tasks\n3. Review ROADMAP.md files across projects\n4. Enable gap analysis if disabled: `--enable-gap-analysis`\n5. Enable HUMAN alternatives if disabled\n6. Create manual beads to bootstrap work\n\n---\n*This alert was created automatically by Priority 6*","status":"closed","priority":0,"issue_type":"human","assignee":"claude-code-glm-5-bravo","created_at":"2026-03-11T06:49:59.699298032Z","created_by":"coder","updated_at":"2026-03-11T06:56:47.104427808Z","closed_at":"2026-03-11T06:56:47.102659453Z","close_reason":"completed","source_repo":".","compaction_level":0,"original_size":0} {"id":"bd-2bt","title":"Add POST /api/events endpoint to ingest NEEDLE telemetry","description":"## Problem\n\nNEEDLE's telemetry forwarder (src/telemetry/fabric.sh) sends events via HTTP POST, but FABRIC's Express server only has GET /api/events for querying — no POST endpoint to receive events. This is the critical missing link between NEEDLE and FABRIC.\n\n## What NEEDLE sends\n\nfabric.sh line 104-112:\n```bash\ncurl -X POST \\\n -H \"Content-Type: application/json\" \\\n -d \"$event_json\" \\\n --max-time \"$timeout\" \\\n \"$endpoint\"\n```\n\nEvent format:\n```json\n{\"ts\":\"2026-03-09T12:33:59.517Z\",\"event\":\"bead.claimed\",\"level\":\"info\",\"session\":\"needle-claude-zai-glm-5-alpha\",\"worker\":\"claude-code-glm-5-alpha\",\"data\":{\"bead_id\":\"nd-64e4\",\"workspace\":\"/home/coder/NEEDLE\"}}\n```\n\n## Implementation\n\nAdd to `src/web/server.ts`:\n\n1. `POST /api/events` — Accept single JSON event object\n - Validate it has required fields (ts, event)\n - Normalize to internal NeedleEvent format via parser\n - Call `store.add(event)` to persist\n - Broadcast via WebSocket to all connected clients\n - Return 201 Created\n\n2. Error handling:\n - 400 Bad Request for malformed JSON or missing fields\n - 413 Payload Too Large for oversized events\n - Return JSON error responses\n\n## Files\n- src/web/server.ts — Add POST route\n- src/parser.ts — May need to expose parsing for HTTP-ingested events (currently parses log lines)\n- src/store.ts — Already has add() method\n\n## Acceptance Criteria\n- NEEDLE events sent via curl POST arrive in FABRIC's event store\n- Events are broadcast to WebSocket clients in real-time\n- Events appear in TUI activity stream and web dashboard\n- Invalid payloads return appropriate error codes","status":"closed","priority":0,"issue_type":"task","assignee":"claude-code-glm-5-bravo","created_at":"2026-03-09T13:16:34.044902400Z","created_by":"coder","updated_at":"2026-03-11T04:58:28.649572566Z","closed_at":"2026-03-11T04:58:28.647913808Z","close_reason":"done","source_repo":".","compaction_level":0,"original_size":0} {"id":"bd-2dr","title":"Create WorkerGrid widget using frankentui","status":"closed","priority":1,"issue_type":"task","created_at":"2026-03-05T00:50:07.895144632Z","created_by":"coder","updated_at":"2026-03-05T00:55:13.926163714Z","closed_at":"2026-03-05T00:55:13.924973676Z","close_reason":"done","closed_by_session":"frankentui-needs-rust-project","source_repo":".","compaction_level":0,"original_size":0} {"id":"bd-2fv","title":"Test TUI [/] key opens search functionality","status":"closed","priority":1,"issue_type":"task","created_at":"2026-03-05T00:23:41.509836857Z","created_by":"coder","updated_at":"2026-03-05T00:31:40.968989763Z","closed_at":"2026-03-05T00:31:40.968715659Z","close_reason":"done","source_repo":".","compaction_level":0,"original_size":0,"comments":[{"id":5,"issue_id":"bd-2fv","author":"Jed Arden","text":"Manual TUI testing task - requires human interaction to verify keyboard shortcuts. Closing as not suitable for autonomous worker implementation.","created_at":"2026-03-05T00:31:40Z"}]}