Predict & Profit v2.2: The Reliability Release
Predict & Profit v2.2 is live.
This is not a hype release. It is the reliability release.
The goal was straightforward: make the bots account for reality correctly. A trading system should know the difference between an order it tried to place and an order that actually filled. It should show when a data source failed. It should route both YES and NO opportunities correctly. It should make the current state visible without requiring users to inspect SQLite rows by hand.
v2.2 focuses on that work.
What Changed
The release touches the core operating surface:
- Weather Bot fixes
- Inflation Bot fixes
- Dashboard rewrite
- New setup and migration tools
- Documentation improvements
The weather bot still uses up to 164 forecast members across NOAA GFS, NOAA AIGEFS, ECMWF IFS, and ECMWF AIFS-ENS. The inflation bot still targets Kalshi CPI and PCE markets. The important change is that both bots now do a better job representing what actually happened.
Why Order Fills Matter
A successful order POST to Kalshi is not the same thing as a confirmed fill.
That distinction matters. Resting limit orders can sit unfilled. They can partially fill. They can be canceled. If the bot treats every submitted order as a completed trade, everything downstream becomes less reliable: budget, P&L, open positions, settlement records, reconciliation, and kill-switch logic.
v2.2 tracks submitted orders separately from confirmed fills. Only confirmed fills become trades.
That is less glamorous than adding a new signal, but it is more important. Accounting errors compound. A bot that is wrong about its own positions cannot manage risk correctly.
Why NO-Side Trading Matters
The weather bot was previously rejecting NO-side edges and mostly acting like a YES-only trader.
That narrowed the tradeable opportunity set. If the model believes a market is overpriced, a NO contract can be the correct expression of the edge. Rejecting that path means the bot is only using half of the market structure.
v2.2 routes NO-side candidates correctly.
This does not mean the bot trades more aggressively by default. It means the execution path now matches the edge calculation instead of discarding valid candidates before they reach order logic.
Why Silent Data Failures Are Dangerous
Silent data failures are dangerous because they make a system look healthier than it is.
One example: AIGEFS path handling broke after the NOAA file extension changed from .pgrb2 to .grib2. The bot could continue running on fewer ensembles without making the failure obvious enough.
That is unacceptable for a system that depends on ensemble agreement.
v2.2 now logs explicit DATA_SOURCE_DISABLED errors when sources fail or fall back. If a source is unavailable, users should see that directly in the logs and dashboard instead of inferring it from weaker behavior later.
Dashboard Rewrite
The dashboard was rebuilt for operational visibility.
It now has six read-only tabs:
- Overview
- Positions
- Performance
- Scan History
- Reconcile
- Logs
The dashboard does not place trades. It does not change settings. It exists so users can see what the bots are doing: what they scanned, what they rejected, what they submitted, what filled, what settled, and what needs attention.
That matters because a bot running in the background should not be a black box.
New Tools
v2.2 also adds and updates the support tooling around the bots:
bot_doctor.pymigrate_db.pyQUICKSTART.mdTROUBLESHOOTING.mdMIGRATION.md- Updated
SETUP_KEYS.md - Pinned
requirements.txt - Background service instructions
The point is to reduce setup ambiguity. Users should be able to validate their environment, migrate an older database, understand required keys, and run the bots as background services without piecing together instructions from scattered notes.
Who Should Upgrade
All existing buyers should upgrade.
That is especially true for anyone running v2.0 or v2.01. Those releases added major functionality: the 164-member grand ensemble, the inflation bot, early exits, and the agreement filter. v2.2 hardens the accounting, settlement, logging, and visibility around those systems.
This is a reliability upgrade, not a promise of better trading results. Prediction markets involve real risk, and losses are possible.
Closing
Predict & Profit remains full Python source code.
No license server.
No phoning home.
No paid APIs required.
Live results, wins and losses included, remain public at /results.
Existing buyers get the update.