diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index 728aaa5..f0d4cde 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -1,4 +1,5 @@ {"id":"bd-129","title":"Integration test: Parse real NEEDLE worker logs end-to-end","description":"Create a vitest integration test that reads actual NEEDLE log files from ~/.needle/logs/ and verifies the parser correctly extracts worker, bead, timestamp and event information from production logs.","status":"open","priority":1,"issue_type":"task","assignee":"coder","created_at":"2026-03-05T00:50:21.096072110Z","created_by":"coder","updated_at":"2026-03-05T03:59:38.777487983Z","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"bd-129","depends_on_id":"bd-21r","type":"blocks","created_at":"2026-03-05T00:50:55.481211428Z","created_by":"coder","metadata":"{}","thread_id":""}]} +{"id":"bd-12u","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:** %\n- **Uptime:** 2486s (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","created_at":"2026-03-07T05:34:08.367897639Z","created_by":"coder","updated_at":"2026-03-07T05:40:21.461936795Z","closed_at":"2026-03-07T05:40:21.461900289Z","close_reason":"FALSE POSITIVE: Ready-queue.json was stale (last updated 2026-03-05). 8 open beads exist. Worker starvation caused by stale cache, not lack of work. Regenerated ready-queue.","source_repo":".","compaction_level":0,"original_size":0} {"id":"bd-1dq","title":"Export Session Replay","description":"## Problem\nSession replay (SessionReplay.ts) exists but cannot be exported. Users cannot share replay links or files.\n\n## Context\n- **Workspace:** /home/coder/FABRIC\n- **Original Bead:** bd-muv (Gap analysis)\n- **Plan Reference:** docs/plan.md lines 393-436\n\n## Current State\n- src/tui/components/SessionReplay.ts: Full replay functionality\n- src/web/frontend/src/components/SessionReplay.tsx: Web replay\n- Missing: Export functionality\n\n## Requirements\n1. Export as shareable link (base64 encoded events)\n2. Export as .fabric-replay file (JSON)\n3. Import from file\n4. Import from URL parameter\n5. Share button in replay controls\n\n## Export Format\n```json\n{\n \"version\": \"1.0\",\n \"exportedAt\": 1709337600,\n \"eventCount\": 150,\n \"events\": [...],\n \"metadata\": {\n \"sessionStart\": 1709337000,\n \"sessionEnd\": 1709337600,\n \"workerCount\": 3\n }\n}\n```\n\n## URL Format\n?replay=base64EncodedEvents\n\n## Required for\n/home/coder/FABRIC bead bd-muv (Gap analysis: Compare implementation against plan.md and create beads for missing features)","status":"closed","priority":3,"issue_type":"task","assignee":"coder","created_at":"2026-03-07T03:45:20.377843343Z","created_by":"coder","updated_at":"2026-03-07T05:11:57.255877730Z","closed_at":"2026-03-07T05:11:57.255371348Z","close_reason":"Export Session Replay functionality implemented. Commit: 7ddbd78","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"bd-1dq","depends_on_id":"bd-muv","type":"blocks","created_at":"2026-03-07T03:46:41.972230442Z","created_by":"coder","metadata":"{}","thread_id":""}]} {"id":"bd-1f4","title":"ALERT: Worker claude-code-glm-5-alpha has no work available","description":"# Worker Starvation Alert\n\nWorker **claude-code-glm-5-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-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:** %\n- **Uptime:** 74580s (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-05T00:40:29.776223963Z","created_by":"coder","updated_at":"2026-03-05T00:46:18.571209865Z","closed_at":"2026-03-05T00:46:06.130470809Z","source_repo":".","compaction_level":0,"original_size":0,"comments":[{"id":10,"issue_id":"bd-1f4","author":"Jed Arden","text":"## Resolution: Expected Completion\n\nThis worker starvation alert is **LEGITIMATE** - the FABRIC project is 100% complete.\n\n**Evidence:**\n- Ready queue: 0 beads available\n- Open non-HUMAN beads: 0\n- Project completion: 100% (see ROADMAP.md)\n- All phases complete: Phase 1 (Core), Phase 2 (TUI), Phase 3 (Web), Phase 3.5 (Intelligence)\n\n**Conclusion:** No work available because there is no work to do. Project is complete.\n\nReference: worker-starvation-expected-completion pattern","created_at":"2026-03-05T00:46:18Z"}]} {"id":"bd-1f5","title":"ALERT: Worker claude-code-sonnet-bravo has no work available","description":"# Worker Starvation Alert\n\nWorker **claude-code-sonnet-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-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:** 5186s (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-05T05:13:34.984117592Z","created_by":"coder","updated_at":"2026-03-05T05:16:58.218991433Z","closed_at":"2026-03-05T05:16:58.218571122Z","close_reason":"FALSE POSITIVE: 8 beads available (br ready confirms). Worker discovery logic failed to find: bd-2b3, bd-2x9, bd-29t, bd-1j9, bd-129, bd-3rf, bd-1p8, bd-o0x","source_repo":".","compaction_level":0,"original_size":0} diff --git a/.beads/ready-queue.json b/.beads/ready-queue.json index 44f6d90..032f68b 100644 --- a/.beads/ready-queue.json +++ b/.beads/ready-queue.json @@ -1,5 +1,5 @@ { - "total_available": 11, + "total_available": 8, "beads": [ { "id": "bd-2b3", @@ -8,65 +8,47 @@ "issue_type": "task" }, { - "id": "bd-1h9", - "title": "Define FABRIC data types in Rust (LogEvent, WorkerInfo, BeadState)", + "id": "bd-129", + "title": "Integration test: Parse real NEEDLE worker logs end-to-end", "priority": 1, "issue_type": "task" }, { - "id": "bd-1q7", - "title": "Implement keyboard navigation (Tab, j/k, vim bindings)", + "id": "bd-1j9", + "title": "E2E test: WorkerDetail shows selected worker info", "priority": 1, "issue_type": "task" }, { - "id": "bd-21r", - "title": "Implement log parser in Rust (NEEDLE JSON format)", + "id": "bd-1p8", + "title": "Add hot reload for TUI when workers.log changes", "priority": 1, "issue_type": "task" }, { - "id": "bd-2dr", - "title": "Create WorkerGrid widget using frankentui", + "id": "bd-29t", + "title": "E2E test: ActivityStream displays scrolling log entries", "priority": 1, "issue_type": "task" }, { - "id": "bd-2kq", - "title": "Create ActivityStream widget using frankentui", + "id": "bd-2x9", + "title": "E2E test: WorkerGrid renders workers with status colors", "priority": 1, "issue_type": "task" }, { - "id": "bd-2xf", - "title": "Add file tailing with async log ingestion", + "id": "bd-3rf", + "title": "Regression test suite for frankentui TUI", "priority": 1, "issue_type": "task" }, { - "id": "bd-2zy", - "title": "Build and package fabric-tui binary", - "priority": 1, - "issue_type": "task" - }, - { - "id": "bd-3a1", - "title": "Set up Rust workspace for fabric-tui crate", - "priority": 1, - "issue_type": "task" - }, - { - "id": "bd-3p3", - "title": "Create WorkerDetail panel using frankentui", - "priority": 1, - "issue_type": "task" - }, - { - "id": "bd-2gy", - "title": "Migrate FABRIC TUI from blessed.js to frankentui (Rust)", + "id": "bd-o0x", + "title": "Add worker count badge to header", "priority": 2, - "issue_type": "epic" + "issue_type": "task" } ], - "last_updated": "2026-03-05T00:54:19Z" + "last_updated": "2026-03-07T05:40:15Z" }