ork ships 45 deny + 17 ask hook sites in 33 files; 28 files have no escape hatch, and all of them
fire regardless of --dangerously-skip-permissions. The proposal: hooks read
input.permissionMode (already in every payload — types.ts:67, guards.ts:315) and downgrade
deny → ask in permissive modes, except a hard-deny never tier you choose below.
| hook file | path | deny | ask | escape hatch | behavior in this mode | never tier |
|---|
Data verified 2026-07-23 against src/hooks/src at HEAD (static sweep of outputBlock/outputDeny/ask sites + process.env opt-outs). dangerous-command-blocker's pipe-to-shell deny was already narrowed on this branch (stdin-as-script vs stdin-as-data + network source). lib/output.ts and lib/common.ts are the shared funnel, not policy sites — the downgrade lands there once instead of as 28 per-hook edits.