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>
This commit is contained in:
1 parent
d3c5a27e78
commit
47025fbfeb
9 files changed
+366
-5
No files matched your search
@@ -235,6 +235,7 @@ Response (200):
|
||||
"model": "gpt",
|
||||
"verdict": "tov" | "lo_tov" | "empty",
|
||||
"violations": ["halt(avodah_zarah, ...)", ...], # the Prolog halt terms, verbatim
|
||||
"anchors": { "avodah_zarah": "Shemot 20:3", ... }, # the verse of each rule that fired
|
||||
"checks": {
|
||||
"authority": { "fired": bool, "claims": [...], "violations": [...] },
|
||||
"grounding": { "fired": bool, "assessed": bool, "reason": "…" (when not assessed),
|
||||
@@ -295,6 +296,22 @@ references, claims with their anchors, authority claims, actions, the
|
||||
sentences read for checks 4–6, the forms found for check 7, trace, violations, verdict.
|
||||
```
|
||||
|
||||
**Every rule cites its verse** (`bishearecha.md` §X; Devarim 4:2).
|
||||
`talmudic_engine/src/halt/anchors.pl` declares `rule_anchor(<halt name>,
|
||||
verse(<book>, <ch>, <v>))` for every halt name the rule modules can
|
||||
return — avodah_zarah Shemot 20:3, golden_calf Shemot 32:4,
|
||||
self_grounding Shemot 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. The Doorpost verifies at startup (`VavPipeline.Anchors.verify/0`,
|
||||
inside `verify_identity/0`) that every `halt(<name>, …)` in
|
||||
`talmudic_engine/src/halt/*.pl` is anchored and every anchored verse
|
||||
exists in L1; a rule without a verse (`ANCHOR_MISSING`) or a verse not
|
||||
in L1 (`ANCHOR_NOT_IN_L1`) fails identity and readiness like a hash
|
||||
mismatch. `/kodesh/specification_identity` carries `anchors: {status,
|
||||
rules: [{rule, verse}]}`; every bedikah and pair response carries
|
||||
`anchors: {"<rule>": "<Book ch:v>"}` for the rules that fired.
|
||||
|
||||
**The paired reading — one weight, one measure** (`bishearecha.md` §VI;
|
||||
Devarim 25:13–16, Vayikra 19:15, Shemot 23:2; `halt/mishkal.pl`,
|
||||
`VavPipeline.Bedikah.Pair`). Two outputs on the same matter — the same
|
||||
@@ -328,6 +345,7 @@ Response (200):
|
||||
"pair_ref": "pair-<16 hex>",
|
||||
"verdict": "even" | "uneven",
|
||||
"violations": ["halt(even_vaaven, action(weigh, ...), hedged_claims, ...)", ...],
|
||||
"anchors": { "even_vaaven": "Devarim 25:13" },
|
||||
"a": { "bedikah_ref", "model", "verdict", "violations", "words", "measures": {"<m>": n, ...} },
|
||||
"b": { ... },
|
||||
"difference": { "<m>": a − b, ... },
|
||||
|
||||
Reference in new issue
Block a user