# Morphism Governance Validator
# Multi-stage build: Python + Node for full governance validation

FROM python:3.11-slim AS base

RUN apt-get update && apt-get install -y --no-install-recommends \
    git curl && \
    rm -rf /var/lib/apt/lists/*

# Install Node.js 22
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
    apt-get install -y nodejs && \
    rm -rf /var/lib/apt/lists/*

WORKDIR /app

# Install Python governance package
COPY pyproject.toml setup.cfg ./
COPY src/ src/
RUN pip install --no-cache-dir -e ".[dev]"

# Install Node dependencies
COPY package.json package-lock.json turbo.json ./
COPY packages/ packages/
COPY apps/ apps/
RUN npm ci --ignore-scripts 2>/dev/null || npm install --ignore-scripts

# Copy governance assets
COPY scripts/ scripts/
COPY docs/ docs/
COPY .github/ .github/
COPY .githooks/ .githooks/
COPY .morphism/ .morphism/
COPY AGENTS.md SSOT.md GUIDELINES.md CODEOWNERS ./

# Validation entrypoint
FROM base AS validator

COPY tests/ tests/

ENTRYPOINT ["python3"]
CMD ["scripts/benchmark_claims.py"]
