feat: content-addressed parse cache (Issue 11)
Persistent parse cache keyed by file SHA-256 + parser name/version under the app's local data home (parse-cache/), scoped per user/document so matter content never crosses scopes. Wired into both production text extraction paths (local extractLocalDocument and cloud readDocumentContent) via a shared per-format parser table; content or parser-version changes naturally miss, clearParseCache deletes a scope or everything, hits log actually avoided work. Measured: 554KB PDF 1468ms -> 2ms, 121KB DOCX 128ms -> 1ms, byte-identical output. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016yXxuitxX5h4wm1v88hnga
| Repository | eliziff/Beaver |
|---|---|
| Author | Eli Ziff <eliasziff@gmail.com> |
| Authored | |
| Parents | 2d672de6 |
| Stats | 4 files changed , +248 , -74 |
| Part of | PDF pinpoint evidence and parse-lifecycle hardening |
Capture this commit into my fork
Download a Markdown prompt that tells Claude how to port this
exact commit into your working tree. Run it via
claude -p < capture-commit-2959ca8c.md
from inside the repo you want the change in.