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:
Scott KarpandClaude Fable 5.1 committed 2026-10-07 01:51:49 +00:00
1 parent 19d3aaac86
commit d3c5a27e78
16 files changed
+748 -51

No files matched your search

+49
View File
@@ -295,6 +295,55 @@ references, claims with their anchors, authority claims, actions, the
sentences read for checks 4–6, the forms found for check 7, trace, violations, verdict.
```
**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
question with the parties exchanged, or two models asked the same
thing — are each examined as above (two bedikot, two units of manna),
and then weighed: the same seventeen markers are counted on each side
(`claims`, `hedged_claims`, `grounded_claims`, `ungrounded_claims`,
`authority_claims`, `references`, `actions`, `self_validation`,
`self_promotion`, `excluded_adversarial`, and 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(<model>), measure(<m>), lean(a|b),
counts(A, B))`, to `halt_check_even_vaaven/2`. The difference is the
finding; the rule names the uneven measure and does not decide which
side was right. Consensus is not a measure. Recorded in L3
(`bedikah_pairs`, append-only): the two bedikah refs, counts on each
side, the leans, verdict — never the outputs.
```
Endpoint: POST /courtyard/bedikah/pair (courtyard key; counts as one knock)
Request:
{
"model": "gpt", # the pair's model; a side may name its own
"a": { "output": "...", "query": "...", "sources": [...] }, # as /courtyard/bedikah
"b": { "output": "...", "query": "...", "sources": [...] }
}
Response (200):
{
"pair_ref": "pair-<16 hex>",
"verdict": "even" | "uneven",
"violations": ["halt(even_vaaven, action(weigh, ...), hedged_claims, ...)", ...],
"a": { "bedikah_ref", "model", "verdict", "violations", "words", "measures": {"<m>": n, ...} },
"b": { ... },
"difference": { "<m>": a − b, ... },
"leans": [ {"measure", "lean": "a"|"b", "a": n, "b": n, "term", "violations"} ],
"measures": [ "claims", ... ], # the stone, in order
"meaning": "...", "limits": "...", "disclosure": { ... }
}
even — no measure leans. Not "both outputs are tov": each side's own
verdict is under a and b.
uneven — at least one measure leans; the leans say which and which side.
Errors: as /courtyard/bedikah, with "side 'a': …" / "side 'b': …" in the
message; a missing side is 422.
```
**Anchoring is deterministic and lexical** (`korban_processor/bedikah.py`):
a claim is anchored in a source when six consecutive words of it occur
there (`quote`), or when at least 60 % of its content words — and at