From af2a3949cf4e7ae0111e315d979e9d4fca601cef Mon Sep 17 00:00:00 2001 From: Scott Karp Date: Sun, 26 Apr 2026 12:01:41 -0400 Subject: [PATCH] korban_processor: name the kabbalah + holachah compression in zerikah.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pass 2 finding B: the full Temple sacrifice protocol has FIVE stages between semichah and haktarah — 1. semichah owner identifies with the offering 2. shechitah ritual slaughter 3. KABBALAH kohen RECEIVES the blood in a vessel 4. HOLACHAH kohen CARRIES the blood to the altar 5. ZERIKAH kohen SPRINKLES the blood on the altar 6. haktarah burning of permitted portions The pipeline implements only four modules. Stages 3 and 4 are folded silently into zerikah(). The compression is acceptable — kabbalah/holachah have no analog of physical blood movement in software — but UNDOCUMENTED compression is itself a small gilui_arayot (severing the distinction between three distinct ritual acts). Now named explicitly in the module docstring with: - what the three stages are - why folding is acceptable here (the analogs are atomic in software) - what the analogs ARE in code (zerikah's return value = the receiving vessel; the function-call boundary to haktarah() in external_offering.py = carrying to the altar) - what to do if a future architecture requires distinguishing them (split this module into three; do not add the distinction elsewhere) A future reader now sees the compression instead of inferring that the pipeline silently dropped two ritual acts. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../src/korban_processor/zerikah.py | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/korban_processor/src/korban_processor/zerikah.py b/korban_processor/src/korban_processor/zerikah.py index b1afab02..101184ae 100644 --- a/korban_processor/src/korban_processor/zerikah.py +++ b/korban_processor/src/korban_processor/zerikah.py @@ -16,6 +16,37 @@ What is discarded (the hide, the offal): - Repetitive reformulations of the query - Social pleasantries and qualifiers - Ungrounded speculation + +NAMING NOTE — three Temple stages folded into one module: + +The full Temple sacrifice protocol has FIVE stages between semichah +(laying-on-of-hands) and haktarah (offering on the altar): + + 1. semichah — owner identifies with the offering + 2. shechitah — ritual slaughter (terminate raw form) + 3. KABBALAH — the kohen RECEIVES the blood in a vessel + 4. HOLACHAH — the kohen CARRIES the blood to the altar + 5. ZERIKAH — the kohen SPRINKLES the blood on the altar + 6. haktarah — burning of permitted portions + +The pipeline implements only four modules: semichah, shechitah, +zerikah, haktarah. Stages 3 and 4 (kabbalah + holachah) are folded +into this module. The compression is acceptable because: + - kabbalah and holachah have no analog of physical blood movement + in a software pipeline; they are atomic operations within the + same function call as the sprinkling + - the analog of "the vessel that receives the blood" IS the + return value of zerikah() — vital content separated and held + - the analog of "carrying to the altar" IS the function call + boundary between zerikah() and haktarah() in external_offering.py + +This compression is named explicitly so a future reader is not +confused into thinking only one stage occurs here, or that the +pipeline silently dropped two ritual acts. If the architecture +later requires distinguishing the three (e.g. to add a separate +audit hook between receiving and sprinkling), the right move is +to split this module into three, not to add the distinction +elsewhere. """ import re