feat(store): add structured store-prune previews for automation #1320
Closed
TyceHerrman
started this conversation in
Ideas
Replies: 1 comment
|
Implemented in #1321. This adds:
One deliberate exception to strictly zero filesystem changes: stable maintenance lock files may be created so the preview can serialize with concurrent writers. Both lock paths are reported in mutationRoots for whitelist validation. Validation passed: cargo fmt, clippy with warnings denied, the full Rust test suite, and all 18 store BATS tests. AI-assisted — Tool: Codex; model: unavailable/unavailable; version: unavailable. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Problem
aube store prune --dry-rundoesn't give automated cleanup enough informationto act safely. It omits paths the real prune may change and doesn't report the
total space it could free.
aube store pathprints only<storeDir>/v1, but prune also mutates the GVSand opening
Storecan migrate<cacheDir>/index. Seestore.rs,gvs_registry.rs, andaube-store/src/lib.rs..prune.lock, so preview also needs the fullwriter-exclusion protocol. See
gvs_registry.rs.aube doctor --jsonreports paths but also runs unrelated health checks. Seestore.rsanddoctor.rs.Proposal
Add JSON output to the existing preview.
aube store prune --dry-run --jsonThe output should include
Byte fields must identify upper bounds and avoid obvious hardlink double
counting.
Requirements
XDG, relative,
~, and relevant symlink paths..projects, ormake another persistent layout change.
Example
Scheduled jobs could prune shared build runners or managed developer machines
only above a size threshold. disk cleaners like Mole could also validate every root before running
the serialized prune and skip cleanup when preview fails.
AI-assisted — Tool: Codex; model: unavailable/unavailable; version: unavailable.
All reactions