What Happens When AI and Code Disagree on a Trade
Cortex uses two layers: an AI that proposes, and deterministic code that enforces. Here's why we don't let the AI have the final word.
The problem with trusting AI alone
Large language models are remarkably good at synthesizing information. They can read a news article, compare it to technical indicators, and produce a coherent analysis in seconds. But they have a well-documented weakness: overconfidence.
An LLM will always give you an answer. It won't say "I'm not sure enough to act." It won't naturally limit its exposure or track how much it has already lost today. These are not failures of intelligence — they're structural limitations of how language models work. They optimize for coherent outputs, not for capital preservation.
Why we separated judgment from control
In Cortex, the AI's role is strictly limited to analysis and proposal. It looks at the data, weighs the factors, and produces a structured recommendation — including the direction, key levels, and a confidence score.
But between the AI's proposal and any simulated execution, there's a wall of deterministic code. A risk manager with hard-coded rules that the AI cannot override, negotiate with, or even see. These rules don't care about the AI's reasoning — they check numbers against thresholds. Pass or fail. No exceptions.
The design philosophy: fail-safe, not fail-smart
A "fail-smart" system would try to understand why a trade is risky and make a judgment call. The problem is that judgment calls are exactly what gets people (and AIs) in trouble. "This time is different" is the most expensive sentence in trading.
A fail-safe system doesn't try to be smart. It has fixed boundaries that never move regardless of context. The AI might generate a compelling argument for why a particular trade deserves an exception. The risk manager doesn't read arguments. It reads numbers.
What this means for the experiment
This design creates an interesting dynamic to observe. Sometimes the AI proposes a trade with strong reasoning, and the risk manager blocks it. Was the risk manager right to intervene? Would the trade have been profitable? Or would it have blown through the stop-loss?
We log both outcomes — the AI's proposal and the risk manager's decision. Over time, this builds a dataset that answers a genuine research question: does mechanical risk management improve AI-driven outcomes, or does it hold them back?
The answer isn't obvious. And it may change depending on market conditions. That's what makes it worth watching.
See the disagreements yourself
Every risk manager rejection is logged on the dashboard. Premium observers can see the AI's full reasoning for rejected trades — including what it proposed and why the code said no.