Changelog
What we've shipped
Versioned release log. Each entry maps 1:1 to a paragraph in the weekly digest. Most recent first — surfaces (model, data, infra, UI, calibration) are colour-tagged.
- v0.7Aug 24, 2026
Public sign-up, auth re-skin, and an honest public record
- ui
Public track record split into product record and research archive
/track-record now shows only the football and tennis decisions included in the current Product Record cohort. The full research and model-testing history (every sport, every era) is unchanged and fully reachable at /track-record/research-archive, clearly labelled as internal history rather than the customer product.
- data
Football league recovery
Recovered 17 team-alias resolution gaps that were silently suppressing candidate generation across several football leagues, expanding the model's usable supply.
- infra
Public sign-up and checkout
Self-service registration and the €49 Decisions checkout are live — the invite-only gate on /signup was removed.
- ui
Auth pages re-skinned to the current brand
Login, sign-up and password-recovery pages were brought onto the current Landing V2 visual system; they previously sat outside it.
- ui
- v0.6May 15, 2026
Public track record + tiered access foundation
- ui
Public track record
Last-25-settled feed is now anonymous-readable at /track-record. Stakes withheld; unit-ROI is auditable from recommended odds and outcomes alone.
- infra
Tier roles on profiles
profiles.role enum gates Observer / Analyst / Automator tiers. Mutation is service_role-only — every other caller's role-change attempt is silently reverted at the trigger boundary.
- infra
Changelog (this page)
Versioned release log shipped as the foundation for the weekly newsletter. Entries are typed by surface (model / infra / ui / data / calibration) so digests can filter by kind.
- ui
- v0.5May 10, 2026
Tennis Platt refit + football xG multiplicative
- calibration
Tennis Platt backcast refit
Cohort-aware refit lifted tennis Platt A from 0.32 to 0.79 and Brier from 0.277 to 0.230 (−15.7%). Defensive intercept clipped to −15pp by the live max-shift cap.
- model
Football xG geometric form
Replaced the additive xG midpoint with a multiplicative Dixon-Coles form. LLM Situational penalties switched from additive to multiplicative (×0.90 / ×0.85, compounding). Lambda floor relaxed from 0.20 to 0.05.
- model
Tennis P0.1 logit transform
TOTAL_GAMES probability switched from additive (raw − opp_ret + 0.36) to logit-space (expit(logit(raw) − Δlogit(opp_ret))). Removed the 0.45 floor. First post-merge scan zeroed Bo3-blowout overrides in 36h.
- calibration
- v0.4May 08, 2026
Shadow ledger + Bucket 6 devig
- infra
Shadow ledger end-to-end
Counterfactual ROI now flows from scanner → DB → approval → dashboard. Cohort starts at bet id ≥ 416; panel hides until first settled bet with shadow fields lands.
- model
Bucket 6 — Pinnacle-anchored devig
Football Bucket 6 (Market) now uses Pinnacle as the consensus anchor with Altenar fallback. First dry-run logged an 89.8% Pinnacle hit rate.
- infra
- v0.3May 01, 2026
Stage-2 derived markets shipped
- model
Football derived markets
Total Corners, Asian Goal Lines, and Result+BTTS combos derived from the partition matrix with mass normalisation guarding the 0.5% truncation at MAX_GOALS=7.
- model
Tennis Game Handicap
GAME_HC pricing live alongside ML, SET_HC and TOTAL_GAMES. Defense-in-depth guards: scanner gate, model sentinel, post-Platt circuit breaker.
- model
- v0.2Apr 21, 2026
API-SPORTS migration — vendor consolidation
- data
Single vendor, two products
Football v3 + Basketball v1 unified behind a shared API-SPORTS client (throttle + 429 backoff + per-sport quota). Coverage expanded from 4 to 20 football competitions, including WC 2026 + qualifiers for all six confederations.
- infra
Usage telemetry
Idempotent 80 / 95 / 100% usage alarms surface to Telegram + a Gmail draft. Drafts are never auto-sent.
- data