5/8/2026

when the model said the stop wasn't hit. it was.

An incident with the trading tool that changed how we draw the line between what models do and what code does.

Two weeks in, the trader was in a long XAUUSD. Stop was at 4517. Price ticked down to 4516. He asked Leverage if his stop had been hit. The model said no. Then he pushed back. The model said yes. Then it changed its mind again. The model never saw the actual current price of gold. It only saw a chart screenshot. So when asked did my stop hit, what it was really doing was reading pixels and guessing, then folding the trader's pushback into its answer like a human trying not to argue. By the time we agreed on yes, the trader had been out for ten minutes. This was the moment the architecture changed. The rule we now follow: the model handles interpretation, code handles facts. Did my stop hit is a fact. Is the chart structure looking like a sweep is interpretation. The model is good at the second. It will sometimes be wrong at the first. Asking it to do the first is a category error. We rebuilt the stop tracking that weekend. While a trade is open, the extension polls Yahoo Finance every thirty seconds for the asset's spot price. It compares to the stored stop and target levels. When it crosses, a Chrome notification fires. No language model involvement in that arithmetic. The banner in the popup now shows live distance to stop in monospace, ticking down. The model still talks about what the chart is doing. But it does not get asked again whether the stop is hit. There is a broader lesson here that we keep relearning. Models are bad at things they should not be deciding. The instinct to ask them anyway is strong because they will answer. The answer just is not reliable. Building real tools means knowing the difference between what is worth a model call and what is worth a function call.