killinchu / Dockerfile
betterwithage's picture
deploy(hf): sync szl-holdings/killinchu@c90d18f71292a61000e300502ff070800e3dbf55 derived COPY set
831d593 verified
Raw
History Blame Contribute Delete
53.2 kB
# syntax=docker/dockerfile:1
# SPDX-License-Identifier: Apache-2.0
# © 2026 Lutar, Stephen P. — SZL Holdings · ORCID 0009-0001-0110-4173 · Doctrine v11
#
# Killinchu HF Docker Space — Andean Drone Intelligence (vessels pivot).
#
# a11oy-style: FastAPI app, mount pre-built React SPA from /app/static, base path "/",
# SPA history fallback, /api/killinchu/v1/* endpoints, honest disclosure block.
# No Node runtime needed (pure-FastAPI backend; SPA is pre-built at deploy time).
#
# Serves:
# / — SPA front door (drone intelligence landing)
# /assets/* — SPA JS/CSS chunks (vite base="/")
# /drones /map /swarm ... — SPA routes (history fallback)
# /api/killinchu/v1/* — real protocol decoders + drone DB + counter-UAS Λ-gate
# /api/vessels/* — preserved aliases (vessels GREEN baseline, ADDITIVE)
#
# HF Space requirement: listen on PORT 7860.
FROM python:3.12-slim@sha256:423ed6ab25b1921a477529254bfeeabf5855151dc2c3141699a1bfc852199fbf
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates && \
apt-get clean && rm -rf /var/lib/apt/lists/*
# Python dependencies — real protocol stacks, no mocks.
# REPRODUCIBILITY (founder-flag #5, SWEEP-3 + FINAL DEP-PIN): EXACT pins (==) on
# ALL installs. Each == is the version pip ACTUALLY resolved in the RUNNING build
# (HF Space build log, commit 6db0d2f, 2026-06-18, "Successfully installed" lines)
# — a lockfile that preserves current behavior, NOT an upgrade. Every pin satisfies
# its prior range. The previously-DEFERRED `|| true` / fallback-chain installs
# below (psycopg 3.3.4, websocket-client 1.9.0, scipy 1.17.1 / networkx 3.6.1 /
# PyYAML 6.0.3, sgp4 2.25, huggingface_hub 1.20.0) are now pinned to those exact
# resolved versions under FULL founder authorization. Their `|| true` /
# fallback-chain safety is INTENTIONALLY KEPT: if a wheel for the pinned version is
# ever yanked, the build still stays green and the relevant organ degrades to its
# honest pure-python / SQLite / ROADMAP-skeleton fallback (no fabricated data).
RUN pip install --no-cache-dir \
"fastapi==0.137.2" \
"uvicorn[standard]==0.49.0" \
"httpx==0.28.1" \
"starlette==1.3.1" \
"pyModeS==3.3.0" \
"pymavlink==2.4.49"
# BE hardening: slowapi rate limiter (60/min/IP). pydantic+fastapi already present.
RUN pip install --no-cache-dir "slowapi==0.1.10"
# Real persistent backend: psycopg (v3) so killinchu_backend is genuinely Postgres-first
# when a DATABASE_URL is configured. Pure-python wheel; if absent the backend still runs
# on durable SQLite (HF Spaces has no Postgres). `|| true` so a wheel hiccup can never
# break the image build — the backend degrades to SQLite, never crashes.
RUN pip install --no-cache-dir "psycopg[binary]==3.3.4" || pip install --no-cache-dir "psycopg==3.3.4" || true
# ADDITIVE (Yachay / Provenance Hardening): cryptography for DSSE+Cosign Khipu signing.
RUN pip install --no-cache-dir "cryptography==49.0.0"
# ADDITIVE (Formulas real-edge-v2, Opus 4.8, 2026-06-03): numpy is REQUIRED for the real
# Kalman trajectory smoother in szl_shared_formulas/kalman.py (no pure-Python mock path).
RUN pip install --no-cache-dir "numpy==2.4.6"
# ADDITIVE (Yachay / PQC): pure-Python ML-DSA-65 (NIST FIPS 204) backend for
# /khipu/sign?mode={pqc,hybrid}. liboqs (oqs-python) is preferred in prod but is
# a C lib not always installable; dilithium-py is the pure-Python fallback so
# hybrid signing works in the Space. ECDSA stays the default regardless.
RUN pip install --no-cache-dir "dilithium-py==1.4.0"
# ADDITIVE (Wave A real-data feeds): websocket-client for the AISStream.io live
# wss vessel collector (PRIMARY keyed AIS source). Optional — the vessels feed
# degrades gracefully to the no-key Digitraffic REST fallback if this is absent
# or no AISStream key is in the Space secret store. Real data either way.
RUN pip install --no-cache-dir "websocket-client==1.9.0" || true
# ADDITIVE (real-edge): numpy for the constant-velocity Kalman trajectory smoother
# in szl_shared_formulas/kalman.py (real linear-algebra filter, no mocks).
RUN pip install --no-cache-dir "numpy==2.4.6"
# ADDITIVE (DEV-WIRE-K R1, Opus 4.8, 2026-06-09): scipy for exact KS two-sample
# (scipy.stats.ks_2samp) in the Posture & Drift detectors; networkx for real graph
# metrics (clustering / centrality / Fiedler lambda2 / DAG integrity) in Topology &
# Health; PyYAML to parse the REAL deploy/uds-package.yaml allow rules for the
# Attack-Surface and Zero-Trust mesh graphs. ALL THREE ARE OPTIONAL — killinchu_posture
# _topology.py ships pure-python/numpy fallbacks (identical Kolmogorov asymptotic KS,
# numpy-based graph metrics, hand-rolled YAML reader) so a rebuild lag never breaks the
# surface. `|| true` keeps the build green if a wheel is unavailable.
RUN pip install --no-cache-dir "scipy==1.17.1" "networkx==3.6.1" "PyYAML==6.0.3" || true
# Hardens the Odoo ERP connector's XML-RPC parser against XML entity-expansion /
# decompression-bomb attacks (bandit B411). szl_connectors/erp/odoo.py applies
# defusedxml.xmlrpc.monkey_patch() before parsing untrusted server responses;
# this pin makes that path active in the running image (pure-python wheel).
RUN pip install --no-cache-dir "defusedxml==0.7.1"
# Copy the pre-built SPA to the static root.
# index.html + assets/* served directly at / and /assets/*; unknown GET -> index.html.
COPY static/ ./static/
# ADDITIVE (cathedral front-door hero): sovereign 3D landing matching the org card.
# Served at / by serve.py (operator one click in at /operator). The hero JS +
# vendored ES-module Three.js r160 (MIT) live under static/ (already copied above).
# NO CDN. Doctrine v11 LOCKED 749/14/163. Trust Gate = Conjecture.
# ---------------------------------------------------------------------------
# CONSOLIDATED ROOT-FILE COPY LAYERS (Docker max-depth fix, Opus 4.8).
# Docker creates one image layer per COPY. The 81 individual root-file ->
# same-name COPYs (incl. 5x redundant serve.py) were collapsed into the
# grouped multi-source COPYs below (dest is the /app WORKDIR root '.').
# IDENTICAL file set ships to IDENTICAL paths — proven by set-equality check.
# This Dockerfile STILL never uses `COPY . .`; every file is explicit.
# Subpath/dir/rename COPYs (static/, web/*, src/*, szl_connectors/*, etc.)
# are left untouched. Signed-off-by: Yachay <yachay@szlholdings.ai>
# ---------------------------------------------------------------------------
COPY cathedral.html knowledge.json operator_shell_v4.py serve.py killinchu_receipt_export.py szl_evidence_research.py szl_readiness.py szl_quantum_bio.py szl_quant_qbio_holo.py szl_unified_formulas.py szl_cuas_formulas.py killinchu_research_sources.py szl_contracting.py szl_conjecture_factory.py killinchu_backend.py a11oy_hf_assets.py drones_db.json killinchu_protocols.py killinchu_expansion.py killinchu_naval_haps.py szl_dsse.py szl_content_address.py szl_safe_static.py szl_provenance.py LEGAL_BOUNDARIES.md ./
# Shared Spaces modules (Dev2+3) — canonical handoffs + isolated-origin tiles.
# Per-file COPY (this Dockerfile uses no `COPY . .`) or serve.py's guarded import
# falls back and /spaces + /api/<ns>/v1/spaces/health 404.
COPY szl_spaces_proxy.py szl_spaces_surface.py ./
COPY szl_live_wires.py live_wires.html live_wires_3d.js szl_rosie_companion.py killinchu_szl_pqc_sign.py szl_rekor.py killinchu_osint.py killinchu_intel_archive_card.py szl_be_hardening.py szl_unay.py szl_khipu_lmdb.py szl_khipu_replicate.py szl_unay_routes.py szl_warhacker_aliases.py killinchu_genius.py killinchu_warhacker_demos.py killinchu_v3.py szl_brain.py szl_rag.py szl_formulas.py szl_understudy.py ./
# Canonical mixed-source Hugging Face dataset card and rights contract.
COPY datasets/killinchu-osint-corpus/ ./datasets/killinchu-osint-corpus/
COPY szl_killinchu_cookbook.py szl_uds_hardening.py killinchu_fusion.py szl_v4_fleet.py szl_ken.py killinchu_frontier_patch.py killinchu_drone_routes.py killinchu_parity.py killinchu_cannonico.py killinchu_elite_console.py _vendor_blobs.py killinchu_fleet_vessels.py killinchu_maritime_risk.py killinchu_maritime_intel.py killinchu_maritime_view.py killinchu_live_feeds.py killinchu_feeds_realdata.py killinchu_asw.py killinchu_anatomy.py killinchu_health_twin.py fleet_vessels_data.json killinchu_beyond.py szl_khipu_consensus.py killinchu_mesh.py killinchu_mesh_view.py killinchu_formula_endpoints.py killinchu_edge_formulas.py killinchu_active_flux.py killinchu_platform_dynamics.py ./
COPY killinchu_edge_console.py szl_agentic_loop.py szl_anatomy_routes.py szl_formula_wiring.py a11oy_code_engine.py killinchu_ops_control.py szl_llm_registry.py szl_alloy_models.py szl_governed_infer.py a11oy_agent_loop.py a11oy_org_rag.py a11oy_mcp_client.py killinchu_mined_ops.py killinchu_resweep_ops.py killinchu_wave910.py killinchu_posture_topology.py szl_connectors_serve.py szl_connector_mcp.py szl_scaling.py szl_allodial.py szl_entanglement.py szl_neuroplasticity.py szl_chain_of_title.py ./
# waveL Dev2 (release-eng COPY-completeness): these three modules are REACHABLE
# from serve.py but were missing from the per-file COPY set, so they were never
# baked into the image / pushed to the Space -> silent 404 / advisory no-op on
# deploy. killinchu_cop_fusion + killinchu_engagement_receipt are REGISTERED
# organs (serve.py .register(app,...)); szl_agent_loop_banach is the advisory
# Banach contraction guard imported (transitively) by a11oy_agent_loop /
# szl_agentic_loop. Root-cause fix (add the COPY, never weaken the guard). The
# new transitive COPY-completeness guard now catches this class in CI.
COPY killinchu_cop_fusion.py killinchu_engagement_receipt.py szl_agent_loop_banach.py ./
# Wave 15 frontier organs (Dynamic Linear Attention, Context-Ready Transformer, OPERA perplexity-reward).
COPY szl_dla.py szl_ctxready.py szl_opera.py ./
# Wave 16: Formula-Graph Brain organ on its OWN dedicated COPY layer (self-repair /repair
# endpoint). Dedicated line keeps clean builds unambiguous; on HF a sticky image cache once
# served a stale copy of this file, so isolating its layer avoids that failure mode.
COPY szl_fgbrain.py ./szl_fgbrain.py
# WAVE-23 surface organs (36-dead-tab wiring): one COPY layer for all 34 new szl_kc_* organs.
COPY szl_kc_agentcoh.py szl_kc_elf.py szl_kc_graphmem.py szl_kc_kan.py szl_kc_moe.py szl_kc_qhall.py szl_kc_titans.py szl_kc_aimc.py szl_kc_flowmatch.py szl_kc_grpo.py szl_kc_kla.py szl_kc_mor.py szl_kc_rauq.py szl_kc_ssm.py szl_kc_blt.py szl_kc_formalmath.py szl_kc_hrm.py szl_kc_kvcache.py szl_kc_nested.py szl_kc_ringattn.py szl_kc_steering.py szl_kc_catq.py szl_kc_genie.py szl_kc_inplacettt.py szl_kc_matgran.py szl_kc_nsa.py szl_kc_s3search.py szl_kc_ternary.py szl_kc_dllm.py szl_kc_goat.py szl_kc_interpretability.py szl_kc_mla.py szl_kc_pfield.py szl_kc_slidesparse.py ./
# WAVE-24 Flower Brain organ + metrics
COPY szl_kc_flower.py szl_kc_flower_metrics.py ./
# WAVE-25 Loop Forge organ (loopforge, 66th surface): kernel-gated bounded-recursion
# agentic loop + MODELED J-lens workspace readout over the REAL flower/brain node set.
# Pure-stdlib; serve.py imports both try/except-guarded. NEVER `COPY . .`.
COPY szl_kc_loop_forge.py szl_kc_loop_forge_metrics.py ./
# WAVE-26 One-Bit organ (MODELED 1-bit/ternary sovereign-inference energy estimator).
COPY szl_kc_onebit.py ./
# WAVE-28 JPT organ + HEART/BLOOD spine (measured joules-per-token, Brain-wired).
COPY szl_kc_jpt.py szl_heart_blood.py ./
# Wave 14 frontier organs (keyless value-only-cache attention, GitOfThoughts reasoning memory, HeRo-Q quant).
COPY szl_keyless.py szl_gitthoughts.py szl_herotq.py ./
# Wave 13 frontier organs (muon optimizer, tree speculative execution, NVFP4 4-bit format).
# Per-file COPY (this Dockerfile never uses `COPY . .`); serve.py imports them try/except-guarded.
COPY szl_muon.py szl_specexec.py szl_nvfp4.py ./
# WAQAY governed quantized vector index (szl_waqay.py byte-identical with a11oy) +
# a11oy_waqay_nav.py idempotent nav injector. szl_dsse/szl_provenance/a11oy_org_rag
# already COPYed. MUST be COPY'd or serve.py's guarded import falls back and /waqay 404s.
# Per-file COPY (this Dockerfile NEVER uses `COPY . .`).
COPY szl_waqay.py a11oy_waqay_nav.py ./
# YUPAY governed multi-model audit harness (szl_yupay.py byte-identical with a11oy) +
# a11oy_yupay_nav.py idempotent nav injector. szl_dsse/szl_provenance already COPYed.
# MUST be COPY'd or serve.py's guarded import falls back and /yupay 404s. Audit
# methodology inspired by Kilo audit + MiniMax sparse-attention paper (published ideas
# only); SZL-Nemo is governed Qwen3-32B Apache, never an M3 derivative.
# Per-file COPY (this Dockerfile NEVER uses `COPY . .`).
COPY szl_yupay.py a11oy_yupay_nav.py ./
# ADDITIVE (Mosaic SDA elevation, 2026-06-13): SZL's sovereign Mosaic / Domain-
# Superiority organ. killinchu_mosaic.py imports szl_mosaic_core.py (the vendored
# clean-room anomaly/SDA engine). serve.py imports killinchu_mosaic via try/except;
# without these per-file COPYs (this Dockerfile never uses `COPY . .`) the import
# fails and the /api/killinchu/v1/mosaic/* endpoints + the Mosaic COP tab 404.
COPY killinchu_mosaic.py szl_mosaic_core.py ./
# ADDITIVE (AUTONOMY + ORGANISM elevation, 2026-06-14, Dev D): four additive
# modules. killinchu_autonomy.py (BFT n>=3f+1, CBF-QP, EFE gate, conformal,
# Fiedler, Reflexion; /api/killinchu/v1/autonomy/*) + killinchu_autonomy_view.py
# (/elite/autonomy). killinchu_organism.py (causal-dependency graph + local
# invariants + NCA-style self-repair; /api/killinchu/v1/organism/{causal,
# self-repair}) + killinchu_organism_view.py (/elite/organism, vendored 3D).
# serve.py imports all four via try/except; without these per-file COPYs the
# imports fail and the autonomy/organism surfaces 404.
COPY killinchu_autonomy.py killinchu_autonomy_view.py killinchu_organism.py killinchu_organism_view.py ./
# Lane C: Energy/Sovereign-Compute mirror module + the joules honesty single-source-of-truth.
# Byte-identical to a11oy. Without these COPYs the guarded import in serve.py degrades to a
# not-registered stub. NEVER uses `COPY . .`.
COPY szl_energy_sovereign.py szl_joules_truth.py ./
# ADDITIVE (I4 kc-quant): TDA-Fracture regime/anomaly detector on AIS/maritime — killinchu
# twin of a11oy GPU-Quant Layer 2. Backs /api/killinchu/v1/quant/tda-fracture (MODELED |
# SAMPLE_AIS | NOT_LIVE; effector SIMULATED · human-on-loop). PURE STDLIB (union-find Betti);
# imports szl_dsse (already COPYed) for REAL ECDSA receipts in-Space. MUST be COPY'd or
# serve.py's guarded import degrades to a not-registered stub. Per-file COPY (NEVER `COPY . .`).
COPY szl_kc_tda_fracture.py ./
# ADDITIVE (Wave-H Team-4 counter-UAS/sensor-fusion): GOVERNED multi-sensor TRACK FUSION organ.
# szl_kc_trackfusion.py -> GET /api/killinchu/v1/trackfusion/associate. Full multi-sensor <->
# multi-target JPDA-style data association (Fortmann-Bar-Shalom-Scheffe 1983 validation gate +
# feasible joint-event enumeration + marginal beta_{jt}; Reid-1979 MHT top-K), CI variance fusion
# (Julier-Uhlmann), swarm-intent classification (Fiedler lambda2 formation coherence + closing-
# vector behavioural intent; DroneShield-AI arXiv:2606.11687), and a Lambda-gated ROE advisory
# (Conjecture 1, never 'green') emitting ONE signed engagement receipt. HONEST: MODELED |
# SIMULATED_SENSORS | NOT_LIVE; effector SIMULATED, human-on-loop, NEVER an autonomous engage.
# PURE STDLIB; imports szl_dsse (already COPYed) for REAL ECDSA-P256 receipts in-Space, honest
# UNSIGNED-LOCAL marker otherwise. MUST be COPY'd or serve.py's guarded import degrades to a
# not-registered stub and the counter-UAS fusion tab 404s. Per-file COPY (NEVER `COPY . .`).
COPY szl_kc_trackfusion.py ./
# FRONTIER backends (2026-07): back the a11oy frontier surfaces ccattest.js + sement.js.
# szl_kc_cc_attest.py -> GET /api/killinchu/v1/cc-attest/verify (NVIDIA H100 CC measured-boot
# attestation-chain SIMULATION; MODELED, no real GPU/TEE/NRAS/network).
# szl_kc_sement.py -> GET /api/killinchu/v1/sement/estimate (semantic-entropy / effective-rank
# epistemic-uncertainty estimator; MODELED/EXPERIMENTAL synthetic demo, NOT live model sampling;
# advisory input to Λ = Conjecture 1). Both PURE STDLIB; import szl_dsse (already COPYed) for
# REAL ECDSA receipts in-Space, honest UNSIGNED marker otherwise. MUST be COPY'd or serve.py's
# guarded imports degrade to not-registered stubs and the two flagship tabs 404 again.
# Per-file COPY (NEVER `COPY . .`).
COPY szl_kc_cc_attest.py szl_kc_sement.py ./
# FRONTIER backends WAVE B (2026-07): back the a11oy frontier surfaces testtime.js + specdecode.js
# + worldmodel.js (same proven pattern as the ccattest/sement backends above).
# szl_kc_ttc.py -> GET /api/killinchu/v1/testtime/scaling (governed test-time-compute budget
# allocator; closed-form pass@N + sequential-revision scaling; joule-metered; MODELED, NO LLM/GPU).
# szl_kc_specdec.py -> GET /api/killinchu/v1/specdecode/simulate (speculative-decoding accept/reject
# simulation + J/token-saved energy receipt; MODELED, NOT a live model/KV cache).
# szl_kc_worldmodel.py -> GET /api/killinchu/v1/worldmodel/predict (governed world-model latent rollout;
# MODELED, NOT Genie/Dreamer running, synthetic latents). All three PURE STDLIB; import szl_dsse
# (already COPYed) for REAL ECDSA receipts in-Space, honest UNSIGNED marker otherwise. MUST be COPY'd
# or serve.py's guarded imports degrade to not-registered stubs and the three tabs 404 again.
# Per-file COPY (NEVER `COPY . .`).
COPY szl_kc_ttc.py szl_kc_specdec.py szl_kc_worldmodel.py ./
# FRONTIER backends WAVE C (2026-07): back the a11oy frontier surfaces episodic.js + qec.js
# + the signed-energy-receipt organ (same proven pattern as the Wave A/B backends above).
# szl_kc_episodic.py -> GET /api/killinchu/v1/episodic/recall (governed episodic-memory / temporal
# knowledge-graph; receipt-keyed writes; closed-form recency×salience×relatedness recall; MODELED,
# synthetic episodes, hash-seeded MODELED embeddings — NOT a trained model). Cites Zep/Graphiti
# arXiv:2501.13956.
# szl_kc_qec.py -> GET /api/killinchu/v1/qec/surface-code (topological QEC below-threshold scaling
# + Reed-Solomon RS(10,6) Khipu-DAG erasure survival — "receipts survive corruption like logical
# qubits survive noise"; MODELED scaling law, RS math EXACT, NO QPU). Cites Google Willow (Nature
# 2024, arXiv:2408.13687).
# szl_kc_energy.py -> GET /api/killinchu/v1/energy/receipt (signed, hash-chained energy receipt:
# joules/token + tokens/joule + gCO2/token + carbon-aware ADVISORY; MODELED, NO on-box NVML, never
# upgraded to MEASURED). Cites NVML + carbon-aware compute. All three PURE STDLIB; import szl_dsse
# (already COPYed) for REAL ECDSA receipts in-Space, honest UNSIGNED marker otherwise. MUST be COPY'd
# or serve.py's guarded imports degrade to not-registered stubs and the three tabs 404 again.
# Per-file COPY (NEVER `COPY . .`).
COPY szl_kc_episodic.py szl_kc_qec.py szl_kc_energy.py ./
# WAVE K / DEV 5: killinchu frontier full-wire surface bootstrap (additive)
COPY killinchu_frontier_wave_surfaces.py ./
# P0 public discovery contracts: exact OpenAPI, source, and risk-status routes.
COPY killinchu_public_route_repair.py ./
# Unsigned structural source/deployment snapshot; claims remain fail-closed.
COPY .well-known/szl-source.json ./.well-known/szl-source.json
# Dated Option A public-Space exception and explicit risk boundaries.
COPY public-risk-transition.json ./public-risk-transition.json
# ADDITIVE (live knowledge console — 2026-06-09): the generated, kernel-derived
# knowledge corpus (axioms/theorems/formulas/frameworks), byte-identical to
# a11oy's knowledge.json. serve.py serves it at /knowledge.json so the /elite
# console's loadKnowledge() renders LIVE panels instead of falling back to {}.
# COPYed to BOTH the static root (the SPA catch-all serves /app/static/*) AND
# /app root (the explicit serve.py route reads /app/knowledge.json) — mirrors
# a11oy so the surfaces never drift from the kernel. Honesty v11 preserved.
COPY knowledge.json ./static/knowledge.json
# Copy serve orchestrator + real drone DB + real protocol decoders.
# ADDITIVE (Unified Operator Shell v4, 2026-06-01, Yachay / Perplexity Computer Agent):
# v4 endpoint module + self-contained desktop shell. Per-file COPY (no `COPY . .`).
COPY web/operator.html ./web/operator.html
# GOVERNED AUTO-REVIEW (Integration I2) — mirror of the keystone autonomy layer
# first shipped on a11oy. killinchu reuses the SAME portable classifier module
# (a11oy_autoreview) registered with ns="killinchu"; verdicts are Lambda-gated,
# DSSE-signed (szl_dsse / cosign.pub), mapped to OPA/Rego + OSCAL + NIST AI RMF
# MANAGE, conformal-calibrated, with flapping detection. The SIMULATED engage/ROE
# action is gated -> escalate (AR-005). szl_conformal.py + szl_calibration.py are
# COPY'd here because killinchu did not previously vendor them. autoreview.html is
# served at /autoreview (0 runtime CDN; uses the already-vendored Chart.js + the
# in-image shared label/receipt engines). Per-file COPY (this Dockerfile never
# uses `COPY . .`); parsed by the HF-sync workflow so the files reach the Space.
COPY a11oy_autoreview.py szl_conformal.py szl_calibration.py ./
COPY web/autoreview.html ./web/autoreview.html
# OPERATOR WIDGET (2026-06-10): byte-identical to a11oy. Self-hosted in-image
# (0 CDN), served at /vendor/a11oy-operator-widget.js by serve.py. NO codenames.
COPY static-vendor/a11oy-operator-widget.js ./static-vendor/a11oy-operator-widget.js
COPY static-vendor/a11oy-operator-widget.css ./static-vendor/a11oy-operator-widget.css
# RESTRAINT (DEV-WIRE-K R3): the SHARED governed code-frugality ladder, BYTE-IDENTICAL
# to a11oy's szl_restraint.py (same bytes, both hf-sync lists — drift guard enforced),
# its /elite tile, the restraint nav wire-up (imported by serve.py for /elite/restraint
# navigation), and the Chaski transport-level annotator (self-hosted, 0 CDN).
COPY szl_restraint.py killinchu_restraint_tile.py killinchu_nav_wireup.py ./
# QHAWAQ (FORMAL/LTL runtime constitutional intercept): the SHARED runtime monitor,
# BYTE-IDENTICAL to a11oy. Imported by serve.py (try/except guarded); serves
# /qhawaq + /api/killinchu/v1/qhawaq/*. Without this COPY the guarded import falls back
# and /qhawaq 404s. The .py auto-mirrors to the HF Space via hf-sync-backend.yml.
COPY szl_qhawaq.py ./szl_qhawaq.py
# ADDITIVE (SAPA): Energy per Successful Goal — frontier agentic unit on top of
# the live MEASURED joules/token path. szl_sapa.py is the shared accounting layer
# (byte-identical a11oy<->killinchu); szl_sapa_patch.py front-inserts /sapa +
# /api/<ns>/v1/sapa/* before the SPA catch-all + Node proxy. Per-file COPY (this
# Dockerfile never uses `COPY . .`) or serve.py's guarded import falls back
# (merged-but-not-live) and /sapa 404s to the SPA shell. Mirrored byte-identical
# to the HF Space (hf-sync lockstep).
COPY szl_sapa.py szl_sapa_patch.py ./
# MBSE / FMI GOVERNED DIGITAL-TWIN CO-SIM — two shared modules, BYTE-IDENTICAL to
# a11oy (same bytes, both hf-sync lists — shared-file drift guard enforced).
# szl_mbse_cosim.py serves /api/killinchu/v1/mbse/* (governed water-tank + the
# killinchu flagship 6DOF FMU twin — effectors SIMULATED, human-on-loop — Restraint
# gate + signed DSSE receipts via the already-COPY'd szl_dsse). szl_mbse_nav.py
# serves /mbse /mbse-6dof /mbse-pipeline (0-CDN holo + inline-SVG charts) + the
# idempotent nav injector. MUST be COPY'd or serve.py's guarded imports fall back
# and hf-sync-backend would not mirror them. Per-file COPY (no COPY . .).
COPY szl_mbse_cosim.py szl_mbse_nav.py ./
COPY static-vendor/killinchu-restraint-chaski.js ./static-vendor/killinchu-restraint-chaski.js
# Evidence & Research backend (curated + live arXiv/GitHub). serve.py imports this;
# without this per-file COPY the import fails and /api/killinchu/v1/evidence/research 404s.
ARG EVIDENCE_FIX_BUST=1780922329
# Operational Readiness backend (deployed-vs-repo reality, live/cached/unreachable).
# serve.py imports this try/except-guarded; without this per-file COPY the import
# fails and /api/killinchu/v1/readiness 404s (falls through to the SPA shell).
ARG READINESS_FIX_BUST=1
# Research & Sources backend (Task #662, research-sources-patch) — per-tab vetted
# REAL upstream sources (UDS/Zarf/Pepr, supply-chain standards, threat/domain feeds,
# Lean/proof refs, per-subject arXiv) with an honest live reachability probe. serve.py
# imports this try/except-guarded; without this per-file COPY the import fails and
# /api/killinchu/v1/research 404s (falls through to the SPA shell).
ARG RESEARCH_SOURCES_BUST=1
# Contracting Readiness backend (SAM/CAGE + SBIR/STTR eligibility, web-sourced,
# honest verified/confirmed/needs_founder_input/needs_founder_action labels, source
# liveness probes, 0 fabricated org values). serve.py imports this try/except-guarded;
# without this per-file COPY the import fails and /api/killinchu/v1/contracting 404s.
# Real persistent backend (Postgres-first, durable-SQLite fallback). serve.py imports
# this try/except-guarded; without this per-file COPY the import fails and
# /api/killinchu/{live,crawl/run,timeline,alerts/recent,watchlists} 404 to the SPA.
ARG KILLINCHU_BACKEND_BUST=1
# dev3 HF assets instill (Knowledge & Formulas / Evidence) — app-agnostic, server-side fetch, 0 CDN.
# ADDITIVE (Yachay / Live 3D Wires, PURIQ Doctrine v12): COPY the live-wires
# module + host page + scene core so `import szl_live_wires` resolves in-container.
# Without these the register() call in the server silently fails and /live-wires
# falls through to the SPA shell. ADDITIVE ONLY. Sign: Yachay.
# ADDITIVE (Wire I): Rosie-companion module baked into the image. Yachay.
# ADDITIVE (PQC/hybrid signing): bake the signing module so `import
# killinchu_szl_pqc_sign` resolves in-container and register() wires the
# /khipu/sign endpoints. ADDITIVE ONLY. Sign: Yachay.
# ADDITIVE (Sigstore Rekor public cross-verify, Yachay — from PR #13): bake the
# Rekor client so `import szl_rekor` resolves in-container and serve.py wires
# the UDS-facing /api/killinchu/uds/v1/rekor/* endpoints. stdlib-only (reuses the
# existing cryptography install). ADDITIVE ONLY.
# OSINT verticals (amaru/rosie): public-web search/scrape via Tavily, normalize
# + sha256 provenance chain + corpus. serve.py imports this; without this
# per-file COPY the import fails and the amaru/rosie endpoints 404.
ENV PORT=7860
# BE hardening (Greene) — per-file COPY (this Dockerfile uses per-file COPY).
EXPOSE 7860
# ADDITIVE (UNAY + Khipu-LMDB v2, 2026-06-01, Yachay): real durable lmdb persistence
# + optional sqlite-vss vector recall (szl_unay degrades to honest cosine-fallback if
# the extension cannot load in the slim image). Never affects existing routes.
RUN pip install --no-cache-dir "lmdb==2.2.1" "sqlite-vss==0.1.2"
# ADDITIVE (Mosaic SDA elevation, 2026-06-13): python-sgp4 (MIT) is the sovereign
# orbital propagator for the space-domain ROADMAP conjunction stub. Guarded with
# `|| true` so a wheel/build hiccup never breaks the image — killinchu_mosaic falls
# back to an honest ROADMAP SKELETON when sgp4 is absent (no conjunction fabricated).
RUN pip install --no-cache-dir "sgp4==2.25" || true
# ADDITIVE (UNAY + Khipu-LMDB v2, 2026-06-01, Yachay / Perplexity Computer Agent):
# explicit per-file COPY (this Dockerfile does not use `COPY . .`). serve.py imports
# szl_unay_routes and calls .register(app, ns="killinchu") -> /api/killinchu/v2/unay/* +
# /api/killinchu/v2/khipu/lmdb/*. Real durable lmdb + real sqlite-vss honest fallback.
# ADDITIVE (Warhacker v2 genius pass, Yachay 2026-06-01): aliases + killinchu_genius.
# Per-file COPY (no `COPY . .`) — without these the imports fail and routes 404.
# ADDITIVE (Killinchu maritime/drone Warhacker demo suite, 2026-06-06): 7 mode-aware
# demos at /api/killinchu/v1/warhacker/launch/{key}. Per-file COPY (no `COPY . .`).
# ADDITIVE (Killinchu v3 deep C-UAS, Yachay 2026-06-01): killinchu_v3 registers
# /api/killinchu/v3/* (ingest pipelines + Kalman fusion + provenanced threat
# scoring + honest effector catalogue + airspace + boids/ORCA swarm + replay +
# daily brief) and the deep operational console at /globe/v3. Per-file COPY
# (no `COPY . .`) — without it `import killinchu_v3` fails and v3 routes 404.
# ADDITIVE (Understudy-parity, Yachay 2026-06-01): the understudy moat-fabric layer
# + its portable substrate (LLM router / agentic RAG / 23-formula registry). Explicit
# per-file COPY (this Dockerfile never uses `COPY . .`); without these `import
# szl_understudy` (and its substrate imports) fail and every /api/killinchu/v2/*
# understudy route 404s. szl_brain/szl_rag/szl_formulas are VENDORED from the
# platform monorepo (header in each file) until `pip install ./packages/*` lands.
RUN pip install --no-cache-dir "huggingface_hub==1.20.0" || true
# ADDITIVE (Defense Runtime Cookbook, 2026-06-01, Yachay / Perplexity Computer Agent):
# the self-contained cookbook module. Explicit per-file COPY (this Dockerfile never uses
# `COPY . .`); without it `import szl_killinchu_cookbook` fails and every /api/killinchu/
# v2/cookbook* + /v2/missions* + /v2/scouts + /v2/uds/* + /v2/legal + /v2/specs/* +
# /v2/pitch route 404s. The vendored data lives under static/cookbook/ (already COPY'd by
# the `COPY static/ ./static/` line above). Recall receipts sign live via szl_dsse.
# ADDITIVE (UDS HARDENING, 2026-06-01, Yachay): real-data STIG/SCAP + Iron Bank +
# Big Bang + Tradewinds endpoints under /api/killinchu/uds/v1/*, backed by the
# committed .compliance/ artifacts (real OpenSCAP oscap output, Dockerfile audit,
# helm lint inventory). Registered BEFORE killinchu_fusion so its synthetic stubs
# defer to this real data. Per-file COPY (no `COPY . .`). Sign: Yachay.
# COPY .compliance/ ./.compliance/ — REPLACED with per-file copies that exclude
# iron_bank_parity.json (CTO P1 REJECT B1 — Charter §24 NO Iron Bank in runtime).
# iron_bank_parity.json stays in repo for reference; not baked into the served layer.
COPY .compliance/big_bang_inventory.json ./.compliance/big_bang_inventory.json
COPY .compliance/tradewinds_listing.json ./.compliance/tradewinds_listing.json
COPY .compliance/sysctl-stig.conf ./.compliance/sysctl-stig.conf
COPY .compliance/SECTION_889_REP.md ./.compliance/SECTION_889_REP.md
COPY .compliance/SLSA_LEVEL.md ./.compliance/SLSA_LEVEL.md
# ADDITIVE (V4 Fleet Panel, 2026-06-02, Dev2 Inti):
# explicit per-file COPY (this Dockerfile does not use COPY . .).
# serve.py registers /api/health + /api/killinchu/v4/fleet + /fleet (szl_v4_fleet).
# Signed-off-by: Yachay <yachay@szlholdings.ai>
# Co-Authored-By: Perplexity Computer Agent <agent@perplexity.ai>
COPY web/v4_fleet_panel.html ./web/v4_fleet_panel.html
# ADDITIVE (SZL Ken Agent Pattern v1, CTO Yachay Convergence Cycle 1, 2026-06-03):
# Explicit per-file COPY of szl_ken.py (this Dockerfile never uses `COPY . .`).
# serve.py tries `import szl_ken` at startup; without this COPY the import fails
# silently and /v1/agent/loop + /v1/mcp/tools return 404 instead of 200.
# ADDITIVE ONLY — zero existing routes touched. Doctrine v11 LOCKED 749/14/163.
# Signed-off-by: Yachay <yachay@szlholdings.ai>
# Co-Authored-By: Perplexity Computer Agent <agent@perplexity.ai>
# ADDITIVE (Missing modules fix, 2026-06-04, Perplexity Computer Agent):
# killinchu_frontier_patch.py: registers /api/killinchu/v1/{doctrine,health,adsb} at route 0.
# killinchu_drone_routes.py: registers /api/killinchu/drone/{telemetry,intercept,cued-tracks,fleet-state}.
# szl_khipu_consensus.py: Khipu multi-organ consensus (killinchu is aggregator).
# All three are imported via try/except in serve.py — missing files cause silent warn, not crash.
# Per-file COPY (this Dockerfile never uses `COPY . .`).
# Signed-off-by: Stephen P. Lutar Jr. <stephenlutar2@gmail.com>
# killinchu_cannonico.py: lost-contact autonomous-drone governance loop (Warhacker
# Cannonico bullseye). serve.py imports it via try/except after killinchu_parity;
# without this COPY the /api/killinchu/v1/cannonico/* routes fall through to the SPA.
# killinchu_elite_console.py: a11oy-elite 14-tab operator console. serve.py imports
# it via try/except; per-file COPY (this Dockerfile never uses `COPY . .`).
# ADDITIVE (sovereign/air-gap viz, no-CDN): base64 of the binary vendored assets
# (globe earth-night texture + 20 KaTeX woff2 fonts) shipped as TEXT. The elite
# console imports `_vendor_blobs` and serves them at /vendor/earth-night.jpg and
# /vendor/fonts/*; without this COPY the import fails and those routes 404 (the
# *.js/*.css libs come from `COPY static/ ./static/`). Per-file COPY (no `COPY . .`).
# ADDITIVE (FLEET vessels/drones, GAP-1+GAP-2): per-file COPY of the FLEET (Vessels)
# module + its embedded verbatim platform seed-data. serve.py imports
# killinchu_fleet_vessels and front-inserts its 12 routes under /api/killinchu/v1/fleet/*
# (vessels, forecast-modules, predictive-maintenance, compliance-certificates,
# port-state-deficiencies, ai-briefings, event-logs, fleets, maintenance-logs,
# shipment-records, all, voyage-risk); without these COPYs the import fails and every
# fleet route falls through to the SPA catch-all (404). This Dockerfile never uses
# `COPY . .` — every file is explicit. fleet_vessels_data.json carries all 10 datasets
# embedded verbatim, so the 4 new endpoints need no new COPY line. Cache-bust: full-vessels-2026-06-06
# Live data proxies (Digitraffic FI AIS + adsb.lol military) — per-file COPY.
# Without this `import killinchu_live_feeds` fails and /ais/live + /air/live 404.
# Bundled on-disk snapshots for the live-data layer (cached fallback). If any
# upstream feed (Digitraffic AIS / adsb.lol / celestrak / rekor / kev / osv /
# prometheus) is unreachable, get_feed() serves the in-image snapshot labelled
# 'cached' — NEVER fabricated. KILLINCHU_LIVE_SNAPSHOTS defaults to /app/live_snapshots.
COPY live_snapshots/ ./live_snapshots/
# SZL Agent Body anatomy engine (YUYAY gate + YAWAR bus + organism pipeline) —
# per-file COPY. Without this `import killinchu_anatomy` fails and the organism
# pipeline endpoints 404.
# killinchu_health_twin.py: flagship LIVE 3D vessel/drone HEALTH TWIN backend.
# Computes per-subsystem health (hull/propulsion/comms/sensors/nav/payload) from
# real-ish signals using OUR formulas: split-conformal band (W5-3/W7-4, NOT
# Hoeffding), Λ geometric-mean trust aggregate (Conjecture 1), and the YUYAY
# 13-axis conjunctive gate. Reuses live Digitraffic AIS via killinchu_live_feeds.
# serve.py imports via try/except; without this COPY the /api/killinchu/v1/twin/*
# routes fall through to the SPA catch-all.
# killinchu_beyond.py: Beyond-Cannonico proof console — autonomy-governance
# generalized beyond one drone (autonomy envelope · 3-of-4 swarm quorum · HOTL
# override register). serve.py imports it via try/except; without this COPY the
# /api/killinchu/v1/{autonomy,swarm,hotl}/* routes fall through to the SPA.
# ADDITIVE (Formulas → Ecosystem echo, Opus 4.8, 2026-06-03): per-file COPY of the
# shared formulas package + endpoint shim (this Dockerfile never uses `COPY . .`).
# serve.py imports killinchu_formula_endpoints which imports szl_shared_formulas.* —
# without these COPYs the import fails and /api/killinchu/v1/formula/* fall through.
# Echoes a11oy front-door formulas: Welford + Bloom. thesis_v22.pdf §2 + real Lean.
# Signed-off-by: Yachay <yachay@szlholdings.ai>
# Co-Authored-By: Perplexity Computer Agent <agent@perplexity.ai>
COPY szl_shared_formulas/__init__.py ./szl_shared_formulas/__init__.py
COPY szl_shared_formulas/welford.py ./szl_shared_formulas/welford.py
COPY szl_shared_formulas/bloom_filter.py ./szl_shared_formulas/bloom_filter.py
# ADDITIVE (Killinchu Closeout, Opus 4.8, 2026-06-03): per-file COPY of the
# REAL-EDGE surface — the three extra shared formulas (PAC-Bayes + Kalman +
# Byzantine quorum), the real edge package (src/killinchu/*), the real-edge
# formula endpoint shim, the premium edge console deck, and the no-mock tests.
# This Dockerfile NEVER uses `COPY . .` — every file is copied explicitly.
# serve.py imports killinchu_edge_formulas which imports
# szl_shared_formulas.{pac_bayes,kalman,byzantine_quorum}; without these COPYs
# the import fails and /api/killinchu/v1/edge/* fall through to the SPA shell.
# NO MOCKS — real flight-dynamics sim, real ECDSA-P256 DSSEv1, real Khipu DAG,
# real Kalman (numpy).
# Signed-off-by: Yachay <yachay@szlholdings.ai>
# Co-Authored-By: Perplexity Computer Agent <agent@perplexity.ai>
COPY szl_shared_formulas/pac_bayes.py ./szl_shared_formulas/pac_bayes.py
COPY szl_shared_formulas/kalman.py ./szl_shared_formulas/kalman.py
COPY szl_shared_formulas/byzantine_quorum.py ./szl_shared_formulas/byzantine_quorum.py
COPY src/killinchu/__init__.py ./src/killinchu/__init__.py
COPY src/killinchu/lambda_calc.py ./src/killinchu/lambda_calc.py
COPY src/killinchu/dsse.py ./src/killinchu/dsse.py
COPY src/killinchu/khipu.py ./src/killinchu/khipu.py
COPY src/killinchu/edge.py ./src/killinchu/edge.py
COPY src/killinchu/simulator.py ./src/killinchu/simulator.py
COPY web/console.html ./web/console.html
COPY web/console.js ./web/console.js
# ADDITIVE (Governed Agent Loop, 2026-06-06): the operational RAG -> tool-call ->
# policy/trust gate -> signed-receipt loop + canonical live MCP + consumer UI.
# This Dockerfile NEVER uses `COPY . .` — every file is explicit. Without this
# line `import szl_agentic_loop` fails silently and /mcp/, /ask-and-act 404.
# Receipts are signed with the persistent cosign ECDSA-P256-SHA256 key (szl_dsse).
# Signed-off-by: Stephen P. Lutar Jr. <stephenlutar2@gmail.com>
# szl_anatomy_routes: backs the canonical formula MCP tools (list_formulas/run_formula/
# formula_proof_status) in szl_agentic_loop; byte-identical with a11oy. Deps: szl_formulas only.
# Formula-wiring module (ADDITIVE 2026-06-06): registers the kernel-verified theorem
# mechanisms as live executable checks + the /api/<ns>/v1/formulas/* endpoints
# (selftest, proof-summary). BYTE-IDENTICAL across a11oy + killinchu (single source of
# truth). This Dockerfile NEVER uses `COPY . .` -- without this line
# `import szl_formula_wiring` fails silently and the formula endpoints 404.
# Signed-off-by: Stephen P. Lutar Jr. <stephenlutar2@gmail.com>
# a11oy Code engine (PORTED 2026-06-06): governed coder (chat/code/research),
# C20/W7-5 router, W5-3/W7-4 conformal, real sandbox, per-run-GENESIS receipts.
# Imports szl_llm_registry (COPY'd below) for the OPEN-WEIGHT roster.
# Signed-off-by: Stephen P. Lutar Jr. <stephenlutar2@gmail.com>
# ADDITIVE (Operational Control Surfaces, 2026-06-06): makes VESSELS and DRONES
# genuinely operational — select a track -> issue a governed command -> deny-by-
# default policy/kernel gate -> genuinely cosign-signed receipt -> track STATE
# updates. Every control action is wrapped in the governed-run loop (P1-P6) so
# 'operate' = 'governed + receipted'. Self-contained operator UI at /ops + /control.
# This Dockerfile NEVER uses `COPY . .` — every file is explicit. Without this line
# `import killinchu_ops_control` fails silently and /ops + /api/killinchu/v1/ops/* 404.
# Receipts are signed with the persistent cosign ECDSA-P256-SHA256 key (szl_dsse).
# Signed-off-by: Stephen P. Lutar Jr. <stephenlutar2@gmail.com>
# ---------------------------------------------------------------------------
# OPEN-WEIGHT ALLOY MODEL LAYER (model-integration squad, 2026-06-06; PORTED from a11oy)
# Same open-weight alloy forged into a11oy, ported to killinchu. Per-file COPY
# (this Dockerfile NEVER uses `COPY . .`). Without these, `import szl_alloy_models`
# fails silently and /api/killinchu/v1/alloy/* 404.
# * szl_alloy_models.py : roster + C20/W7-5 router + W5-3/W7-4 conformal +
# C10-C12 consensus + governed suggest (honest tower-side label; output never faked).
# * szl_llm_registry.py : the LLM registry the alloy roster UNIFIES into (one roster).
# OPEN-WEIGHT only, NO closed weights, NO keys; weights NOT redistributed.
# Signed-off-by: Stephen P. Lutar Jr. <stephenlutar2@gmail.com>
# Co-Authored-By: Perplexity Computer Agent <agent@perplexity.ai>
# ADDITIVE (a11oy Code agentic core, 2026-06-10): the GENUINELY-agentic loop + agentic
# RAG + MCP client are SHARED canonical modules forged in a11oy and shipped BYTE-IDENTICAL
# into killinchu for drift-free parity. killinchu does NOT host a11oy_code_orchestrator.py
# (a11oy-specific), so nothing here imports them at boot, but they MUST be present and
# byte-identical with a11oy. All three are stdlib-only at import time (szl_brain/szl_rag/
# httpx/faiss are lazy + guarded). szl_rag.py is already COPY'd above (line ~189). Per-file
# COPY (this Dockerfile never uses `COPY . .`).
# EGRESS FIX (2026-06-10): the org-RAG full build runs INSIDE this HF Space,
# which can reach huggingface.co but NOT api.github.com (Space egress is
# GitHub-blocked). Bundle the REAL highest-value files of the four GitHub-only
# corpus categories (thesis/formulas/doctrine/lean) in-image so a11oy_org_rag.py
# ingests them when GitHub is unreachable. corpus/INDEX.json records each file's
# real origin repo+path+blob_sha+commit_sha; chunks cite bundled:<repo>@<sha>:<path>
# (real files, honest provenance, NOT fabricated). BYTE-IDENTICAL across a11oy &
# killinchu. Per-file/dir COPY (this Dockerfile does not use COPY . .).
COPY corpus/ ./corpus/
# ADDITIVE (MINED ops upgrades, 2026-06-07): four license-vetted operational/efficiency
# surfaces (pattern-mined clean-room WITH NOTICE: al-jshen/compute MIT, gpu-bartender MIT,
# MLRC-deep-thinking MIT, kvpress Apache-2.0). serve.py imports killinchu_mined_ops via
# try/except and register()s POST /api/killinchu/v1/mined/{scicompute,edge-estimator,
# swarm-resilience,telemetry-press} + GET .../index. Per-file COPY (this Dockerfile NEVER
# uses `COPY . .`); without it `import killinchu_mined_ops` fails and every mined route 404s.
# Pure-stdlib, additive; Lambda stays Conjecture 1; no fabricated data.
# ADDITIVE (RE-SWEEP wave-2 ops, 2026-06-07): three license-vetted operational surfaces
# (pattern-mined clean-room WITH NOTICE: anvaka/ngraph.path MIT, rowanwins/visibility-graph
# MIT, ft2023/IRanker-demo MIT, al-jshen/adaptive MIT). serve.py imports killinchu_resweep_ops
# via try/except and register()s POST /api/killinchu/v1/resweep/{route,threat-rank,
# adaptive-sample} + GET .../index. Per-file COPY (this Dockerfile NEVER uses `COPY . .`);
# without it `import killinchu_resweep_ops` fails and every resweep route 404s.
# Pure-stdlib, additive; Lambda stays Conjecture 1; no fabricated data.
# ADDITIVE (Wave9 + Wave10 EXPERIMENTAL theorems, 2026-06-08): six killinchu-targeted
# theorem families PROVEN on lutar-lean main (Wave9 PR #199 merged @ 66735bf; Wave10
# PR #200) as EXPERIMENTAL · CI-green — kernel-verified, NOT locked. serve.py imports
# killinchu_wave910 via try/except and register()s POST /api/killinchu/v1/wave910/
# {stl-robustness,covariance-intersection,gershgorin,mesh-resilience,audit-receipts,
# quorum-consensus} + GET .../index + .../selftest. Per-file COPY (this Dockerfile NEVER
# uses `COPY . .`); without it `import killinchu_wave910` fails and every wave910 route 404s.
# Pure-stdlib, additive; locked-proven stays EXACTLY 8 {F1,F4,F7,F11,F12,F18,F19,F22}; Λ = Conjecture 1.
# ADDITIVE (DEV-WIRE-K R1, Opus 4.8, 2026-06-09): Posture & Drift + Topology &
# Health + Attack-Surface + Zero-Trust surfaces. serve.py imports
# killinchu_posture_topology via try/except and front-inserts GET
# /api/killinchu/v1/{posture/drift,topology/health,attack-surface/graph,
# zerotrust/mesh}. This Dockerfile NEVER uses `COPY . .` — every file is explicit;
# WITHOUT this line `import killinchu_posture_topology` fails (ModuleNotFoundError)
# and all four routes 404. Real PSI+KS(scipy.stats.ks_2samp)+vendored-ADWIN drift
# on live ADS-B; real graph metrics (Fiedler λ2 etc.) via networkx/numpy fallback;
# Attack-Surface + Zero-Trust mesh from REAL deploy/uds-package.yaml. NO fabricated
# data; honest empty states; organ role names (Operator/Provenance Anchor/Policy);
# locked-proven stays EXACTLY 8 {F1,F4,F7,F11,F12,F18,F19,F22}; Λ = Conjecture 1.
# ADDITIVE (DEV-WIRE-K R1): the REAL UDS Package CR consumed by the Attack-Surface
# and Zero-Trust mesh endpoints (killinchu_posture_topology._load_uds_package reads
# /app/deploy/uds-package.yaml). This Dockerfile NEVER uses `COPY . .`; WITHOUT this
# line the file is absent in-image and both tabs honestly render the empty state
# instead of the real allow/expose graph. Real allow rules only — no invented CVEs.
COPY deploy/uds-package.yaml ./deploy/uds-package.yaml
# ---------------------------------------------------------------------------
# ADDITIVE (SZL Enterprise Connector Framework, 2026-06-10, founder directive):
# per-file COPY of the connector framework (this Dockerfile NEVER uses `COPY . .`).
# serve.py imports szl_connectors_serve (try/except); without these COPYs the import
# fails and /api/killinchu/connectors + /integrations 404. Shared byte-identical w/ a11oy.
# Cache-bust: szl-connectors-2026-06-10
COPY szl_connectors/__init__.py ./szl_connectors/__init__.py
COPY szl_connectors/base.py ./szl_connectors/base.py
COPY szl_connectors/bindings.py ./szl_connectors/bindings.py
COPY szl_connectors/comms/__init__.py ./szl_connectors/comms/__init__.py
COPY szl_connectors/comms/comms_connectors.py ./szl_connectors/comms/comms_connectors.py
COPY szl_connectors/crm/__init__.py ./szl_connectors/crm/__init__.py
COPY szl_connectors/crm/crm_connectors.py ./szl_connectors/crm/crm_connectors.py
COPY szl_connectors/data_sources/__init__.py ./szl_connectors/data_sources/__init__.py
COPY szl_connectors/data_sources/geo.py ./szl_connectors/data_sources/geo.py
COPY szl_connectors/data_sources/macro.py ./szl_connectors/data_sources/macro.py
COPY szl_connectors/data_sources/maritime_air.py ./szl_connectors/data_sources/maritime_air.py
COPY szl_connectors/data_sources/research.py ./szl_connectors/data_sources/research.py
COPY szl_connectors/data_sources/security.py ./szl_connectors/data_sources/security.py
# NOAA/MarineCadastre AIS Aug-2024 coastal-US connector — imported transitively
# by killinchu_ais_aug2024.py (GET /api/killinchu/v1/ais/*). Without this per-file
# COPY the connector import fails on the Space -> /ais/sources 500. (prr fix)
COPY szl_connectors/data_sources/ais_noaa_aug2024.py ./szl_connectors/data_sources/ais_noaa_aug2024.py
COPY szl_connectors/erp/__init__.py ./szl_connectors/erp/__init__.py
COPY szl_connectors/erp/erpnext.py ./szl_connectors/erp/erpnext.py
COPY szl_connectors/erp/odoo.py ./szl_connectors/erp/odoo.py
COPY szl_connectors/erp/others.py ./szl_connectors/erp/others.py
COPY szl_connectors/erp/sap_s4.py ./szl_connectors/erp/sap_s4.py
COPY szl_connectors/governance.py ./szl_connectors/governance.py
COPY szl_connectors/identity/__init__.py ./szl_connectors/identity/__init__.py
COPY szl_connectors/identity/identity_connectors.py ./szl_connectors/identity/identity_connectors.py
COPY szl_connectors/itsm/__init__.py ./szl_connectors/itsm/__init__.py
COPY szl_connectors/itsm/itsm_connectors.py ./szl_connectors/itsm/itsm_connectors.py
COPY szl_connectors/oauth.py ./szl_connectors/oauth.py
COPY szl_connectors/observability/__init__.py ./szl_connectors/observability/__init__.py
COPY szl_connectors/observability/observability_connectors.py ./szl_connectors/observability/observability_connectors.py
COPY szl_connectors/ready.py ./szl_connectors/ready.py
COPY szl_connectors/registry.py ./szl_connectors/registry.py
COPY szl_connectors/storage/__init__.py ./szl_connectors/storage/__init__.py
COPY szl_connectors/storage/storage_connectors.py ./szl_connectors/storage/storage_connectors.py
COPY szl_connectors/warehouse/__init__.py ./szl_connectors/warehouse/__init__.py
COPY szl_connectors/warehouse/warehouse_connectors.py ./szl_connectors/warehouse/warehouse_connectors.py
COPY pages/integrations.html ./pages/integrations.html
# ADDITIVE (Task: HF Dataset Bucket Foundation): the ONE shared Hugging Face
# 'bucket' client both flagships reuse. Durable, append-only, idempotent
# (content-addressed dedup), offline-tolerant local queue + flush, rate-aware
# batched Hub commits. Pure stdlib + huggingface_hub (lazy). BYTE-IDENTICAL
# across a11oy + killinchu (shared-file-drift enforces it via this COPY list).
# This Dockerfile never uses `COPY . .` — without this line `import
# szl_hf_bucket` fails. Imported lazily by callers; no boot-time side effects.
COPY szl_hf_bucket.py szl_metrics_prom.py ./
# ADDITIVE (Task MW5: 3D HOLOGRAPHIC MARITIME GLOBE): self-contained WebGL2
# holographic globe view for the /elite surface (+ /jackin/globe alias). Plots
# REAL vessel + aircraft tracks at true lat/lon with motion plus honestly-
# labelled dark-halo / spoof-arc / Λ-risk / forecast-cone intel layers
# (INFERENCE/FORECAST today; auto-upgrades to backend LIVE when the W2/W3
# maritime endpoints are reachable + advertised). 0 runtime CDN — the entire
# engine + landmask + styles are vendored inline as base64-embedded HTML. This
# Dockerfile never uses `COPY . .`; without this line `import
# killinchu_maritime_globe` in serve.py fails (registration is guarded, so the
# app still boots, but the globe route would be absent). Imported once at boot;
# no network side effects.
COPY killinchu_maritime_globe.py ./
# copy-sync lockstep guard (CHECK 2): these modules are on main + imported by serve.py
# (try/except-guarded) but were NEVER COPY'd into the image, so the import silently fell
# back to a STUB on the Space (the recurring "merged-but-not-live" failure).
# killinchu_elite_wiring wires the /elite console; killinchu_flow_compartments backs the
# flow-compartments surface. Per-file COPY (this Dockerfile never uses `COPY . .`).
COPY killinchu_elite_wiring.py killinchu_flow_compartments.py ./
# CoT INTEROP (MITRE Cursor on Target export/ingest): serve.py imports
# killinchu_cot_interop (try/except-guarded) to serve /api/killinchu/v1/cot/*.
# Per-file COPY (this Dockerfile never uses `COPY . .`) or the guarded import
# falls back to a STUB on the Space (merged-but-not-live). Mirrored to the HF
# Space via hf-sync (on.push.paths + APP_FILES — copy-sync lockstep enforced).
COPY killinchu_cot_interop.py ./
# AIS Aug 2024 dataset connector: serve.py imports killinchu_ais_aug2024
# (try/except-guarded) to register the NOAA coastal-US AIS Aug 2024 governed
# source. Per-file COPY (this Dockerfile never uses `COPY . .`) or the guarded
# import falls back to a STUB on the Space (merged-but-not-live). Mirrored to
# the HF Space via hf-sync (on.push.paths + APP_FILES — copy-sync lockstep).
COPY killinchu_ais_aug2024.py ./
# --- ESTATE ECOSYSTEM FOUNDATION (Dev5, 2026-06): byte-identical shared modules ---
# 3 shared JS (label engine / receipt-cosign / codename sanitizer) + codename gate + ecosystem router.
COPY static/shared/szl_label_engine.js static/shared/szl_receipt_cosign.js static/shared/szl_codename_sanitizer.js static/shared/szl_holo3d.js ./static/shared/
COPY szl_codename_gate.py szl_ecosystem_routes.py ./
# git_sha wireup (FORGE-INSTRUCTION-gitsha-quiet-window): surface the deployed commit
# at the /honest endpoint so a stale box or Space is self-detecting. Provided at build
# time (box rebuild passes --build-arg SZL_GIT_SHA=$(git rev-parse HEAD); HF Space sets
# the SZL_GIT_SHA variable). Kept last so a per-build value busts no earlier cache.
ARG SZL_GIT_SHA=unknown
ARG SZL_BUILD_TIME=unknown
ENV SZL_GIT_SHA=${SZL_GIT_SHA} \
SZL_BUILD_TIME=${SZL_BUILD_TIME}
# Container HEALTHCHECK for the standalone Docker path (DEPLOY.md §1, `docker run`).
# The k8s manifests already wire liveness/readiness probes; this gives the same
# signal to plain Docker / Compose / Watchtower so an unhealthy container is
# self-reporting instead of looking "up" while the app is wedged. Hits the real
# doctrine envelope endpoint (returns 200 JSON); stdlib-only, no curl dependency.
HEALTHCHECK --interval=30s --timeout=5s --start-period=40s --retries=3 \
CMD python -c "import urllib.request,sys; sys.exit(0 if urllib.request.urlopen('http://127.0.0.1:7860/api/killinchu/healthz', timeout=4).status==200 else 1)" || exit 1
CMD ["python", "serve.py"]
# Build cache-bust 2026-06-13T20:55Z (MW5 maritime globe): COPY killinchu_maritime_globe.py
# into /app so serve.py can import+register the holographic globe at /elite/globe.
# Build cache-bust 2026-06-06T09:10Z (model-integration squad): PORTED OPEN-WEIGHT ALLOY
# MODEL LAYER from a11oy -> COPY szl_alloy_models.py + szl_llm_registry.py; serve.py
# registers alloy under /api/killinchu/v1/alloy/* (C20/W7-5 router, W5-3/W7-4 conformal,
# C10-C12 consensus; DeepSeek-Coder-V2 CODE_PRIMARY; honest tower-side; never faked).
# Build cache-bust 2026-06-07T05:00Z (MINED ops squad): COPY killinchu_mined_ops.py
# into /app so serve.py can import+register the 4 mined operational/efficiency surfaces.