SIGN IN SIGN UP

fix(pnpm): gate global-opt strip to the rtk pnpm rule (review round 1)

The strip ran in classify_command but the rewrite matches rewrite_prefixes
against the original flag-first text. For the tool rules reachable via
`pnpm exec`/`pnpm run` (`pnpm -r exec vitest`, `pnpm -r lint`, ...) the
stripped form matched a tool rule, so classify returned Supported while the
rewrite never fired — discover/session then reported savings the hook cannot
deliver.

Only adopt the stripped form when it routes to the `rtk pnpm` rule
(matches_pnpm_rule); every form the PR targets (install/list/ls/i/outdated/run)
is that rule, so nothing it claims is lost, and the tool rules classify exactly
as on develop.

Also fold the two optional items from the review:
- assert `pnpm -x install` -> None, making the fixed-set guard load-bearing.
- tolerate extra spaces before the flag (`pnpm  -r  install`) via trim_start,
  while keeping the single-ASCII-space boundary that strip_word_prefix requires
  so classify and rewrite never diverge on a tab/other whitespace separator.
B
breisnerlopez committed
6c84b823887df6623f8cd06438d03cfdcaa4ef2b
Parent: 0fe63b3