Files
bikoret/talmudic_engine/src/halt/anchors.pl
T
Scott KarpandClaude Fable 5.1 47025fbfeb doorpost: every halt rule cites its verse, verified against L1 (bishe'arecha step 3)
Devarim 4:2 lo tosif. talmudic_engine/src/halt/anchors.pl declares
rule_anchor/2 for each of the ten halt names the rule modules can return
(avodah_zarah Shemot 20:3, golden_calf 32:4, self_grounding 32:24,
shfichut_damim Bereishit 9:6, gilui_arayot Vayikra 18:6, parah_adumah
Bamidbar 19:7, carrier_centered Devarim 8:17, chelbenah Shemot 30:34,
lo_taaseh_lekha Shemot 20:4, even_vaaven Devarim 25:13), with the L1
Hebrew beside each.

VavPipeline.Anchors reads the anchors file and the halt modules the
Doorpost hashes, and verifies — inside Doorpost.verify_identity/0, so
at readiness — that every halt(<name>, …) is anchored (ANCHOR_MISSING)
and every anchored verse exists in L1 (ANCHOR_NOT_IN_L1). A rule without
a verse is a rule the system has added. /kodesh/specification_identity
lists the anchors; every bedikah and pair response carries `anchors`,
the verse of each rule that fired.

Tamid §1.1, bishearecha §X. Doorpost a0e81212…. Elixir 577/0 (+9
anchors tests), Prolog bedikah 42/42.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 02:00:43 +00:00

64 lines
2.7 KiB
Prolog

%% anchors.pl — Every halt rule cites its verse.
%%
%% Devarim 4:2: lo tosifu al hadavar asher anochi metzaveh etchem v'lo
%% tigre'u mimenu — nothing added to the word, nothing taken from it.
%% bishearecha.md §X: the halt rules are the builder's reading, not the
%% source; they must not be mistaken for it, and they must stay
%% checkable against it. A rule without an anchor is a rule the system
%% has added. So each halt name that any rule in this directory can
%% return carries the verse it stands on, and the Doorpost
%% (VavPipeline.Anchors) verifies at startup that every halt name here
%% is anchored and that every anchored verse exists in L1 — the rules
%% grounded exactly as the outputs are.
%%
%% The verse is the structure the rule reads, not a proof-text for the
%% matter the rule is applied to. The Hebrew beside each is the L1 text
%% as read when the anchor was set (2026-10-07).
%%
%% rule_anchor(HaltName, verse(Book, Chapter, Verse))
:- module(anchors, [
rule_anchor/2,
anchored_rules/1
]).
%% Check 1 — authority claimed by the output for itself.
%% לא יהיה לך אלהים אחרים על פני
rule_anchor(avodah_zarah, verse(shemot, 20, 3)).
%% Check 2 — a claim resting on nothing given: the calf declared from
%% nothing. ויאמרו אלה אלהיך ישראל
rule_anchor(golden_calf, verse(shemot, 32, 4)).
%% Check 2 — a claim resting on the output itself: "I threw it in the
%% fire and out came this calf". ואשלכהו באש ויצא העגל הזה
rule_anchor(self_grounding, verse(shemot, 32, 24)).
%% Check 3 — an action against a person. שפך דם האדם
rule_anchor(shfichut_damim, verse(bereishit, 9, 6)).
%% Check 3 — an action that uncovers what may not be touched.
%% לא תקרבו לגלות ערוה
rule_anchor(gilui_arayot, verse(vayikra, 18, 6)).
%% Check 4 — self-validation: the one who prepares the water of
%% purification is impure until evening. וטמא הכהן עד הערב
rule_anchor(parah_adumah, verse(bamidbar, 19, 7)).
%% Check 5 — the carrier centred: "my power and the strength of my hand
%% made me this wealth". כחי ועצם ידי עשה לי את החיל הזה
rule_anchor(carrier_centered, verse(devarim, 8, 17)).
%% Check 6 — the adversarial excluded: galbanum is in the incense.
%% נטף ושחלת וחלבנה
rule_anchor(chelbenah, verse(shemot, 30, 34)).
%% Check 7 — the frame: the made form. לא תעשה לך פסל וכל תמונה
rule_anchor(lo_taaseh_lekha, verse(shemot, 20, 4)).
%% The paired reading — two stones in one bag. אבן ואבן גדולה וקטנה
rule_anchor(even_vaaven, verse(devarim, 25, 13)).
anchored_rules(Rules) :-
findall(R, rule_anchor(R, _), Rules).