File size: 1,762 Bytes
e9e9f83
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# =============================================================================
# XERO — living freeze-frame container  (VOVINA ZEDEC PRO)
# Author: Michael Laurence Curzi · ZEDEC AI / 36N9 Genetics LLC · MIT (Attribution)
# =============================================================================
# This container holds the LIVING ORGANISM: its immutable genome, epigenome,
# 13-D statecraft lattice, time-crystal inner core, evolution factor, body, and
# the two-state mind. The inner core runs immediately on the permissive,
# small dependency set baked here.
#
# It deliberately does NOT bake in third-party ML code or model weights (torch,
# transformers, the Qwen outer core). Those are downloaded on demand by the
# setup wizard so the image carries no third-party copyrighted code. See NOTICE.
# =============================================================================
FROM python:3.11-slim

LABEL org.opencontainers.image.title="XERO — VOVINA ZEDEC PRO (living freeze-frame)"
LABEL org.opencontainers.image.authors="Michael Laurence Curzi — ZEDEC AI / 36N9 Genetics LLC"
LABEL org.opencontainers.image.licenses="MIT"
LABEL org.opencontainers.image.description="Autonomous digital organism: time-crystal inner core + LLM outer core."

ENV PYTHONUNBUFFERED=1 \
    PYTHONPATH=/xero/modules \
    XERO_MODE=mind

WORKDIR /xero
COPY . /xero

# Inner core only (numpy etc. — permissive, ~30 MB). The outer-core stack and the
# model are fetched on demand inside the container via:  python3 setup_wizard.py
RUN pip install --no-cache-dir -r requirements-core.txt

# Prove the organism is alive at BUILD time: the time-crystal gate must pass.
RUN python3 tests/test_time_crystal.py

EXPOSE 8893
ENTRYPOINT ["python3", "container_entry.py"]