<feed xmlns='http://www.w3.org/2005/Atom'>
<title>colitur.git/lang/traditions.ini, branch v1.0.0</title>
<subtitle>deterministic OCaml engine to compute and validate liturgical calendars for multiple rites, template-driven output to year 9999</subtitle>
<id>https://git.labunix.xyz/colitur.git/atom?h=v1.0.0</id>
<link rel='self' href='https://git.labunix.xyz/colitur.git/atom?h=v1.0.0'/>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/'/>
<updated>2026-08-20T14:05:34Z</updated>
<entry>
<title>fix(citation): complete the modern tradition, and test the shipped file</title>
<updated>2026-08-20T14:05:34Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-20T14:05:34Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=263d0d889073d214229aef9655d3db29540c0d12'/>
<id>urn:sha1:263d0d889073d214229aef9655d3db29540c0d12</id>
<content type='text'>
Apocalypse -&gt; Revelation was missing from [modern] while `revelation` was
already a declared tradition target, so the target existed with nothing
mapping onto it. Same Vulgate-to-modern shape as Ecclesiasticus -&gt; Sirach.

The injectivity test used to hand-copy the mapping table, which asserted
things about the copy and nothing about the artifact: a mapping added to
traditions.ini and forgotten in the test would have passed. It now reads
lang/traditions.ini and additionally asserts that [vulgate] is empty --
an entry there would silently renumber the DEFAULT, the one thing this
design promises never happens -- and that no declared target is left
unreachable.

Mutation-proved three ways: declaring an unused target, deleting a
mapping, and adding an entry to [vulgate] each redden it, the first two
naming the offending book.
</content>
</entry>
<entry>
<title>feat(lang): traditions.ini, and its install rule</title>
<updated>2026-08-20T14:01:39Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-20T14:01:39Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=9dfa264f2941f1ca38eff08b6157a94d332cffbd'/>
<id>urn:sha1:9dfa264f2941f1ca38eff08b6157a94d332cffbd</id>
<content type='text'>
Which book a reference denotes does not vary by language, so it lives in
its own file rather than in la.ini beside [weekday].

Six mappings, not four: Osee/Jonas are the same question as 3 Kings in
transliteration form.

The install rule is added in the same commit deliberately -- lang/ once
shipped without one, so the feature worked from the source tree and was
broken once installed.

bin/dune gains colitur_citation as a linked library, needed for the new
loader; lang_list's directory scan now excludes traditions.ini, which is
not a language file and does not parse as one.
</content>
</entry>
</feed>
