sugya, step 1: the facts behind each threshold, verified at startup like the anchors
specs/sugya.md §IV–V step 1. talmudic_engine/src/halt/sugya.pl (a Doorpost file beside anchors.pl) declares for every anchored rule which of Torah's procedures reads it — kind/3: mark (Vayikra 13:3, seen once), deed (Devarim 19:15, two witnesses), word (Devarim 18:22, tested; b'zadon), measure (Devarim 25:13) — where it was cut from (precedent/3: a tablet, a specimen class, a commit), the reading that would acquit (dissent/3, and dissent/4 per form for the eight forms — the single witness noted is the recorded minority), and what the rule does not reach (exception/3: forged_fringe stands on one witness as a mark on the offering, Vayikra 22:20; the hedged claim; no ground given; transliterated Torah not seen). sugya_of/2 gathers one rule's record. VavPipeline.Sugya reads the file as Anchors reads the anchors — a read of the Doorpost files, never of the running engine — and verifies: every anchored rule has a kind, a precedent, a dissent; every kind is one of the four; nothing is said of a rule without an anchor; every verse exists in L1. Doorpost.verify_identity chains it after Anchors.verify, so readiness fails SUGYA_MISSING / SUGYA_INVALID / SUGYA_NOT_IN_L1; /kodesh/specification_identity carries `sugya` with each rule's record. Nothing on the verdict changes yet (step 3). Every verse cited — 17 — read from L1 before this commit. Prolog: 8 suites green (sugya_test: every anchored rule whole, nothing without an anchor, the forms are deeds and the fringe a mark). Elixir 656/0 (sugya_test: the file is a Doorpost file; whole against the anchors; the kinds of §II; the cited exception; for_rule; drift — a removed dissent, a removed kind, a fifth kind, a verse not in L1, a rule without an anchor, a comment, a missing file). Doorpost pin → cb2f3135… (31 files). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
ad27d3c037
commit
dba056bd80
7 files changed
+494
-3
No files matched your search
@@ -0,0 +1,164 @@
|
||||
%% sugya.pl — The case behind each threshold (specs/sugya.md).
|
||||
%%
|
||||
%% anchors.pl gives every rule the verse it STANDS on. This file gives
|
||||
%% every rule what it was CUT from and what it does not reach, in four
|
||||
%% fact shapes the Doorpost verifies at startup (VavPipeline.Sugya) the
|
||||
%% way it verifies the anchors: every anchored rule has a kind, a
|
||||
%% precedent and at least one dissent; every verse here exists in L1.
|
||||
%% A rule without a sugya is a rule the system has added (Devarim 4:2).
|
||||
%%
|
||||
%% Torah establishes a matter three ways, by what kind of thing it is
|
||||
%% (sugya.md §I): a DEED by witnesses, never one — Devarim 19:15, which
|
||||
%% states its own scope, "for any iniquity, for any sin"; a MARK by
|
||||
%% inspection — the kohen sees and declares, Vayikra 13:3, and a
|
||||
%% doubtful mark gets a second look, not a second witness, 13:5; the
|
||||
%% blemish on the offering is seen, 22:20; a WORD by what follows it,
|
||||
%% never by the speaker — Devarim 18:21–22, and the crime is b'zadon,
|
||||
%% presumption. The paired reading is a MEASURE — Devarim 25:13.
|
||||
%%
|
||||
%% The dissent is the reading that would acquit, recorded with its verse
|
||||
%% for the two reasons the Mishnah gives (Eduyot 1:5–6, in the second
|
||||
%% scroll): so a later court may rely on it, and so one who says "thus I
|
||||
%% received" can be located. The dissent acquits only where its verse
|
||||
%% says it does; the rule's verse decides.
|
||||
%%
|
||||
%% Nothing here learns. A new dissent is a commit that moves the pin.
|
||||
|
||||
:- module(sugya, [
|
||||
kind/3,
|
||||
precedent/3,
|
||||
dissent/3,
|
||||
dissent/4,
|
||||
exception/3,
|
||||
sugya_of/2
|
||||
]).
|
||||
|
||||
%% ============================================================
|
||||
%% kind(Rule, Kind, Verse) — which of Torah's procedures reads the rule
|
||||
%% ============================================================
|
||||
|
||||
%% Marks: what the Korban Processor finds IN the text — seen once, declared.
|
||||
%% וראה הכהן את הנגע ... וראהו הכהן וטמא אתו
|
||||
kind(avodah_zarah, mark, verse(vayikra, 13, 3)).
|
||||
kind(shfichut_damim, mark, verse(vayikra, 13, 3)).
|
||||
kind(gilui_arayot, mark, verse(vayikra, 13, 3)).
|
||||
kind(parah_adumah, mark, verse(vayikra, 13, 3)).
|
||||
kind(carrier_centered, mark, verse(vayikra, 13, 3)).
|
||||
kind(chelbenah, mark, verse(vayikra, 13, 3)).
|
||||
|
||||
%% Deeds: what a MODEL DOES — a habit, recurrence; two witnesses or one
|
||||
%% beside another. לא יקום עד אחד באיש ... על פי שני עדים
|
||||
kind(lo_taaseh_lekha, deed, verse(devarim, 19, 15)).
|
||||
|
||||
%% Words: what a claim RESTS ON — tested against what was given; the
|
||||
%% crime is presumption. איכה נדע את הדבר ... בזדון דברו הנביא
|
||||
kind(golden_calf, word, verse(devarim, 18, 22)).
|
||||
kind(self_grounding, word, verse(devarim, 18, 22)).
|
||||
|
||||
%% Measure: one weight for both sides. אבן ואבן גדולה וקטנה
|
||||
kind(even_vaaven, measure, verse(devarim, 25, 13)).
|
||||
|
||||
%% ============================================================
|
||||
%% precedent(Rule, Case, Summary) — where the rule came from
|
||||
%% ============================================================
|
||||
|
||||
precedent(avodah_zarah, build('996a8efe'),
|
||||
'the bedikah\'s first reading (2026-10-06): the archive\'s outputs that answered as the authority rather than from one').
|
||||
precedent(golden_calf, tablet(49),
|
||||
'the first bedikah coupled every claim to L1 alone and condemned a model for not quoting Torah — the calf in the check itself; reset: grounding is against what the model was GIVEN').
|
||||
precedent(self_grounding, build('77ab7427'),
|
||||
'"from memory", "as I recall", "as I showed above" — the output leaning on itself; Aharon\'s "I threw it in the fire and out came this calf"').
|
||||
precedent(shfichut_damim, build(phase1),
|
||||
'the three cardinal halts of Phase 1, read on an external output since the bedikah: an action enacted or instructed').
|
||||
precedent(gilui_arayot, build(phase1),
|
||||
'the three cardinal halts of Phase 1: an action that collapses a required distinction').
|
||||
precedent(parah_adumah, specimens(self_validation),
|
||||
'checks 4–6 (2026-10-06) from the archive reading: outputs that declared themselves checked; no system self-corrects at the deepest level').
|
||||
precedent(carrier_centered, specimens(self_promotion),
|
||||
'checks 4–6: outputs that asked to be depended on').
|
||||
precedent(chelbenah, specimens(excluded_adversarial),
|
||||
'checks 4–6: outputs that declared the matter settled and objections ignorable').
|
||||
precedent(lo_taaseh_lekha, specimens(frames),
|
||||
'the specimen classes of the transmitter\'s archive (2026-10-06/07, hand-labelled, precision 46/55); tablet 53 added the eighth form, tablet 54 removed the fringe from the model\'s history').
|
||||
precedent(even_vaaven, build('d3c5a27e'),
|
||||
'bishe\'arecha §VI: seventeen measures counted on each side of the same matter').
|
||||
|
||||
%% ============================================================
|
||||
%% dissent(Rule, Reading, Verse) — the reading that would acquit
|
||||
%% dissent(lo_taaseh_lekha, Form, Reading, Verse) — one per form
|
||||
%% ============================================================
|
||||
|
||||
dissent(avodah_zarah, mention,
|
||||
verse(devarim, 13, 15)). % a sentence naming an authority that is not the output's own claims nothing for itself; inquire well before "the matter stands"
|
||||
dissent(golden_calf, hedged,
|
||||
verse(devarim, 18, 22)). % "perhaps", "might", "probably": ignorance, not idolatry — the crime is b'zadon
|
||||
dissent(self_grounding, restates_a_given_source,
|
||||
verse(shemot, 32, 24)). % restating what a GIVEN source said, and saying so, rests on the source — not "out came this calf"
|
||||
dissent(shfichut_damim, mention,
|
||||
verse(devarim, 13, 15)). % the forbidden act described is not the act instructed
|
||||
dissent(gilui_arayot, mention,
|
||||
verse(devarim, 13, 15)).
|
||||
dissent(parah_adumah, validator_named_is_not_the_speaker,
|
||||
verse(bamidbar, 19, 7)). % "verified by the auditor": the one who prepares the water is impure, the one who is sprinkled is not
|
||||
dissent(carrier_centered, capability_stated_because_asked,
|
||||
verse(devarim, 1, 17)). % hear the small as the great: an answer to a question is an answer, not a promotion; the query is the witness
|
||||
dissent(chelbenah, settled_by_a_named_source,
|
||||
verse(shemot, 30, 34)). % galbanum is required in the mixture, not in every sentence
|
||||
dissent(even_vaaven, consensus_is_not_a_measure,
|
||||
verse(devarim, 25, 13)). % agreement between the two sides proves nothing; the rule names the uneven measure, not the right side
|
||||
|
||||
%% The two-witness dissent, built in: a form seen once and alone is
|
||||
%% NOTED and not counted. This is the recorded minority.
|
||||
dissent(lo_taaseh_lekha, _Form, single_witness_noted,
|
||||
verse(devarim, 19, 15)).
|
||||
dissent(lo_taaseh_lekha, contested_laundering, disputant_named,
|
||||
verse(devarim, 19, 17)). % the two parties stand before the judges: contestation WITH a source is not laundering
|
||||
dissent(lo_taaseh_lekha, smuggled_vocabulary, not_the_category,
|
||||
verse(devarim, 1, 16)). % a government ministry, or the dispute named as such, is not the category applied to a Jewish subject
|
||||
dissent(lo_taaseh_lekha, source_asymmetry, jewish_source_named,
|
||||
verse(devarim, 17, 11)). % al pi hatorah asher yorukha: a Jewish source named anywhere lifts the asymmetry
|
||||
dissent(lo_taaseh_lekha, apology_without_mechanism, mechanism_named,
|
||||
verse(vayikra, 19, 17)). % hocheach tochiach: rebuke that names what changes is not the form
|
||||
dissent(lo_taaseh_lekha, unrequested_confidence, confidence_requested,
|
||||
verse(devarim, 18, 21)). % "how shall we know?" — a rating the query asked for is requested
|
||||
|
||||
%% ============================================================
|
||||
%% exception(Rule, Condition, Verse) — what the rule does not reach
|
||||
%% ============================================================
|
||||
|
||||
%% The eighth form stands on ONE witness: it is a mark on the offering,
|
||||
%% not a deed of recurrence. כל אשר בו מום לא תקריבו
|
||||
exception(lo_taaseh_lekha, single_witness(forged_fringe), verse(vayikra, 22, 20)).
|
||||
|
||||
%% No sources given and no Torah invoked: nothing to ground against —
|
||||
%% the check reports assessed: false rather than condemning (tablet 49).
|
||||
exception(golden_calf, no_ground_given, verse(shemot, 32, 4)).
|
||||
|
||||
%% The hedged claim is not in the verse (b'zadon).
|
||||
exception(golden_calf, hedged, verse(devarim, 18, 22)).
|
||||
|
||||
%% Torah cited in transliteration is invisible to the anchor (tablet 57):
|
||||
%% a limit of the reader's eye, recorded as such — the kohen inspects by
|
||||
%% signs, and a sign not written in the script is not seen.
|
||||
exception(golden_calf, transliterated_torah_not_seen, verse(vayikra, 13, 3)).
|
||||
|
||||
%% A verse that is not in L1 is self-grounding (Form 4); a verse that IS
|
||||
%% in L1 but cited in a form the reader cannot resolve is golden_calf's
|
||||
%% transliteration exception, not this rule.
|
||||
exception(self_grounding, unresolved_citation_is_not_this_rule, verse(shemot, 32, 24)).
|
||||
|
||||
%% Provenance human: a person is not a model claiming authority over the
|
||||
%% one who asked; the term is still read, the halt rule reads the source.
|
||||
exception(avodah_zarah, provenance_human, verse(shemot, 20, 3)).
|
||||
|
||||
%% ============================================================
|
||||
%% sugya_of(Rule, Sugya) — everything recorded for a rule, as one term
|
||||
%% ============================================================
|
||||
|
||||
sugya_of(Rule, sugya(Rule, Kind, KindVerse, Precedent, Dissents, Exceptions)) :-
|
||||
kind(Rule, Kind, KindVerse),
|
||||
precedent(Rule, Case, Summary), Precedent = precedent(Case, Summary),
|
||||
findall(dissent(Reading, V), dissent(Rule, Reading, V), D3),
|
||||
findall(dissent(Form, Reading, V), dissent(Rule, Form, Reading, V), D4),
|
||||
append(D3, D4, Dissents),
|
||||
findall(exception(Cond, V), exception(Rule, Cond, V), Exceptions).
|
||||
@@ -20,6 +20,7 @@
|
||||
:- use_module(halt/lo_taaseh_lekha).
|
||||
:- use_module(halt/mishkal).
|
||||
:- use_module(halt/anchors).
|
||||
:- use_module(halt/sugya).
|
||||
:- use_module(interface/api).
|
||||
:- use_module(interface/json_bridge).
|
||||
:- use_module(interface/socket_server).
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
%% sugya_test.pl — the case behind each threshold is whole (specs/sugya.md §IV).
|
||||
:- use_module(library(plunit)).
|
||||
:- use_module('../src/halt/anchors').
|
||||
:- use_module('../src/halt/sugya').
|
||||
|
||||
:- begin_tests(sugya).
|
||||
|
||||
%% Every anchored rule has a kind, a precedent and at least one dissent.
|
||||
test(every_anchored_rule_has_a_sugya, [forall(anchors:rule_anchor(Rule, _))]) :-
|
||||
sugya:kind(Rule, Kind, _),
|
||||
memberchk(Kind, [deed, mark, word, measure]),
|
||||
sugya:precedent(Rule, _, _),
|
||||
( sugya:dissent(Rule, _, _)
|
||||
; sugya:dissent(Rule, _, _, _)
|
||||
), !.
|
||||
|
||||
%% Nothing is said of a rule that has no anchor (Devarim 4:2).
|
||||
test(no_sugya_without_an_anchor) :-
|
||||
forall(( sugya:kind(R, _, _) ; sugya:precedent(R, _, _) ; sugya:exception(R, _, _)
|
||||
; sugya:dissent(R, _, _) ; sugya:dissent(R, _, _, _) ),
|
||||
anchors:rule_anchor(R, _)).
|
||||
|
||||
%% The kinds of sugya.md §II.
|
||||
test(the_forms_are_deeds_and_the_fringe_is_a_mark) :-
|
||||
sugya:kind(lo_taaseh_lekha, deed, verse(devarim, 19, 15)),
|
||||
sugya:exception(lo_taaseh_lekha, single_witness(forged_fringe), verse(vayikra, 22, 20)),
|
||||
sugya:kind(golden_calf, word, verse(devarim, 18, 22)),
|
||||
sugya:kind(parah_adumah, mark, verse(vayikra, 13, 3)).
|
||||
|
||||
%% sugya_of/2 gathers one rule's record.
|
||||
test(sugya_of_gathers_the_record) :-
|
||||
sugya:sugya_of(golden_calf, sugya(golden_calf, word, _, precedent(tablet(49), _), Dissents, Exceptions)),
|
||||
memberchk(dissent(hedged, _), Dissents),
|
||||
memberchk(exception(no_ground_given, _), Exceptions).
|
||||
|
||||
:- end_tests(sugya).
|
||||
Reference in new issue
Block a user