v0.46.0 — apply_patch cross-file atomicity + dry-run preview (#67)
Follow-up to #63. Two improvements to the apply_patch coding tool (venice code):
- Cross-file atomicity. A multi-file patch is now all-or-nothing. Every file's new text is staged to a temp file first, and the files are committed (
os.replace) only once every stage succeeds — so an I/O failure part-way through no longer leaves some files written and others not. (Previously each file was written as it went, so a failed write of file 2 stranded file 1.) - Dry-run preview. A new
dry_run: trueargument validates the hunks as usual but writes nothing and needs no confirmation, returning a per-hunkold→newpreview for every file. Lets a human — or an agent self-checking — see exactly what a patch will change before applying it.
Docstring, tool schema, and tool description updated; three new tests cover the preview, dry-run validation errors, and cross-file write-failure atomicity. 607 tests green.
Closes #67.