Close IPv6 and JSON-key gaps in IP redaction
main路
Commit
Review found addresses the ip category left visible and one way it broke a custom rule:
- A custom pattern named "ip" inherited the built-in context checks, so the documented full-coverage workaround stopped matching bare addresses. The checks now apply to the built-in regexes only.
- Bracketed endpoints ([fd00::5]:8080), an address after a separator colon (host:fe80::1), eight-colon compressed forms, and all-letter private addresses (fdab::abcd) are redacted; a[1::2] and c::d are not.
- JSONL values are scanned without their key, so {"host":"203.0.113.9"} had no context. A key naming an address now counts as context.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com Entire-Checkpoint: 01M5H28T7JDMKPK9XJZNMTJKJ9