From 63642e71dd07837cd003e1b158221fa50b6374d1 Mon Sep 17 00:00:00 2001 From: Claude Agent Date: Fri, 17 Apr 2026 10:54:24 +0000 Subject: [PATCH] chore(todos): mark integration test done Co-Authored-By: Claude Sonnet 4.6 --- TODOS.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/TODOS.md b/TODOS.md index 120a8af..c58a8bb 100644 --- a/TODOS.md +++ b/TODOS.md @@ -49,9 +49,17 @@ Read-only web view of today's audit JSONL + recent triggers. Useful for review a --- +## P2-yaxis-recalib-detect — Y-axis recalibration detection + +Price overlay (from Telegram commands feature) uses `y_axis` linear interpolation to show current price on screenshots. When the user rescales the chart y-axis (common after overnight price gaps), the calibration becomes stale and prices shown are incorrect. Canary check detects layout drift but NOT y-axis range changes. + +- Possible approaches: OCR on y-axis labels (fragile), track price range consistency across sessions, or simple "calibration age" warning after N hours. +- Start after price overlay is live and the false-price frequency is known. +- Depends on: Telegram commands + price overlay feature being shipped. + ## Quality debt -- [ ] **Integration test for run_live loop**: currently mocked at module level. Add a short-duration in-memory loop test that threads real detector/state_machine/audit together (no network). +- [x] **Integration test for run_live loop**: lifecycle async test added in `tests/test_main.py` (IDLE→ARMED→PRIMED auto-poll→FIRE auto-stop). - [ ] **Coverage report**: run `pytest --cov=atm --cov-report=term-missing`, aim for ≥ 85% per module. - [ ] **Typing strictness**: run `pyright src/` with strict mode, fix reported issues. - [ ] **Perf baseline**: profile one detection cycle on a representative frame; ensure < 100ms so 5s loop has ample headroom.