Files
iddaai-be/mds/changelog-2026-04-14.md
T
fahricansecer 2f0b85a0c7
Deploy Iddaai Backend / build-and-deploy (push) Failing after 18s
first (part 2: other directories)
2026-04-16 15:11:25 +03:00

178 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog - 2026-04-14
Bu doküman, 14 Nisan 2026 tarihinde `Suggest-Bet-BE` üzerinde yapılan önemli teknik değişiklikleri özetler.
## 1. Full Stack Çalıştırma Scriptleri
- `src/scripts/run-full-stack.ts` eklendi.
- `src/scripts/run-all-fe-compatible.ts` eklendi.
- `package.json` içine şu scriptler eklendi veya güncellendi:
- `full:run`
- `run:all`
- Amaç:
- AI engine ve NestJS'i birlikte ayağa kaldırmak
- AI engine health check tamamlanmadan backend başlatmamak
- process shutdown akışını kontrollü yönetmek
- FE uyumlu profile ile `NestJS:3000`, `AI engine:8000` kullanabilmek
## 2. Port ve Env Standardizasyonu
- `.env.example` port değerleri netleştirildi.
- Kullanım ayrımı:
- `npm run full:run`: backend-native profile
- `npm run run:all`: frontend-compatible profile
## 3. Matches Browse Davranışı
- `src/modules/matches/matches.service.ts` güncellendi.
- Varsayılan browse filtresi sadece upcoming yerine `live + upcoming` davranacak şekilde düzenlendi.
- Etki:
- `/api/matches/query` status verilmeden çağrıldığında canlı maçlar da döner.
- `/tr/matches` sayfası live match'leri de görebilir.
## 4. VQWEN Model Entegrasyonu
- `ai-engine/models/betting_engine.py` güncellendi.
- `ai-engine/services/v2_router.py` güncellendi.
- Davranış:
- `v2_artifacts/calibrated_*.joblib` yoksa sistem artık doğrudan `ai-engine/models/vqwen/*.pkl` modellerine fallback yapıyor.
- Bu sayede predictor boş priors yerine gerçek model kullanıyor.
## 5. Feature Extraction İyileştirmeleri
- `ai-engine/features/extractor.py` güncellendi.
- Eklendi veya iyileştirildi:
- gerçek `rest_diff`
- gerçek `h2h_home_win_rate`
- lineup/sidelined JSON'ından availability türetimi
- rolling form fallback'leri
- `matches` ve `live_matches` tablo farkları dikkate alındı.
- Tarihsel maçlarda olmayan kolonlar yüzünden extractor patlamayacak hale getirildi.
## 6. AI Engine PostgreSQL Bağlantı Düzeltmesi
- `ai-engine/data/database.py` güncellendi.
- Düzeltmeler:
- `.env` otomatik yükleme
- `DATABASE_URL` içindeki Prisma `?schema=public` parametresini asyncpg ile uyumlu normalize etme
- `search_path` ayarı ile bağlantıyı kararlı hale getirme
## 7. Runtime Backtest Scripti
- `ai-engine/scripts/backtest_v2_runtime.py` eklendi.
- `package.json` içine `ai:backtest` scripti eklendi.
- Amaç:
- V2/VQWEN tahminlerini bitmiş maçlar üstünde hızlıca ölçebilmek
- accuracy, playable accuracy ve ROI görmek
## 8. VQWEN Top League Re-Training
- `ai-engine/scripts/train_vqwen_v3.py` güncellendi.
- `top_leagues.json` okunacak şekilde düzenlendi.
- Sadece top league maçlarıyla eğitim yapılacak hale getirildi.
- `package.json` içine `ai:train:vqwen` scripti eklendi.
- Eğitim metadata dosyası üretildi:
- `ai-engine/models/vqwen/vqwen_training_meta.json`
- Sonuç:
- `vqwen_ms.pkl`
- `vqwen_ou25.pkl`
- `vqwen_btts.pkl`
dosyaları top league dataset ile yeniden üretildi.
## 9. V20+ Market Coverage Genişletmesi
Korner hariç daha fazla bahis tipini V20+ orchestration içinde görünür ve kullanılabilir hale getirmek için değişiklikler yapıldı.
### 9.1 Odds Parsing Genişletmesi
- `ai-engine/services/single_match_orchestrator.py` güncellendi.
- `RELATIONAL_ODDS_KEYS` genişletildi.
- Yeni parse edilen market/odds anahtarları:
- `ht_ou15_o`
- `ht_ou15_u`
- `cards_o`
- `cards_u`
- `hcap_h`
- `hcap_d`
- `hcap_a`
### 9.2 Yeni Helper Fonksiyonları
- `single_match_orchestrator.py` içine eklendi:
- `_is_first_half_ou15_category`
- `_is_cards_ou_category`
- `_is_football_handicap_category`
- `_set_football_handicap_odds`
### 9.3 Market Requirement Genişletmesi
- `ODDS_REQUIRED_MARKETS` genişletildi.
- Yeni marketler:
- `HT_OU15`
- `CARDS`
- `HCAP`
### 9.4 Market Board ve Bet Summary Genişletmesi
- `single_match_orchestrator.py` içinde response üretimi genişletildi.
- `market_board` artık şu marketleri de içeriyor:
- `HT_OU15`
- `CARDS`
- `HCAP`
- `_build_market_rows()` artık şu marketler için de row üretiyor:
- `HT_OU15`
- `CARDS`
- `HCAP`
### 9.5 Market Calibration
- Yeni marketler için calibration / minimum confidence tanımları eklendi:
- `HT_OU15`
- `CARDS`
- `HCAP`
## 10. Other Markets Calculator İyileştirmesi
- `ai-engine/core/calculators/other_markets_calculator.py` yeniden düzenlendi.
- Eklendi:
- `cards_over_prob`
- `cards_under_prob`
- `cards_confidence`
- `handicap_home_prob`
- `handicap_draw_prob`
- `handicap_away_prob`
- `handicap_confidence`
- Korner tarafı özellikle kapsam dışı bırakıldı.
## 11. V20 Ensemble Model Genişletmesi
- `ai-engine/models/v20_ensemble.py` güncellendi.
- `FullMatchPrediction` içine şu alanlar eklendi:
- `cards_over_prob`
- `cards_under_prob`
- `cards_confidence`
- `handicap_home_prob`
- `handicap_draw_prob`
- `handicap_away_prob`
- `handicap_confidence`
- `to_dict()` çıktısı da cards ve handicap için daha zengin veri dönecek şekilde genişletildi.
## 12. Derleme ve Doğrulama Notları
- Python tarafında şu dosyalar `py_compile` ile doğrulandı:
- `ai-engine/core/calculators/other_markets_calculator.py`
- `ai-engine/models/v20_ensemble.py`
- `ai-engine/services/single_match_orchestrator.py`
- `npm run build` son denemede kullanıcı tarafından manuel olarak kesildi.
- Bu yüzden changelog yazıldığı anda en son TypeScript/Nest build sonucu tekrar alınmış kabul edilmemeli.
## 13. Açık Kalan / Sonraki Adımlar
- Yeni marketlerin runtime API çıktısı gerçek maç üstünde uçtan uca test edilmeli.
- `npm run build` tekrar tam çalıştırılmalı.
- Mümkünse bir örnek `/v20plus/analyze/:matchId` çağrısıyla şu marketler doğrulanmalı:
- `HT_OU15`
- `CARDS`
- `HCAP`
- Korner marketleri bilinçli olarak dahil edilmedi.