aboutsummaryrefslogtreecommitdiff
path: root/test/fixtures/missalemeum-ef-2026-2027.provenance
blob: adae533f96b3631ceceae149ee47ee1e36fdf228 (plain) (blame)
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
50
Fixture: missalemeum-ef-2026-2027.txt
Task: 2026-08-11-colitur-plan3-resolution-engine, Task 16 (oracle harness +
data audit); field 9 (commemoration_ids) added 2026-08-12, Task B
(branch ef-rg16a, commemoration-identity comparison).

Source: missalemeum.com (Divinum Officium data), archived by the sibling
project ~/git/projects/lectio at:
  commit d7da4b0 "sources: store the snapshot as one compressed archive"
  path sources/snapshot.tar.gz, entries missalemeum/en/YYYY-MM-DD.json
  (lectio/sources/README.md: "First archived 2026-07-29")
Re-verified 2026-08-12 (Task B): sources/snapshot.tar.gz is still at commit
d7da4b0 (git log -1 -- sources/snapshot.tar.gz, working tree clean for that
path) -- the underlying data has not moved. Re-extracted into a scratch
copy OUTSIDE ~/git/projects/lectio (that repo was not read via its own
working commands and was not modified -- another agent was working there
concurrently), and confirmed the first 8 fields are byte-identical to the
fixture's own prior content before field 9 was appended.

SHA-256 of the extracted fixture: 4162e79d7a0bc03b81a34ce6cd3b074e2d32570217759bc3b4058ada75ea8781
(previously 718eff1a03fa09c3927ef18d19fe7921c2d4d7611890c22566058b81fd7cc5ea,
before field 9 was appended -- same digest as [fixture_sha256] in
test/test_oracle.ml, ASSERTED by that suite's own "fixture SHA-256 matches
its provenance note" test -- this line documents the pin for a reader who
never runs the suite; that test is what actually enforces it. Regenerate
both together, deliberately, after re-running the exact command below --
never by copying a mismatch's actual value back in, which would defeat the
pin's purpose.)

Exact commands:
  cd ~/git/projects/lectio && sh scripts/snapshot-sources.sh unpack
  python3 ~/git/projects/colitur/tools/extract_missalemeum_oracle.py \
    ~/git/projects/lectio/sources \
    ~/git/projects/colitur/test/fixtures/missalemeum-ef-2026-2027.txt

Output: one line per civil day, 2026-01-01 through 2027-12-31 inclusive
(730 lines = 365 + 365, both non-leap years), pipe-separated:
  date|rank|colors|title|tempora|commemorations|displaced|n_masses|commemoration_ids
See tools/extract_missalemeum_oracle.py's own header for the exact field
semantics (info.rank/colors/title/tempora/commemorations/displaced,
verbatim English strings, not translated or slugified; commemoration_ids is
info.commemorations[*].id, ";"-joined, index-aligned with commemorations)
and the two things verified during extraction, not merely assumed: no
field collides with the "|"/";" delimiters, and all 4 multi-Mass days (info
is an array on 2026-11-02, 2026-12-25, 2027-11-02, 2027-12-25) carry an
IDENTICAL info block (rank/colors/tempora/commemorations/displaced) across
every Mass of the day, so taking entry[0] throughout (this fixture's own
convention) loses nothing the comparator or a human auditor needs.

Regenerate with the same commands if the missalemeum snapshot is refreshed
and the fixture needs updating; do not hand-edit this file or the fixture.