feat(multi-chart): refactor _run_multi_tick + fix alert spam pe oscilație strip
Bug critic: _strips_match(tol=10) trip pe pulsații naturale de lățime ~18px între ticks (ex. 792↔810px). Fiecare trip → _commit_layout_change → reset FSM + alert Telegram + scheduler stop. Logul 2026-05-04.jsonl arăta 576 evenimente layout_change/zi, plus prime alerts repetate la dark_red/dark_green (FSM resetat înghite lockout-ul) și sincronizare cross-chart pe ambele FSM-uri simultan. Fix: - main.py:1511 — gate doar pe count change (len(new) != len(current)); count stabil → silent update sub_roi indiferent de jitter - main.py:1438 — silent=True pe alert layout_change (Telegram fără sunet) - 2 teste regresie noi: width oscillation 792↔810 + silent assertion - 2 teste async reparate: bootstrap _detect_strips_for_ctx pentru ScriptedDetector (regresie după ce _run_multi_tick a devenit unica cale de detecție) Plus refactor multi-chart pre-existent: layout.py modul nou, _detect_strips_for_ctx, ChartState per-chart FSM/Detector, ROI per-strip pe screenshots, scripts/diag_*. Verificat: 292 passed, 2 skipped în 10s. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
14
.gitignore
vendored
14
.gitignore
vendored
@@ -74,3 +74,17 @@ calibrate_capture_*.png
|
||||
# Debug captures
|
||||
debug_*.png
|
||||
logs/*.png
|
||||
|
||||
# Test/dev scratch output
|
||||
pytest-*.log
|
||||
pytest-*.err
|
||||
*.log
|
||||
*.err
|
||||
|
||||
# Auto-captured calibration frames (use `git add -f` to commit selected ones)
|
||||
calibration/frames/*.png
|
||||
|
||||
# Misc clutter
|
||||
*.jpeg
|
||||
*.jpg
|
||||
!samples/*.jpg
|
||||
|
||||
Reference in New Issue
Block a user