You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bug(storage): ghost logs are protected from every retention pass, contradicting the cap comment #732
Problem (found during the #729 review; pre-existing)
isProtectedFromDebugPrune in src/main/storage/debugRetention.ts returns true for the entire ghost-logs bucket. Every prune pass — TTL, per-bucket cap, global budget — skips protected artifacts, so ghost logs are never pruned at all. The comments around the TTL pass and the ghost-logs cap ("keep ghost cleanup on the budget/cap passes … this cap handles abandoned session files") describe an intent the code does not implement. Introduced in 0e672c22.
Expected
Either the ghost-logs bucket is exempt from the TTL pass only (the documented reasoning: age alone is not evidence a log is disposable) and remains subject to its cap and the global budget with the usual active-grace guard, or the comments and the cap entry are removed and the bucket is documented as unbounded.
Impact
STATE_DIR/ghost-logs grows without bound; combined with #731 (resume re-appends the whole log) the per-session files themselves grow on every resume.
Activity