Repository navigation
Add explicit companion quarantine retention - #754
Conversation
|
Final exact-head review of Final low findings were weighed as follows: partial entries and Finder writes intentionally refresh mtime/ctime, so they remain preserved for another window; the docs already require all change/modification times to be old and say recent writes are kept. Inspection is not an age override or a guarantee of immediate retry completion. Protected or unrecognized old layouts remain preserved by design; this work does not authorize deleting signed evidence. Per-reason diagnostics are optional usability work and are not needed for the requested age/confinement command. PATH-based Python follows the repository's operator/uv route. The reviewer reported no realistic trigger for a nested mount point, and the same-user unlink race remains bounded by the documented idle-cache requirement; no speculative branches were added. All 22 final retention tests pass; all earlier required local gates passed. Changed-file PyCharm remains UNKNOWN due to lifecycle-lock contention, before any project open or inspection, under the brief's allowance. No native GREEN claim. No live deletion, installed runtime replacement, release or production action occurred. Background review is not yet observable for this head; a post-turn review may still start. |
The persistent companion-validation quarantine has grown to 453 entries (about 17.7 GiB) without a retention command. This adds
context-panel-companion-cache.sh prune --root ...: a read-only preview by default, with explicit--applyand a seven-day window configurable through--older-than-days.Removal uses directory descriptors and no-follow opens. It preserves signed/profile material, hard links, active bundle suffixes, recent writes and unrelated evidence; expired empty entries and Finder metadata can age out. Failed or partial runs report the timestamped entry and count of prior removals without host paths. The existing quarantine command also protects macOS provisioning profiles. Retention remains an explicit operator action; no build or workflow invokes deletion automatically. Release docs and GitHub command metadata describe that route.
Validation:
Refs #714