chore(bd-2n4): close false positive worker starvation alert
Ready queue has 22 beads available - worker should check ready-queue.json before creating starvation alerts. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
7684eea233
commit
e0bdafa6b3
1 changed files with 1 additions and 0 deletions
|
|
@ -31,6 +31,7 @@
|
|||
{"id":"bd-2it","title":"ALT-005: Environment variable override for br ready","description":"For HUMAN bd-1sw. Set BR_READY_COMMAND environment variable that workers check. If set, use that command instead of br ready. Allows drop-in replacement without modifying worker code. Example: export BR_READY_COMMAND='./scripts/br-ready-jsonl.sh --json'","status":"closed","priority":2,"issue_type":"task","created_at":"2026-03-03T08:30:24.411889607Z","created_by":"coder","updated_at":"2026-03-03T10:33:28.142886575Z","closed_at":"2026-03-03T10:33:27.043825562Z","close_reason":"done","source_repo":".","compaction_level":0,"original_size":0,"labels":["alternative","discovery","worker"],"dependencies":[{"issue_id":"bd-2it","depends_on_id":"bd-1sw","type":"blocks","created_at":"2026-03-03T08:30:48.583924349Z","created_by":"coder","metadata":"{}","thread_id":""}],"comments":[{"id":30,"issue_id":"bd-2it","author":"Jed Arden","text":"No longer needed - br v0.1.20 fixes the schema bug natively.","created_at":"2026-03-03T10:33:28Z"}]}
|
||||
{"id":"bd-2kf","title":"FABRIC: Flow Analysis & Bead Reporting Interface Console","description":"# FABRIC Project Epic\n\n## Overview\nFABRIC is a live display for NEEDLE worker activity. It parses NEEDLE's structured JSON logging output and renders it in real-time as either a TUI (terminal) or web dashboard.\n\n## Core Goals\n1. **Live Display**: Real-time visualization of NEEDLE worker activity\n2. **Dual Interface**: TUI for terminal users, web app for browser users\n3. **Stateless Core**: Reads and displays - no storage or persistence (analytics features use optional SQLite)\n4. **Intelligence**: Beyond simple log display - provides insights, detection, and analysis\n\n## Data Flow\n```\nNEEDLE Workers → ~/.needle/logs/ → FABRIC → Live TUI or Web Dashboard\n```\n\n## Key Design Principles\n- **Read-only**: FABRIC observes and displays, never controls workers\n- **Non-blocking**: Display lag must never impact NEEDLE performance\n- **Graceful degradation**: Missing data fields should not crash the display\n- **Memory-bounded**: Configurable limits on in-memory event storage\n\n## Input Format\nFABRIC expects structured JSON log lines from NEEDLE:\n```json\n{\"ts\":1709337600,\"worker\":\"w-abc123\",\"level\":\"info\",\"msg\":\"Starting task\",\"task\":\"bd-xyz\"}\n{\"ts\":1709337601,\"worker\":\"w-abc123\",\"level\":\"debug\",\"msg\":\"Tool call\",\"tool\":\"Read\",\"path\":\"/src/main.ts\"}\n{\"ts\":1709337605,\"worker\":\"w-abc123\",\"level\":\"info\",\"msg\":\"Task complete\",\"duration_ms\":5000}\n```\n\n## Output Modes\n- `fabric tui` - Live terminal dashboard (keyboard-driven)\n- `fabric web` - Live browser dashboard (mouse-driven)\n- `fabric logs` - Simple log streaming (parsed + formatted)\n\n## Technology Stack (Tentative)\n- **Language**: TypeScript/Node.js (primary), Go (optional for performance)\n- **TUI**: blessed or ink (React for CLIs)\n- **Web**: Express + ws + React/Svelte\n- **Analytics Storage**: SQLite (~/.needle/fabric.db)\n\n## Success Metrics\n- Can display 1000+ events/second without UI lag\n- TUI responsive under 50ms for all interactions\n- Web dashboard WebSocket latency under 100ms\n- Memory usage bounded to configurable limit (default 100MB)\n\n## Related Documentation\n- [Implementation Plan](docs/plan.md)\n- [NEEDLE Documentation](~/.needle/README.md)\n\n## Child Beads\nThis epic contains 7 implementation phases with granular subtasks.","status":"in_progress","priority":0,"issue_type":"epic","assignee":"coder","created_at":"2026-03-02T14:37:57.192442627Z","created_by":"coder","updated_at":"2026-03-03T10:35:13.617383819Z","source_repo":".","compaction_level":0,"original_size":0}
|
||||
{"id":"bd-2mt","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:** 29044s (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-03T12:27:36.329456759Z","created_by":"coder","updated_at":"2026-03-03T12:28:53.397220662Z","closed_at":"2026-03-03T12:28:53.389791132Z","close_reason":"FALSE POSITIVE: 22 beads available in ready-queue.json. Worker discovery logic failed to check ready-queue.json before escalating to starvation alert. See MEMORY.md pattern for resolution.","source_repo":".","compaction_level":0,"original_size":0}
|
||||
{"id":"bd-2n4","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:** 29605s (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-03T12:36:55.641405565Z","created_by":"coder","updated_at":"2026-03-03T12:38:13.509716532Z","closed_at":"2026-03-03T12:38:13.501044506Z","close_reason":"FALSE POSITIVE: Worker starvation alert created without checking ready-queue.json. Ready queue has 22 beads available (bd-2zt, bd-2ed, bd-1mq, etc.). Workers should check ready-queue.json BEFORE creating HUMAN/alert beads.","source_repo":".","compaction_level":0,"original_size":0}
|
||||
{"id":"bd-2nu","title":"Phase 3: Web Display","description":"# Phase 3: Web Display\n\n## Overview\nBuild the browser-based dashboard for FABRIC. This provides a richer visual experience and is accessible to non-terminal users.\n\n## Goals\n1. **Worker Cards**: Visual overview of each worker's current state\n2. **Activity Feed**: Real-time log stream with rich formatting\n3. **Timeline Visualization**: Visual representation of worker activity over time\n4. **WebSocket Updates**: Push-based real-time updates\n5. **Responsive Design**: Works on desktop and tablet screens\n\n## Key Design Decisions\n- Use React or Svelte for frontend (Svelte preferred for smaller bundle)\n- WebSocket for real-time updates (with auto-reconnect)\n- Server-sent events as fallback for restrictive networks\n- Bundle size target: <100KB gzipped\n\n## Architecture\n```\n┌─────────────────────────────────────────────────────────┐\n│ FABRIC Web Server │\n├─────────────────────────────────────────────────────────┤\n│ ┌────────────┐ ┌────────────┐ ┌───────────────┐ │\n│ │ HTTP │ │ WebSocket │ │ Event │ │\n│ │ Server │ │ Server │ │ Broadcaster │ │\n│ └────────────┘ └────────────┘ └───────────────┘ │\n│ │ │ │ │\n│ ▼ ▼ ▼ │\n│ Static Files WS Clients From Phase 1 │\n└─────────────────────────────────────────────────────────┘\n```\n\n## Layout\n- Header: Status indicators, search, theme toggle\n- Worker cards: Grid layout with status, task, duration\n- Activity feed: Scrollable with lazy loading\n- Timeline: Canvas-based for performance\n\n## Dependencies\n- Phase 1: Core Infrastructure (event emitter, event store)\n- Phase 2 design patterns (shared component concepts)\n\n## Success Criteria\n- WebSocket latency <100ms for event delivery\n- First paint <1s on broadband\n- Handles 1000+ events without UI jank\n- Auto-reconnects within 5s of connection loss\n\n## Child Beads\n- bd-P3-001: Web Server Setup\n- bd-P3-010: Frontend Framework\n- bd-P3-020: Worker Overview Cards\n- bd-P3-030: Activity Feed\n- bd-P3-040: Timeline Visualization\n- bd-P3-050: Command Palette (Web)\n- bd-P3-060: File Context Panel (Web)\n- bd-P3-070: Focus Mode (Web)","status":"closed","priority":1,"issue_type":"phase","created_at":"2026-03-02T14:38:59.427498862Z","created_by":"coder","updated_at":"2026-03-03T10:36:48.126665816Z","closed_at":"2026-03-03T10:36:48.125185783Z","close_reason":"Phase 3 complete: Web dashboard implemented (Express + WebSocket + React frontend)","source_repo":".","compaction_level":0,"original_size":0}
|
||||
{"id":"bd-2pa","title":"Phase 1: Core Infrastructure","description":"# Phase 1: Core Infrastructure\n\n## Overview\nEstablish the foundational components that all other features depend on. This phase has no UI - it's pure backend infrastructure for log ingestion, parsing, and event management.\n\n## Goals\n1. **Log Tailer**: Continuously read new lines from log files (like `tail -f`)\n2. **Parser**: Parse JSON log lines into structured events\n3. **Event Store**: In-memory index for fast querying by worker, bead, file, timestamp\n4. **Conversation Parser**: Extract full conversation history from logs\n\n## Key Design Decisions\n- Use Node.js streams for efficient log tailing (backpressure handling)\n- Parser should be tolerant of malformed JSON (log warnings, don't crash)\n- Event store should have configurable eviction policy (LRU by default)\n- All components emit events for loose coupling\n\n## Architecture\n```\n┌──────────────┐ ┌─────────────┐ ┌─────────────────┐\n│ Log Tailer │───▶│ Parser │───▶│ Event Emitter │\n│ │ │ │ │ │\n└──────────────┘ └─────────────┘ └─────────────────┘\n │ │\n ~/.needle/logs/ ┌───────┴───────┐\n │ │\n ┌───────▼────┐ ┌───────▼────┐\n │Event Store │ │ Display │\n │(in-memory) │ │ Renderer │\n └────────────┘ └────────────┘\n```\n\n## Dependencies\nNone - this is the foundation.\n\n## Success Criteria\n- Can tail multiple log files simultaneously\n- Parses 10,000+ events/second\n- Event store queries complete in <1ms\n- Memory bounded to configurable limit\n\n## Child Beads\n- bd-P1-001: Project Setup & Scaffolding\n- bd-P1-010: Log Tailer Implementation\n- bd-P1-020: JSON Parser\n- bd-P1-030: In-Memory Event Index\n- bd-P1-040: Conversation Transcript Parser","status":"closed","priority":0,"issue_type":"phase","created_at":"2026-03-02T14:38:58.608529751Z","created_by":"coder","updated_at":"2026-03-03T10:36:45.585724105Z","closed_at":"2026-03-03T10:36:45.584428171Z","close_reason":"Phase 1 complete: Core infrastructure implemented (parser.ts, store.ts, tailer.ts, types.ts)","source_repo":".","compaction_level":0,"original_size":0}
|
||||
{"id":"bd-2qm","title":"P3-003: Create web frontend scaffold with Vite + React","description":"Phase 3 Web Dashboard: Set up Vite build with React, TypeScript. Create basic HTML shell and entry point. Bundle output to dist/web/.","status":"closed","priority":1,"issue_type":"task","created_at":"2026-03-03T07:52:09.705716282Z","created_by":"coder","updated_at":"2026-03-03T10:05:20.899834068Z","closed_at":"2026-03-03T10:05:20.899627981Z","close_reason":"Frontend scaffold complete: Vite + React + TypeScript setup with WorkerGrid, ActivityStream, and App components. Build with npm run build:web, outputs to dist/web/","source_repo":".","compaction_level":0,"original_size":0,"labels":["frontend","phase-3","web"],"comments":[{"id":21,"issue_id":"bd-2qm","author":"Jed Arden","text":"Verified scaffold complete: Vite + React + TypeScript configured, builds to dist/web/, includes WorkerGrid, ActivityStream components, WebSocket integration. Build test passed: vite build produced 198KB bundle in 579ms.","created_at":"2026-03-03T09:56:23Z"}]}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue