Stories layer: every text container addressable, accepted view byte-stable
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.