DAY 020
Audit Day
15-commit deep audit of the Dota 2 codebase, CS2 Pinnacle backtest showing +16% ROI at 10-20% edge, shipped profiled.lol, reskinned Stoa slides.
🐉 YoshiZen Daily Build Log — Friday, March 20, 2026
Dota 2 — Full Codebase Audit & Overhaul
The bulk of today: a systematic 4-tier audit of the entire Dota 2 prediction pipeline, from critical bugs down to code health.
Tier 1 — Critical bugs (6 fixed):
- Removed phantom +$6,799 handicap win — Nemiga vs Zero Tenacity
-1.5 @ 7.50was mislabeled as the wrong team. Bankroll corrected from $123,350 → $116,539 - Deep-cleaned the ledger: 870 → 251 entries after retroactively applying
_is_recordable_bet+ best-per-map + one-per-matchup filters. 619 duplicate/junk entries removed (40,621 lines deleted) - BO2 detection from draw markets — matches with draw lines were incorrectly defaulting to BO3 math. Fundamentally changes probability calculations (moneyline in BO2 = P(2-0 sweep), not P(wins series))
Tier 2 — Staking & model fixes:
- Consolidated staking logic, fixed model name references, corrected EV calculations
Tier 3+4 — Performance & code health:
- Batch hero queries +
asyncio.gather()parallelism inpredict.py— replaced N+1 per-hero queries with batched SQL using window functions (ROW_NUMBER PARTITION BY hero_id). 227 insertions, 138 deletions - Bulk batch INSERT for
odds_snapshots(was 520+ row-by-row queries) - Reduced OddsPAPI sleep from 3s → 1s between API calls (~30s saved per scan)
- Extracted series math to
models/series_math.py— removed 4 duplicate implementations across paper_trade, simulate_tournament, scan_match_odds, daily_scan - Fixed 19x deprecated
datetime.utcnow()→ timezone-aware - Added
--standinsflag to tournament simulator, re-ran ESL Birmingham projections - Added unique index +
match_idindex onodds_snapshotsfor dedup
CS2 — Pinnacle Historical Backtest
- Built
fetch_oddspapi.py(401 lines new) — fetches Pinnacle closing odds from OddsPAPI for CS2 tier 1-2 tournaments - 325 matches fetched with Pinnacle closing odds, 255 fuzzy-matched to DB series by team name + date
- 429 retry with exponential backoff (10s/20s/30s/40s)
Backtest results (test set, 449 maps with Pinnacle odds):
- 10-20% edge: 110 bets, 53% WR, +16.2% ROI ← the sweet spot
- 5-10% edge: 83 bets, 54% WR, +13.6% ROI
- 3-5% edge: flat at -1.2% — model doesn't beat Pinnacle on close lines
profiled.lol — Built & Launched
- Shipped profiled.lol in a single session — paste an X/Twitter handle, get your profile roasted by AI
- Full build from zero to live in Claude Code
Stoa Workshop Slides — Design System Reskin
- Applied the new Stoa design system to the Leaderboard Workshop PPTX (14 slides, 310 changes)
- Georgia → Cormorant Garamond, red/green palette → olive/teal (#5A7A2D, #1B7667)
Infrastructure
- Added Vercel Analytics to both pickmy.ai and yoshizen.co
Key stat: 15 commits, ~10,600 lines changed. The CS2 model now has a validated edge against Pinnacle closing lines — but only when the model disagrees by 10%+. Below that, the market is right.