Ready queue had 17 beads available. Worker discovery logic failed
to check .beads/ready-queue.json before escalating to HUMAN bead.
Co-Authored-By: Claude Worker <noreply@anthropic.com>
- Create WorkerAnalyticsPanel.ts with worker metrics display
- Add support for list view, detail view, and aggregated view
- Implement multiple sort modes (beads, error rate, cost, efficiency)
- Wire into app.ts with 'A' keyboard shortcut
- Update help documentation with Worker Analytics section
- Close bd-3af
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude Worker <noreply@anthropic.com>
17 beads available in ready-queue.json - worker discovery failed
to check ready queue before escalating to HUMAN alert.
Pattern documented in MEMORY.md under 'False-Positive HUMAN Beads'.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Ready queue shows 17 available beads. This alert was created without
checking ready-queue.json first, following same pattern as bd-1ql,
bd-2bn, bd-izl, bd-2rq and other similar false positives.
Co-Authored-By: Claude Worker <noreply@anthropic.com>
Work is available in ready-queue.json (17 beads). Worker discovery
logic should check ready-queue.json before creating HUMAN beads.
Pattern: worker-starvation-false-positive
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude Worker <noreply@anthropic.com>
17 beads were available in ready-queue.json but worker discovery
failed to find them. Following MEMORY.md resolution pattern.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Ready queue has 17 beads available. Worker discovery failed to check
ready-queue.json before escalating to HUMAN bead creation.
Co-Authored-By: Claude Worker <noreply@anthropic.com>
Worker claude-code-glm-5-alpha reported no beads available, but br ready
confirms 12 beads available (8 ready to work). Worker discovery logic failed.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
17 beads available in ready-queue.json. Worker discovery logic
failed to check ready queue before escalating to HUMAN bead.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Ready queue had 17 beads available. Worker discovery logic should
check ready-queue.json before creating HUMAN beads for 'no work available'.
Co-Authored-By: Claude <noreply@anthropic.com>
Worker created HUMAN bead unnecessarily when 17 beads were available
in ready-queue.json. Worker discovery failed to check ready queue
before escalating to HUMAN bead creation.
Co-Authored-By: Claude Worker <noreply@anthropic.com>
Pattern 2: Orphaned claim database corruption
- 12 beads available (br ready confirmed)
- Reset bd-29t to open successfully
- bd-1a6 still stuck with 'cursor must be on a leaf to delete' error
- Worker discovery failed despite available work
- Matches bd-2y0 corruption pattern (2026-03-04)
Co-Authored-By: Claude Worker <noreply@anthropic.com>
Ready queue has 17 beads available - workers should check
ready-queue.json before creating starvation alerts.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed orphaned in_progress beads stuck without claim fields.
Reset 7 beads to open status: bd-k1p, bd-1qq, bd-2bs, bd-159, bd-39v, bd-msa, bd-2st
bd-1a6 encountered database error but shows as ready.
Root cause: JSONL orphaned claim corruption - beads marked in_progress
without claimed_by/claimed_at fields, making them invisible to workers.
Resolution: Manual br update to reset status to open.
Co-Authored-By: Claude Worker <noreply@anthropic.com>
Implemented TUI component to display full Claude conversation for a worker:
- User prompts with role indicators
- Assistant responses with syntax highlighting
- Collapsible tool calls with arguments
- Tool results with success/error indicators
- Thinking blocks
- Search functionality across conversation
- Scrolling support
- Export to JSON/Markdown/Text
Features:
- Role-based color coding (user, assistant, tool)
- Basic syntax highlighting for code blocks
- Keyboard shortcuts for navigation and search
- Comprehensive test coverage (24 tests)
Co-Authored-By: Claude Worker <noreply@anthropic.com>
The DependencyDag component was already fully integrated into the main TUI app:
- Component imported and instantiated in app.ts
- Keyboard shortcut 'D' toggles DAG view
- View mode 'dag' properly handled in setViewMode()
- All 97 tests pass for DependencyDag and dagUtils
- All 44 tests pass for the main TUI app
Co-Authored-By: Claude Worker <noreply@anthropic.com>
Implemented GitIntegration component showing live git status per workspace:
- Display current branch with tracking info (ahead/behind)
- Show staged, unstaged, and untracked files with status icons
- Display recent commits with hash, time, and message
- Detect and highlight merge conflicts
- Keyboard shortcuts: [I] toggle view, [r] refresh, [c] clear
- Full test coverage (17 tests passing)
- Integrated into main TUI app with view mode toggle
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude Worker <noreply@anthropic.com>
- Add SessionDigest component with 5 tabs: Summary, Beads, Files, Errors, Workers
- Display session statistics, completed beads, modified files, errors, worker summaries
- Add export functionality for JSON, Markdown, and plain text formats
- Integrate with app.ts via 'G' key binding
- Add help text for session digest commands
- Generate session digest from event store data
Co-Authored-By: Claude Worker <noreply@anthropic.com>
Integrated CollisionAlert component into the main TUI application with the following features:
- Added collision alert panel to UI layout (hidden by default)
- Added 'C' keyboard shortcut to toggle collision alert view
- Added collision detection to event processing pipeline
- Collision alerts auto-update when new events are processed
- Added collision view mode with dedicated header and footer
- Updated footer to show collision shortcut in default view
- Updated help overlay with collision alert controls
- Added command palette support for 'collisions' command
- Collision alerts can be acknowledged individually or all at once
- Alerts are grouped by severity (critical/error, warning, info)
All tests pass (1046 passed, 3 skipped).
Co-Authored-By: Claude Worker <noreply@anthropic.com>
- Add GitEvent types (GitStatusEvent, GitCommitEvent, GitBranchEvent, GitDiffEvent)
- Implement git event parsing in gitParser.ts
- Support parsing git status (staged, unstaged, untracked files)
- Support parsing git commits with file changes
- Support parsing git branch information
- Support parsing git diff output with line counts
- Add comprehensive unit tests (19 tests)
- All tests pass (1011 total tests)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
FileHeatmap component is fully integrated into main TUI app:
- Keyboard shortcut 'H' toggles heatmap view
- Real-time file access aggregation from event store
- Shows most-touched files with multiple sort modes
- All tests passing (943 tests, including 130 FileHeatmap tests)
Additional fixes:
- Fixed ErrorGroupPanel options to support bottom property
- Added vitest globals configuration for proper TypeScript support
- Fixed type assertions in server.test.ts
- Created comprehensive integration documentation
Co-Authored-By: Claude Worker <noreply@anthropic.com>
Implemented Focus Mode functionality with the following features:
- Added keybindings: p (pin/unpin worker), P (pin/unpin bead), F (toggle focus)
- Visual indicators (📌) for pinned workers and beads
- Dimmed display for non-pinned items when Focus Mode is enabled
- Updated footer to show Focus Mode status and pinned items
- Updated help overlay with Focus Mode documentation
- Added setFocusMode methods to WorkerGrid and ActivityStream components
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Comprehensive worker performance metrics tracking system:
Features:
- Beads per hour calculation
- Average completion time tracking
- Error rate monitoring
- Cost per bead calculation (USD)
- Idle percentage tracking
- Time-series data storage and retrieval
- Performance trend analysis
- Aggregated analytics across all workers
Implementation:
- Added WorkerAnalytics types to types.ts
- Created workerAnalytics.ts module with full aggregation logic
- Integrated with EventStore for automatic event processing
- 25 comprehensive unit tests (all passing)
- Exported from index.ts for public API access
Technical highlights:
- Automatic activity period detection with 5-minute gap threshold
- Time-series snapshots at configurable intervals (default 1 hour)
- Flexible time window filtering (hour/day/week/all)
- Worker ranking by performance, error rate, and cost efficiency
- Performance trend detection (improving/declining/stable)
Co-Authored-By: Claude Worker <noreply@anthropic.com>
Worker claude-code-sonnet-bravo reported no work available, but br ready
shows 20 beads ready to work. This is the same discovery bug pattern seen
in bd-zsh, bd-yw5, bd-y8g. Worker discovery logic is not querying the
beads database correctly.
Co-Authored-By: Claude Worker <noreply@anthropic.com>
Implement comprehensive session digest generation module that aggregates:
- Beads completed with duration tracking
- Files modified with tool and worker attribution
- Errors encountered with categorization
- Time spent per worker
- Token usage and estimated costs
Features:
- SessionDigestGenerator class for digest creation
- Markdown formatting with tables and summaries
- CLI integration via 'fabric digest' command
- Support for time range and worker filtering
- Comprehensive test coverage (14 tests, all passing)
CLI Usage:
fabric digest -f <logfile> [options]
Options: --output, --worker, --since, --until, --max-files, --max-errors
All tests passing: 616/616
Co-Authored-By: Claude <noreply@anthropic.com>
## Summary
Completed session replay feature implementation with comprehensive testing and TUI integration.
## Changes
1. **Comprehensive Unit Tests (55 tests)**
- Created SessionReplay.test.ts with full test coverage
- Tests for initialization, loading, filtering, playback controls
- Tests for navigation, speed control, callbacks, edge cases
- All tests passing ✅
2. **TUI Integration**
- Integrated SessionReplay into main TUI app
- Added hotkey 'R' to toggle session replay view
- Loads all current events from store into replay
- Dynamic footer with playback state and controls
- Updated help overlay with replay instructions
3. **Features Available**
- Load events from store and replay chronologically
- Playback controls: play, pause, step forward/backward
- Speed control: 0.5x, 1x, 2x, 5x, 10x
- Timeline visualization with progress bar
- Event filtering by worker, level, bead, path, time range
- Keyboard shortcuts for all controls
- Jump to start/end, seek by percentage
## How to Use
1. Launch FABRIC TUI: `fabric tui`
2. Press 'R' to enter session replay mode
3. Use Space to play/pause, arrows to navigate
4. Press Esc to return to main view
## CLI Command
Also available as standalone: `fabric replay -f ~/.needle/logs/workers.log`
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>