Skip to content
CAI
Software that uses CAICheck a score

storytold/wordcraft

67.0

Adequate · 7 November 2026

329k

lines of production code

Rust

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Behavioural changes

1 commit (0 fixes) modifying crates/formats/src/sheet

A change to existing behaviour in crates/formats/src/sheet — 1 commit, 1 file: “Integration: \#2334 test a formula string result continued in a CONTINUE record” (refs \#2334). Also in this area: 20 commits (2 fixes) modifying crates/formats; 7 commits (4 fixes) fixing crates/formats; 1 commit (1 fix) fixing crates/formats/src/sheet.

(repo-wide) · low confidence · unverified

1 commit (0 fixes) modifying packaging/freebsd

A change to existing behaviour in packaging/freebsd — 1 commit, 1 file: “Honor CARGO\_BUILD\_TARGET in FreeBSD packaging for aarch64 release builds (\#4760)” (refs \#4760).

packaging/freebsd · medium confidence · unverified

11 commits (0 fixes) modifying crates/layout

A change to existing behaviour in crates/layout — 11 commits, 13 files: “Layout: drop caps (dropped letter sized to N lines, text indented beside it)”; “M6.1: footnotes at page bottom, endnotes at document end, click-to-edit notes”; “Layout: text wrap around floating objects, text box contents, page borders (from page edge), column separators, vertical alignment, line numbers; cli run --page/--scale”; and 8 more.

crates/fonts · medium confidence · unverified

2 commits (0 fixes) modifying assets

A change to existing behaviour in assets — 2 commits, 31 files: “M0.9–M0.12: CLI, MCP server, xtask (layers/assets/parity/ci), icon placeholder, AGENTS/ATTRIBUTION/NOTICE, protocol docs”; “M0.1–M0.6: workspace, geom, document model, fonts, layout, render”.

assets · medium confidence · unverified

3 commits (0 fixes) modifying crates/doc

A change to existing behaviour in crates/doc — 3 commits, 11 files: “M3/M6/M12: PDF export (krilla), TXT/MD/HTML/RTF/ODT import+export, citations & bibliography, index, table of figures, cross-references, tools (repeat, macros, AutoCorrect, compare, accessibility, inspector, protection, versions, Quick Parts)”; “M0.1–M0.6: workspace, geom, document model, fonts, layout, render”; “Clippy/fmt clean workspace, ROADMAP with honest parity estimate; xtask ci green”. Also in this area: 1 commit (0 fixes) modifying crates/geom; 2 commits (1 fix) modifying crates/geom; 1 commit (1 fix) fixing crates/geom.

crates/control-key, crates/geom · low confidence · unverified

6 commits (0 fixes) modifying apps/wordcraft

A change to existing behaviour in apps/wordcraft — 6 commits, 4 files: “M0.9–M0.12: CLI, MCP server, xtask (layers/assets/parity/ci), icon placeholder, AGENTS/ATTRIBUTION/NOTICE, protocol docs”; “Layout: text wrap around floating objects, text box contents, page borders (from page edge), column separators, vertical alignment, line numbers; cli run --page/--scale”; “Release pipeline (macOS universal signed/notarized DMG, Windows x64/x86 MSI, Linux AppImage/deb/rpm/tar/Flatpak, FreeBSD, web zip) adapted from DesignCraft; Windows exe resources; version in --version/About; multithreaded page raster”; and 3 more. Also in this area: 1 commit (0 fixes) modifying apps/wordcraft-cli; 3 commits (2 fixes) fixing apps/wordcraft-cli; 3 commits (1 fix) modifying apps/wordcraft-cli.

(repo-wide) · low confidence · unverified

6 commits (1 fix) modifying crates/ui-egui

A change to existing behaviour in crates/ui-egui — 6 commits (1 fix), 15 files: “docs: tidy agent, contributor and asset docs”; “fix: translate highlighting color tooltips (\#5008)”; “updates: show check results with craft-update's CheckResultDialog”; and 3 more (refs \#5008, \#4327, \#4426, \#4734, \#4817, …). Also in this area: 37 commits (0 fixes) modifying crates/ui-egui; 1 commit (0 fixes) modifying crates/ui-egui.

crates/ui-egui · medium confidence · unverified

7 commits (0 fixes) modifying packaging/web

A change to existing behaviour in packaging/web — 7 commits, 4 files: “web host mode: refuse an oversized host file before copying it, cap the name, and document trust and limits”; “wordcraft-web: speak the host messages through craft-web-host”; “feat(web): page host mode, so a page can host WordCraft in its own document (\#4366)”; and 4 more (refs \#4366, \#126, \#177, \#4024).

packaging/web · medium confidence · unverified

746 commits (33 fixes) modifying (repo-wide)

A change to existing behaviour in (repo-wide) — 746 commits (33 fixs), 18 files: “Proofing: web addresses after a no-break space are not marked as misspelled”; “Layout: an empty paragraph with a hidden mark shows nothing, not even its list number (\#3982) (\#3992)”; “New documents follow the system region: A4, centimetres and decimal comma outside the US (\#838) (\#857)”; and 743 more (refs \#3982, \#3992, \#838, \#857, \#1177, …).

(repo-wide) · low confidence · unverified

Fixes

7 commits (4 fixes) fixing packaging

A fix in packaging — 7 commits (4 fixs), 9 files: “fix(installer): harden install-policy checks and packaging-lint workflow”; “docs(installer): describe the per-user default install location and scope”; “fix(installer): check the exact architecture-specific machine folder”; and 4 more. Also in this area: 3 commits (0 fixes) modifying packaging; 1 commit (0 fixes) modifying packaging.

packaging/windows · medium confidence · unverified

Test coverage

1 commit adding/updating tests in apps/wordcraft/tests; 1 commit adding/updating tests in crates/doc/src/tests; 1 commit adding/updating tests in crates/docx/tests; 6 commits adding/updating tests in crates/docx/tests.

Dependencies

8 commits updating dependencies (18 manifests)

A dependency / build maintenance change in (dependencies) — 8 commits, 18 files: “M0.9–M0.12: CLI, MCP server, xtask (layers/assets/parity/ci), icon placeholder, AGENTS/ATTRIBUTION/NOTICE, protocol docs”; “M3/M6/M12: PDF export (krilla), TXT/MD/HTML/RTF/ODT import+export, citations & bibliography, index, table of figures, cross-references, tools (repeat, macros, AutoCorrect, compare, accessibility, inspector, protection, versions, Quick Parts)”; “Release pipeline (macOS universal signed/notarized DMG, Windows x64/x86 MSI, Linux AppImage/deb/rpm/tar/Flatpak, FreeBSD, web zip) adapted from DesignCraft; Windows exe resources; version in --version/About; multithreaded page raster”; and 5 more. Also in this area: 1 commit updating dependencies (2 manifests); 1 commit updating dependencies (1 manifest).

(dependencies) · medium 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 67.

Lenses

  • Code Health 84
  • Architecture 94
  • Maturity 77
  • Readiness 66
  • Security 58
  • Performance 100

Changes since last survey

  • 300 commits — 269 feature/other, 31 fixes

By area

  • crates/formats — 77 commits
  • (repo) — 38 commits
  • (root) — 38 commits
  • crates/ui-egui — 37 commits
  • crates/engine — 34 commits
  • crates/layout — 22 commits
  • crates/docx — 9 commits
  • crates/doc — 7 commits
  • crates/docbin — 6 commits
  • docs/gaps.md — 4 commits
  • .github/workflows — 3 commits
  • apps/wordcraft-web — 3 commits
  • crates/metafile — 3 commits
  • apps/wordcraft-cli — 2 commits
  • contributors/people.toml — 2 commits
  • crates/fonts — 2 commits
  • crates/proof — 2 commits
  • docs/localization-parity.md — 2 commits
  • .github/dependabot.yml — 1 commit
  • apps/wordcraft — 1 commit

Notable commits

  • fix: Audit fixes for 12 issues: import limits, escaping, link schemes, table depth (#3862)
  • fix: CP1.3: craft-i18n pinned to the merge of its Language data review fixes (storytold/craft-i18n#107, 062a637)
  • fix: CP2.3: English spelling reads SCOWL 2026; regression tests for #40, #520, #1281, #1045
  • fix: CP2.3: review — pin craft-proof to craft-libs#483's re-review fix (British -ize only for real -ize words)
  • fix: CP2.3: review — pin craft-proof to craft-libs#483's review fixes (each English checks its own SCOWL dictionary) and craft-i18n to #114's merge
  • fix: CP4.3: merge fix/missing-pack-bar
  • fix: CP4.3: merge fix/missing-pack-bar
  • fix: CP4.3: merge fix/one-language-list
  • fix: CP4.3: merge fix/one-language-list
  • fix: CP4.3: restack on #5205 9ffd30d; craft-proof at storytold/craft-libs#495 89fa1559 (contains #485), font store and catalog at #486 762a06a4 (store-lock race fix)
  • fix: CP4.3: review — craft-libs at #485 f88bd48 / #486 83c2e7b; test-source warning in proof.packs, the CLI and the bar; About › Language data a fixed-height list; Cancel reaches a stalled download
  • fix: CP4.3: review — regression test: a same-length index refresh still changes index_generation, so the missing-pack bar works it out again (CodeRabbit)
  • fix: Fix #5559 follow-ups: generated list prefix, hidden-text objects, turned clipped lines, kept-markup checks once per export
  • fix: Gap 19: ODT fixes found by round-tripping LibreOffice's own templates
  • fix: Gap 19: ODT tables fixed layout and starting a page; a page break before a table's first row moves it
  • fix: Merge branch 'fix/missing-pack-bar' into fix/options-language
  • fix: Merge branch 'fix/one-language-list' into fix/missing-pack-bar
  • fix: Merge main into fix/missing-pack-bar
  • fix: Merge main into fix/one-language-list
  • fix: Merge pull request #5513 from storytold/fix/one-language-list
  • …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/wordcraft 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 729cd0a5fc953bbedbfdec4f6af18ad6d1780b3b — 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.