Skip to content

test: add comment projection fixtures from LibreOffice and Word - #138

Merged
Git-Uzair merged 1 commit into
dealfluence:mainfrom
Dmitry-Kov:fixtures/producer-comment-projections
Sep 9, 2026
Merged

test: add comment projection fixtures from LibreOffice and Word#138
Git-Uzair merged 1 commit into
dealfluence:mainfrom
Dmitry-Kov:fixtures/producer-comment-projections

Conversation

@Dmitry-Kov

@Dmitry-Kov Dmitry-Kov commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Adds three read-only corpus scenarios requested in #137. They project existing comments, tables and header/footer text from three producers. The inputs are synthetic and copied byte-for-byte from the already-sanitized ooxml-integrity corpus at e07ee5cdb1993786aff293e7799e62d32c2f04bd.

Folder Coverage
03_libreoffice_review_comments LibreOfficeDev 26.8.0.0.alpha0, build 2c87e51eeaa2b413ff4ae097b2705eea1995d8e5: three existing comments, producer-specific table-cell styles, custom XML and header/footer text.
04_word_mac_review_comments Microsoft Word for Mac 16.112.3: three existing comments, commentsExtended.xml, commentsIds.xml, table cell anchors and header/footer text.
05_word_windows_review_comments Microsoft Word for Windows 16.0.14334.20848, x64: three existing comments, extended comment metadata, table cell anchors and header/footer text.

Each folder contains only input.docx, a UTF-8 test.json without a BOM, and the two Markdown goldens generated by python/scripts/generate_goldens.py. Numbering continues after the existing 01 and 02 folders. The previously committed shared/fixtures/base.docx is not added again.

The evidence/docx-beta corpus carries no unaccepted tracked changes; these three fixtures cover comment projection, not revision projection or accept/reject. Revision-bearing fixtures are being prepared from a different part of the same corpus and will follow in a second PR. Two prepared Word Online edit scenarios are held back pending the namespace-comparison issue #139; they are entirely outside this PR branch.

Privacy, provenance and licensing

The source corpus was scrubbed of personal metadata before publication. Every selected file was independently audited again; no additional replacements were necessary, so all input and local after files retain their corpus bytes, part order and SHA-256 hashes.

The audit checked every XML and relationship part, including document/revision/comment authors and initials, visible w:t text, docProps/core.xml, docProps/app.xml, docProps/custom.xml when present, customXml/, word/comments.xml, word/commentsExtended.xml, and word/commentsIds.xml. word/people.xml is absent in these files. There are no unreviewed binary members or external relationships in the selected packages. Searches for the contributor's known name variants, email indicators and current Mac identity strings returned no hits. Literal .com hits are documented OOXML namespace, schema, relationship and MIME identifiers. Historical Windows user/host names and an exact tenant-domain value were not available for separate exact-string checks.

The retained comment authors are Evidence Reviewer, Evidence Reviewer 2, and Evidence Reviewer 3, with initials ER, E2, and E3. Core creator/lastModifiedBy values are ooxml-integrity evidence builder. Company and Manager values are empty or absent. The broader seven-file audit, including the three inputs in this PR, passed ooxml-integrity check with zero errors, warnings or informational findings. All seven pages in that audit were rendered and inspected; the three comments in the Word for Mac projection input were also inspected in a LibreOffice render with comments displayed in the margin.

I have redistribution rights for these synthetic documents and license them under MIT. They contain no personal data that I do not want public, including author names inside comments or revisions. The fixture documents are byte-reproducible by copying the recorded files from the pinned ooxml-integrity corpus.

Source license: MIT, Copyright (c) 2026 Dmitrii Kovalev.

Local validation

Validated with exactly these three new scenarios present, on macOS with Python 3.12.14 and Node 24.19.0:

  • Python full suite: 1923 passed, 130 skipped.
  • TypeScript core: 1056 passed, 32 skipped; MCP server: 327 passed; n8n: 50 passed.
  • Both engines passed all five shared consistency scenarios (the two existing scenarios and these three additions).
  • All Node workspaces built; workspace lint, Ruff, format check and mypy passed on the unchanged source tree.

No known failing scenarios are included. The macOS run does not cover Windows-only live Word COM tests or every Python/Node version in the CI matrix.

@Git-Uzair
Git-Uzair merged commit e3b77fb into dealfluence:main Sep 9, 2026
8 checks passed
@Git-Uzair

Copy link
Copy Markdown
Collaborator

Merged. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants