Stories layer: every text container addressable, accepted view byte-stable

↗ view on GitHub · Eli Ziff · 2026-07-29 · dea65332

extractDocxStories walks body, footnotes, endnotes, headers, footers and
text boxes as separate stories, descending w:hyperlink and w:smartTag so
their text stops being invisible to the main path. Paragraph text is the
accepted view; deleted runs stay on .runs so no reader has to reparse.
storiesBodyText is byte-identical to extractDocxBodyText on 9 fixtures
and 400 corpus documents (equal=400, mismatches=0); the hyperlink and
smart-tag fixes are the only deliberate divergences, fixture-proven.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012AgUm5EcRKbT3duVFMbrQD
Repository eliziff/Beaver
Author Eli Ziff <eliasziff@gmail.com>
Authored
Parents 013aca10
Stats 2 files changed , +972
Part of SourceDoc / DOCX engine: redlines, tracked changes, editing benchmark

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-dea65332.md from inside the repo you want the change in.

⬇ Download capture-commit-dea65332.md