fix(intelligence): add runaway-storage guard to pending-insights log#2615
Draft
ruvnet wants to merge 1 commit into
Draft
fix(intelligence): add runaway-storage guard to pending-insights log#2615ruvnet wants to merge 1 commit into
ruvnet wants to merge 1 commit into
Conversation
Append-only pending-insights can grow unbounded if the consolidation daemon never runs. Cap at 2000 most-recent lines once the file exceeds 512 KB; statSync cost is negligible per edit and the rewrite fires only when the guard triggers. Co-Authored-By: RuFlo <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01G8Lzt9guWmHtN8NzcuovaG
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.claude/helpers/intelligence.cjsto prevent the append-onlypending-insightsfile from growing unbounded when the consolidation daemon never runs.statSynccost is negligible per edit; the rewrite fires only when the guard triggers.try/catchso any filesystem error is non-fatal.Details
pending-insightsis append-only and is only drained by the background consolidation worker. In environments where the daemon never starts (CI, ephemeral containers, source-only checkouts), thousands of un-consolidated edits can accumulate indefinitely. This fix caps growth at a safe ceiling without changing normal-operation behaviour.Test plan
intelligence.cjsloads without errors:node -e "require('./.claude/helpers/intelligence.cjs')"pending-insights, callrecordEdit, confirm file is trimmed to ≤2000 linesGenerated by Claude Code