perf(crafter): stream AccessChk material instead of buffering it whole
Summary
Streams the Sysinternals AccessChk material through the crafter instead of reading the whole file into memory.
accesschk.Parse now takes an io.Reader and parses the input line by line, so the crafter opens the file with os.Open rather than os.ReadFile, removing the full-file buffer held at craft time. The size-gated raw-text fallback is preserved by tracking the byte count as the input streams and dropping the verbatim Raw/RawLines fields once RawRetentionLimit is crossed; Report.RawOmitted reports when that happens so the crafter can warn that string-matching policies will not see those fields for the material. The policy-evaluation projection wraps the in-memory material bytes with a reader, matching the existing text-material paths.
AI assistance
This change was produced with the assistance of Claude Code.