Commit graph

35 commits

Author SHA1 Message Date
jeda
3cb798b7e9 feat(bd-3sj): P4-002: File Heatmap
Implement file heatmap visualization that tracks which files are modified
most frequently and by which workers. Helps identify hotspots and potential
collision areas.

Features:
- Track file modifications across all workers
- Heat levels (cold/warm/hot/critical) based on modification frequency
- Worker contribution percentages per file
- Collision risk detection for files with multiple workers
- Sortable by modifications, recent activity, workers, or collisions
- Filter by directory or collision-only files
- Statistics overview with heat distribution

Integration:
- Press 'H' in TUI to toggle heatmap view
- Press 's' to cycle sort modes
- Press 'c' to toggle collision-only filter
- Press 'Esc' to return to default view

Also fixed pre-existing DependencyDag component build issues:
- Created missing dagUtils.ts utility module
- Fixed import paths and type annotations

Tests: 20 new tests for file heatmap, all 154 tests passing

Co-Authored-By: Claude Worker <noreply@anthropic.com>
2026-03-03 12:11:54 +00:00
jeda
e1d269ef01 feat(bd-3k9): P4-001: Session Replay - Add type fixes and complete implementation
- Add SessionReplay component with full playback controls
- Add replay command to CLI with filter support
- Fix color type references in SessionReplay
- Add EventFilter type import to CLI
- Add File Heatmap types for future feature

Co-Authored-By: Claude Worker <noreply@anthropic.com>
2026-03-03 11:58:06 +00:00
jeda
0b688828f7 chore(bd-4jn): close completed bead
P4-004: Smart Error Grouping implementation complete.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 11:54:55 +00:00
jeda
19097e7841 feat(bd-4jn): P4-004: Smart Error Grouping
Implement smart error grouping to cluster similar errors together and reduce
noise in the activity stream. Uses pattern matching on error messages and
stack traces to group related errors.

Features:
- Error categorization into 9 categories (network, permission, validation, etc.)
- Pattern-based fingerprinting for grouping similar errors
- Normalization of variable data (IPs, paths, UUIDs, timestamps)
- Severity calculation based on frequency and recency
- Integration with InMemoryEventStore for automatic error tracking

New files:
- src/errorGrouping.ts - Error grouping module
- src/errorGrouping.test.ts - Comprehensive test suite (34 tests)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 11:53:27 +00:00
jeda
32d3066ed5 feat(bd-y8g): close starvation alert and create Phase 4 work
- Closed bd-y8g: Worker starvation alert (no open work available)
- Created Phase 4 intelligence feature beads:
  - bd-3k9: Session Replay
  - bd-3sj: File Heatmap
  - bd-wjq: Task Dependency DAG
  - bd-4jn: Smart Error Grouping

Co-Authored-By: Claude Worker <noreply@anthropic.com>
2026-03-03 11:43:10 +00:00
jeda
ad7703224e fix(bd-y8g): close false-positive worker starvation alert
22 beads available in ready-queue.json - worker discovery failed to
check ready-queue.json before escalating to starvation alert.

Co-Authored-By: Claude Worker <noreply@anthropic.com>
2026-03-03 11:40:24 +00:00
jeda
89ab3ab23a fix(bd-mn8): close false-positive worker starvation alert
Ready-queue.json contained 22 available beads. Worker discovery
logic should check ready-queue.json before creating HUMAN beads.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 11:35:18 +00:00
jeda
326d06e8a4 fix(bd-33m): close false-positive worker starvation alert
ready-queue.json contains 22 available beads. Worker should have
checked ready-queue.json before escalating to HUMAN bead creation.

Co-Authored-By: Claude Worker <noreply@anthropic.com>
2026-03-03 11:32:17 +00:00
jeda
0b42c513c6 fix(bd-1hp): close false-positive worker starvation alert
Worker created HUMAN bead without checking ready-queue.json first.
Found 22 beads available in ready-queue.json.

This follows the documented pattern in MEMORY.md:
'Worker Starvation Resolution' - workers must check ready-queue.json
before creating HUMAN beads for 'no work available'.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 11:27:29 +00:00
jeda
5f087c89de fix(bd-32j): close false-positive worker starvation alert
Ready queue contains 22 available beads - workers should check
.beads/ready-queue.json before creating HUMAN beads for 'no work available'.

Pattern: False-Positive HUMAN Beads for Worker Starvation (identified 2026-03-03)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 11:24:45 +00:00
jeda
2e9162a9c3 fix(bd-22v): close false-positive worker starvation alert
Ready queue had 22 beads available. Worker discovery logic
should check ready-queue.json before creating HUMAN beads.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 11:19:52 +00:00
jeda
8a28d7261b fix(bd-2z3): close false-positive worker starvation alert
22 beads available in ready-queue.json. Worker created alert without
checking ready queue first - same pattern as bd-123, bd-38q, etc.

Co-Authored-By: Claude Worker <noreply@anthropic.com>
2026-03-03 11:17:18 +00:00
jeda
8fb76470fb fix(bd-3ov): close false-positive worker starvation alert
22 beads available in ready-queue.json but worker discovery failed
to detect them. This is a known issue with worker discovery logic.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 11:12:06 +00:00
jeda
b7025c0d3c fix(bd-ph8): Close false-positive worker starvation alert
Ready queue has 22 available beads. Worker discovery failed to
check .beads/ready-queue.json before escalating to HUMAN bead.

Known pattern - see MEMORY.md for similar closures.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 11:09:35 +00:00
jeda
ad0da0c4b2 fix(bd-fi7): Close false-positive worker starvation alert
ready-queue.json has 22 beads available but worker discovery
failed to check it before creating HUMAN bead. Same pattern
as previously closed alerts (bd-2c8, bd-yw5, bd-1k7, etc.)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 11:04:31 +00:00
jeda
1170732307 fix(bd-2c8): Close false-positive worker starvation alert
22 beads were available in ready-queue.json. Workers should check
the ready queue before creating starvation alerts.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 11:02:07 +00:00
jeda
75472836b0 fix(bd-yw5): Close false-positive worker starvation alert
22 beads available in ready-queue.json but worker discovery failed to check it.
Pattern matches previously closed false-positives: bd-123, bd-38q, bd-3g1, etc.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 10:57:19 +00:00
jeda
0ddc21637c fix(bd-1k7): Close false-positive worker starvation alert
Ready queue had 22 beads available but worker reported no work.
This follows the established pattern for false-positive starvation
alerts (bd-123, bd-38q, bd-3g1, etc.).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 10:54:18 +00:00
jeda
fcf917327f fix(bd-2sn): Close false-positive worker starvation alert
22 beads available in ready-queue.json - worker failed to check
ready queue before creating HUMAN bead (mandatory Step 0).

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude Worker <noreply@anthropic.com>
2026-03-03 10:49:11 +00:00
jeda
3ea52579b6 chore(bd-2kf): Close completed implementation beads
- Close bd-1a2: Parser tests (duplicate of bd-5eh)
- Close bd-r5c: Collision detection implemented

All implementation work for FABRIC epic is complete:
- Phase 1: Core infrastructure 
- Phase 2: TUI Display 
- Phase 3: Web Dashboard 
- Test coverage: 100 tests passing

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 10:46:14 +00:00
jeda
24e8ea868c feat(bd-r5c): Add collision detection tests and web UI enhancements
- Add 9 new tests for collision detection:
  - Detect collision when multiple workers modify same file
  - Handle time window boundaries (5 second window)
  - Only flag file modification tools (Edit, Write, NotebookEdit)
  - Track hasCollision flag on worker info
  - Track active files for workers
  - Get collisions for specific worker

- Update web types for collision info
- Add collision visual indicator to TUI WorkerGrid (⚠ warning)
- Add collision visual indicator to Web WorkerGrid (pulsing border)
- Add /api/collisions endpoint to web server
- Include collisions in WebSocket initial state

Co-Authored-By: Claude Worker <noreply@anthropic.com>
2026-03-03 10:45:07 +00:00
jeda
57e8193f7b feat(bd-2kf): Add comprehensive test coverage for parser and store
- Add 36 parser tests covering:
  - parseLogLine with valid/invalid inputs
  - parseLogLines for multi-line parsing
  - formatEvent with all options
  - Edge cases: malformed JSON, missing fields, colorization

- Add 35 store tests covering:
  - InMemoryEventStore add/query operations
  - Worker status tracking (active/idle/error)
  - Event filtering by worker, level, bead, timestamp
  - maxEvents limit and LRU trimming
  - getStore/resetStore singleton management

- Close phase beads (bd-2pa, bd-n8l, bd-2nu) as infrastructure complete
- Close test beads (bd-5eh, bd-2en) with comprehensive coverage
- Total: 91 tests passing across parser, store, and tailer

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 10:43:24 +00:00
jeda
a6699db07f feat: implement Phase 1 core infrastructure for FABRIC
Implements working `fabric tail` command with:

- Log tailer module (src/tailer.ts)
  - File watching with fs.watch
  - Follow mode for real-time updates
  - Buffer management for partial lines
  - Graceful shutdown handling

- JSON parser module (src/parser.ts)
  - Validates NEEDLE log format
  - Extracts optional fields (tool, path, bead, duration_ms, error)
  - Human-readable event formatting with color support

- In-memory event store (src/store.ts)
  - Stores events with worker indexing
  - Supports querying with filters
  - Auto-updates worker status based on events

- Working CLI (src/cli.ts)
  - Filters by worker (-w) and level (-l)
  - Supports --json output
  - Shows existing lines with -n flag

Resolves HUMAN bead bd-17q (worker starvation) by providing
working implementation and creating beads for remaining phases.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 04:58:42 +00:00
jeda
69f3c1d5ab feat: initialize FABRIC TypeScript project
Implements bd-3a4 and bd-2pa.1 (project setup):
- Initialize npm project with TypeScript configuration
- Add package.json with build scripts and dependencies
- Create src/ structure with types and CLI entry point
- Add CLI commands: tui, web, tail (placeholders)
- Configure tsconfig.json for NodeNext modules

This addresses worker starvation (bd-29a) by demonstrating
that direct implementation is a viable alternative when
workers cannot claim beads due to dependency resolution issues.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 04:41:00 +00:00
jeda
43079b35ca docs: add SQLite storage for Worker Analytics and Recovery Playbook
- SQLite file at ~/.needle/fabric.db for historical data
- Schema: sessions, task_metrics, error_history tables
- Data written on session close, not real-time
- Supports Worker Analytics and Recovery Playbook features
- Updated non-goals to clarify storage model

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 03:05:46 +00:00
jeda
9ab1e3a407 docs: add 8 additional intelligence features (wave 2)
New features added:
- Conversation Transcript View: see full Claude prompts/responses
- Semantic Activity Narrative: natural language status updates
- AI Session Digest: auto-generated session summaries
- File Context Panel: see file contents alongside activity
- Git Integration Panel: live git status and conflict detection
- Worker Comparison Analytics: performance tracking over time
- Recovery Playbook: suggestions from similar past errors
- Focus Mode with Pinning: filter to specific workers/tasks

Updated implementation phases to 7 phases covering all 18 features.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 02:52:55 +00:00
jeda
e7483199b9 docs: update README with intelligence features summary
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 02:44:02 +00:00
jeda
42e8cb9226 docs: add 10 intelligence features with mockups
1. Stuck & Loop Detection - catch spinning workers
2. Live Inline Diff View - see actual code changes
3. Cross-Reference Hyperlinking - navigate by clicking entities
4. Worker Collision Detection - prevent conflicts early
5. Session Replay - scrub through past sessions
6. Smart Error Grouping - contextualized error analysis
7. Command Palette (Ctrl+K) - universal search/command interface
8. Cost & Token Tracking - budget awareness and projections
9. Task Dependency DAG - visualize task relationships
10. File Activity Heatmap - see where work is happening

Updated implementation phases to include all features.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 02:43:37 +00:00
jeda
9f14a6b226 docs: add TUI and web dashboard mockups
ASCII mockups showing:
- TUI main view with worker grid and activity stream
- TUI worker detail view with focused log
- Web dashboard with worker cards, activity feed, and timeline
- Web worker detail modal

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 02:35:55 +00:00
jeda
88ee6a4cf5 docs: FABRIC is a live display, not a report generator
- Remove static HTML report generation concept
- TUI and web modes are both live, real-time displays
- Add 'fabric web' command for browser dashboard
- Emphasize tail-style log watching and WebSocket updates
- Simplify README to focus on live display purpose

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 02:28:51 +00:00
jeda
433881aa30 docs: align with actual ~/.needle/ structure
Verified NEEDLE outputs to ~/.needle/logs/. Updated plan to match
actual folder structure (config.yaml, logs/, state/, cache/).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 02:01:41 +00:00
jeda
c931f9db10 docs: use .needle/ as default source for logging artifacts
FABRIC reads from .needle/ in cwd by default, matching NEEDLE's
output location for worker logs and session data.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 01:59:49 +00:00
jeda
25ddfb6733 docs: simplify FABRIC to stateless parser/renderer
Remove storage, metrics accumulation, databases, and retention concerns.
FABRIC just reads NEEDLE output, parses it, and renders TUI or HTML.

- Add clear data flow diagram
- Define explicit non-goals
- Simplify architecture to reader → parser → renderer
- Add piping examples (needle | fabric tui)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 01:53:50 +00:00
jeda
f164e7e253 docs: refocus FABRIC on worker visualization via logging/telemetry
- Shift focus from bead tracking to NEEDLE worker visibility
- Emphasize TUI and HTML output formats as primary deliverables
- Add CLI interface examples (fabric tui, fabric html, fabric logs)
- Define worker event data model and log format contract
- Update README to reflect worker-centric purpose

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 01:52:04 +00:00
jeda
727661e0f0 feat: initialize FABRIC (Flow Analysis & Bead Reporting Interface Console)
Add initial README and implementation plan for visualization/dashboard
system to monitor NEEDLE's bead orchestration output.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-02 00:58:09 +00:00