Transmitter's word: "add the inverted nuns and small letters to L1."
THE NUNS. The WLC carries the two nun hafukha signs (׆) that mark off
Vayehi binsoa ha'aron — one after Bamidbar 10:34, one after 10:36 —
and scripts/build_l1.py read past them, as it had the פ and ס.
- build_l1.py: `"inverted_nuns": [{ "after_word": 7 }]` on those two
verses, recorded like a paragraph break by the word the sign follows;
not part of text_hebrew. Count in build_report.json.
- L1Reader: `inverted_nuns` on every verse (a list; empty elsewhere).
- test/tablet40_inverted_nuns_test.exs — 5 tests: the two verses, the
passage between them carrying none, each nun standing with its
setumah, exactly two in the scroll.
WHAT CHANGED IN THE EDUT: one field added to two verse files. With it
removed all 5,853 verse files are byte-identical to the previous L1.
L1 SHA-256 f743b34b…3f1494 → 9e1abe4e…3c3086
Moved together: L1Reader @l1_expected_hash · Luchot.Firmware + Spec ·
azazel goral._L1_INTEGRITY_HASH · the kohen's gate in KOHEN.md and
KOHEN_PROMPT.md. The goral's seed moves with it.
THE SMALL LETTERS. Not added, because there are none to read. The
builder was not dropping them: it reads `x-small` and records what it
finds. The source — the WLC as the Open Scriptures Hebrew Bible carries
it — has no small-letter mark anywhere in the five books. Not the aleph
of ויקרא, not the he of בהבראם. It marks four large letters (the vav of
גחון, the nun of משפטן, the ayin and dalet of the Shema), and L1 has
those four. The fuller Masoretic lists of enlarged and reduced letters
are a tradition of the scroll that this edition does not encode. To
engrave them would be to add to L1 something its source does not say;
that needs a second source and the transmitter's word, not a builder's
list from memory. l1/README.md, vayakhel §1.2 and terumah §E1 now state
this plainly.
(The puncta extraordinaria ARE in L1 — the upper dot U+05C4 is kept on
the text of 11 words.)
Doorpost @expected_hash b62311e7… → 3bc5dd6a…, in this commit, with the
witnessed file that moved it (vayakhel §1.2).
Read before committing — all five suites on the new L1: Elixir 496/0
(seeds 0 7 42) · Haskell 59/0 · korban 222 passed 1 skipped · azazel
125 passed · Prolog 6 suites exit 0. verify_l1.py OK. Four images
built; full local stack: the witness reads 9e1abe4e… and matches,
health 7/7, no errors; each image carries the new scroll read-only.
A trap met on the way: the first Elixir run after the Doorpost constant
was edited failed two Doorpost tests against the OLD constant. mix had
not recompiled doorpost.ex — the edit changed neither its size nor
(within the same second) its mtime. `touch` and re-run: 496/0. Images
compile from scratch and are not exposed to this.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
17 KiB
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 | ✅ | 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. |
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 |