Most LLM trading agents ask the model "should I buy this?" That requests a calibrated probability - the one thing a language model cannot supply - and receives the confident prose of something that can. Ten Gates inverts it. The model is asked what it is genuinely good at: synthesising implied versus realised volatility, term structure, trend, news and the earnings calendar into a regime classification and a structure choice. It never names a strike, a quantity, or a price. Deterministic Python then selects strikes from the live chain, sizes the position against five independent capital budgets, and runs ten risk gates - every one of which must pass before an order exists. The separation is structural, not stylistic. The model is given read-only MCP tools: chain, quotes, positions, account. Order placement lives in code the model cannot reach, so the gates are unbypassable rather than merely well-behaved. Naked short options are not policed after the fact - the structure whitelist is an enum with no naked member, so they cannot be expressed at all. After every scan the official Alpaca CLI re-reads the account and the book as an independent implementation, because our own tests encode the same assumptions our client does. It trades a real Alpaca paper account on a fixed schedule, unattended, with a -4% daily circuit breaker that halts new entries while exits keep running. And it publishes its full decision ledger - every proposal, every gate verdict, and every refusal. Nobody publishes what their system declined to trade; it is the cheapest trust signal in the category and almost no one offers it.
Category tags: