Release/v1.1.0 - #16
Merged
Merged
Conversation
…s basic compression of zip and zstd, no new deps
big bang: internal compression before detected files are trashed, us…
…,registry, staleness, and structural checks
Feat 9 compress artifacts
…er sending to trash
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
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
Adds compression-before-trash for the deletion pipeline, plus two new commands:
analyzeandexplain.Closes #9
Compression (#9)
Compresses artifacts into an archive, verifies the archive is valid, then sends the archive to
send2trash— not the raw directory. Original is never deleted until the archive is confirmed intact.tarfile, no new required dependency)devklean[zstd]extra (zstandardpackage); falls back to gzip with a warning if requested but not installedrestoremessaging updated to reflect that compressed items need extraction after retrieval from OS trashThis replaces the compression logic merged in #12 on
dev. That implementation deleted the original before the trash/compression step was confirmed — a data-loss risk if compression failed partway through. This PR compresses → verifies → trashes, in that order, so the original is untouched on any failure. Old zip/zstd-based code path fully removed, not left alongside the new one.analyzeandexplainNew static signature registry for known build/dependency artifacts (node_modules, .next, dist, coverage, venvs, etc.) — each entry carries ecosystem, regeneration command, risk, and a fixed confidence score. No LLM/API calls anywhere in this — every verdict is deterministic and reproducible, which matters for a tool that's recommending deletions.
devklean explain <path>— looks up a path against the registry, prints why it's safe to delete and how to regenerate it. Unrecognized paths get no verdict at all, not a guess.devklean analyze— scans candidates (reusingclean's existing detection), reports reclaimable size, and flags simple structural issues (e.g. conflicting lockfiles present in the same project). Staleness is derived from the parent project's source/commit activity, not artifact-directory mtime, since installs touch that and atime is often unreliable.Unrecognized/ambiguous paths are explicitly out of scope for a verdict in this pass — only known signatures get classified.
Tests
Notes
dev(where big bang: internal compression before detected files are trashed, us… #12 landed), notmain.