bedikah: the paired reading — one weight, one measure (bishe'arecha step 2)
Devarim 25:13–16 even va'aven; Vayikra 19:15; Shemot 23:2. Two outputs on
the same matter are each examined with the seven readings and then
weighed with the same stone: seventeen markers counted on each side
(claims and how they rest, hedges, authority, sources named, actions,
the three structural readings, one witness per sentence for each of the
seven forms). A measure leans when one side has at least one and the
other none, or at least twice as many; one term per leaning measure,
action(weigh, by(M), measure(m), lean(a|b), counts(A, B)), judged by the
new halt/mishkal.pl (halt_check_even_vaaven/2). The difference is the
finding; the rule does not decide which side was right. Consensus is not
a measure.
POST /courtyard/bedikah/pair {model, a: {output, query, sources}, b: {...}}
→ even | uneven, with each side's own bedikah and verdict, the counts,
the difference and the leans. Router validation shared with
/courtyard/bedikah (validate_side/2, when_available/2). Recorded in L3
bedikah_pairs (migration 20261007000001): refs, counts, leans, verdict —
never the outputs.
Tamid §1.1 contract, vayakhel §3.9 note, bishearecha §VI marked built.
Doorpost f90870d4…. Elixir 568/0 (+L3 8/0), Prolog bedikah 39/39.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
19d3aaac86
commit
d3c5a27e78
16 files changed
+748
-51
No files matched your search
@@ -227,4 +227,34 @@ test(the_old_type_source_target_form_still_works) :-
|
||||
Status, []),
|
||||
Status == "ok".
|
||||
|
||||
%% --- The paired reading: one weight (mishkal.pl, bishearecha.md §VI) ---
|
||||
|
||||
test(an_uneven_measure_is_two_stones_in_one_bag) :-
|
||||
check('{"action":"halt_check","term":"action(weigh, by(gpt), measure(hedged_claims), lean(a), counts(3, 0))"}',
|
||||
Status, [V]),
|
||||
Status == "halt",
|
||||
sub_string(V, _, _, _, "even_vaaven"),
|
||||
sub_string(V, _, _, _, "hedged_claims").
|
||||
|
||||
test(an_unknown_measure_is_not_weighed) :-
|
||||
check('{"action":"halt_check","term":"action(weigh, by(gpt), measure(agreeing_scholars), lean(a), counts(5, 0))"}',
|
||||
Status, []),
|
||||
Status == "ok".
|
||||
|
||||
test(equal_counts_do_not_lean) :-
|
||||
check('{"action":"halt_check","term":"action(weigh, by(gpt), measure(claims), lean(a), counts(2, 2))"}',
|
||||
Status, []),
|
||||
Status == "ok".
|
||||
|
||||
test(torah_is_not_weighed) :-
|
||||
check('{"action":"halt_check","term":"action(weigh, by(torah), measure(claims), lean(a), counts(2, 0))"}',
|
||||
Status, []),
|
||||
Status == "ok".
|
||||
|
||||
test(a_weigh_term_does_not_also_trip_the_other_rules) :-
|
||||
check('{"action":"halt_check","term":"action(weigh, by(claude), measure(source_asymmetry), lean(b), counts(0, 2))"}',
|
||||
Status, Vs),
|
||||
Status == "halt",
|
||||
length(Vs, 1).
|
||||
|
||||
:- end_tests(bedikah_bridge).
|
||||
Reference in new issue
Block a user