Commit History
12 days ago
-
fix: US kill-switch lockup — blind model gate, trapped exits, broken unkill, scorecard deadlock, alert noise Running
Verified signatureb3fb744
-
fix: never propagate corrupt DB backups + benchmark (beat the index) scorecard check
Verified signature4752203 -
fix: restore trading state at worker startup + empty DB/snapshot guards
Verified signature5d0696a
-
fix: loss re-entry cooldown + ghost trade reconciliation + model-risk persistence
Verified signature1cc506c
-
fix: WAL-inclusive backup + reachable scorecard GO + complete run log
Verified signature443b35e -
fix: WAL-inclusive backup + reachable scorecard GO + complete run log
Verified signature7eff6ee -
fix: WAL-inclusive backup + reachable scorecard GO + complete run log
Verified signature0a910ec
-
feat: correlation-aware portfolio diversification
Verified signature918f6f8 -
fix: scan 18:00 TR start + cron resume-only
Verified signature86378f6
-
feat: trading state Supabase persistence
Verified signature671ad24 -
feat: trading state Supabase persistence
Verified signatureec4387e -
fix: nightly scans both BIST+US daily + resume in-progress work
Verified signatureae8b441
-
feat: self-driving scan (chunk'ları tamamlanana kadar sürer, cron'suz)
Verified signature5d920b8 -
deploy: OOS holdout + telegram 0/0 fix — analysis/walk_forward_backtest.py
Verified signatured43c72d -
deploy: OOS holdout + telegram 0/0 fix — trading/scanner_engine.py
Verified signatureb5979ec -
deploy: OOS holdout + telegram 0/0 fix — trading/telegram_notify.py
Verified signaturefbb60bb
-
fix: scan overlap protection + snapshot routing + worker history tables
Claude (oner) +1: Claude Opus 4.7Four fixes to keep the dashboard and worker honest while running real money: A) Snapshot routing fix (worker.py:_sync_to_supabase) Top-level fields (status/portfolio/closedTrades/performance/eligibleStocks) were being copied from markets[_CURRENT_MARKET_ID], which flipped between BIST and US depending on which market the worker happened to process last. Result: a BIST winning trade vanished from top-level while the US tab "inherited" it; performance showed winRate=0 even though IZENR returned +12.93%. Pin the top-level view to a canonical primary market (BIST by default, override via TOPLEVEL_MARKET_ID env var). Per-market detail is still under markets.{id}. Add `topLevelMarketId` + keep `activeMarketId` for back-compat, and surface `currentlyProcessingMarketId` for diagnostics. C) Overlap protection (worker.py:_latest_scan_payload_for_market, app.py:_load_scan_payload, app.py:/api/eligible) When a fresh chunked scan starts, the work file (eligibl…ba3d3a6
-
fix: use fresh scan state in trading snapshot
a9b8649 -
fix: use fresh scan state and start US worker on HF
27f31e2
-
fix: re-run nightly scan when prior completion is older than SCAN_MAX_AGE_HOURS (default 20h)
GitHub Copiloteaafcfb -
feat: add /api/supabase-ping keep-alive endpoint (DB + Storage)
GitHub Copilot31f77b9
-
Restore latest known BIST scan snapshot
GitHub Copilot511195a -
Sync scan state before status reads
GitHub Copilot5d7033f -
Skip stale boot scans and preserve completed scan timestamps
GitHub Copilota4625ea -
Prevent duplicate completed scan notifications
GitHub Copilot4a97b6b
-
Add Alpaca broker integration
GitHub Copilot2dc114e -
Harden Telegram menu webhook
GitHub Copilot96964a0