Skip to content

Documentation that matches the repository

Choose a tag to compare

@AlphaNerdFx AlphaNerdFx released this 10 Sep 18:18
· 16 commits to main since this release

Documentation that matches the repository, and two tools that check it.

v0.12.0 was tagged but never published. This is that release plus a documentation audit, cut as a separate version because the README is also the PyPI description and PyPI freezes it at upload. Publishing a page carrying links that already resolve to nothing is what cost this project v0.8.1.

The audit

  • An error message told users to read docs/languages.txt, which has never existed here. It now names tango languages, which does. Same class as the v0.7.0 flag removals: an instruction that cannot be followed, with nothing failing when it stopped working.
  • The structure tree in ARCHITECTURE predated the reorganisation it described. It listed SESSION.md, TASKS.md and ARCHITECTURE.md at the repository root five months after they moved into docs/, and omitted CHANGELOG.md, images.py, scripts/ and four test files.
  • Four ADR citations pointed at docs/ rather than docs/adr/, and one read CLAUDE.md/ARCHITECTURE.md as though it were a path.
  • The README listed ten of the fifteen pipeline modules.
  • The README promised the translation-server extra "arrives in v0.12.0", which would have been frozen onto the page announcing that very release.

The guard

A test now fails when any document or user-facing message names a file that is not there. It caught a mistake in the corrected structure tree within a minute of being written. CHANGELOG.md is exempt by principle: a changelog records what changed, so it names removed files on purpose.

Also in this release, from v0.12.0

Everything in the v0.12.0 notes: the memory targets measured rather than asserted, docs/COMPATIBILITY.md and its enforcing test, the coverage sweep run for the first time since v0.7.0, and the three defects that made a run lie to its user.

Since then, make benchmark and make mutation were added. Deferring spaCy and genanki out of module scope took tango --version from 45.94s to 3.98s. Four rounds of mutation testing took cards.py to 536 killed of 729 and language.py to 212 of 281.

Full detail in CHANGELOG.md.