Files
analysis_claude_code/s20_comprehensive/code.py
root 97b8541b36 fix(s04,s20): resolve Gate2 safe_path conflict same as s03
s04_hooks: permission_hook checks path + asks user, but safe_path
still raised hard ValueError — user approval was ineffective, same
root cause as s03 (#482).

s20_comprehensive: permission_hook used safe_path directly inside
try/except, silently denying all writes outside workspace without
ever asking the user.  Now uses is_relative_to check + user prompt.

Both files also add read_file to the permission coverage.

s05-s08 intentionally NOT changed: their permission_hook does not
check paths at all — safe_path is their only path-safety defense.
2026-07-28 20:23:58 +08:00

78 KiB