#1 — Project genesis + architecture
Hypothesis — what it tests
Whether collapsing 116 duplicated systemd services into ~16 containers with one central indicator curator cuts resource use and kills backtest-vs-live code divergence.
Description
The predecessor 'scalper' system had grown to 116 systemd services across 10 OANDA accounts, holding 99 concurrent API connections, wasting ~7.4 GB of RAM on duplicated data, and running separate indicator code in research versus live (no training/live parity). FX-Core was designed in one session as its containerized successor: a single data curator computes every indicator centrally and publishes over ZMQ to ~16 strategy containers, with DuckDB as storage and a Docker-socket Telegram kill switch. Sessions 1-3 delivered the shared library (pair config, DB schema, ZMQ protocol, broker adapter, indicators extracted verbatim from scalper for bit-identical output), all 4 legacy strategies (Impulse, Strength, Session Fade, NEAT), dashboard, telegram bot, and the full Docker stack. This is an engineering milestone, not a market experiment — its theme in the audit table is 'Measurement: the apparatus itself can lie', because a unified apparatus was the precondition for every later experiment.
Key result
Indicators
Algorithms
Code
Interactive version (search, filters, figures): the experiment explorer.