fix(disk-hygiene): PowerShell guard covers .Delete() instance calls and robocopy purge flags#1128
Conversation
…nd robocopy purge flags (#1111) F4 remainder from the 0.6.4 consumer audit. The .NET-delete pattern required :: before delete, so $item.Delete() executed with no guard flag (live-observed); it now also matches .Delete(. robocopy with /MIR|/PURGE|/MOV|/MOVE raises the final ask prompt and denies in audit-only mode; plain /E copies defer. Truncation family declined with recorded reason (ordinary file-writing work — ask-tier friction outweighs the raised bar the engine's containment already backs). Grid coverage both directions. disk-hygiene 0.7.0 -> 0.7.1. Co-Authored-By: Claude Fable 5 (200k context) <noreply@anthropic.com>
|
Claude encountered an error after 1s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 1s —— View job I'll analyze this and get back to you. |
|
Warning Automated review did not complete — this is an infrastructure failure, not a review verdict. Treat any Claude comment on this PR (including a placeholder like "I'll analyze this and get back to you") as incomplete, not "no findings."
Re-running the job, or pushing a new commit, will retry the review. |
|
Warning Automated security review did not complete — this is an infrastructure failure, not a review verdict. Treat any Claude comment on this PR (including a placeholder like "I'll analyze this and get back to you") as incomplete, not "no findings."
Re-running the job, or pushing a new commit, will retry the review. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c62fa09b3a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…copy.exe Review finding on PR #1128: the word-list lookbehind rejected a backslash-preceded name, so C:\Windows\System32\robocopy.exe C:\src C:\dst /MIR returned no guard decision. robocopy is an executable normally invoked by full path, so its pattern now permits path separators before the name and an optional .exe suffix. Positive grid: path-qualified /MIR and call-operator /PURGE; negative: path-qualified /E copy defers. Suite 128 OK. Co-Authored-By: Claude Fable 5 (200k context) <noreply@anthropic.com>
|
Claude encountered an error after 0s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 0s —— View job I'll analyze this and get back to you. |
Summary
Closes #1111 (handoff-inbox item
20260723-021058-disk-hygiene-0-6-4-consumer-audit, finding F4 remainder —Clear-RecycleBinand module-qualified cmdlets already landed via #1118's review rounds)..Delete()now raises the guard's final ask prompt (the .NET pattern required::beforedelete, so$item.Delete()executed unflagged — live-observed in the producer audit); denied in audit-only mode.robocopywith/MIR,/PURGE,/MOV,/MOVE(mass deletion via mirroring) gated the same way; plainrobocopy /Ecopies stay untouched.Set-Content,Out-File,New-Item -Force) declined with recorded reason (CHANGELOG): ordinary file-writing spellings — ask-tier friction on every write outweighs the raised bar; design stays raised-bar-not-fail-closed per the guard's documented philosophy.disk-hygiene 0.7.0 → 0.7.1.
Test plan
.Delete()(two spellings),/MIR,/E /PURGE,/MOVrobocopy /EandSelect-Object IsDeleteddeferRelated
20260723-021058-disk-hygiene-0-6-4-consumer-audit(F4)🤖 Generated with Claude Code