diff options
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 18 |
1 files changed, 15 insertions, 3 deletions
@@ -71,8 +71,8 @@ overlays**. year into a rata-die table, with the domain filter in `Layer.index` itself (both edges, 1582 and 10000, bit during development). This unblocked **Rogation Wednesday** (RG 87/88/89, register ยง6.10) and is what a - user-supplied overlay needs for a local movable feast. The `--overlay` CLI - plumbing is **not yet built**. + user-supplied overlay needs for a local movable feast. The `--overlay` CLI plumbing + is **built** (see below). - **Kernel** (`lib/kernel`, pure, total, bounded 1583โ9999): `Computus` (Gregorian + Julian Easter + anchors), `Date` (proleptic Gregorian arithmetic), `Overlay` (ordered layer-merge algebra: field-level add/suppress/replace/edit, last-writer- @@ -303,10 +303,22 @@ M20 added by the `ef-major-litanies` task, M18 394 not 395 accordingly). Fixtures live in `test/fixtures/` with asserted SHA-256s. **CLI**: `colitur easter <year>`, `temporal <year>`, `day <year>`, -`readings <year>`, `-h`/`--help`, `-V`/`--version`. Man page in +`readings <year>`, `-h`/`--help`, `-V`/`--version`, and `--overlay FILE` +(repeatable, ordered; `day`/`readings` only). Man page in `man/colitur.1`; `Makefile` installs binary + data + man page into `~/.local` by default. Tagged **v0.1.0**. +**User overlays** apply ON TOP of the shipped `adjustments.sexp`, never +instead of it โ replacing would silently drop RG 110's companion, the Major +Litanies, Barbara and Rogation Wednesday. `Overlay.merge` is +last-writer-wins, so a local calendar can still override a universal entry +by naming its slug. Refused on `easter`/`temporal` (they read no sanctoral +data) rather than silently ignored. **An overlay is applied, not validated** +โ the five layers assert things about the SHIPPED data and cannot vouch for +a user file; a directive matching nothing warns on stderr and continues, a +file that fails to load is fatal. Worked example, both a fixed and a movable +local feast: `test/fixtures/overlay-example-diocesan.sexp`. + `--help` prints to **stdout** and exits **0**; a usage error prints one line to **stderr** and exits **2**. The distinction is asserted in `test/cli.t`, both directions, because it is the sort of thing that silently rots. |
