FABRIC/src
jedarden c4559fca9d
Some checks are pending
CI / test (18.x) (push) Waiting to run
CI / test (20.x) (push) Waiting to run
CI / test (22.x) (push) Waiting to run
feat: add per-needle-worker MemoryMax ceiling (4 GB)
Problem: With only a cgroup-level soft limit, one runaway worker can
consume all available memory before pressure kills it.

Solution: Apply per-process MemoryMax to each needle worker via cgroup v2
direct approach (writing to memory.max). This bounds each Claude Code
session at 4 GB RSS. With 6 workers + fabric-web + VSCode, this stays
well under 32 GB.

Implementation:
- workerMemoryLimiter.ts: Core logic to find worker PIDs and apply limits
- cli.ts: Apply limits at startup for both tui and web commands
- directoryTailer.ts: Apply limits when new log files are detected

Fixes #bf-2q9r
2026-06-07 09:19:05 -04:00
..
tui feat(types): add granular NEEDLE worker states + directory tailer startup re-read 2026-05-26 22:18:56 -04:00
types docs(bf-48nk): close genesis bead - all gaps already implemented 2026-05-02 16:21:34 -04:00
utils docs(bf-48nk): close genesis bead - all gaps already implemented 2026-05-02 16:21:34 -04:00
web feat: add agentation feedback toolbar to web UI 2026-06-07 09:19:05 -04:00
analytics.ts feat(bd-5ny): Add fleet analytics dashboard with model/strand/quality metrics 2026-03-20 07:19:53 -04:00
beadWorkspaceScanner.test.ts test(bf-7x4z): fix 13 TypeScript type errors in test files 2026-05-26 17:11:47 -04:00
beadWorkspaceScanner.ts feat(bf-3xp): add bead workspace scanner + project breakdown in /api/productivity 2026-05-22 15:34:20 -04:00
cli.ts feat: add per-needle-worker MemoryMax ceiling (4 GB) 2026-06-07 09:19:05 -04:00
config.ts feat(bf-3xp): add bead workspace scanner + project breakdown in /api/productivity 2026-05-22 15:34:20 -04:00
conversationParser.test.ts feat(bf-52d6): add conversation transcript parser module 2026-05-08 14:29:12 -04:00
conversationParser.ts feat(bf-52d6): add conversation transcript parser module 2026-05-08 14:29:12 -04:00
crossReferenceManager.ts fix(bf-50gc): enforce maxEvents limit, fix cross-references and bead collision detection 2026-05-02 14:33:51 -04:00
dagUtils.test.ts feat(bd-eir): complete FABRIC↔NEEDLE dovetail — wire cross-source dedup, add exporter docs 2026-04-21 19:35:39 -04:00
dagUtils.ts feat(web): add /api/spans/dag endpoint for OTLP span visualization 2026-05-26 19:41:13 -04:00
directoryTailer.test.ts fix(test): restructure DirectoryTailer re-activation test 2026-05-26 21:39:00 -04:00
directoryTailer.ts feat: add per-needle-worker MemoryMax ceiling (4 GB) 2026-06-07 09:19:05 -04:00
errorGrouping.test.ts feat(bd-1a6): Add comprehensive unit tests for errorGrouping module 2026-03-04 03:50:58 +00:00
errorGrouping.ts feat(web): add ErrorGroupPanel with grouped error cards and similar past errors 2026-04-24 06:16:46 -04:00
fileHeatmap.test.ts feat(bd-3sj): P4-002: File Heatmap 2026-03-03 12:11:54 +00:00
focusPresets.test.ts feat(bd-2r0): Focus Mode Presets 2026-03-07 05:31:25 +00:00
focusPresets.ts feat(bd-2u6): File Context Panel (Split View) implementation 2026-03-07 12:24:28 +00:00
gitParser.test.ts feat(bd-2js): Parse git status and diff from NEEDLE logs 2026-03-04 04:23:39 +00:00
gitParser.ts feat(bd-2js): Parse git status and diff from NEEDLE logs 2026-03-04 04:23:39 +00:00
heapDiff.ts feat(memory): add heap diff analysis and leak detection utilities 2026-04-28 14:05:39 -04:00
historicalStore.test.ts feat(bd-zci): add instrument alias resolution and source-priority upserts 2026-04-21 18:16:39 -04:00
historicalStore.ts feat(bd-zci): add instrument alias resolution and source-priority upserts 2026-04-21 18:16:39 -04:00
index.ts feat(bd-art): SQLite Historical Analytics Storage 2026-03-07 04:18:45 +00:00
logPruner.test.ts feat(bd-ch6.6): add /api/health + /api/metrics self-observability 2026-04-23 21:54:38 -04:00
logPruner.ts feat(retention): add systemd timer for automatic NEEDLE log pruning 2026-04-30 16:22:16 -04:00
memoryProfiler.ts feat(bf-5r8a): add memoryProfiler module for real-time memory profiling 2026-05-02 14:29:47 -04:00
needleFabric.integration.test.ts test(bd-0nd): add directory-source integration test with NEEDLE fixtures 2026-04-22 16:32:11 -04:00
normalizer.test.ts feat(bd-zci): map OTLP metrics → analytics DB instruments 2026-04-21 17:06:45 -04:00
normalizer.ts feat(bd-eir): complete FABRIC↔NEEDLE dovetail — wire cross-source dedup, add exporter docs 2026-04-21 19:35:39 -04:00
otlpGrpcReceiver.test.ts feat(bd-f4p): add OTLP/gRPC receiver on :4317 2026-04-21 13:03:13 -04:00
otlpGrpcReceiver.ts feat(bd-eir): complete FABRIC↔NEEDLE dovetail — wire cross-source dedup, add exporter docs 2026-04-21 19:35:39 -04:00
otlpHttpReceiver.test.ts feat(bd-593): add OTLP/HTTP receiver on :4318 (protobuf + JSON) 2026-04-21 13:33:36 -04:00
otlpHttpReceiver.ts feat(bd-eir): complete FABRIC↔NEEDLE dovetail — wire cross-source dedup, add exporter docs 2026-04-21 19:35:39 -04:00
parser.real-logs.integration.test.ts fix(tests): fix failing unit tests 2026-05-22 15:55:35 -04:00
parser.test.ts fix(types): update NeedleEventType to match current NEEDLE output 2026-04-26 22:29:50 -04:00
parser.ts feat(bd-h40): extract Normalizer component — decouple parse from ingest 2026-04-21 12:34:30 -04:00
semanticNarrative.test.ts feat: add NEEDLE-FABRIC integration test suite 2026-03-04 23:47:44 +00:00
semanticNarrative.ts feat(web): add ErrorGroupPanel with grouped error cards and similar past errors 2026-04-24 06:16:46 -04:00
serverMetrics.ts test(analytics): add comprehensive worker comparison tests 2026-04-28 14:20:32 -04:00
sessionDigest.test.ts feat(bd-1c5): Implement AI session digest generation 2026-03-04 03:28:04 +00:00
sessionDigest.ts feat(bd-1c5): Implement AI session digest generation 2026-03-04 03:28:04 +00:00
store.test.ts fix(test): increase timeout for maxEvents limit test 2026-05-26 19:01:33 -04:00
store.ts feat(types): add granular NEEDLE worker states + directory tailer startup re-read 2026-05-26 22:18:56 -04:00
tailer.test.ts feat(bd-2kf): Add comprehensive test coverage for parser and store 2026-03-03 10:43:24 +00:00
tailer.ts feat(bd-ch6.1): bound DirectoryTailer memory and fd usage via LRU active set 2026-04-23 22:13:18 -04:00
types.ts feat(types): add granular NEEDLE worker states + directory tailer startup re-read 2026-05-26 22:18:56 -04:00
workerAnalytics.test.ts feat(bf-3jyx): fire beadsCompleted on bead.released/release_success 2026-05-15 16:57:38 -04:00
workerAnalytics.ts feat(bf-3jyx): fire beadsCompleted on bead.released/release_success 2026-05-15 16:57:38 -04:00
workerMemoryLimiter.ts feat: add per-needle-worker MemoryMax ceiling (4 GB) 2026-06-07 09:19:05 -04:00