Was leaking unhandled OSError tracebacks when the output's parent
path could not be created. Exit code stays 1; user-facing message
matches the existing write-failure path.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Walks DebugLog-server*.txt under the redacted directory, runs the
parser per file, merges cross-file by signature, and emits the
spec-shaped JSON report.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Honest test docstring (old/new semantics equivalent on contiguous
entries; test locks post-fix behavior against future regressions),
and add severity-prefix strip to the spec's normalization list.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Strip body-prefix severity in normalize_first_line so pattern_id
is stable across body-prefix vs bracketed-only variants.
- Lookback for inferred attribution now counts raw file lines
(per spec literal), not body-line budget across entries.
- Document hash truncation (64-bit) and direct-attribution priority.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>