55 lines
2.7 KiB
Markdown
55 lines
2.7 KiB
Markdown
# ATM — Automated Trading Monitor
|
|
|
|
Personal Faza-1 tool pentru strategia M2D. Python 3.11+.
|
|
|
|
> Acest repo folosește **DOX**: arborele de `AGENTS.md` de mai jos sunt contracte
|
|
> de lucru pentru subarborii lor. Înainte să editezi un path, coboară din rădăcină
|
|
> citind fiecare `AGENTS.md` întâlnit. După o schimbare semnificativă, fă un **DOX
|
|
> pass**: actualizează `AGENTS.md`-ul cel mai apropiat care „deține" zona + indexul
|
|
> părintelui, șterge ce devine învechit.
|
|
|
|
## Quick Reference
|
|
|
|
```bash
|
|
pip install -e ".[windows]" # Windows: live capture
|
|
pip install -e ".[dev]" # Linux/macOS: dev + tests (WSL: venv întâi)
|
|
cp .env.example .env # secretele Discord/Telegram (vezi README §Secrets)
|
|
atm calibrate # Tk wizard
|
|
atm debug --delay 5 # one-shot capture + detect
|
|
atm validate-calibration calibration/calibration_labels.json # color gate offline
|
|
atm run --start-at 16:30 --stop-at 23:00 # live session
|
|
atm run --tz America/New_York --oh-start 09:30 --oh-stop 16:00 # NYSE window
|
|
pytest -q # 230+ teste
|
|
```
|
|
|
|
## DOX Protocol
|
|
|
|
- **Citire** — traversează root → path-ul țintă, citind fiecare `AGENTS.md`. Dacă
|
|
un părinte indexează un copil al cărui scope conține path-ul, citește copilul și
|
|
continuă de acolo.
|
|
- **Editare** — `AGENTS.md`-ul cel mai apropiat = contract local; părinții = reguli
|
|
globale. Un copil nu poate slăbi o constrângere impusă de un părinte.
|
|
- **Update (closeout)** — re-verifică path-urile schimbate față de lanțul DOX;
|
|
actualizează doc-urile care le dețin + indexurile afectate; șterge textul învechit;
|
|
rulează verificarea relevantă.
|
|
|
|
## Durable Rules (repo-wide)
|
|
|
|
- **Pure-logic fără cv2/numpy** în `state_machine.py` și `config.py` (testele rulează
|
|
headless). cv2/I/O greu mereu în `asyncio.to_thread`.
|
|
- **Secretele doar din env** (`.env`), niciodată în TOML sau cod.
|
|
- **Mereu** `atm validate-calibration` după recalibrare (palette gotcha — vezi
|
|
`calibration/AGENTS.md`).
|
|
- Modul nou în `src/atm/` ⇒ `test_<modul>.py` corespondent.
|
|
|
|
> Skill routing (Claude Code) trăiește în [`CLAUDE.md`](CLAUDE.md) — sursa canonică.
|
|
|
|
## Child DOX Index
|
|
|
|
- **`src/atm/`** → `src/atm/AGENTS.md` — motorul: capture/detect/FSM/scheduler/
|
|
vision/canary/config. (copil: `notifier/`)
|
|
- **`tests/`** → `tests/AGENTS.md` — suita de teste + regresie FSM.
|
|
- **`calibration/`** → `calibration/AGENTS.md` — corpus culori + scenarii + palette gotcha.
|
|
- **`configs/`** → `configs/AGENTS.md` — schema TOML (operating_hours, alerts, canary).
|
|
- **`scripts/`** → `scripts/AGENTS.md` — diagnostic + note sandbox Windows/venv.
|