Repository navigation
Harden organizer transfers, undo, and compression publication - #2
Draft
JayacharanR wants to merge 5 commits into
Draft
JayacharanR wants to merge 5 commits into
JayacharanR wants to merge 5 commits into
Conversation
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.
Organizer moves can overwrite colliding targets, undo can remove newer edits, and compression can replace its own input. This first audit-repair phase adds verified private staging, exclusive publication, intent journals, and conflict-aware undo. Organization retains filename variants and names colliding outputs uniquely. Compression refuses existing outputs and overlapping roots. The scan and organize forms also preserve threshold zero. Legacy callers close their journals on return and failure; API Trash requests use independent sessions.
Validation: 65 Python tests pass in the working tree, including the existing API/workflow suite; all 49 added regressions pass from a clean export of the committed tree. Ruff and the frontend production build pass. GitHub Actions passed lint, Rust/Python tests, and the Docker build/smoke test on final head fb915ad: https://github.com/JayacharanR/Clean-Backup/actions/runs/43293216322. Regressions include separate-process collisions, failed/corrupt copies, changed sources, journal failures, interrupted undo, abrupt process exits at three transfer boundaries, and legacy session lifetimes.
Scope and limits: publication requires hard-link support and fails closed otherwise. Old path-only journals require manual review, and abrupt exits may leave private staging files. Classification, CLI duplicate handling, and Trash still need migration to the executor. Deletion plans, API access boundaries, cloud object identity, compression fidelity, and the remaining audit findings are open. See docs/AUDIT_REPAIRS.md for finding-level status. This draft is the first repair phase, not a release-readiness claim.