1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# sources/ — archived upstream data
Raw responses from the third-party sites the `scripts/gen*` / `build-oracle*`
generators fetch. Archived so lectio's liturgical data (the calendars, the
lectionary tables, the deuterocanon backfill) can be **regenerated and
re-audited offline** if those sites change, move, or disappear — the project's
25-year-longevity aim. Reading references are facts, not creative works; this is
a provenance cache, not redistribution of anyone's edition.
The data ships as a single compressed archive, **`sources/snapshot.tar.gz`**
(~6 MB); `manifest.tsv` (path, url, sha256, bytes) and this README stay
uncompressed for browsing. First archived **2026-07-29**.
```sh
# unpack the archived data (into git-ignored per-provider dirs):
sh scripts/snapshot-sources.sh unpack # or: tar xzf sources/snapshot.tar.gz -C sources
# refresh/extend from the live sites (idempotent — skips files already present):
sh scripts/snapshot-sources.sh # all four providers
# re-roll the archive after refreshing:
sh scripts/snapshot-sources.sh pack # or: tar czf sources/snapshot.tar.gz -C sources <dirs>
```
## What's here
| dir | provider | feeds | coverage |
|-----|----------|-------|----------|
| `catholic-resources/` | catholic-resources.org (Fr. Felix Just, S.J.) | OF lectionary: Sundays A/B/C, seasons, OT-I/II weekdays, sanctoral (`genlect-of-*.py`, `gen-of-sanctoral-readings.py`) | all 14 tables (complete) |
| `missalemeum/{en,pl}/` | missalemeum.com (Divinum Officium data) | EF calendar, EF propers, EF Polish saint names (`gen-sanctoral-ef.go`, `genlect.go`) | per-date 2026-01-01 … 2027-12-31, en + pl |
| `litcal/` | litcal.johnromanodorazio.com | OF calendar validation oracle (`validate-engine.py`) | whole-year JSON 2024–2035, en |
| `getbible/` | api.getbible.net | Douay-Rheims deuterocanon backfill (`gen-deutero.py`) | Tobit/Judith/Wisdom/Sirach/Baruch/1–2 Maccabees, all chapters |
## Coverage notes / gaps
- **calapi.inadiutorium.cz — NOT archived (unreachable here: IPv6-only).** It is
the original source for `gen-sanctoral.go` (OF sanctoral) and `build-oracle.sh`
(OF season oracle). The reachable **litcal** feed above is the equivalent OF
calendar and is what current validation uses; the OF season oracle itself is
already committed at `internal/calendar/testdata/oracle-2020-2040.json`.
- **missalemeum** is per-date only and bounded to a representative 2-year span
(the EF Polish names were sourced from 2026–2027). The full EF harvest spans
2024–2029; widen with `MM_FROM=2024-01-01 MM_TO=2029-12-31 sh
scripts/snapshot-sources.sh missalemeum`. Its WAF needs a timeout-bearing
client (a hanging worker is the classic failure); the script sets `--max-time`.
- **catholic-resources.org** answers HTTP 465 to unusual User-Agents; the script
fetches it with a plain browser UA (every other provider takes the descriptive
archive UA).
- **wuj / biblia.info.pl** is deliberately absent: the Wujek corpus is defective
and dropped from auto-rendering, and no clean public-domain verse-structured
Wujek source exists (see the epic notes).
|