From 46ffa91fd4fcc2249cd097b3b3a639d37a7d592e Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Thu, 20 Aug 2026 17:33:26 +0200 Subject: fix(lang): stop internal book ids reaching output, and finish the docs Three defects, all found by running the documented examples rather than by reading code. All seven modern-numbering targets carried their own internal id as their Latin name (kings_1.full = kings_1), so --sigla-tradition modern printed "kings_1 19:3-8" -- leaking a key book.mli states is never shown to a reader. They now carry Vulgate-derived Latin names marked CONSTRUCTED: the 1962 Missal uses Vulgate numbering throughout, so it can contain no incipit for a book that exists only under a later convention. In Latin the modern tradition therefore only moves Kings and Esdras; Osee, Ionas, Ecclesiasticus and the Apocalypse keep their names either way, since modern numbering is a vernacular convention. The coverage test could not catch this. It compares a name against its KEY ("kings_1.full"), and "kings_1" differs from that, so the row passed. A second check now asserts no name IS its own id. The two are complementary: one catches a missing row, the other a row present but filled with the wrong thing. Mutation-proved. --help still claimed sigla settings were resolved "but not yet rendered", stale since the render wiring landed. colitur-config.5 documented none of the three settings even though config --show prints them. --- bin/main.ml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/main.ml b/bin/main.ml index 5ad3132..c76a082 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -1267,9 +1267,10 @@ naming: `abbr`), the same discipline as an unknown `--lang`; an unrecognised `--sigla-tradition` is not -- it degrades to the Vulgate with a stderr warning, because asking for a renumbering - is optional the way asking for a language is not. Settings - only, for now: this build resolves and reports them but does - not yet render a citation through them. + is optional the way asking for a language is not. `--raw` + bypasses all of it and emits each citation exactly as stored, + byte for byte, so it stays usable for diffing and does not + depend on the citation parser being correct. colitur lang --list which language files this build can find, and each one's own declared fallback, if any. -- cgit v1.3