146f96a6fd
A file_read of a path that is inside the workspace but does not exist is now BLOCKED with "no such path" instead of silently returning empty — so an agent that hallucinated a filename fails loud and self-corrects (list the directory, fix the name) rather than proceeding on an absent reference. Out-of-workspace targets stay PathContainmentRule's concern, so the gates don't double-handle. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>