# CP2A1 — Trusted Gate Evaluator (External Gate Enforcement Foundation)
# STRICTLY NON-PRODUCTIVE / NO AUTONOMY.
# Minimaler Container: python:3.12-slim, kein Shell-Zugriff, read-only FS.
#
# HINWEIS zum User: Der Evaluator MUSS die root-owned CP1-State-Dateien
# (/opt/control-plane/state/, root:root 0700/600) lesen. Daher laeuft der
# Container als root (container-intern, KEIN Host-Root — konsistent mit dem
# CP2D-Ground-Truth-Muster). Die Härtung erfolgt ueber:
#   --cap-drop ALL --no-new-privileges --read-only --network <internal>
#   RO-State-Mount, kein Docker-Socket, keine Credentials, keine Egress.
FROM python:3.12-slim

ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1

WORKDIR /app

# Nur die Evaluator-Dateien (kein Build-Artefakt, kein Test-Code im Image)
COPY gate_evaluator.py /app/gate_evaluator.py
COPY control_reader.py /app/control_reader.py

# Audit-Verzeichnis (eigenes Volume, append-only gegen RQ-Manipulation)
RUN mkdir -p /audit

# Kein Shell-Entrypoint: direkt Python. Kein /bin/sh im CMD.
ENTRYPOINT ["python3", "/app/gate_evaluator.py"]
