Files
bikoret/specs/shorashim_terumah.md
T
Scott KarpandClaude Fable 5.1 483d50c4ab specs §1.2 + Doorpost: where the scroll actually comes from, and what it holds
Construction §1.2 specified an L1 that was never built: WLC 4.22 from a
Sefaria export cross-validated against TANACH.us, a gematria lookup
table, a squashfs image mounted read-only, a verse format with fields
named `hebrew`, `consonantal`, `cantillation`. Each property was
checked against the sources on disk and the 5,853 verse files before
it was rewritten.

- Edition: WLC 4.20, as the Open Scriptures Hebrew Bible carries it
  (every Torah file's header says "Updated to WLC version 4.20").
- Sources: openscriptures/morphhb @ 3d15126 for the text, lemma and
  morphology; openscriptures/HebrewLexicon @ 21c9add for the roots.
  Licences stated. ONE source for the text — the two-source
  cross-validation the section prescribed has not been done, and the
  section now says so.
- Builder, extent (5 / 187 / 5,853 / 79,982), the real verse and word
  format, ketiv/qere (67 pairs, 64 verses), smikhut (9,203 pairs,
  4,106 verses), shoresh (57,487 words, 1,378 roots, by lemma).
- Gematria: not stored; computed when read.
- Petuchah/setumah: in the source (233 + 394 milestones across the five
  books), NOT carried into L1 — the builder does not read them. Stated.
- Verification procedure: the six steps that are actually performed —
  pinned checkouts, build_l1.py and its counts, the hash, the three
  places the hash is bound, root-owned read-only in the images, the
  witness and verify_l1.py.

specs/shorashim_terumah.md §E1 matched the old section; corrected
(source, ketiv/qere format, smikhut built, gematria not an index,
paragraph markers ⚠️). l1/README.md no longer says squashfs.

Doorpost @expected_hash 3f6d47a0… → 21f1a4d5…, in this commit, with the
witnessed file that moved it (vayakhel).

Read before committing: Elixir 484/0 (seeds 0, 42); verify_l1.py OK
(l1/README.md is outside the hashed tree); pipeline image reports
specification_identity verified 21f1a4d5…, l1_hash pass.

Left as written: tamid's runbook steps that mount L1 from a squashfs
image; architecture §3.7 and §4's build steps (squashfs, Sefaria);
pekudei's cost line naming Sefaria.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 22:25:34 +00:00

308 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SHORASHIM: 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 | ⚠️ | Present in the WLC source (OSIS `x-pe` / `x-samekh` milestones). NOT carried into L1: `scripts/build_l1.py` does not read them. |
| 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. |
### 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/shorashim/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 | **Shorashim PRD** | *V'asu li mikdash* | `shorashim_prd.md` |
| 2 | **Architecture Specification** | Vessel design (Shemot 25-27) | `shorashim_architecture.md` |
| 3 | **Vayakhel — Construction Specification** | Exact measurements (Shemot 25-31) | `shorashim_vayakhel.md` |
| 4 | **Tamid — Operations Manual** | Bigdei Kehunah / continual service | `shorashim_tamid.md` |
| 5 | **Pekudei — Economic Model** | Machatzit HaShekel / accounting | `shorashim_pekudei.md` |
| 6 | **Terumah — Materials** (this document) | Terumah list (Shemot 25:2) | `shorashim_terumah.md` |