
fold(events) reconstructs any state exactly.asyncpg, Alembic Database PostgreSQL (managed via Neon in production) Cache / counters Redis (rate-limit & captcha counters shared across workers) Native compute Rust (ventute_sim, PyO3 + rayon) — optional Monte-Carlo forecast extension Frontend React 18, Vite 6, Zustand, React Router 6, Recharts, Tailwind CSS i18n i18next — 26 locales with full coverage AI providers Anthropic, OpenAI, Google Gemini, xAI, Mistral (secured set) + OpenRouter (BYOK/free) Observability structlog (JSON), Sentry (opt-in), PostHog (opt-in), OpenTelemetry-ready Runtime uvicorn (multi-worker), slowapi rate limiting, GZipClock, seeded Random) and captured at resolution time. The reducer is pure. Replay re-folds recorded events with zero recomputation → identical state. A golden/determinism test suite guards this.phase, the state slices they reads/owns, and their depends_on. Run order is derived by topological sort. Two whole classes of bug — dependency cycles and two engines writing the same slice — are caught at registration, not three phases later mid-turn.ventute.com) Cloudflare Pages VITE_* build vars baked at build time API (api.ventute.com) Container host (Fly.io / Render) multi-worker uvicorn Database Neon (managed Postgres) pooled DATABASE_URL, TLS required, connection tuning per-worker Cache / counters Upstash / Fly Redis shared rate-limit & captcha state across workers Object storage AWS S3 / Cloudflare R2 pg_dump backups + presigned runtime artifacts Secrets AWS SSM Parameter Store (optional) SecureStrings hydrated into env at startup Edge Cloudflare WAF, Turnstile, origin lock-down headerdocs/docker.md). Whether or not a
given deployment uses them, they encode the standard the artifacts are held to:Dockerfile.prod builder → runtime for the backend; node-build → nginx-serve for the frontend).appuser (uid 10001); the frontend serves via unprivileged nginx workers — shrinking the blast radius of a container escape..dockerignore (no venv, node_modules, tests, .env, or .git in the image); secrets from the environment, never baked in.DATABASE_URL.docker compose -f docker-compose.prod.yml up --build runs the full
prod-shaped stack locally.SSM_ENABLED=true) — on startup, every SecureString under SSM_PREFIX is pulled into the process environment, so production secrets live in SSM (Standard tier) rather than in files or the platform env; only a handful of bootstrap keys remain in the platform. See docs/secrets_ssm.md.S3_BACKUP_BUCKET, ARTIFACT_BUCKET) — automated pg_dump backups are pushed to every configured destination, and GDPR/audit exports are served as presigned URLs. Credentials fall back to the shared AWS_* pair; an R2 endpoint can be substituted for S3. See docs/object_storage.md.Secure cookies; modern memory-hard password hashing; optional federated sign-in and second-factor (TOTP) authentication.
Posted Jul 31, 2026
Deterministic AI simulation platform: high-concurrency Async Python (FastAPI) backend, event-sourced architecture, and native Rust (PyO3) compute kernel.
1
0
Jan 1, 2025 - Ongoing