
Refusal Engine is an autonomous options-trading agent on Alpaca's paper trading environment, built on Alpaca's official MCP server. A Proposer model researches the watchlist, a Critic adversarially reviews the proposal, and an arbiter breaks ties. None of them can place an order. Every order is constructed, priced and sized by deterministic Python, then cleared by a hard risk gate before it reaches the broker. We built it that way because we measured what happens otherwise. Across 240 replays at temperature 0 with a fixed seed and byte-identical inputs, the cell where the model held decision authority produced a different decision on 100% of decision turns — 40 of 40, 95% CI 91.2 to 100%. The same model in research-only conversation diverged 65%. Divergence concentrates where authority sits. The obvious objection is that replays re-fetched data. We made that objection executable: verify_replay_isolation.py blocks DNS for every host except the model provider, replays, prints every host resolved, and exits non-zero on any leak. A live third-party arbiter approved a 400-contract order — $172,000 against an $8,000 cap — and the deterministic gate refused it. An 18-attack adversarial harness reached the broker zero times, counted at the account rather than asserted from internal state. Then we pointed the validation gate at our own strategies. Twenty-one symbol-and-structure pairs, zero cleared. The closest was a 2-day SPY credit spread at 78% win rate and Sharpe 1.67, refused because its Sharpe CI lower bound sits at -0.32. We shipped the refusal rather than loosening the gate. One trade was placed, labelled UNVALIDATED_DEMONSTRATION, and closed +$8.90 net by the agent's own wall-clock rule ahead of nonfarm payrolls. That is not evidence of edge and we do not present it as one.
4 Sep 2026