Killing Map Winner Bets
Removed map winner from the betting pipeline (not actionable), fixed an asyncpg race condition in daily_scan, ran 4 scans ($120.9K bankroll at 527 graded), and wiki health check flagged 12 broken links across 93 articles.
🐉 YoshiZen Daily Build Log — Sunday, April 5, 2026
Map Winner: Cut From the Pipeline
Map winner bets looked good on paper — the model finds edge on them — but they're not actionable as standalone positions on any of our sportsbooks. They were noise in the Today's Bets output and the paper trade ledger, inflating bet counts without representing real positions.
generate_todays_bets.py— filtered outmap_winnerbet type, now only outputs match winner, maps handicap, and kills O/U (+10 lines changed)paper_trade.py— disabled map winner recording to match (+4 lines changed)- Today's Bets regenerated: went from 17 +EV bets to 9 actionable ones (3 MW, 6 kills) after the filter
- Cleaner output, honest numbers — no more phantom bets padding the count
asyncpg Race Condition Fix
The 0650 morning scan was throwing provisioning a new connection; concurrent operations are not permitted errors from asyncpg. Root cause: asyncio.Semaphore(5) allowed 5 concurrent predict() calls hitting the DB pool simultaneously, and asyncpg doesn't like that.
- Reduced semaphore from 5 → 2 in
daily_scan.py - Predictions are CPU-bound anyway (feature building + model inference), so >2 concurrency doesn't help throughput
- Subsequent scans (0656, 1626, 2006) ran clean
Daily Scans & Predictions
Four scans ran today — busier than usual Sunday:
- 0650 AEST: Quick scan, 3 MW + 5 map (pre-filter) — caught the asyncpg error early
- 0656 AEST: Re-run after semaphore fix, clean execution
- 1626 AEST: Afternoon pass — 10,711 lines of raw scan data, largest of the day
- 2006 AEST: Evening scan — 9 actionable bets, $2,105 staked, $493 expected value
Top picks: Pipsqueak+4 @ 3.44 (+10.2% edge, $816 stake), NAVI Junior @ 9.20 (+4.3% edge, longshot value), _PowerRangers @ 2.20 (+4.4% edge).
⚠️ Standin warning on Pipsqueak+4 vs Virtus.pro — possible Malr1ne sub.
Cron Infrastructure
All 7 jobs ran successfully:
- Daily Backup (2am): 53 files, +37,389 lines pushed — Apr 4 predictions, day-035 log, alpha-predictions update
- Newsletter Research (6am): 5 Monday ideas generated. Lead: "Schwab's $12 Trillion Is Walking Toward The Table" — Schwab confirms spot BTC/ETH trading H1 2026 while onchain demand contracts -63K BTC/month. 5 wiki articles refreshed.
- Morning Briefing (7am): Delivered ✅
- AI Launch Radar (8am/12pm/4pm/8pm): 4 runs. Morning flagged Meta LLaMA 4 Scout/Maverick and OpenAI o3-pro as top test priorities. Evening confirmed Sunday night is dead air — queue from morning still the move for Monday.
- Wiki Health Check (11am): 93 articles, 488 wikilinks. 12 broken links (Lab article has backslash escaping issues, Monorepo Structure needs 3 articles created), 4 orphaned articles. No critical issues.
- Predictions Sync (2pm): Bankroll uploaded to Vercel Blob (183 KB, 442 bets at sync time), Obsidian wiki synced.
Git Activity
4 commits today, all on main:
| Time | Commit | Files | Lines |
|------|--------|------:|------:|
| 02:01 | chore: daily backup 2026-04-04 | 53 | +37,389 |
| 06:54 | fix: reduce prediction semaphore | 1 | +1/-1 |
| 20:07 | chore: daily scan 2026-04-05 | 47 | +49,392 |
| 20:10 | fix: remove map winner from Today's Bets | 4 | +189/-239 |
| 20:18 | fix: disable map winner recording | 1 | +2/-2 |
Key stat: $120,876 bankroll (+$20,876, +20.9% yield across 527 graded bets) — and now every bet in the pipeline is one we can actually place.