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

+7 -7
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
#
# build_and_push.sh — canonical builder procedure for shorashim images.
# build_and_push.sh — canonical builder procedure for bikoret images.
#
# Pin platform to linux/amd64 (Exoscale SKS) so a build on an Apple
# Silicon workstation does not silently ship arm64 binaries that the
@@ -48,7 +48,7 @@ PLATFORMS="${PLATFORMS:-linux/amd64}"
# Sanity: must be run from repo root (where deploy/ and l1/ live)
if [[ ! -d "deploy/docker" || ! -d "l1/torah" ]]; then
echo "ERROR: run from the shorashim repo root (where deploy/ and l1/ live)" >&2
echo "ERROR: run from the bikoret repo root (where deploy/ and l1/ live)" >&2
exit 1
fi
@@ -65,12 +65,12 @@ if ! docker info 2>/dev/null | grep -q "$REGISTRY"; then
echo "Continuing — push will fail clearly if not logged in."
fi
# Create or use the shorashim buildx builder
if ! docker buildx inspect shorashim-builder >/dev/null 2>&1; then
echo ">> creating buildx builder 'shorashim-builder'"
docker buildx create --name shorashim-builder --use
# Create or use the bikoret buildx builder
if ! docker buildx inspect bikoret-builder >/dev/null 2>&1; then
echo ">> creating buildx builder 'bikoret-builder'"
docker buildx create --name bikoret-builder --use
else
docker buildx use shorashim-builder
docker buildx use bikoret-builder
fi
docker buildx inspect --bootstrap >/dev/null
+10 -10
View File
@@ -3,7 +3,7 @@
L1 Torah Filesystem Builder — Bezalel's Chisel
Parses the Westminster Leningrad Codex (morphhb OSIS XML) and produces
the read-only Torah filesystem for Shorashim.
the read-only Torah filesystem for Bikoret.
This is a construction tool. It runs once. It produces JSON files.
The consumers (Haskell L0, Erlang Shoresh Engine) will read these files.
@@ -12,7 +12,7 @@ Two quarries, both outside the repo (see __main__):
morphhb — the text: WLC with te'amim, lemma and morphology.
HebrewLexicon — the roots: the OSHB lexical index, which arranges
every Strong's lemma under its Brown-Driver-Briggs
root (specs/shorashim_terumah.md §E2).
root (specs/bikoret_terumah.md §E2).
Ka'asher tzivah Hashem et Moshe.
"""
@@ -913,25 +913,25 @@ def generate_integrity_hash(torah_dir: str) -> str:
if __name__ == "__main__":
# The quarry (morphhb source) lives outside the repo.
# Default: ~/shorashim-source-data/morphhb
# Override: SHORASHIM_SOURCE_DATA env var, or first CLI arg.
# Override: BIKORET_SOURCE_DATA env var, or first CLI arg.
repo_root = Path(__file__).resolve().parent.parent
default_source = Path.home() / "shorashim-source-data" / "morphhb"
if len(sys.argv) > 1:
morphhb_dir = Path(sys.argv[1]).expanduser().resolve()
elif os.environ.get("SHORASHIM_SOURCE_DATA"):
morphhb_dir = Path(os.environ["SHORASHIM_SOURCE_DATA"]).expanduser().resolve()
elif os.environ.get("BIKORET_SOURCE_DATA"):
morphhb_dir = Path(os.environ["BIKORET_SOURCE_DATA"]).expanduser().resolve()
else:
morphhb_dir = default_source
output_dir = repo_root / "l1"
# The root lexicon sits beside the text quarry.
# Override: SHORASHIM_LEXICON env var, or second CLI arg.
# Override: BIKORET_LEXICON env var, or second CLI arg.
if len(sys.argv) > 2:
lexicon_dir = Path(sys.argv[2]).expanduser().resolve()
elif os.environ.get("SHORASHIM_LEXICON"):
lexicon_dir = Path(os.environ["SHORASHIM_LEXICON"]).expanduser().resolve()
elif os.environ.get("BIKORET_LEXICON"):
lexicon_dir = Path(os.environ["BIKORET_LEXICON"]).expanduser().resolve()
else:
lexicon_dir = morphhb_dir.parent / "HebrewLexicon"
@@ -942,7 +942,7 @@ if __name__ == "__main__":
print("To fetch it:")
print(f" git clone https://github.com/openscriptures/HebrewLexicon.git {lexicon_dir}")
print()
print("Or pass a path as the second argument, or set SHORASHIM_LEXICON.")
print("Or pass a path as the second argument, or set BIKORET_LEXICON.")
sys.exit(1)
if not morphhb_dir.exists():
@@ -953,7 +953,7 @@ if __name__ == "__main__":
print(f" mkdir -p {default_source.parent}")
print(f" git clone https://github.com/openscriptures/morphhb.git {default_source}")
print()
print("Or pass a path as the first argument, or set SHORASHIM_SOURCE_DATA.")
print("Or pass a path as the first argument, or set BIKORET_SOURCE_DATA.")
sys.exit(1)
# Clean only the generated artifacts — preserve hand-written files like README.md.
+2 -2
View File
@@ -1,8 +1,8 @@
#!/bin/bash
# Roll out the shorashim deployment and wait for 3/3 + two consecutive 200s (memory lesson).
# Roll out the bikoret deployment and wait for 3/3 + two consecutive 200s (memory lesson).
set -e
export KUBECONFIG=$HOME/.kube/exoscale-temple-council.yaml
kubectl -n shorashim rollout restart deployment/shorashim
kubectl -n shorashim rollout status deployment/shorashim --timeout=300s
kubectl -n shorashim get pods | grep shorashim-
kubectl -n shorashim get pods | grep bikoret-
for i in 1 2; do sleep 5; curl -s -o /dev/null -w "%{http_code} " http://185.19.28.170/kodesh/health; done; echo
+3 -3
View File
@@ -3,6 +3,6 @@
set -e
read -rsp "Anthropic key (not echoed): " KEY; echo
[ -n "$KEY" ] || { echo "empty — nothing written"; exit 1; }
install -m 600 /dev/null ~/.config/shorashim/upstream_keys
printf 'anthropic %s\n' "$KEY" > ~/.config/shorashim/upstream_keys
echo "written ~/.config/shorashim/upstream_keys (0600)"
install -m 600 /dev/null ~/.config/bikoret/upstream_keys
printf 'anthropic %s\n' "$KEY" > ~/.config/bikoret/upstream_keys
echo "written ~/.config/bikoret/upstream_keys (0600)"