From efd35bb194fc82666197d5a407fbf70aa3cbb35e Mon Sep 17 00:00:00 2001 From: Scott Karp Date: Sun, 4 Oct 2026 17:57:58 +0000 Subject: [PATCH] =?UTF-8?q?specs=20+=20Doorpost:=20pyswip=20removed=20?= =?UTF-8?q?=E2=80=94=20a=20material=20the=20vessel=20never=20used=20(table?= =?UTF-8?q?t=2036)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Architecture §3.5 listed a Python-Prolog FFI among the Korban Processor's dependencies ("swipl-ffi (or pyswip)"); Construction §1.4 and terumah pinned pyswip. It was declared, installed in every image, and never imported. The Korban Processor does not call Prolog: haktarah emits Prolog-format STRINGS, and the pipeline carries them to the Talmudic Engine over its Unix socket (Construction §3.3). The korban image has no libswipl, so the package could not have been used there had anything tried. Tablet 35 corrected its version; the transmitter's word is to remove it. Removed from: - specs/shorashim_architecture.md §3.5 requirements - specs/shorashim_vayakhel.md §1.4 - specs/shorashim_terumah.md (materials row; the compatibility-testing line now names hebrew-tokenizer alone) - BUILD_KORBAN.md - korban_processor/pyproject.toml, poetry.lock (regenerated) - deploy/docker/Dockerfile.korban_processor Doorpost @expected_hash 81da49d4… → 2f40c382…, in this commit, with the three witnessed files that moved it (architecture, vayakhel, BUILD_KORBAN). Read before committing: Elixir 461/0 (seeds 0, 42); korban 222 passed, 1 skipped against the installed package with pyswip absent; korban image starts and idles as before; vav-pipeline image reports specification_identity verified 2f40c382… and l1_hash pass. Co-Authored-By: Claude Fable 5.1 --- BUILD_KORBAN.md | 1 - deploy/docker/Dockerfile.korban_processor | 2 +- korban_processor/poetry.lock | 14 +------------- korban_processor/pyproject.toml | 1 - specs/shorashim_architecture.md | 1 - specs/shorashim_terumah.md | 3 +-- specs/shorashim_vayakhel.md | 1 - vav_pipeline/lib/vav_pipeline/doorpost.ex | 2 +- 8 files changed, 4 insertions(+), 21 deletions(-) diff --git a/BUILD_KORBAN.md b/BUILD_KORBAN.md index 68b222fa..4444f548 100644 --- a/BUILD_KORBAN.md +++ b/BUILD_KORBAN.md @@ -33,7 +33,6 @@ The offering protocol — semichah, shechitah, zerikah, haktarah, routing — is python = "3.12.2" httpx = "0.27.0" pydantic = "2.6.1" -pyswip = "0.2.10" hebrew-tokenizer = "2.3.0" ``` diff --git a/deploy/docker/Dockerfile.korban_processor b/deploy/docker/Dockerfile.korban_processor index b1f956d9..ba8cccd6 100644 --- a/deploy/docker/Dockerfile.korban_processor +++ b/deploy/docker/Dockerfile.korban_processor @@ -32,7 +32,7 @@ COPY korban_processor/test/ test/ COPY azazel_processor/src/azazel_processor/ src/azazel_processor/ # Install dependencies -RUN pip install --no-cache-dir pydantic==2.6.1 httpx==0.27.0 pyswip==0.2.10 hebrew-tokenizer==2.3.0 +RUN pip install --no-cache-dir pydantic==2.6.1 httpx==0.27.0 hebrew-tokenizer==2.3.0 # === RUNTIME STAGE === FROM --platform=linux/amd64 python:3.12.2-slim diff --git a/korban_processor/poetry.lock b/korban_processor/poetry.lock index 4ae36e23..e9e37d70 100644 --- a/korban_processor/poetry.lock +++ b/korban_processor/poetry.lock @@ -308,18 +308,6 @@ files = [ [package.extras] windows-terminal = ["colorama (>=0.4.6)"] -[[package]] -name = "pyswip" -version = "0.2.10" -description = "PySwip enables querying SWI-Prolog in your Python programs." -optional = false -python-versions = "*" -groups = ["main"] -files = [ - {file = "pyswip-0.2.10-py2.py3-none-any.whl", hash = "sha256:7abc3009f8badc7d0c23d72422960e9f229059a731430c9acd7e9a718cbd2832"}, - {file = "pyswip-0.2.10.tar.gz", hash = "sha256:7698584ddf73d051d22d5fed728b9e89bb444a9d384d48c9f5e6fd7060bbdb9f"}, -] - [[package]] name = "pytest" version = "8.4.2" @@ -369,4 +357,4 @@ files = [ [metadata] lock-version = "2.1" python-versions = "==3.12.2" -content-hash = "37941043b8c8347259009cc14f757e3e68a6b3b0cf97c8bdcfefcd0c03aa40de" +content-hash = "a890818c4a15fe764ed345f810e2990fac8c40447d506613855a82e74225a3ba" diff --git a/korban_processor/pyproject.toml b/korban_processor/pyproject.toml index 1a8dcbbb..380130f8 100644 --- a/korban_processor/pyproject.toml +++ b/korban_processor/pyproject.toml @@ -9,7 +9,6 @@ requires-python = "==3.12.2" dependencies = [ "pydantic==2.6.1", "httpx==0.27.0", - "pyswip==0.2.10", "hebrew-tokenizer==2.3.0", ] diff --git a/specs/shorashim_architecture.md b/specs/shorashim_architecture.md index 97a72deb..9039034f 100644 --- a/specs/shorashim_architecture.md +++ b/specs/shorashim_architecture.md @@ -980,7 +980,6 @@ korban_processor/ # requirements.txt httpx>=0.27 # API calls to model providers pydantic>=2.0 # Data validation -swipl-ffi>=0.1 # Python-Prolog interface (or pyswip) hebrew-tokenizer # Hebrew text processing ``` diff --git a/specs/shorashim_terumah.md b/specs/shorashim_terumah.md index bb7e84f6..d1bdb0ff 100644 --- a/specs/shorashim_terumah.md +++ b/specs/shorashim_terumah.md @@ -94,7 +94,6 @@ All pinned via lock files per Construction Specification §§1.3-1.5. |---------|---------|--------|-------| | httpx | 0.27.0 | ✅ | PyPI (free) — API calls | | pydantic | 2.6.1 | ✅ | PyPI (free) — data validation | -| pyswip | 0.2.10 | ⚠️ | PyPI. (0.2.11 was pinned here until 2026-10-04 and was never published.) Declared and installed, not yet imported; needs libswipl in the image and testing with SWI-Prolog 9.2.2 before first use. | | hebrew-tokenizer | 2.3.0 | ⚠️ | PyPI. Needs evaluation for biblical vs. modern Hebrew. | | pytest | latest stable | ✅ | PyPI (free) | | llama-cpp-python | 0.2.55 | ✅ | PyPI (free) — Mistral inference | @@ -252,7 +251,7 @@ Updated to reflect corrected architecture. - One-time GPU rental — **~$50-100** - Root lexicon consolidation — **time, ~1-2 weeks** - Consultants (Hebrew linguist, Torah scholar) — **available through community** -- pyswip + hebrew-tokenizer compatibility testing — **time only** +- hebrew-tokenizer compatibility testing — **time only** ### What We Must Build (❌) - Root connectivity graph — **~1 day** diff --git a/specs/shorashim_vayakhel.md b/specs/shorashim_vayakhel.md index 530d918c..c0f2b41b 100644 --- a/specs/shorashim_vayakhel.md +++ b/specs/shorashim_vayakhel.md @@ -80,7 +80,6 @@ constraints: python = "3.12.2" httpx = "0.27.0" pydantic = "2.6.1" -pyswip = "0.2.10" hebrew-tokenizer = "2.3.0" # Kushya generator additional diff --git a/vav_pipeline/lib/vav_pipeline/doorpost.ex b/vav_pipeline/lib/vav_pipeline/doorpost.ex index d47601f9..0d0a9995 100644 --- a/vav_pipeline/lib/vav_pipeline/doorpost.ex +++ b/vav_pipeline/lib/vav_pipeline/doorpost.ex @@ -175,7 +175,7 @@ defmodule VavPipeline.Doorpost do # changes; the update is a deliberate operator commit. A bare # hash-update commit (without a corresponding spec change in the # same commit) is itself a drift signal. - @expected_hash "81da49d4e37f3d01cb2cd11eafc745adc4360a399871ba391f8f78dd05c1e555" + @expected_hash "2f40c38209dc845cf18fa06326fb7346a2d43d7b6edd84e3efa6f42bcdd3a218" @doc "Return the list of files that constitute the category-grade specification." @spec files() :: [String.t()]