The fix distinguishing between beadsCompleted (all processed) and
beadsSucceeded (successful completions only) was already implemented
in stuckDetection.ts and store.ts.
No code changes needed - verified all tests pass.
The fix is already in place from previous commits (47c3396, c047131).
This commit documents the solution for future reference.
The stuck detection now correctly distinguishes between:
- beadsCompleted: all beads processed (including timed-out/deferred)
- beadsSucceeded: successful completions only
- beadsTimedOut: timed-out/deferred beads
Stuck reason text now clearly shows metrics:
'100 processed but 0 successful completions (all timed out/deferred)'
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The OOM event detection and alert banner was implemented in commit ea1406a.
This notes file documents the implementation summary.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The system cgroup memory panel for the web dashboard was already fully implemented:
- Backend: systemCgroupMonitor.ts with memory sampling
- API: /api/system/memory, /api/system/memory/history, /api/alerts/oom
- Frontend: SystemMemoryIndicator (header) + SystemMemoryPanel (detail)
- Integration: App.tsx lines 24, 28, 270, 872-878, 928, 1122-1127
All 2511 tests pass. No additional work required.
Added systemd-run --scope -p MemoryMax=4G wrapper to all GLM adapter configs
(claude-code-glm-4.7, claude-code-glm-5, claude-code-glm-5-1) to prevent
any single worker from exhausting cgroup memory.
All Phase 9 items verified as implemented:
- beadsCompleted fires on bead.released/release_success
- currentBead field tracks active bead per worker
- Fleet summary bar shows real-time fleet state
- Worker cards show beadsCompleted + currentBead (removed eventCount)
- Worker sort by state (WORKING > SELECTING > EXHAUSTED)
- Test worker filter with hideTestWorkers toggle
- Productivity panel with daily throughput chart + worker leaderboard
- Bead workspace scanner reads .beads/issues.jsonl for project breakdown
- GET /api/productivity endpoint returns all productivity data
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
All remaining items verified complete:
- currentBead field (tracked in store.ts, displayed in WorkerGrid)
- Fleet summary bar (FleetSummaryBar.tsx, integrated in App.tsx)
- Worker card enrichment (beadsCompleted + currentBead shown)
- Bead workspace scanner (scanBeadWorkspaces for project breakdown)
All Phase 9 items are now fully implemented and functional.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Bead-Id: bf-2wf
Verified that the vitest mock hoisting fix remains in place:
- CrossReferencePanel.test.ts: 43 tests pass
- WorkerAnalyticsPanel.test.ts: 64 tests pass
- Total: 107 tests pass
The inline mock definitions in vi.mock() factories prevent
hoisting issues as documented in the note.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Updated note to reflect that the vitest mock hoisting fix is in place
using inline mock definitions (commit 55df248). No code changes required.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Re-verified all 59 tests in SemanticNarrativePanel.test.ts pass.
The issue was already fixed in commit 6237010 (bf-48nk).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
All 57 tests pass - failures were already fixed in commits 4839d48
and 797c9f1 (render() public, hide/show methods, test mock setup).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Re-verified all 57 tests passing on 2026-05-22 16:32.
No code changes required - all fixes were in previous commits.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Re-verified all 57 tests in FileContextPanel.test.ts pass.
The bead was already fixed by commits 4839d48 and 797c9f1.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Updated verification notes confirming all 57 tests pass. The test failures
described in the original bead were fixed by commits 797c9f1 and 4839d48,
which addressed mock setup issues and made render() public.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Confirmed that all issues from genesis bead description were already
fixed in previous runs:
- src/memoryProfiler.ts exists and fully implemented (255 lines)
- FileHeatmap treemap + timelapse: 31 tests pass
- SpanDag zoom/pan: tests pass
- All 2484 tests pass (4 skipped)
The original test failures were due to better-sqlite3 native module
version mismatch, not missing implementations.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
All tests were failing due to better-sqlite3 native module version
mismatch (NODE_MODULE_VERSION 137 vs 127). Rebuilt the module
with 'npm rebuild better-sqlite3' - all 2484 tests now pass.
No source code changes were needed; src/memoryProfiler.ts was already
present and complete.
The bead description claimed missing modules and features, but investigation
showed all implementation gaps were already closed. Test failures were due
to better-sqlite3 native module version mismatch (NODE_MODULE_VERSION 115
vs 137), resolved by rebuilding the module.
All 2484 tests now pass (4 skipped). No source code changes were needed.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The vitest mock hoisting errors were already fixed in commit 7686974.
CrossReferencePanel.test.ts and WorkerAnalyticsPanel.test.ts both
use vi.hoisted() correctly and all 2399 tests pass.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
All claimed gaps verified complete:
- src/memoryProfiler.ts exists and fully implemented
- FileHeatmap treemap + timelapse implemented
- SpanDag zoom/pan interaction implemented
- Unit tests: 2399 passed, 4 skipped, 0 failed
E2E test failures (53) are unrelated to claimed implementation gaps.
No E2E tests exist for FileHeatmap or SpanDag features.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Verified that the 3 failing tests in SemanticNarrativePanel.test.ts were
already fixed in commit 62370103. The issue was test mocks missing required
fields (workerId, events, startTime, endTime, durationMs) added to the
SemanticNarrative type.
All 59 tests now pass. The implementation methods (refresh, updateFromWorker,
updateAggregated) were always correct - the failure was purely test data.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Verified all 57 tests in src/tui/components/FileContextPanel.test.ts pass.
The implementation already includes all expected functionality from the
original bead description. The bead was based on stale information.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Verified all claimed implementation gaps were already complete:
- src/memoryProfiler.ts exists and works (7530 bytes)
- FileHeatmap treemap + timelapse fully implemented
- SpanDag zoom/pan fully implemented
- All 2399 tests passing (4 skipped, 0 failed)
This was a retrospective tracking bead for work completed
in previous commits (f824c2e, ae4c12c, 6237010).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Investigation found that all 57 FileContextPanel tests are passing.
The issues described in the bead were already fixed in the original
implementation (bd-2u6). No code changes required.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
All 5 tests mentioned in the bead are passing. The required public API
(addSuggestion, addSuggestions, clearSuggestions, setSuggestions) and
behaviors (empty query returns all suggestions, navigation wrap-around)
are fully implemented in src/tui/components/CommandPalette.ts.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The parseDiff function in src/tui/components/DiffView.ts correctly:
- Returns empty array for empty input
- Splits diff on newlines
- Classifies '+++' and '---' as headers (not added/removed)
- Classifies '+' lines as added
- Classifies '-' lines as removed
All 44 DiffView tests pass. No code changes needed.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The bead description claimed significant implementation gaps, but upon
investigation all mentioned features were already complete:
- memoryProfiler.ts: exists (f824c2e)
- FileHeatmap treemap/timelapse: fully implemented
- SpanDag zoom/pan: fully implemented
- Only 1 test failing (selector bug, now fixed)
All tests pass: 2399 passed, 4 skipped (65 test files)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The bead description claimed src/memoryProfiler.ts was missing,
but investigation revealed it was fully implemented in commit
f824c2e. All 90 web server tests pass successfully.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The bead was already closed when picked up. This note documents
that the memoryProfiler module was fully implemented by a previous
agent and all tests pass.
Re-verified memoryProfiler.ts implementation is complete and functional.
All tests passing, no action required.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The file src/memoryProfiler.ts already exists and was added in commit
233e381. All 90 web server tests pass. The bead description indicated
the file was missing, but it is present and functional.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The requested feature to add a worker count badge to the TUI header
is already fully implemented in src/tui/app.ts via:
- getWorkerStats(): returns counts by status (active/idle/error)
- getHeaderContent(): builds badge with color-coded indicators
- updateHeader(): called in real-time via addEvent()
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The integration test for parsing real NEEDLE worker logs was already
created in bead bd-6q2 at src/parser.real-logs.integration.test.ts.
All 19 tests pass, covering:
- Worker extraction (worker_id)
- Bead extraction (bead_id)
- Timestamp extraction (ISO to NeedleEvent)
- Event information (event_type, data, session_id, sequence)
- Multiple event types (worker lifecycle, bead lifecycle)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The requested vitest E2E test for WorkerDetail already exists with
comprehensive coverage (30 tests passing for TUI, 39 for web frontend).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The E2E test at src/web/frontend/components/ActivityStream.e2e.test.tsx
already comprehensively covers all requirements: chronological order,
timestamp formatting, level colors, scrolling behavior, and filtering.
All 20 tests pass successfully.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The test file at src/tui/components/WorkerGrid.e2e.test.ts already
exists and passes all 13 tests covering status color rendering.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>