Repository navigation
Keep developer evidence capturing with automatic retention - #7
Merged
Merged
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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.
What Changed and Why
Issue: Developer evidence permanently stopped saving at its 256 MiB quota. The production store contained 2,363 run folders dating back to before the Rust release; correction logs continued while new screenshots/sidecars were rejected.
Why this change was necessary: The previous policy protected all existing evidence and had no automatic retention. Its cached reservations could also remain stale after failed writes or manual cleanup.
New status quo: Under the existing shared mutex, reconcile actual usage on pressure and remove oldest eligible whole-run folders toward 192 MiB before admitting new evidence. Protect the current run, recent incomplete runs, backups, custom content, and reparse points. Skip locked candidates and retain their manifests until payload removal completes. Log pruning and at most one storage warning per run. Expired/partly pruned replay evidence gets an explicit diagnostic. Ordinary JSONL logs and exported replay cases are preserved.
Verification
GitHub Rust checks passed: lint, Dev/Prod regressions, optimized build, native startup/resource smoke, and candidate packaging. Local Clippy also passed with warnings denied.
Windows: 27 Rust unit tests plus the DPI resource test passed with production features. Seven retention tests cover continued writes after pressure, stale counters, active/backup protection, abandoned runs, quota/path checks, locked files, and junctions.
Seven targeted Python checks passed, including missing/partially pruned payload diagnostics. Full pytest suite not run: pytest is unavailable.
Claude Opus 5.5 medium performed two independent reviews; actionable findings were addressed and retested.
git diff --checkpassed.Local recovery moved 155 older completed runs (64.16 MiB) to a separate local archive without deleting evidence, restoring roughly 64 MiB of headroom. No clipboard/GUI actions or application restart. A new live capture has not been forced.
After merge
Published v0.13.1 at
9fece49. Release CI, including fresh-installer validation, passed. The existing installed app updated through its native restart flow to 0.13.1 and reported Up to date. Settings/encrypted-key fingerprints, daily logs and archived evidence were preserved; no new update error events. The merged worktree/branch and release build artifacts are cleaned up. No forced clipboard or editor test was performed.