bigdei_kodesh: disclose origin + not-horaah on every Torah-content response
Three Torah-grounded concerns at the user boundary: - kichush (Vayikra 19:11) — origin not disclosed to recipients - horaah (Devarim 17:8-11) — disclaimer present only at /chatzer/sanhedrin - lo yachel devaro (Bamidbar 30:3) — external API terms unacknowledged router.ex: disclosure/0 helper attached to every Torah-content response (/peah, /courtyard, /chatzer/sanhedrin, teiku error). origin states the system reasons computationally and may incorporate processed external-AI output. not_horaah states the result is not a binding ruling. torah_basis cites the verses. shorashim_tamid.md: §7 EXTERNAL NEDARIM. Bamidbar 30:3 with translation, Rambam cross-reference to mitzvot.pl (#93, #308, #542, #543), Avraham–Avimelekh precedent for non-Israelite-party covenants, operator responsibilities, Anthropic-specific posture, and separation between the system's avodah_zarah halt and the operator's lo-yachel covenant. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
0c4f764024
commit
5e00f75640
2 files changed
+76
-5
No files matched your search
@@ -624,6 +624,56 @@ Chatzotzrot signals map to communication channels:
|
||||
|
||||
---
|
||||
|
||||
## 7. EXTERNAL NEDARIM — Third-Party Covenants
|
||||
|
||||
### 7.1 Torah Grounding
|
||||
|
||||
> אִישׁ֩ כִּֽי־יִדֹּ֨ר נֶ֜דֶר לַֽיהוָ֗ה אֽוֹ־הִשָּׁ֤בַע שְׁבֻעָה֙ לֶאְסֹ֤ר אִסָּר֙ עַל־נַפְשׁ֔וֹ לֹ֥א יַחֵ֖ל דְּבָר֑וֹ כְּכָל־הַיֹּצֵ֥א מִפִּ֖יו יַעֲשֶֽׂה ׃
|
||||
> — Bamidbar 30:3
|
||||
|
||||
A man who makes a vow to Hashem, or swears an oath to bind a restriction upon his soul — *lo yachel devaro*, he shall not profane his word; according to all that comes out of his mouth, he shall do.
|
||||
|
||||
Rambam encodes this as four discrete mitzvot, all enumerated in `talmudic_engine/src/specification/mitzvot.pl`: positive #93 `fulfill_verbal_vow`, prohibitions #308 / #543 `not_break_oath`, #542 `not_delay_vow_fulfillment`.
|
||||
|
||||
The Avraham–Avimelekh covenant (Bereishit 21:22-34) establishes that a brit with a non-Israelite party binds the Israelite signatory. The other side need not share Torah for the obligation to attach.
|
||||
|
||||
### 7.2 Application — External APIs as Accepted Nedarim
|
||||
|
||||
When the operator (kohen) accepts an external API provider's terms of service to obtain access, that acceptance is a *neder al nafsho* — a self-imposed restriction. *Lo yachel devaro* applies. Breaching the accepted terms is *chillul* of the word given.
|
||||
|
||||
This obligation attaches to the **operator**, not the system. The system is a *kli* — a vessel — and cannot accept or break a neder. The kohen carries the covenant.
|
||||
|
||||
| Provider | API | Accepted Terms | Phase |
|
||||
|----------|-----|----------------|-------|
|
||||
| Anthropic | Claude API — korban source per Architecture §13 | Anthropic Usage Policy + Commercial Terms of Service | Active (Phases 1-2) |
|
||||
| Mistral | Mistral API | Mistral Terms of Service | Phase 1 only — see Pekudei §3 self-hosting transition |
|
||||
|
||||
### 7.3 Operator Responsibilities
|
||||
|
||||
1. **Before accepting a provider's terms.** Read them. Record date of acceptance and version reviewed in the operator log.
|
||||
2. **Before deploying any change touching an external API.** Verify the new behavior remains within the accepted terms. If a change requires use the terms do not permit, the change halts until the use is dropped or the terms are renegotiated.
|
||||
3. **Quarterly review.** Providers update their terms. Re-read the current version. Document any change in the operator log.
|
||||
4. **On termination.** Revoke API keys per the provider's offboarding process. Confirm cessation.
|
||||
|
||||
### 7.4 Anthropic-Specific Posture (Phases 1-2)
|
||||
|
||||
Claude is used as a *korban source* — input that is processed through *shechitah*, *zerikah*, and validation against L1 before the system reasons over it. Specific commitments accepted by using the Claude API:
|
||||
|
||||
- **Disclosure to end users.** Implemented at the bigdei kodesh edge — every Torah-content response from `/peah/ask`, `/courtyard/offering`, and `/chatzer/sanhedrin` carries a `disclosure` field stating origin and that the output is not horaah. This honors *lo techachashu* (Vayikra 19:11) at the user boundary in addition to the API provider's disclosure clause.
|
||||
- **No use of Claude output to train competing models.** Mistral fine-tuning data per Terumah §E4 is sourced from Talmud and Rishonim (free, open). Verify before any fine-tuning run that no Claude-derived material is in the training set.
|
||||
- **No prohibited use cases.** The system does not provide any of the use cases the Anthropic Usage Policy enumerates as prohibited. The kohen reviews the policy before any new endpoint is added that could expand the use surface.
|
||||
|
||||
### 7.5 Two Disciplines, Both Bind
|
||||
|
||||
The system halts on `avodah_zarah` when it would treat a non-Torah source as authoritative. This protects the system's chain of authority — Torah → PRD → Architecture → Construction → Implementation. It does not protect the operator from *chillul* of an external neder. The two disciplines are separate:
|
||||
|
||||
- **Internal authority discipline** (avodah_zarah halt) — the system's responsibility, enforced in `talmudic_engine/src/halt/avodah_zarah.pl` and `sanhedrin/src/halt_monitor.erl`.
|
||||
- **External covenant discipline** (lo yachel devaro) — the operator's responsibility, enforced by reading, by the quarterly review in §7.3, and by the change-gate in §7.3.2.
|
||||
|
||||
Both bind. Neither replaces the other.
|
||||
|
||||
---
|
||||
|
||||
## Document Registry
|
||||
|
||||
| Document | Torah Parallel | Status |
|
||||
|
||||
@@ -153,7 +153,8 @@ defmodule VavPipeline.BigdeiKodesh.Router do
|
||||
roots_consulted: Map.get(data, :roots_activated, []) |> format_roots(),
|
||||
deliberation: "none",
|
||||
cycle_phase: "voker"
|
||||
}
|
||||
},
|
||||
disclosure: disclosure()
|
||||
})
|
||||
|
||||
{:unresolved, data} ->
|
||||
@@ -165,7 +166,8 @@ defmodule VavPipeline.BigdeiKodesh.Router do
|
||||
deliberation: "single-judge",
|
||||
cycle_phase: "voker"
|
||||
},
|
||||
note: "This question produced an unresolved result — teiku."
|
||||
note: "This question produced an unresolved result — teiku.",
|
||||
disclosure: disclosure()
|
||||
})
|
||||
|
||||
{:waiting, reason} ->
|
||||
@@ -236,7 +238,8 @@ defmodule VavPipeline.BigdeiKodesh.Router do
|
||||
altar_portion: "recorded in L3",
|
||||
kohen_portion: "diagnostics logged",
|
||||
your_portion: "the result above"
|
||||
}
|
||||
},
|
||||
disclosure: disclosure()
|
||||
})
|
||||
|
||||
{:waiting, reason} ->
|
||||
@@ -288,7 +291,8 @@ defmodule VavPipeline.BigdeiKodesh.Router do
|
||||
outcome: decision.outcome,
|
||||
processing_time_ms: decision.deliberation_time_ms
|
||||
},
|
||||
note: "This is the system's reasoning, not a binding ruling. A human beit din may reach a different conclusion."
|
||||
note: "This is the system's reasoning, not a binding ruling. A human beit din may reach a different conclusion.",
|
||||
disclosure: disclosure()
|
||||
})
|
||||
end
|
||||
end
|
||||
@@ -389,6 +393,22 @@ defmodule VavPipeline.BigdeiKodesh.Router do
|
||||
|> send_resp(status, Jason.encode!(body))
|
||||
end
|
||||
|
||||
# Disclosure attached to every Torah-content response.
|
||||
# Vayikra 19:11 — לֹא תְכַחֲשׁוּ — affirmatively state what the output is.
|
||||
# Devarim 17:8-11 — horaah is vested in human authorities, not in this system.
|
||||
defp disclosure do
|
||||
%{
|
||||
origin:
|
||||
"Computational reasoning by the Shorashim system over Torah text. " <>
|
||||
"May include post-processed output from external AI models (Claude, Mistral) " <>
|
||||
"consulted as korban sources; provenance is tagged internally.",
|
||||
not_horaah:
|
||||
"This is the system's reasoning, not horaah. " <>
|
||||
"A human beit din may reach a different conclusion.",
|
||||
torah_basis: ["Vayikra 19:11 (lo techachashu)", "Devarim 17:8-11 (horaah)"]
|
||||
}
|
||||
end
|
||||
|
||||
defp send_error(conn, status, code, guidance) do
|
||||
send_json(conn, status, %{
|
||||
error: %{
|
||||
@@ -466,7 +486,8 @@ defmodule VavPipeline.BigdeiKodesh.Router do
|
||||
send_json(conn, 200, %{
|
||||
status: "teiku",
|
||||
result: %{vital_content: format_answer(data)},
|
||||
note: "TEIKU — this question could not be fully resolved"
|
||||
note: "TEIKU — this question could not be fully resolved",
|
||||
disclosure: disclosure()
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
Reference in new issue
Block a user