Files
ai-memory/.github
Peterson SalmeandClaude Opus 5.5 d8dfdc94a9 fix(hooks): close review gaps in shell-command capture matching
Review of #961 found the ported TypeScript matcher claimed more than it
enforced. Both matchers now:

- recognize OpenClaw's and Devin's `exec` shell tool, and the TS list
  gains the native aliases (`shell_command`, `terminal`, `execute_bash`,
  `execute_cmd`);
- resolve relative arguments from a shell tool's `workdir` (OpenCode
  `bash`, OpenClaw `exec`, Codex `shell`) instead of the event cwd;
- treat `dir/**` as covering `dir` itself when `dir` holds a glob, as the
  TS already did; Rust charges that match to its budget.

TS `captureStartsWith` walks only the prefix instead of spreading both
strings per pattern and argument, and `captureGlob` reuses
`captureCharEq`.

The shell drop/keep tables move into a `shell` section of the shared
capture-policy fixture that both `shell_fixture_vectors` and the Node
runtime evidence execute, with tool-alias, workdir, glob-directory and
Windows vectors. The Linux CI test job installs Node 24 and runs the
Node evidence with `--ignored`, which now fails instead of skipping when
Node cannot strip types.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 14:36:39 -03:00
..