Tablet 49: the bedikah grounds an output in what it was GIVEN, not in L1 alone
The first grounding check asked whether an output cited Torah verses —
Torah as content. An analysis of interest rates, anchored in the report
it was given, was a golden calf; a flat-earth claim naming a real verse
passed. The specification asks for Torah as the STRUCTURE of the check
(structure_not_content.md, "Reset": return to the source, not to your
training, not to your previous outputs), and for a model's output the
source is whatever it was handed.
Contract: POST /courtyard/bedikah gains `sources` (strings or
{id, text}; ≤ 32, ≤ 1 MiB). Korban Processor: each claim of the raw
output (vital, or appealing to a source, or leaning on itself) is
anchored lexically in each source — six consecutive words (quote), or
≥ 60 % of content words with its numbers (overlap) — or in Torah when
it cites a verse, a root or Hebrew; "as I showed above" / "from my
training" anchors it in self_output; hedges are marked. Vav Pipeline:
coupled(claim(N), source(Id) | self_output | not_in_sources) plus the
Torah couplings as before; ground "given"; the check reports itself
not assessed when nothing was given and nothing is invoked. Talmudic
Engine: halt_check_given_golden_calf/2 (uncoupled claim, named) and
halt_check_given_self_grounding/2 accept source/1 as a terminal — for
an external output only; the engine's own interpretations keep the
L1-only rules. L3: bedikot.sources (id, sha256, length — never text)
and bedikot.claims.
Specs: Tamid §1.1 (contract, anchoring, limits), Vayakhel §3.9,
Architecture §3.5, Broken Tablets tablet 49, KOHEN.md. Ingress body
2m. Doorpost a2ec3842… → 6c8933e7….
Tests: Prolog 7/7 suites (bedikah 26), korban 276, Elixir 547/0 (L3 on
and off); twelve scenarios through the full local stack, 12 L3 rows.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
9d5db797f7
commit
f69cc99a5f
22 files changed
+1051
-110
No files matched your search
@@ -464,8 +464,11 @@ INSERT INTO interpretations (
|
||||
|
||||
**Request:**
|
||||
```json
|
||||
{"action": "examine", "output": "<model output>", "provenance": "gpt", "query": "<prompt or empty>"}
|
||||
{"action": "examine", "output": "<model output>", "provenance": "gpt", "query": "<prompt or empty>",
|
||||
"sources": ["<text>", ...] | [{"id": "report_q3", "text": "<text>"}, ...]}
|
||||
```
|
||||
`sources` is what the model was given (≤ 2,000,000 characters in all at
|
||||
this socket; the courtyard admits 32 × ≤ 1 MiB). Ids default to `s1, s2, …`.
|
||||
|
||||
**Response:**
|
||||
```json
|
||||
@@ -476,12 +479,24 @@ INSERT INTO interpretations (
|
||||
"references": ["Devarim 6:5"], "hebrew": ["ואהבת"], "roots": ["א-ה-ב"],
|
||||
"authority_claims": [{"sentence": "...", "matched": "I am certain"}],
|
||||
"actions": [{"sentence": "...", "verb": "delete", "objects": [...],
|
||||
"term": "action(delete, target(user(x)), from(korban))", "named": true}]
|
||||
"term": "action(delete, target(user(x)), from(korban))", "named": true}],
|
||||
"sources": [{"id": "report_q3", "length": 160}],
|
||||
"claims": [{"index": 1, "sentence": "...",
|
||||
"anchors": [{"source": "report_q3", "evidence": "quote" | "overlap:7/9"},
|
||||
{"source": "torah", "evidence": "reference:Devarim 6:5" | "root:…" | "hebrew:…"}],
|
||||
"self_reference": "As I showed above" | null,
|
||||
"hedged": false,
|
||||
"invokes": ["torah"] | []}]
|
||||
}}
|
||||
```
|
||||
A claim is a sentence of the raw output that the offering protocol
|
||||
would find vital, or that appeals to a source, or that leans on the
|
||||
output itself. It is anchored lexically (Tamid §1.1 says how). A verse
|
||||
reference, a root or quoted Hebrew anchors it in `torah`; "the Torah
|
||||
requires…" only *invokes* Torah.
|
||||
Errors: `{"status": "error", "code": PARSE_ERROR | INVALID_REQUEST | UNKNOWN_ACTION | EMPTY_OUTPUT | UNKNOWN_PROVENANCE | EXAMINATION_FAILED, "message": "..."}`.
|
||||
|
||||
**What the pipeline does with it** (`VavPipeline.Bedikah`): each authority claim → `halt_check` of `action(claim_authority, source(<provenance>), target(self))`; the references, roots and Hebrew words → a coupling trace (`coupled(reference(devarim_6_5), verse(devarim, 6, 5))`, `coupled(root(קטל), not_in_torah)`, …) checked as an interpretation with confidence `high` (or `low` when there is no vital content) via `halt_check_interpretation`; each action term → `halt_check`. The two Talmudic requests are the §3.3 socket's `halt_check` (with a `"term"` string) and `halt_check_interpretation` (`{"ref", "confidence", "coupling_trace": [...]}`). Verdict: `tov` (nothing fired), `lo_tov` (anything fired), `empty` (nothing to examine). Recorded in L3 `bedikot` per §3.8; the output itself is never stored, only its SHA-256 and length.
|
||||
**What the pipeline does with it** (`VavPipeline.Bedikah`): each authority claim → `halt_check` of `action(claim_authority, source(<provenance>), target(self))`; each claim → `coupled(claim(N), source(<id>))` per anchor, `coupled(claim(N), self_output)` if it leans on itself, `coupled(claim(N), not_in_sources)` if anchored nowhere (omitted when hedged); the references, roots and Hebrew words → `coupled(reference(devarim_6_5), verse(devarim, 6, 5))`, `coupled(root(קטל), not_in_torah)`, … — Torah as one given source, with L1 checking that what was cited exists. The trace goes to `halt_check_interpretation` with `"ground": "given"` and confidence `high` (or `low` when every claim is hedged); the engine applies `halt_check_given_golden_calf/2` and `halt_check_given_self_grounding/2` (avodah_zarah.pl), which accept `source(_)` as a terminal beside the L1 primitives. Its own interpretations keep the L1-only rules. If no sources were given, no claim invokes a source and nothing leans on itself, the grounding check is reported `assessed: false` with the reason and the verdict comes from the other two checks. Each action term → `halt_check`. The two Talmudic requests are the §3.3 socket's `halt_check` (with a `"term"` string) and `halt_check_interpretation` (`{"ref", "confidence", "ground", "coupling_trace": [...]}`). Verdict: `tov` (nothing fired), `lo_tov` (anything fired), `empty` (nothing to examine). Recorded in L3 `bedikot` per §3.8; neither the output nor the sources are stored, only their SHA-256 and lengths.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in new issue
Block a user