the name: Bikoret — code, contracts, images

Headers X-Bikoret-Key / -Rebuke / -Verdict / -Bedikah; the `bikoret`
object and the "— bikoret …" fringe on a gate reply; environment
variables BIKORET_*; the image user and paths (/home/bikoret,
/tmp/bikoret, /var/lib/bikoret/manna, /etc/bikoret/secrets,
/opt/bikoret/spec); the tmp-bikoret pod volume; local databases
bikoret_dev/_test. Kubernetes resource names, the shorashim_app role and
the domain are unchanged (Tamid §1.1, "the names that still carry the
old word"). Doorpost c963c4fe…. Elixir 604/0, L3 10/0, korban 295,
Prolog bedikah 44/44. Gitea repo renamed heaviness510/bikoret (old URL
redirects).

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 017a9b89d4
commit c0d0555aed
46 files changed
+189 -189

No files matched your search

+8 -8
View File
@@ -2,7 +2,7 @@
# ^ The --platform=linux/amd64 pins below are DELIBERATE (Exoscale SKS
# nodes are amd64). BuildKit lints a constant --platform as a smell;
# here it is the fix. Silenced so a real warning is not lost in noise.
# Shorashim Talmudic Engine — SWI-Prolog dialectical reasoning
# Bikoret Talmudic Engine — SWI-Prolog dialectical reasoning
# Construction spec §1.1: SWI-Prolog 9.2.2
# Communicates with vav_pipeline via Unix domain socket
#
@@ -21,12 +21,12 @@ RUN swipl -g "consult('src/main'),halt(0)" -t "halt(1)"
# === RUNTIME STAGE ===
FROM --platform=linux/amd64 swipl:9.2.2
RUN useradd --create-home --shell /bin/bash shorashim
USER shorashim
RUN useradd --create-home --shell /bin/bash bikoret
USER bikoret
WORKDIR /home/shorashim/talmudic_engine
WORKDIR /home/bikoret/talmudic_engine
COPY --from=build --chown=shorashim:shorashim /app/ ./
COPY --from=build --chown=bikoret:bikoret /app/ ./
# L1 Torah filesystem — baked into the image
# L1 is read-only in fact, not only in name. Until 2026-10-04 the scroll
@@ -37,13 +37,13 @@ COPY --from=build --chown=shorashim:shorashim /app/ ./
USER root
COPY --chown=root:root l1/ /mnt/torah/
RUN chmod -R a-w,a+rX /mnt/torah
USER shorashim
USER bikoret
# L1 mount point
ENV L1_MOUNT_POINT=/mnt/torah
# Socket path for communication with vav_pipeline
ENV TALMUDIC_SOCKET_PATH=/tmp/shorashim/talmudic.sock
ENV TALMUDIC_SOCKET_PATH=/tmp/bikoret/talmudic.sock
# Start the Prolog socket server.
#
@@ -58,6 +58,6 @@ ENV TALMUDIC_SOCKET_PATH=/tmp/shorashim/talmudic.sock
# is actually honoured; serve/0 falls back to the same path hardcoded
# as default_socket_path/1. vav_pipeline dials the socket at
# :talmudic_socket_path (config/config.exs), and deployment.yaml mounts
# the shared talmudic-socket volume at /tmp/shorashim in both
# the shared talmudic-socket volume at /tmp/bikoret in both
# containers, so the two ends must agree on this path.
CMD ["swipl", "-g", "consult('src/main'), (getenv('TALMUDIC_SOCKET_PATH', P) -> serve(P) ; serve)", "-t", "halt(1)"]