The system.
Every component was specified in writing, adversarially reviewed, and test-gated before it touched the server. This page is the machine with the case off.
Six components, one bias.
- Scanner daemon
- Three venue integrations polled continuously with per-venue budgets and failure accounting. When a lane goes quiet, the ledger says so out loud instead of going silent.
- Resolution matcher
- Fingerprints each market's settlement rules: sources, dates, operators, thresholds. A cross-venue pair trades only when every conjunct matches. Anything less is evidence, not a position.
- Shadow book
- A simulated bankroll priced against real fee curves, observed depth, and per-lane caps. It exists to earn the right to touch money, on the record.
- Risk rails
- Position caps, drawdown auto-halt, per-lane exposure limits, kill files the code cannot argue with, and a dead-man heartbeat that pages when the machine goes quiet.
- Execution plumbing
- Two-leg engine with an intent journal and verify-effects clients. Shipped deliberately disarmed: dry-run on, live keys absent, an arming checklist a human walks through.
- Phosphor dashboard
- A read-only ledger view on a private network. It renders what the journal says, never what marketing wants. Watch-only records can never show green.
- Python, asyncio, one process
- SQLite ledger in WAL mode, ~300 MB
- 869 automated tests on every merge
- Adversarial review before every deploy
- systemd units under hard memory caps
- Runs on a $12 per month server
- Dashboard reachable over Tailscale only
- No LLM anywhere in the trade loop
Everything here is arithmetic.
There is no narrative layer in the machine. Fee curves are priced per leg at observed asks. Matching is a strict conjunction over settlement rules. Sizing is a minimum over bankroll caps and depth actually seen in the book. If the arithmetic does not clear, nothing else gets a vote.
And it is built to fail safely, because failure is the normal case in this domain:
Built like it handles money, because one day it will.
Basis went from empty repository to a machine running unattended in fourteen days: venue behavior documented first, every component specified in writing, implemented test-first, and attacked in adversarial review before deploy. The speed is a product of the discipline, not a shortcut around it.
The same process is for hire, and it is not trading-specific: the identical spec-first, test-gated pipeline ships data platforms, internal dashboards, and operations tooling. Your venue, your strategy, your rails.