Skip to content

Protect file dependencies and make reviewed changes recoverable - #6

Merged
Yariminal merged 2 commits into
masterfrom
codex/safe-execution-recovery
Sep 28, 2026
Merged

Yariminal merged 2 commits into
masterfrom
codex/safe-execution-recovery

Conversation

@Yariminal

@Yariminal Yariminal commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

Scans can suggest risky changes when image similarity is mistaken for a disposable copy, a filename is borrowed from unrelated content, or a linked resource is moved on its own. Review and execution also need to survive interrupted analysis and keep concurrent CLI/server writes from racing approval. This change makes proposals evidence-aware and session-scoped, requires explicit review for non-exact duplicate candidates, previews the ordered file changes before commit, protects known resource bundles, and journals selected operations for undo. Server-owned run plans persist progress and support explicit resume or retry.

The review API and web UI now show source/keeper evidence, analysis limits, protection reasons and projected final paths. Stored MD5 grouping is identified separately from unavailable SHA-256 evidence; execution rechecks live SHA-256 before exact-copy trash. The naming and organizer gates preserve project identifiers and numbered sequences and suppress unsafe grouping suggestions. CLI and web writers share a cross-process operation lock.

Validation through 2026-09-28: root independently ran 263 tests with zero skips; JavaScript syntax, Git whitespace and ddh --help checks also passed. The suite includes exact-copy trash/undo, legacy database migration and two-session CLI scope. Two local web servers rejected review/commit while a separate CLI writer held the lease; after it exited, commit and CLI undo restored the synthetic asset. A two-interpreter six-file restart retained two completed analyses and processed only the four remaining files after explicit resume; the AI provider responses in that proof were stubbed. Across six fresh disposable corpora, 1,337 files (4,431,413,374 extracted bytes) yielded 1,321 indexed AI attempts: 780 analyses, 541 explicit skips, zero provider failures or unprocessed indexed files. Small, Photo and Links selected 13 total actions; all passed dry-run, commit and undo. Medium, Hebrew and Large had no safe file operation and passed zero-operation checks. Root's final audit matched all 1,337 original file hashes/paths, 1,321 indexed database paths/names, six source ZIP hashes, directories and foreign keys. Medium's 503 numbered frames kept their folder and names. See the validation report for per-corpus evidence and limits.

Cross-platform CI passed all nine Windows, Ubuntu and macOS jobs on Python 3.10, 3.11 and 3.12 for commit ae65f17. CI run. A separate clean Windows installation using only .[dev,web] also passed 263 tests and the CLI entry point.

Known limits: Medium still yields 476 non-exact duplicate candidates requiring individual review, so candidate precision is not established. Browser visual and accessibility checks were unavailable after the earlier local-browser permission denial. The Medium run was not crash-tested against live Ollama; the separate restart proof used stubbed model responses. Conservative resource protection does not prove every external application reference resolves.

@Yariminal
Yariminal merged commit e937055 into master Sep 28, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant