storytold/indd-utils
50.9
Adequate · 7 November 2026
40.4k
lines of production code
Rust
with Python
1
measurement over time
What this system is
Behavioural changes
27 commits (4 fixes) modifying src/idml
A change to existing behaviour in src/idml — 27 commits (4 fixs), 19 files: “feat: write the script labels of frames, shapes, groups, buttons and multi-state objects, and label strings as stored”; “feat: write the story, link, contour, object style and HTML5 export values of DOM 21.1 to 21.5, and the anchored settings of every complete element”; “feat: write the extended keyboard shortcut of styles with a character key”; and 24 more. Also in this area: 26 commits (1 fix) modifying src/idml.
src, src/idml, tools · medium confidence · unverified
6 commits (0 fixes) modifying src/idml
A change to existing behaviour in src/idml — 6 commits, 12 files: “feat: write the grid starting point, TOC story direction and object style optical margin”; “test: read the applied named grid and the stroke categories of page items”; “feat: write the named grid of stories and object styles”; and 3 more. Also in this area: 17 commits (1 fix) modifying src/model.
src/model · medium confidence · unverified
90 commits (3 fixes) modifying (repo-wide)
A change to existing behaviour in (repo-wide) — 90 commits (3 fixs), 9 files: “docs: update the README numbers”; “docs: state only what the samples show about byte order”; “feat: add a fetch manifest and tool for the openly licensed corpus”; and 55 more (refs \#3, \#11).
(repo-wide) · low confidence · unverified
Test coverage
8 commits adding/updating tests in tests
Test coverage in tests — 8 commits (3 fixs), 4 files: “feat: convert big-endian files from InDesign 3.0 and 4.0”; “fix: convert or clearly reject every file in the new sample batch”; “feat: add indd audit and a corpus-wide audit ranking”; and 5 more. Also in this area: 1 commit adding/updating tests in tests.
tests · high confidence · unverified
Written by cca.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 51.
Lenses
- Code Health 83
- Architecture 86
- Maturity 67
- Readiness 23
- Security 87
Changes since last survey
- 300 commits — 263 feature/other, 37 fixes
By area
- docs/format — 109 commits
- (root) — 72 commits
- src/idml — 66 commits
- src/model — 37 commits
- docs/measurement.md — 9 commits
- tools/compare.py — 4 commits
- src/object.rs — 1 commit
- tools/corpus-manifest.json — 1 commit
- tools/diff_outputs.py — 1 commit
Notable commits
- fix: fix(compare): count no text positions outside character ranges
- fix: fix(compare): count text ranges inside wrapper elements
- fix: fix(compare): count the ContourOption of text wrap settings
- fix: fix(compare): count the text ranges of footnotes, table cells and notes
- fix: fix(compare): give the nested option table its own name
- fix: fix(compare): match fonts whose family has the technology suffix
- fix: fix(render_compare): correct line-box offsets per page
- fix: fix: accept InDesign's markup of form fields anchored in text
- fix: fix: accept any second byte in searched in-object strings
- fix: fix: bound the capacity of text segments by the bytes left
- fix: fix: convert or clearly reject every file in the fetched sample batch
- fix: fix: convert or clearly reject every file in the new sample batch
- fix: fix: guard against cyclic and oversized structures in damaged files
- fix: fix: leave a family name's trailing spaces out of its fonts' Name from DOM 21
- fix: fix: leave out UntitledDocumentCount, which the IDML schema does not allow
- fix: fix: leave out an unreadable story, spread or page item with a warning
- fix: fix: leave out font axes and placed-text plugin data from the measurement
- fix: fix: leave out spread guides outside the spread's pages
- fix: fix: leave out timing targets whose element is not written
- fix: fix: name grouped styles with their group path and escape colons
- …and 280 more
Written by cca.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
storytold/indd-utils was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 7 November 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 136f973a9d5f1b3ef34e46e27f4a08af196efde7 — the exact code this score is about.
- Scored under rubric-2026.11.2 — the same rubric and the same method as every other entry in this index.
- Measured by Canine Code Analyzer (cca.canine.dev) using cca measure-2026.11.3+preprod-5f8314471808.