We shipped 9.9 points of error on purpose.
A lower calibration number was available. Getting it meant tuning the market assumption to the very basket the backtest measured — which would have made the figure look better and mean less.
How the model decides, what got rejected and why, and the things that broke along the way. Published because a forecast you can’t inspect isn’t worth much — which is the whole argument of the product.
A lower calibration number was available. Getting it meant tuning the market assumption to the very basket the backtest measured — which would have made the figure look better and mean less.
A column shipped before the database had it. Prices froze for four days while the refresh job kept reporting success. The migration was the ten-minute part — the fix was making every job report what it updated, never what it fetched.
The recommendations are keep, trim, sell and watch. Re-entering a position is a new thesis with its own catalyst and its own break conditions — not a verdict on the old one.
A rule that stays true for months used to look like hundreds of separate signals, all measuring the same stretch of future. Collapsing them produced more “not enough signal” verdicts — which was the correct answer all along.
A thesis can be right on a loser and wrong on a winner. Closed positions now get judged once, on whether the argument held — not on whether the exit was well timed.
When a user nears their monthly budget the reasoning effort drops; only a spent budget refuses. The model itself never changes, because a cost dial that silently changes the answer is not a cost dial.
A stock's past drift is close to noise for its future, and using it produced beautiful, confident, wrong answers. Every holding now inherits one long-run market assumption instead.