refactor(hooks): split gateguard gate and classifiers into smaller units

gate() handled Edit, MultiEdit and shell in one 220-line function. It now builds a small context and dispatches to gateSingleEdit, gateMultiEdit and gateShell, with the first-touch, sibling-collapse and routine/destructive shell steps as their own functions. isDestructiveGit and isReadOnlyGitIntrospection became subcommand tables; unwrapLeadWrappers got one handler per wrapper; ddLauncherCommandIndex, isDestructiveFindExec and sanitizePath lost their inline option and code point ladders. condensedGateMsg takes an options object instead of seven positional parameters.

Decision order, recorded metrics reasons, state keys and every denial message are unchanged, and the module exports are the same.
This commit is contained in:
Affaan Mustafa authored and Affaan Mustafa committed 2026-10-19 22:03:57 -04:00
1 parent cfcd81c076
commit 7b1756670f
1 file changed
+612 -563
File diff suppressed because it is too large. Load diff