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:
Scott KarpandClaude Fable 5.1 committed 2026-10-07 02:00:43 +00:00
1 parent d3c5a27e78
commit 47025fbfeb
9 files changed
+366 -5

No files matched your search

+9 -2
View File
@@ -287,8 +287,14 @@ exists in L1 — the rules grounded exactly as the outputs are. A rule
without an anchor is a rule the system has added. The carrier's erasure
is already the practice; this document keeps it.
**Status.** Erasure built. Rule anchors and their verification: to
build.
**Status.** Built (2026-10-07): `talmudic_engine/src/halt/anchors.pl`
(`rule_anchor/2`, ten halt names, each with its verse and the L1 Hebrew
beside it); `VavPipeline.Anchors` verifies, as part of
`Doorpost.verify_identity/0` and so of readiness, that every
`halt(<name>, …)` any rule module can return is anchored and that every
anchored verse exists in L1. `/kodesh/specification_identity` lists the
anchors; every bedikah and pair response carries `anchors` — the verse
of each rule that fired. Erasure unchanged.
## Build order
@@ -299,6 +305,7 @@ In the order the text argues it, and by dependency:
2. **The paired reading** (VI) — the readings exist; add the scale.
*Done 2026-10-07.*
3. **Rule anchors verified against L1** (X) — the checks grounded.
*Done 2026-10-07.*
4. **The gate** (I), with the fringe (III) and the rebuke (VII) — the
architecture's centre; the first three make it worth standing at.
5. **The hakhel cycle and record** (VIII).
+18
View File
@@ -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, ... },