Repository navigation
test: the audit measures what the tool supports; figures re-measured on 0.3.0 - #58
Merged
Merged
Conversation
…on 0.3.0 The corpus audit globbed *.docx. The converter accepts .docx, .docm, .dotx and .dotm, and on Linux that glob is case-sensitive as well, so a .dotx or a .DOCX in an audited folder was left out of the figure rather than counted. One of the 50 sampled documents used here is exactly that case, and the tree it came from holds seven files with an upper-case extension. A file that is not an OPC package at all -- a Word 97-2003 binary renamed to .docx -- is now its own reported category rather than a failed assertion. The CLI already calls that input error and exits 2 rather than 1, so the audit draws the same line; a real folder usually holds one, and failing for it buries everything else the audit found. Every other exception type still fails. Re-measured on 0.3.0, corpus 394b2cb31e7459a1, 2026-10-15 Word documents found 50 not a Word package 1, reported and excluded from the denominator documents converted 49 of 49, none threw lost not one word 45 words lost 21 of 245,034, 0.009% worst document 11 words, 99.8% kept run time 13 m 44 s README.md and docs/limitations.md carried the 0.2.0 figure against corpus dca5084324a9022c, which cannot be re-measured: a corpus id is a hash of its documents' content, so it recognises a corpus and cannot reconstruct one, and the _source.tsv that mapped that one was not kept. Both documents now record that, and that the two figures are not comparable -- the converter changed too. Two limitations that still said "Status: open" are marked fixed, with the commit and the verification that closed them: #37 and #38 shipped in 0.3.0. Suite: 394 total, 393 pass, 1 skip, the skip being this audit with no DOCMD_CORPUS set. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018wZEgtuzaZPswykiGEBxbz
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The audit that produces docmd's published coverage figures measured less than the product
supports, and the figures it produced were a year-old release behind. Both fixed here, in that
order, because the second depends on the first.
The instrument
Corpus_Auditglobbed*.docx. The converter accepts.docx,.docm,.dotxand.dotm, andon Linux that glob matches case-sensitively as well -- so a
.dotxor a.DOCXin anaudited folder was left out of the figure rather than counted. One of the 50 documents sampled
for this measurement is a
.dotx, and the tree it came from holds seven files with an upper-caseextension.
~$is Word's own lock file -- ownership metadata, never a readable package -- so it is skippedrather than counted as a failure.
A file that is not an OPC package at all is now its own reported category instead of failing
the audit's one hard assertion. A real folder of client documents usually holds one: a Word
97-2003 binary that someone renamed to
.docx. The CLI already calls that input error and exits2 rather than 1, and the audit now draws the same line. Every other exception type still fails
the run, because an exception really does end a batch.
The figures
Re-measured on 0.3.0, corpus
394b2cb31e7459a1, 2026-10-15, run time 13 m 44 s:Every one of the 21 words falls into a cause
docs/limitations.mdalready records -- unmappedw:symcharacters,<pict>/<shape>wrappers, words fused at a figure-caption boundary, onebare URL -- and the two causes 0.3.0 fixed produced no losses at all.
The corpus the old figures used is unreachable
README.mdanddocs/limitations.mdquoted 27 of 50 againstdca5084324a9022c. That corpuscannot be re-measured. A corpus id is a hash of its documents' content, so it recognises a
corpus and cannot reconstruct one, and the
_source.tsvthat mapped those documents was notkept anywhere on the machine.
This is the second time a corpus behind a published figure has become unreachable, and the first
time is already written into
scripts/verify-corpus.sh: "by the time anyone tried to re-measure,20 of its 21 names no longer resolved to a file." Content hashing was the fix for names; keeping
the manifest is the fix for hashes. Both documents now say so.
The two figures are therefore not comparable -- different documents and a different
converter. Both documents say that too, rather than inviting the reader to read an improvement
into the difference.
Also
Two limitations still said
Status: openfor defects that shipped in 0.3.0 -- the tab-indentedcode block (#38) and the non-numeric
w:ilvl(#37). Both are marked fixed, with the commit andthe verification that closed them, in the style the file already uses for fixed entries.
Suite: 394 total, 393 pass, 1 skip -- the skip being this audit with no
DOCMD_CORPUSset,which is how it is meant to behave.
🤖 Generated with Claude Code
https://claude.ai/code/session_018wZEgtuzaZPswykiGEBxbz