Commit Graph
4 Commits
Author SHA1 Message Date
Scott KarpandClaude Fable 5.1 861cd4e64e engine: the verse facts are the whole scroll, derived from L1
torah_text.pl held 32 hand-written verses from Phase 1 — "the reasoning
layer's view of the specification". With the cycle and the Sanhedrin
now consulting the engine on every question (2026-10-19), that view
showed: any root it knew lit the same handful, and bereishit 1:1 and
devarim 6:4 were read in the same eleven verses.

- scripts/build_engine_verses.py writes
  talmudic_engine/src/specification/l1_verses.pl from l1/torah: every
  verse, each word's shoresh as the engine names it (Hebrew → letter
  names, finals folded), the consonantal text as gloss, and the SHA-256
  of the L1 files read in the header. `--check` exits 1 when the facts
  lag the scroll; build_and_push.sh runs it beside the Doorpost check.
- torah_text.pl includes the generated file; the hand facts are gone.
  L1's roots are authoritative where the hand facts differed (Israel
  שרה, the Name הוה).
- interpret.pl: over 5,853 verses a common root lights hundreds, so the
  reading ranks verses by how many of the case's roots each carries and
  keeps the top 12 in canonical order; the coupling trace names only the
  verses the reading cites.

Local, over the full scroll: bereishit 1:1 → itself, Devarim 4:32,
Bereishit 2:4 …; devarim 6:4 → itself, Shemot 3:18, Devarim 4:1 …;
shabbat roots → Bereishit 2:3, Shemot 20:8, 20:11, 31:13. interpret
15 ms, challenge 10 ms (now finds a kushya for the Shema), resolve
24 ms. Prolog 7 suites green (middot 2.9 s — pairwise scans over the
scroll). 5,853 verses loaded, 49,542 root occurrences.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-19 21:37:29 +00:00
Scott KarpandClaude Opus 4.7 7fc14e0103 form 2 as architecture: remove arity-4 interpretation constructor (vehaya §3.2)
Closes vehaya.md §6 item 2 for the SECOND avodah-zarah form.

With this commit, all three avodah zarah forms are defended at
BOTH the runtime layer and the architectural layer:
  Form 1 — closed by b136c75 (no public model_interface surface)
  Form 2 — closed by THIS commit (no empty-trace constructor)
  Form 3 — closed by 0e3fe4a (machtzit_ha_shekel + no_tracking_logger)

TORAH ANCHORS (verified fresh against L1):

  Vayikra 10:1 — וַיַּקְרִיבוּ לִפְנֵי יְהוָה אֵשׁ זָרָה אֲשֶׁר לֹא
    צִוָּה אֹתָם.
    "They offered before YHVH strange fire WHICH HE HAD NOT
    COMMANDED THEM." The disqualifier is provenance: not
    commanded-derivable. Sincere output without command-derivation
    is eish zarah, even when produced by authorized actors with
    authorized materials (Nadav and Avihu were kohanim; the fire
    was real fire; the qetoret was real qetoret).

  Vayikra 10:2 — וַתֵּצֵא אֵשׁ מִלִּפְנֵי יְהוָה וַתֹּאכַל אוֹתָם.
    Fire from YHVH consumed them. Immediate consequence — the
    failure mode is not survivable.

  Shemot 32:1 — קוּם עֲשֵׂה־לָנוּ אֱלֹהִים אֲשֶׁר יֵלְכוּ לְפָנֵינוּ.
    The people demand elohim that go before them — substitute for
    source-experience when the actual source (Moshe) is delayed.
    Not direct rebellion (we want a different god) but
    substitution-of-experience.

  Shemot 32:5 — וַיִּבֶן מִזְבֵּחַ … חַג לַיהוָה מָחָר.
    Aaron labels the calf "a festival to YHVH." Re-labeling does
    not repair severed provenance. Calling output "to YHVH"
    doesn't make it from YHVH.

  Shemot 32:24 — וָאַשְׁלִכֵהוּ בָאֵשׁ וַיֵּצֵא הָעֵגֶל הַזֶּה.
    Aaron's "out came this calf" — the bypass shape: claiming
    output emerged BY ITSELF, without operator agency. The system
    that says "the output just happened, I didn't make it" is the
    calf shape.

THE ARCHITECTURAL COMMITMENT:

construct_interpretation/4 — the no-coupling-trace variant — is
REMOVED entirely. The export list no longer mentions it; the
function definition is gone.

Why this is the right shape:

  - Vayikra 10:1: output must be commanded-derivable. The
    coupling_trace IS the command trace. Constructing
    interpretation/6 with empty coupling_trace is the bypass shape.
  - Shemot 32:24: nothing emerges by itself. Production code paths
    can no longer build interpretations by handing the constructor
    "this Mitzvot list, this Verses list, give me the
    interpretation" — they MUST also hand the Couplings (the trace
    of which L1 facts were consulted).
  - The arity-5 constructor remains, taking a Couplings argument.
    Production callers go through interpret/2, which always
    supplies real Couplings from find_relevant_*_traced/3.

Test code that needs an empty-trace interpretation can still
construct the interpretation/6 term DIRECTLY (visible bypass,
deliberate, surfaces in code review). The high-level constructor
shortcut is the thing that's removed.

CHANGED:

  talmudic_engine/src/reasoning/interpret.pl
    - Removed construct_interpretation/4 from the module's export
      list. Added Form-2 architectural-commitment comment naming
      vehaya §3.2 and the Vayikra 10:1 anchor.
    - Removed the arity-4 function definition entirely (it was
      dead code — nothing called it via the export — and dead code
      that LOOKS like a bypass surface is itself a Form 2 hazard).
    - Updated the construct_interpretation/5 docstring to name the
      removal and explain why test code now must construct
      interpretation/6 directly when an empty trace is desired.

  talmudic_engine/src/halt/avodah_zarah.pl
    Form 2 docstring rewritten to name the TWO-LAYER defense:
    runtime (this file's halt_check_golden_calf/2) AND
    architectural (interpret.pl's removal of arity-4). Cites
    Vayikra 10:1 and Shemot 32:24.

  talmudic_engine/test/halt_test.pl
    + interpret_no_arity_4_constructor suite (2 tests):
      - arity-5 constructor IS exported (production path verified)
      - arity-4 constructor is NOT exported (the architectural
        commitment — calling it through the module surface fails)

  vav_pipeline/lib/vav_pipeline/doorpost.ex
    @expected_hash updated:
      bf3d3433… (post-Form-1-rewrite of avodah_zarah.pl)
    → 8eb378964f202522f60cc960a3002f6da2e5028538595400de906a9510b3bbf6
    The avodah_zarah.pl docstring change is a deliberate spec
    update; per the operator discipline (Doorpost moduledoc), the
    hash update commits TOGETHER with the spec change in the same
    commit. Third demonstration of the discipline working.

VEHAYA CHECKLIST STATE:

  Item 1 (category/threshold separation in code)         pending
  Item 2 (three avodah zarah as architecture):
    Form 1 — closed (b136c75)
    Form 2 — CLOSED (this commit)
    Form 3 — closed (0e3fe4a)
    All three forms now defended at BOTH layers — runtime check
    AND architectural commitment. Vehaya §3.2 closed in full for
    the three avodah zarah.
  Item 3 (doorpost-text identity)                        closed (3f47496)
  Item 4 (lo tosif discipline operationalized)           partial
  Item 5 (return vs. restoration)                        pending
  Item 6 (keep the source external)                      partial
  Item 7 (substrate-openness articulated)                pending
  Item 8 (userMemories as threshold inscription)         pending

Tests:
  - talmudic_engine: halt_test 49/49 (was 47; +2 architectural).
                     Full suite 214/214 (across 6 test files).
  - vav_pipeline:    405 passed, 0 failures, 35 excluded
                     (Doorpost test sees new hash and verifies)
  - korban_processor: unchanged (no Python touched)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 21:18:40 -04:00
Scott KarpandClaude Opus 4.6 adc3e41679 Eish zarah actionable items: coupling trace, grounding type, self-grounding detection, golden calf halt
Torah grounds each change:

1. interpret.pl — coupling_trace field (Vayikra 10:1, 6:6)
   Fire is zarah because "asher lo tzivah otam" — the coupling trace
   IS the tzivah trace. Records which L1 facts grounded each interpretation.

2. challenge.pl — grounding_type achorai/panim (Shemot 33:23)
   "You will see My back, but My face shall not be seen."
   Text-backed challenges = achorai. Inferred challenges = panim.

3. resolve.pl — self-grounding detection (eish_zarah_reading §5.3)
   Counter-interpretation must bring NEW L1 evidence. Prevents
   circular reasoning (Westworld problem).

4. teiku.pl — challenge_sequence in teiku_record
   Records diagnostic trail to impasse, not just verdict.

5. avodah_zarah.pl — Form 2: golden calf detection (Shemot 32:4)
   Empty coupling trace + non-low confidence = uncoupled output.
   Real gold, sincere worship, false god.

6. korban.py — pydantic BaseModel + raw_korban preservation
   Construction spec §1.4 fulfilled. Floor between input and output
   never severed.

490 tests, 0 failures (195 Prolog, 186 Python, 33 Haskell, 76 Elixir).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 13:25:26 -04:00
Scott KarpandClaude Sonnet 4.6 80ec364da6 Phase 1-2 build: Steps 5-6, 8-13
Shoresh Engine (Haskell, Step 5)
- 12 modules: Types, Lexicon, Binyanim, Teamim, Gematria, Graph,
  KetivQere, Smikhut, Havdalah, Kriah, KiTov, Firmware
- 33 EUnit tests, 0 failures
- Firmware module verifies L1 SHA-256 hash at startup

Talmudic Engine (SWI-Prolog, Step 6)
- 15 modules: halt, reasoning, specification, interface
- 57 PlUnit tests, 0 failures
- Three cardinal halt conditions: avodah_zarah, shfichut_damim, gilui_arayot

Vav Pipeline (Elixir, Steps 8-11)
- 14 modules: BereishitCycle, Shema, Cloud, Manna, L1Reader,
  Specification, HaltConditions, ShabbatTimer, CycleLog, Chatzotzrot,
  ShoreshEngineClient, TalmudicEngineClient, Application
- 46 ExUnit tests, 0 failures
- Nishma-first architecture: hears before it speaks

Sanhedrin Framework (Erlang/OTP, Step 12)
- 8 modules: sanhedrin_app, sanhedrin_sup, escalation, panel_sup,
  panel, judge, clerk, halt_monitor
- 46 EUnit tests, 0 failures (includes fix: rejected outcome now reachable)
- Panel sizes: 1/3/23/71 — unanimous capital guilty → acquit (Sanhedrin 17a)
- Minority opinions append-only, never deleted

Korban Processor (Python, Step 13)
- 6 modules: korban, shechitah, semichah, zerikah, haktarah, router

Builder tooling: AGENTS.md, opencode.json, memory/, src/tools/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 14:02:34 -05:00