aboutsummaryrefslogtreecommitdiff
path: root/test/fixtures/missalemeum-ef-2026-2027.provenance
diff options
context:
space:
mode:
Diffstat (limited to 'test/fixtures/missalemeum-ef-2026-2027.provenance')
-rw-r--r--test/fixtures/missalemeum-ef-2026-2027.provenance39
1 files changed, 39 insertions, 0 deletions
diff --git a/test/fixtures/missalemeum-ef-2026-2027.provenance b/test/fixtures/missalemeum-ef-2026-2027.provenance
new file mode 100644
index 0000000..576093d
--- /dev/null
+++ b/test/fixtures/missalemeum-ef-2026-2027.provenance
@@ -0,0 +1,39 @@
+Fixture: missalemeum-ef-2026-2027.txt
+Task: 2026-08-11-colitur-plan3-resolution-engine, Task 16 (oracle harness +
+data audit)
+
+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")
+
+SHA-256 of the extracted fixture: 718eff1a03fa09c3927ef18d19fe7921c2d4d7611890c22566058b81fd7cc5ea
+(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
+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) 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.