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>
91 lines
1.0 KiB
Plaintext
91 lines
1.0 KiB
Plaintext
# Python
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.so
|
|
.Python
|
|
build/
|
|
develop-eggs/
|
|
dist/
|
|
downloads/
|
|
eggs/
|
|
.eggs/
|
|
lib/
|
|
lib64/
|
|
parts/
|
|
sdist/
|
|
var/
|
|
wheels/
|
|
*.egg-info/
|
|
*.egg
|
|
MANIFEST
|
|
.pytest_cache/
|
|
.coverage
|
|
.coverage.*
|
|
htmlcov/
|
|
.tox/
|
|
.nox/
|
|
.hypothesis/
|
|
.mypy_cache/
|
|
.ruff_cache/
|
|
.pyright/
|
|
|
|
# Virtualenv
|
|
.venv/
|
|
venv/
|
|
env/
|
|
ENV/
|
|
|
|
# IDE
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
.DS_Store
|
|
|
|
# ATM runtime artefacts
|
|
logs/*.jsonl
|
|
logs/dead_letter.jsonl
|
|
logs/detections/
|
|
logs/fires
|
|
logs/pause.flag
|
|
samples/*.png
|
|
samples/*.jpg
|
|
samples/labels.json
|
|
trades.jsonl
|
|
|
|
# configs: now committable (secrets live in .env — see .env.example)
|
|
|
|
# Claude scheduler state
|
|
.claude/
|
|
|
|
# Secrets
|
|
config.toml
|
|
.env
|
|
*.secret
|
|
|
|
# Images in root (e.g. reference screenshots)
|
|
/image.png
|
|
image*.png
|
|
|
|
# Calibration debug captures
|
|
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
|