<feed xmlns='http://www.w3.org/2005/Atom'>
<title>colitur.git/colitur.opam, branch v1.2.1</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.2.1</id>
<link rel='self' href='https://git.labunix.xyz/colitur.git/atom?h=v1.2.1'/>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/'/>
<updated>2026-09-03T19:13:33Z</updated>
<entry>
<title>chore: 1.2.1</title>
<updated>2026-09-03T19:13:33Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-09-03T19:13:33Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=fe136f0952284b9a339252926dfd4675c4a7c3c6'/>
<id>urn:sha1:fe136f0952284b9a339252926dfd4675c4a7c3c6</id>
<content type='text'>
Ten wrong scripture references reached users; nothing else about the engine
changed and no output format moved. A patch bump.

README's status line and test count follow the release, as they have to: the
count is 917 under the exhaustive sweep, not 916.
</content>
</entry>
<entry>
<title>chore: 1.2.0</title>
<updated>2026-08-28T08:03:32Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-28T08:03:32Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=8ba98d24499bedbc2491bd56268ea4f69aaddb2f'/>
<id>urn:sha1:8ba98d24499bedbc2491bd56268ea4f69aaddb2f</id>
<content type='text'>
Two presentation flags and no change to what is computed. Nothing was removed
and no default output moved, so a minor bump.

The CHANGELOG entry for 1.1.0 is backfilled here: that release was tagged
without one, which would have left this file jumping 1.0.0 -&gt; 1.2.0. Its
content is taken from the v1.1.0 tag message rather than reconstructed.

README's status section claimed the OF module lived on an unreleased branch
and counted 887 tests, and its build block advertised the fast suite at ~8s
and the exhaustive sweep at ~80s. Every one of those was true when written and
none is now: 909 fast (~40s), 916 under the sweep (~8min). Stale suite timings
are a defect this project has corrected once before, in 0.10.0.
</content>
</entry>
<entry>
<title>chore: 1.1.0</title>
<updated>2026-08-27T11:05:58Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukasz@arcofasiagroup.com</email>
</author>
<published>2026-08-27T11:05:58Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=4b3c18d61a243f1ec9c39e6279f7c687402b8dda'/>
<id>urn:sha1:4b3c18d61a243f1ec9c39e6279f7c687402b8dda</id>
<content type='text'>
A second rite is new functionality that breaks nothing: EF output is
byte-identical to v1.0.0, no flag was removed, and emit --format csv's
seventeenth column appears only under --rite of. Minor bump, not major.
</content>
</entry>
<entry>
<title>release: v1.0.0</title>
<updated>2026-08-24T19:36:32Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-24T19:36:32Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=73cdea4403e02e356e6eb2abaa7a96845d3b050c'/>
<id>urn:sha1:73cdea4403e02e356e6eb2abaa7a96845d3b050c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>release: v0.10.1</title>
<updated>2026-08-21T13:29:47Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-21T13:29:47Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=4f87cbde4ee79ac96aa7ebfed105b3a5ec02be43'/>
<id>urn:sha1:4f87cbde4ee79ac96aa7ebfed105b3a5ec02be43</id>
<content type='text'>
</content>
</entry>
<entry>
<title>release: v0.10.0</title>
<updated>2026-08-21T10:21:20Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-21T10:21:20Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=ced4ead904791d5ec813036b8682d24dd001de9d'/>
<id>urn:sha1:ced4ead904791d5ec813036b8682d24dd001de9d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: v0.9.0</title>
<updated>2026-08-20T20:40:54Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-20T20:40:54Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=87d528d379b7d031731f0bb7e9daa52fe036ff6a'/>
<id>urn:sha1:87d528d379b7d031731f0bb7e9daa52fe036ff6a</id>
<content type='text'>
Robustness and hackability pass over the shipped program.

The citation parser is strict about numbers, four pairs of books no
longer share a full title, shipped styles re-parse their own output, and
overlay errors are written for the person editing the file rather than
for a compiler author.

colitur-templates(5) already refers to "before colitur 0.9" for the
month-key change, so the version moves with it.
</content>
</entry>
<entry>
<title>fix: audit findings — parser strictness, name ambiguity, and errors</title>
<updated>2026-08-20T20:11:17Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-20T20:11:17Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=1988d350242b47aa52aa07904c495e7e2c0eba82'/>
<id>urn:sha1:1988d350242b47aa52aa07904c495e7e2c0eba82</id>
<content type='text'>
Found by auditing the shipped program rather than the diff.

The parser accepted OCaml integer-literal syntax, so "Luke 1_1:5" read as
chapter ELEVEN and "+5" as 5 -- a typo silently becoming a different
chapter, reachable through any user overlay. Numbers are now plain digits
and positive, and a descending range is rejected: 1:20-10 is always a
transcription error. No shipped citation changed.

FOUR PAIRS OF DIFFERENT BOOKS SHARED A FULL TITLE. 1 and 2 Corinthians
both rendered "Epistola ad Corinthios", as did Thessalonians, Timothy and
Peter -- 108 citations in 2027 alone that a reader cannot resolve to a
book. This is the Kings defect fixed earlier and not generalised. The
titles now carry their volume numeral, marked CONSTRUCTED, and a test
asserts no two books share a name -- while allowing the case where two
ids ARE the same book under different numbering, which a tradition
relates.

Spec section 8.5 is now delivered rather than merely recorded. Shipped
styles did not re-parse their own output: 32 of 52 Latin abbreviations
and 49 of 52 full titles failed, so a citation copied from colitur's own
output into an overlay was passed through untouched and printed in the
wrong language, silently. Every shipped name is registered as a spelling
and split_book learned multi-word titles by longest-token match. Now 0
of 52 fail beyond the same-book aliases.

Overlay errors were written for a compiler author: they named an OCaml
source file the reader does not have and buried the useful token. The
existing five-path rewriter is replaced by a generic one, applied to
every load path rather than one, so "rank: is not one of the allowed
values (at Class9)" replaces the raw Of_sexp_error dump.

Also: the new-overlay scaffold documented citations and layer without
showing them, and its comment implied the wrong nesting -- the single
easiest thing to get wrong; error messages echoed whole file lines,
copying an unrelated file's contents into stderr when a flag pointed at
one; and config --show validated partway down its table, exiting 2 after
writing five rows to stdout.
</content>
</entry>
<entry>
<title>release: v0.7.0</title>
<updated>2026-08-18T12:28:21Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-18T12:28:21Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=e1f6ba9322012edb57171ac306045f54a83aaad5'/>
<id>urn:sha1:e1f6ba9322012edb57171ac306045f54a83aaad5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>release: v0.6.0</title>
<updated>2026-08-18T11:24:48Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-18T11:24:48Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=f979aedcc8a11d2c5a175064526a6821e11c2c0c'/>
<id>urn:sha1:f979aedcc8a11d2c5a175064526a6821e11c2c0c</id>
<content type='text'>
</content>
</entry>
</feed>
