# Shorashim Korban Processor — Python offering protocol # Construction spec §1.1: Python 3.12.2 # Processes korbanot (model outputs) through the offering protocol FROM python:3.12.2-slim AS build WORKDIR /app # Install build deps RUN pip install --no-cache-dir poetry-core # Copy project files COPY korban_processor/pyproject.toml ./ COPY korban_processor/src/ src/ COPY korban_processor/test/ test/ # Install dependencies RUN pip install --no-cache-dir pydantic==2.6.1 httpx==0.27.0 pyswip==0.2.11 hebrew-tokenizer==2.3.0 # === RUNTIME STAGE === FROM python:3.12.2-slim RUN useradd --create-home --shell /bin/bash shorashim USER shorashim WORKDIR /home/shorashim/korban_processor COPY --from=build --chown=shorashim:shorashim /app/ ./ COPY --from=build /usr/local/lib/python3.12/site-packages/ /usr/local/lib/python3.12/site-packages/ ENV PYTHONPATH=/home/shorashim/korban_processor/src ENV L1_MOUNT_POINT=/mnt/torah # The korban processor is invoked by the vav_pipeline # In Phase 5, it will also expose an HTTP endpoint for external model integration CMD ["python", "-m", "korban_processor"]