fahricansecer
b5cb412236
gg
Deploy Iddaai Backend / build-and-deploy (push) Successful in 1m6s
2026-05-29 11:59:51 +03:00
fahricansecer
659110c806
Update handoff doc + add backtest checkpoint/resume
Deploy Iddaai Backend / build-and-deploy (push) Successful in 4m32s
2026-05-25 22:29:05 +03:00
fahricansecer
988ee2f50d
Add backtest pipeline, betting_brain filters, score coherence + social v3
...
betting_brain.py:
- HARD_MIN_SAMPLES=50 floor for calibrator bypass
- ev_edge < 0 + >= 0.20 hard vetoes
- BTTS muted (grid search found no profitable config)
- Per-market optimal envelopes (MS, OU25)
- Score coherence filter: main_pick must agree with score prediction
- HTFT reversal cross-check for MS picks
feature_builder.py / data_loader.py:
- Real home/away_position from data (was hardcoded 10)
- Cup detection wired into UpsetEngine
- _estimate_league_position with 300-day season filter
New scripts:
- diagnostic_backtest.py: per-bet diagnostic backtest with loss patterns
- optimize_filters.py: grid search per-market optimal thresholds
- analyze_backtest_csv.py: root-cause hypothesis testing on CSV
- compare_backtests.py: side-by-side validation with verdict
- test_score_coherence.py: smoke test for coherence filter (20/20 pass)
Reports:
- diagnostic_backtest_20260525_024437 (50-match smoke)
- diagnostic_backtest_20260525_035649 (1000-match in-sample)
- filter_optimization_patch.json (grid search winners per market)
Social poster v3:
- satori + resvg HTML/CSS rendering pipeline
- Twemoji football/basketball + flag SVGs
- caption SEO: 12 curated hashtags per post
- image SEO: descriptive filenames + .json metadata sidecar
- /health, /preview-png, /run-now endpoints
Docs:
- mds/SESSION_HANDOFF.md: full session state for cross-machine continuity
- mds/SOCIAL_POSTER_SETUP.md: API keys + test commands
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 20:43:28 +03:00
fahricansecer
b619c2454a
gg3
Deploy Iddaai Backend / build-and-deploy (push) Successful in 32s
2026-05-25 02:19:12 +03:00
fahricansecer
fa48f87f53
gg2
Deploy Iddaai Backend / build-and-deploy (push) Successful in 4m53s
2026-05-24 17:29:31 +03:00
fahricansecer
920ae7ce38
gg
Deploy Iddaai Backend / build-and-deploy (push) Successful in 59s
2026-05-24 02:58:53 +03:00
fahricansecer
02f9aea333
gg
Deploy Iddaai Backend / build-and-deploy (push) Successful in 28s
2026-05-24 02:49:08 +03:00
fahricansecer
15c6313246
Merge branch 'main' of https://gitea.bilgich.com/fahricansecer/iddaai-be
Deploy Iddaai Backend / build-and-deploy (push) Successful in 54s
2026-05-24 02:44:52 +03:00
fahricansecer
1b420a425e
Update .gitignore
2026-05-24 02:43:10 +03:00
fahricansecer
55e62d8fe5
.gitea/workflows/deploy.yml Güncelle
Deploy Iddaai Backend / build-and-deploy (push) Successful in 4m56s
2026-05-24 02:30:14 +03:00
fahricansecer
21e05148c8
feat: league tier system + retrained V25 models (48 quality leagues)
...
Deploy Iddaai Backend / build-and-deploy (push) Failing after 3m56s
- Add LeagueTier DB model and Prisma schema
- Add league-tiers service (CRUD, sync, retrain trigger)
- Add league-tiers controller with admin API endpoints
- Add /v1/admin/retrain endpoint in AI engine (extract→train→reload pipeline)
- Retrain V25 Pro with 48 quality leagues (MS accuracy: 26.9%→51.4%)
- Update qualified_leagues.json (443→48 leagues)
- Include V25 model files in repo for Docker deployment
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-20 21:57:15 +03:00
fahricansecer
e001ce9ab5
fix: guarantee iddaai-ai-engine network alias on every deploy
Deploy Iddaai Backend / build-and-deploy (push) Successful in 29s
2026-05-20 10:40:00 +03:00
fahricansecer
9481ad7094
changes
Deploy Iddaai Backend / build-and-deploy (push) Successful in 42s
2026-05-20 10:10:28 +03:00
fahricansecer
1d4aa36602
gg
Deploy Iddaai Backend / build-and-deploy (push) Successful in 31s
2026-05-18 00:08:50 +03:00
fahricansecer
5574a3c59d
feat: separate commentary endpoint - non-blocking Ollama
Deploy Iddaai Backend / build-and-deploy (push) Successful in 30s
2026-05-17 16:47:05 +03:00
fahricansecer
94c7a4481a
main
Deploy Iddaai Backend / build-and-deploy (push) Successful in 37s
2026-05-17 02:17:22 +03:00
fahricansecer
17ace9bd12
feat: Ollama AI expert commentary integration
...
Deploy Iddaai Backend / build-and-deploy (push) Successful in 37s
- OllamaClient utility for llama3.2:3b API calls (timeout 30s, non-fatal)
- OllamaCommentary service builds structured Turkish prompt from prediction data
- PredictionsService enriches response with ai_expert_commentary field
- Frontend prediction-card displays AI commentary section above match_commentary
2026-05-17 02:09:04 +03:00
fahricansecer
2b87669f41
gg
Deploy Iddaai Backend / build-and-deploy (push) Successful in 31s
2026-05-13 16:56:14 +03:00
fahricansecer
2507678bc0
gg
Deploy Iddaai Backend / build-and-deploy (push) Successful in 32s
2026-05-12 17:41:49 +03:00
fahricansecer
2b8dce665f
gg
Deploy Iddaai Backend / build-and-deploy (push) Successful in 1m8s
2026-05-12 03:06:54 +03:00
fahricansecer
b6d64b59bf
main
Deploy Iddaai Backend / build-and-deploy (push) Failing after 2m6s
2026-05-12 02:43:02 +03:00
fahricansecer
f8599bdb9a
gg
Deploy Iddaai Backend / build-and-deploy (push) Failing after 2m1s
2026-05-11 23:11:41 +03:00
fahricansecer
4dcc4ced50
gg
Deploy Iddaai Backend / build-and-deploy (push) Failing after 2m15s
2026-05-11 20:50:31 +03:00
fahricansecer
70fdc066c7
Merge branch 'v28'
Deploy Iddaai Backend / build-and-deploy (push) Successful in 6s
2026-05-10 22:52:21 +03:00
fahricansecer
f3362f266c
gg
2026-05-10 22:52:05 +03:00
fahricansecer
8ce8fa5b94
Merge pull request 'gg' ( #6 ) from v28 into main
...
Deploy Iddaai Backend / build-and-deploy (push) Successful in 39s
Reviewed-on: #6
2026-05-10 10:39:32 +03:00
fahricansecer
c525b12dfd
gg
2026-05-10 10:37:45 +03:00
fahricansecer
497b5d8d3b
Merge pull request 'feat(ai-engine): value sniper thresholds and logic relaxed' ( #5 ) from v28 into main
...
Deploy Iddaai Backend / build-and-deploy (push) Successful in 30s
Reviewed-on: #5
2026-05-06 17:56:24 +03:00
fahricansecer
4f7090e2d9
feat(ai-engine): value sniper thresholds and logic relaxed
2026-05-06 17:44:45 +03:00
fahricansecer
5b5f83c8cf
fix(ai-engine): remove target leakage from training data extraction
...
Deploy Iddaai Backend / build-and-deploy (push) Successful in 6s
- goals_form now uses avg of last 5 historical matches instead of current match goals
- squad_quality removes current match goals/assists, uses only pre-match known data
- adds temporal filtering via match_id -> mst_utc mapping
2026-05-05 22:35:04 +03:00
fahricansecer
bfddcaca7d
gg
Deploy Iddaai Backend / build-and-deploy (push) Successful in 6s
2026-05-05 21:27:06 +03:00
fahricansecer
56d560af08
Update single_match_orchestrator.py
Deploy Iddaai Backend / build-and-deploy (push) Successful in 8s
2026-05-05 20:59:59 +03:00
fahricansecer
4bc51cfa99
fix(ai-engine): hoist ms_edge before score prediction branch to prevent UnboundLocalError
Deploy Iddaai Backend / build-and-deploy (push) Successful in 5s
2026-05-05 20:34:14 +03:00
fahricansecer
fdb8a5d0f0
fix(ai-engine): sync FEATURE_COLS with trained models (82→102 features)
...
Deploy Iddaai Backend / build-and-deploy (push) Successful in 6s
- Load feature columns dynamically from feature_cols.json
- Add 20 missing odds_*_present boolean flags to fallback list
- Fixes LightGBM 'features in data (82) != training data (102)' crash
2026-05-05 20:29:55 +03:00
fahricansecer
22596e69f2
fix(predictions): circuit breaker resilience + graceful degradation
...
Deploy Iddaai Backend / build-and-deploy (push) Successful in 27s
- Reset consecutiveFailures on cooldown expiry (half-open state)
so a single retry failure doesn't immediately re-open the circuit
- Exclude AI Engine app-level 500s from circuit breaker count
(only network/infra errors: timeout, 502, 503, 504, 429)
- Return null gracefully instead of throwing 503 when no cache exists
- Add DB fallback for non-cooldown AI Engine failures
- Remove blocking wait-and-retry that held requests for up to 20s
2026-05-05 20:19:25 +03:00
fahricansecer
f32badbd8f
fix(predictions): cooldown fallback cascade + circuit breaker tuning
...
Deploy Iddaai Backend / build-and-deploy (push) Successful in 27s
- Add 4-level fallback when AI circuit breaker fires cooldown:
1) In-memory cache (10min TTL)
2) DB stored prediction (no TTL filter)
3) DB cached prediction (with model version check)
4) Wait out cooldown + retry once (max 20s wait)
- Raise circuit breaker threshold from 3 to 5 consecutive failures
- Reduce cooldown duration from 30s to 15s for faster recovery
- Add extractCooldownMs helper to parse remaining ms from error detail
2026-05-05 20:11:19 +03:00
fahricansecer
5645b38f20
main
Deploy Iddaai Backend / build-and-deploy (push) Successful in 32s
2026-05-05 17:09:11 +03:00
fahricansecer
244d8f5366
feat(ai): expand training to 68K+ matches, add score model, backfill implied odds
...
Deploy Iddaai Backend / build-and-deploy (push) Successful in 6s
- extract_training_data.py: switch from top_leagues.json (23) to qualified_leagues.json (265)
- update_implied_odds.py: new script to backfill implied odds from real market data
- train_score_model.py: rewrite with v25 102-feature set + temporal split
- single_match_orchestrator.py: integrate ML score model with heuristic fallback
2026-05-05 16:04:00 +03:00
fahricansecer
9bb8f39bca
gg
Deploy Iddaai Backend / build-and-deploy (push) Successful in 2m45s
2026-05-05 14:06:20 +03:00
fahricansecer
7a1cf14e2f
Update matches.service.ts
Deploy Iddaai Backend / build-and-deploy (push) Successful in 28s
2026-05-05 10:47:00 +03:00
fahricansecer
62c797d299
Update matches.service.ts
Deploy Iddaai Backend / build-and-deploy (push) Successful in 29s
2026-05-05 10:13:23 +03:00
fahricansecer
34cc4a6cbb
Update matches.service.ts
Deploy Iddaai Backend / build-and-deploy (push) Successful in 30s
2026-05-05 01:04:56 +03:00
fahricansecer
27e96da31d
main
Deploy Iddaai Backend / build-and-deploy (push) Successful in 29s
2026-05-04 18:00:40 +03:00
fahricansecer
145a8b336b
fix(feeder): preserve pre-match odds when match goes live
...
Deploy Iddaai Backend / build-and-deploy (push) Successful in 29s
Live odds have missing selections (e.g. '1' key removed from Maç Sonucu
after kickoff), causing the AI model to produce wildly incorrect predictions
(e.g. 3.5% home win for Bristol City). Two guards added:
1. fetchOddsForMatches: Exclude live/finished matches from odds fetch query
2. processMatchOdds: Skip odds/lineups/sidelined overwrite if match already
has pre-match odds and is live/finished
2026-05-02 16:32:42 +03:00
fahricansecer
7a8960edb8
chore: remove debug checkpoint logs and temp SQL files
Deploy Iddaai Backend / build-and-deploy (push) Successful in 37s
2026-04-26 17:09:22 +03:00
fahricansecer
691c52f610
perf: replace Prisma relation queries with raw SQL for getExistingMatchIds and getMissingScopes - fixes Pi hang
Deploy Iddaai Backend / build-and-deploy (push) Successful in 39s
2026-04-26 17:07:19 +03:00
fahricansecer
bc461429f6
debug: add checkpoint timestamps to processDate for hang diagnosis
Deploy Iddaai Backend / build-and-deploy (push) Successful in 46s
2026-04-26 17:04:46 +03:00
fahricansecer
a338d02244
main
Deploy Iddaai Backend / build-and-deploy (push) Successful in 2m42s
2026-04-26 03:07:18 +03:00
fahricansecer
1623432039
fix: watchdog force-kill with SIGKILL fallback when process.exit is blocked
2026-04-26 02:27:51 +03:00
fahricansecer
4c7930e9d2
feat: add watchdog timer to detect and recover from hung API requests
Deploy Iddaai Backend / build-and-deploy (push) Successful in 27s
2026-04-25 11:20:30 +03:00