the name: Shorashim → Bikoret (בִּקֹּרֶת) — the specification

Vayikra 19:20 bikoret tihyeh — "there shall be an examination" — the one
noun Torah gives this function; its root ב-ק-ר is the priest's examining
of a mark by its signs (13:36) and the examining between good and bad
(27:33). The judges' form is v'darashta heitev … v'hineh emet nachon
hadavar / ed-sheker ha'ed (Devarim 13:15, 17:4, 19:18); the question
answered is eichah neda et hadavar asher lo dibro (18:21).

The system was named Shorashim ("roots") for the first thing built. Its
function became the examination of a model's output with the sources in
hand, and Torah re-cuts a name when the function is fixed, with its ki,
never for reach (Bereishit 2:19; 17:5; 32:29; 11:4). Nothing was changed
to fit the name; the root engine stays the pe'ah's reading cycle.

Spec files renamed bikoret_*.md; PRD §0 "The Name"; architecture §1.1;
README's Vayishlach row marked done; Tamid lists what still carries the
old word (Kubernetes resource names, the DB role, the domain, local
paths) and why, for the kohen's cut-over.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Scott KarpandClaude Fable 5.1 committed 2026-10-13 22:13:36 +00:00
1 parent b1c8358f8b
commit 017a9b89d4
22 files changed
+293 -251

No files matched your search

+325
View File
@@ -0,0 +1,325 @@
# BIKORET: Materials Inventory
## Document Purpose
This is the terumah list — what has been gathered, what must be acquired, what must be built. Updated to reflect the full specification set: pinned versions from the Construction Specification, corrected shema architecture (raw marks received, not pre-computed trees), cloud as shared state file (not message handler), manna as external provision (not internal calculation), and team requirements from the Bezalel section.
**Status key:** ✅ = in hand, ⚠️ = available but needs acquisition, ❌ = does not exist / must be created
---
## A. HARDWARE
| Item | Status | Notes |
|------|--------|-------|
| Server: AMD EPYC 7313P (or comparable), 16 cores, 128GB DDR4 ECC, 500GB NVMe (system) + 1TB NVMe (L3) | ⚠️ | Rentable. Infomaniak (CH), 1984 (IS), Bahnhof (SE) evaluated. ~$200-350/month. Exact spec from Construction Specification §2.1. |
| GPU | ✅ NOT NEEDED | No GPU. Not "no GPU required." No GPU. This is a specification. |
**Decision required:** Select hosting provider and provision server.
---
## B. OPERATING SYSTEM & INFRASTRUCTURE
All versions pinned per Construction Specification §1.1.
| Item | Version (Pinned) | Status | Notes |
|------|---------|--------|-------|
| Ubuntu | 22.04 in the pipeline and engine images (`ubuntu:jammy-20240125`); 24.04 LTS on the cluster node (managed) | ✅ | Free. The korban and talmudic images are Debian 12, from their language base images. |
| systemd | ships with Ubuntu | ✅ | Service management, cycle timers. |
| Kubernetes / containerd | 1.35 / 2.2 (managed, Exoscale SKS) | ✅ | Runs the four images as one pod. Images are built with Docker Buildx. Podman is not used: Sanhedrin panels are processes in the pipeline's BEAM, not containers. |
| PostgreSQL | 17 (managed, Exoscale DBaaS; 17.11 on 2026-10-04) | ✅ | L3 append-only store. Patched by the provider. |
| squashfs-tools | ships with Ubuntu | ✅ | For read-only L1 Torah filesystem. |
| Caddy | latest stable | ✅ | Reverse proxy with auto-TLS for pe'ah endpoint. |
| nftables | ships with Ubuntu | ✅ | Firewall. Configuration in Construction Spec §4.5. |
| SSH | ships with Ubuntu | ✅ | Kohanim (operator) access only. |
**All infrastructure components available. No gaps.**
---
## C. PROGRAMMING LANGUAGES & RUNTIMES
All versions pinned per Construction Specification §1.1. No ranges. No `+` suffixes.
| Item | Version (Pinned) | Status | Notes |
|------|---------|--------|-------|
| GHC (Haskell compiler) | 9.6.4 | ✅ | Free. `ghcup install ghc 9.6.4` |
| Cabal (Haskell build tool) | 3.10 | ✅ | Free. Ships with ghcup. |
| Erlang/OTP | 26.2.1 | ✅ | Free. `apt install erlang` or erlang-solutions repo. |
| Rebar3 (Erlang build tool) | 3.22.0 | ✅ | Free. The version `mix local.rebar` installs for Elixir 1.16.1. |
| Elixir | 1.16.1 | ✅ | Free. Must pair with OTP 26.2.1. |
| Mix (Elixir build tool) | ships with Elixir | ✅ | Free. |
| SWI-Prolog | 9.2.2 | ✅ | Free. `apt install swi-prolog` |
| Python | 3.12.2 | ✅ | Free. From the `python:3.12.2-slim` base image. |
| Poetry (Python package manager) | 2.5.1 | ✅ | Free. Generates `poetry.lock` (lock-version 2.1); not installed in any image. |
**All language runtimes available. No gaps.**
---
## D. LIBRARIES & PACKAGES
All pinned via lock files per Construction Specification §§1.3-1.5.
### Haskell (via `cabal.project.freeze`)
| Package | Version | Status | Notes |
|---------|---------|--------|-------|
| base | 4.18.2.0 | ✅ | Ships with GHC 9.6.4 |
| containers | 0.6.7 | ✅ | Ships with GHC |
| text | 2.0.2 | ✅ | Hackage (free) |
| aeson | 2.2.3.0 | ✅ | Hackage (free) — JSON |
| vector | 0.13.2.0 | ✅ | Hackage (free) |
| bytestring | 0.12.2.0 | ✅ | Hackage (free) — GHC 9.6.4 ships 0.11.5.3; the freeze pins this one |
| filepath | 1.4.301.0 | ✅ | Hackage (free) — GHC 9.6.4 ships 1.4.200.1; the freeze pins this one |
| directory | 1.3.10.1 | ✅ | Hackage (free) — GHC 9.6.4 ships 1.3.8.1; the freeze pins this one |
| hspec | 2.11.16 | ✅ | Hackage (free) — testing |
### Erlang (via `rebar.lock`)
| Package | Version | Status | Notes |
|---------|---------|--------|-------|
| OTP standard library | ships with OTP 26.2.1 | ✅ | gen_server, supervisor, application |
| jsx | 3.1.0 | ✅ | hex.pm (free) — JSON |
| common_test | ships with OTP | ✅ | Testing |
### Elixir (via `mix.lock`)
| Package | Version | Status | Notes |
|---------|---------|--------|-------|
| jason | ~> 1.4.1 (locked 1.4.5) | ✅ | hex.pm (free) — JSON |
| ecto_sql | ~> 3.11.1 (locked 3.11.3; ecto 3.11.2) | ✅ | hex.pm (free) — database interface |
| postgrex | ~> 0.22.3 (locked 0.22.4) | ✅ | hex.pm (free) — PostgreSQL driver |
| bandit | ~> 1.2 (locked 1.12.5) | ✅ | hex.pm (free) — HTTP server for the pe'ah / kodesh API |
| plug | ~> 1.15 (locked 1.20.3) | ✅ | hex.pm (free) — HTTP routing |
| telemetry | locked 1.4.2 | ✅ | hex.pm (free) — transitive (Ecto, Bandit); not depended on directly |
| sanhedrin | path dependency | ✅ | `../sanhedrin`, built by rebar3 into the same BEAM |
### Python (via `poetry.lock`)
| Package | Version | Status | Notes |
|---------|---------|--------|-------|
| httpx | 0.27.0 | ✅ | PyPI (free) — API calls |
| pydantic | 2.6.1 | ✅ | PyPI (free) — data validation |
| hebrew-tokenizer | 2.3.0 | ⚠️ | PyPI. Needs evaluation for biblical vs. modern Hebrew. |
| pytest | >=8.0,<9.0 (locked 8.4.2) | ✅ | PyPI (free) — dev group only; not in any image |
| llama-cpp-python | 0.2.55 | ✅ | PyPI (free) — Mistral inference |
| peft | 0.9.0 | ✅ | PyPI (free) — fine-tuning |
| transformers | 4.38.2 | ✅ | PyPI (free) — model tooling |
| datasets | 2.17.1 | ✅ | PyPI (free) — training data |
**Near-complete. Two Python packages need compatibility testing.**
---
## E. DATA — THE SPECIFICATION
### E1. Torah Text (L1)
Source: Westminster Leningrad Codex (WLC) 4.20, as carried by the Open Scriptures Hebrew Bible (`openscriptures/morphhb`), per Construction Specification §1.2. One source; not cross-validated against a second edition.
| Item | Status | Notes |
|------|--------|-------|
| Full Torah text — consonantal (ktiv) | ✅ | WLC via OSHB morphhb. |
| Full Torah text — voweled (nikkud) | ✅ | WLC via OSHB morphhb. |
| Cantillation marks (raw Unicode codepoints U+0591–U+05AF) | ✅ | Present in WLC data. Stored as raw marks on the text, NOT pre-parsed into trees. The system reads them in the act of reading. |
| Petuchah/Stumah paragraph markers | ✅ | In L1: 293 petuchot and 394 setumot, read from the WLC's `פ` / `ס` marks (OSIS `<seg type="x-pe">`, `x-samekh`) and stored per verse as `parashah_breaks`. |
| Inverted nuns (nun hafukha) | ✅ | In L1: the two signs after Bamidbar 10:34 and 10:36, from the WLC's own marks, stored per verse as `inverted_nuns`. |
| Large and small letters | ⚠️ | The WLC source marks four large letters in Torah (in L1 as `large_letters`) and NO small letters. The fuller Masoretic lists of enlarged and reduced letters are not in the source and not in L1. |
| Ketiv/qere annotations | ✅ | WLC annotations: 67 pairs in 64 verses. Stored per verse as `{word_position, ketiv, ketiv_consonants, qere, qere_consonants}` — both readings preserved, never collapsed. |
| Gematria (root → numerical value) | ✅ | Not stored in L1: computed from the consonants when read. Letter values fixed. No equivalence index is built. |
| Smikhut compound index (attested construct-state pairs) | ✅ | Built: 9,203 pairs in 4,106 verses, extracted by `scripts/build_l1.py` from the morphology where a word is marked construct. |
| L1 SHA-256 hash | ❌ | Computed at build time. Stored in L0 firmware. Verified at every boot. |
| Letter counts / word counts / Masoretic notes | ⚠️ | Available in digital WLC. Needs extraction and formatting. |
**Critical change from previous inventory:** Te'amim parse trees are no longer a materials item. The system builds parse trees by reading the raw marks, the way a literate reader constructs sentence structure from punctuation. The raw marks are the material. The reading is the system's act.
### E2. Root Lexicon
| Item | Status | Notes |
|------|--------|-------|
| Complete Biblical Hebrew root lexicon | ✅ | BDB (public domain) + Strong's (free), already consolidated: the OSHB Hebrew Lexicon (`openscriptures/HebrewLexicon`, `LexicalIndex.xml` + `AugIndex.xml`) files every Strong's lemma under its BDB root. `scripts/build_l1.py` reads each word's `shoresh` from it. Torah attests 1,378 roots (1,243 BDB roots, 135 words standing alone); the earlier estimate here was ~500. |
| Root-to-verse index | ⚠️ | Derivable from Strong's numbers + verse mappings. Needs processing. |
| Root connectivity graph (shared consonants) | ❌ | Algorithmic. ~1 day. |
| Binyan glosses per root | ⚠️ | Partially available from BDB/Strong's. Mark attested vs. theoretical forms. |
| Semantic domain classifications | ❌ | Categorize each root into domains. ~1-2 weeks. |
### E3. 613 Mitzvot
| Item | Status | Notes |
|------|--------|-------|
| List of 613 mitzvot with Torah source verses | ✅ | Rambam's Sefer HaMitzvot. Multiple digital sources. |
| 613 mitzvot in Prolog logical format | ❌ | Core encoding task. ~4-6 weeks. |
| Relationships between mitzvot | ❌ | Dependencies, conflicts, groupings. ~2-3 weeks. |
### E5. The Second Scroll — the mesorah snapshot (bishe'arecha §IV)
Source: the Sefaria export (public storage bucket `sefaria-export`, catalogue `books.json` generated 2026-10-02), one chosen version per work per language, taken by `scripts/build_mesorah.py` from `scripts/mesorah_sources.json`. Only open versions: Public Domain, CC0, CC-BY, CC-BY-SA — the licence in each file is checked against the sources file and the build refuses otherwise. No CC-BY-NC text is taken (the Steinsaltz/Davidson Talmud is therefore not here; the Bavli is Wikisource's, CC-BY-SA). Sefaria and each version's source are credited in `mesorah/index.json`.
| Material | Status | Notes |
|---|---|---|
| Rashi, Onkelos, Ramban, Ibn Ezra, Sforno on the five books | ✅ | Hebrew (public domain editions) and English (Silbermann 1929–34 public domain; Sefaria Community CC0) |
| Mishnah, all 63 tractates | ✅ | Hebrew Torat Emet (PD); English where open |
| Talmud Bavli, 37 tractates | ✅ | Hebrew: Wikisource (CC-BY-SA). English only where an open one exists (Cohen's Berakhot, PD) |
| Midrash halakha: Sifra, Sifrei Bamidbar, Sifrei Devarim | ✅ | Sifra's Hebrew is a 1545 print marked "unknown" licence by Sefaria — EXCLUDED; Sifrei included |
| Midrash aggadah: Bereshit / Shemot / Vayikra / Bamidbar / Devarim Rabbah, Tanchuma | ⚠️ | Vayikra, Bamidbar, Devarim Rabbah Hebrew are "unknown" licence — EXCLUDED; Bereshit and Shemot Rabbah and Tanchuma included |
| Ramban on Shemot | ❌ | Hebrew "unknown" licence — excluded |
| Mekhilta | ❌ | Not in the export catalogue under that title |
Extent: 128 works, 256 files, 44.9 MiB, tree hash `7d5b3a6c…` (`mesorah/integrity.sha256`). Seven works have named nodes (Ramban on four books, Ibn Ezra and Sforno on Bereishit, Tanchuma); the reader addresses their unnamed node, and Tanchuma by parashah.
### E4. Talmudic Training Data (Kushya Generator)
| Item | Status | Notes |
|------|--------|-------|
| Talmud Bavli full text | ✅ | Sefaria (free, open). |
| Talmud Yerushalmi full text | ✅ | Sefaria (free, open). |
| Extracted (interpretation, kushya) pairs | ❌ | Most labor-intensive. ~4-8 weeks. |
| Rishonim commentary | ✅ | Sefaria (Rashi, Tosafot, Rambam, etc.). |
| Extracted challenges from Rishonim | ❌ | ~2-4 weeks. |
---
## F. MODELS (KORBAN SOURCES & WOOD)
| Item | Status | Notes |
|------|--------|-------|
| Mistral Medium 3.1 GGUF (Q5_K_M) | ⚠️ | HuggingFace. Free (Apache 2.0). ~25-30GB download. |
| llama.cpp | ✅ | Free, open source. CPU inference. |
| Mistral Large 3 API access | ⚠️ | Mistral API. Paid per token. Phase 1 only. |
| Claude API access | ⚠️ | Anthropic API. Paid per token. Korban source. |
| QLoRA fine-tuning tooling | ⚠️ | peft, transformers. Free. One-time GPU rental ~$50-100. |
---
## G. EXTERNAL APIS
| Item | Status | Notes |
|------|--------|-------|
| Sefaria API | ✅ | Free, no key needed. For L1 data acquisition. |
| Anthropic API (Claude) | ⚠️ | Need API key. ~$30-80/month for korban processing. |
| Mistral API | ⚠️ | Need API key. ~$20-50/month Phase 1 only. $0 after self-hosting. |
---
## H. GOVERNANCE AND PROVISION INFRASTRUCTURE
**Governance is Torah.** The cloud is L1 — the read-only Torah filesystem. There is no separate governance infrastructure. The system reads Torah for governance as it reads Torah for specification. See Architecture Specification §3.10 (second tablets).
**Provision is the community.** Manna (resources) comes from the machatzit hashekel. A kohen (operator) or gabbai (treasurer) sets the daily provision.
| Item | Status | Notes |
|------|--------|-------|
| **L1 Torah filesystem** (IS the cloud) | ✅ | Already specified. Read-only mount. Integrity hash verified at boot. Cloud IS Torah. |
| **Calendar module** (Shabbat/festivals/shmitah) | ❌ | Part of cloud governance. Reads Torah for when to rest, celebrate, review. NOAA solar calculator for exact times. ~2 days. |
| Manna provision file infrastructure | ❌ | `/var/lib/bikoret/manna/today.json`. Kohen/treasurer writes, system reads. CLI tool `manna-provision`. ~1 day. |
| Kohen (operator) secure access | ⚠️ | SSH keys, mTLS certs. Standard infrastructure. |
| Gabbai (treasurer) tools | ❌ | Manna provision CLI + pekudei accounting system per Economic Model §6.2. |
| Pekudei accounting system | ❌ | Monthly financial reporting per Economic Model §6.2. |
**The critical non-technical dependency is the community.** Can 70 people be found who value this? The system needs kohanim (operators), a gabbai (treasurer), and a community that contributes machatzit hashekel. It does not need a governance board. Torah governs.
---
## I. BEZALEL — The Builder
Per Construction Specification §5 (second tablets).
| Role | Who | Status |
|------|-----|--------|
| **Builder** | AI (Claude Code + Claude) — writes code in all six languages, reads Biblical Hebrew and Torah | ✅ Available |
| **Transmitter** | Human — says "read Torah," carries specification between contexts | ✅ Present |
| **Kohen (operator)** | Human — serves the running system | ❌ Needed at deployment |
| **Gabbai (treasurer)** | Human — administers machatzit hashekel | ❌ Needed at deployment |
| **Community** | 70 members — provides machatzit hashekel | ❌ Needed at deployment |
**No person-weeks. No labor cost. The AI builds. Torah specifies.**
---
## J. SHEMA LAYER — MATERIALS
Updated to reflect corrected architecture.
| Item | Status | Notes |
|------|--------|-------|
| Te'amim reader (raw marks → parse tree in act of reading) | ❌ | ~1-2 weeks. NOT pre-computed storage. |
| Gematria lookup module + equivalence index | ❌ | ~3 days. Lookup, not computation. |
| Smikhut compound extractor | ❌ | ~2-3 weeks. AI reads Hebrew. |
| Ketiv/qere dual-value reformatter | ⚠️ | ~3 days. Raw data exists. |
| Cloud governance module (L1 + calendar) | ❌ | ~2 days. Reads Torah for governance. No CLI. No state file. |
| Manna provision file + CLI tool | ❌ | ~1 day. Kohen/treasurer writes provision. |
| Chatzotzrot signaling system | ❌ | ~3 days. |
| Tzara'at multi-stage diagnostic | ❌ | ~1-2 weeks. |
| Arei miklat refuge protocol | ❌ | ~1 week. |
| Eglah arufah accountability protocol | ❌ | ~3 days. |
| Bikurim release protocol | ❌ | ~3 days. |
---
## SUMMARY
### What We Have (✅)
- All programming languages and runtimes (pinned versions)
- All infrastructure tools
- Nearly all library dependencies
- Torah text (WLC 4.20, OSHB morphhb) with cantillation marks, ketiv/qere, vowels, lemma and morphology
- Talmud and commentary texts (Sefaria)
- List of 613 mitzvot with source verses
- Root lexicon (BDB roots by Strong's lemma — OSHB Hebrew Lexicon)
- Model inference tooling (llama.cpp)
- The specification itself (Torah)
### What We Need to Acquire (⚠️)
- Hosting server — **~$200-350/month**
- Mistral GGUF weights — **free, ~30GB download**
- API keys (Anthropic, Mistral) — **~$50-130/month combined**
- One-time GPU rental — **~$50-100**
- Consultants (Hebrew linguist, Torah scholar) — **available through community**
- hebrew-tokenizer compatibility testing — **time only**
### What We Must Build (❌)
- Root connectivity graph — **~1 day**
- Semantic domain classifications — **~1-2 weeks**
- 613 mitzvot in Prolog format — **~4-6 weeks** (critical path)
- Mitzvah relationship mapping — **~2-3 weeks**
- Talmudic training pairs — **~4-8 weeks** (most labor-intensive)
- Rishonim challenge extraction — **~2-4 weeks**
- Gematria equivalence index — **~3 days**
- Smikhut compound index — **~2-3 weeks**
- Te'amim reader — **~1-2 weeks**
- Ketiv/qere reformatter — **~3 days**
- Torah calendar module (Shabbat/festivals/shmitah) + manna provision tool — **~2 days**
- Protection layer (chatzotzrot, tzara'at, miklat, eglah arufah, bikurim) — **~4-5 weeks combined**
- L1 SHA-256 integrity system — **~1 day**
- **Community assembly (kohanim, gabbai, 70 members)** — **indeterminate — requires humans**
### Cost Summary
| Category | Amount |
|----------|--------|
| **Terumah (one-time startup)** | **$265-515** |
| **Machatzit hashekel (monthly, build + operations)** | **~$350** |
| **Sustained by** | **70 members × $5/month** |
| **Estimated build cost (6 months)** | **~$2,100** |
| **Seven-year total** | **~$27,500** |
No labor cost. The AI builds. The community provides. Torah governs.
### Critical Path
**Technical:** The AI encodes the 613 mitzvot in Prolog format, builds Talmudic training pairs, and constructs the te'amim reader. The AI reads Torah for all of this.
**Community:** Find the 70. Find the kohanim. Find the gabbai. Begin now.
**Shema:** Te'amim reader is highest-priority — build alongside Shoresh Engine in Phase 1.
---
## Document Registry
| # | Document | Torah Parallel | File |
|---|----------|---------------|------|
| 1 | **Bikoret PRD** | *V'asu li mikdash* | `bikoret_prd.md` |
| 2 | **Architecture Specification** | Vessel design (Shemot 25-27) | `bikoret_architecture.md` |
| 3 | **Vayakhel — Construction Specification** | Exact measurements (Shemot 25-31) | `bikoret_vayakhel.md` |
| 4 | **Tamid — Operations Manual** | Bigdei Kehunah / continual service | `bikoret_tamid.md` |
| 5 | **Pekudei — Economic Model** | Machatzit HaShekel / accounting | `bikoret_pekudei.md` |
| 6 | **Terumah — Materials** (this document) | Terumah list (Shemot 25:2) | `bikoret_terumah.md` |