docs: reflect Telegram /pause/resume, operating hours, phase-skip backstop, validate-calibration
README gets: operating-hours config + CLI override flags, Telegram command table with /pause /resume [force] semantics, validate-calibration usage + exit codes, new audit event reference, phase-skip backstop note, and test count bump. CLAUDE.md quick reference now lists the new subcommand, CLI flags, and Telegram commands so future sessions pick them up without re-reading main.py. TODOS.md marks the 2026-04-17 hang fix, canary drift notification, phase-skip backstop, operating-hours window, and validate-calibration as done with commit pointers; adds exchange-calendar holidays as known gap. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
23
CLAUDE.md
23
CLAUDE.md
@@ -6,14 +6,31 @@ Personal Faza-1 tool for the M2D strategy. Python 3.11+.
|
||||
|
||||
```bash
|
||||
pip install -e ".[windows]" # Windows: live capture
|
||||
pip install -e . # Linux/macOS: dev/dryrun only
|
||||
pip install -e ".[dev]" # Linux/macOS: dev + tests (WSL: create venv first)
|
||||
atm calibrate # Tk wizard
|
||||
atm debug --delay 5 # one-shot capture + detect
|
||||
atm run --start-at 16:30 --stop-at 23:00 # live session
|
||||
atm validate-calibration samples/calibration_labels.json # offline color gate
|
||||
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 override
|
||||
atm dryrun samples # corpus gate
|
||||
pytest # run tests
|
||||
pytest -q # 184 tests
|
||||
```
|
||||
|
||||
## Telegram commands (live)
|
||||
|
||||
`/ss` `/status` `/pause` `/resume` `/resume force` `/3` (interval min) `/stop`
|
||||
|
||||
- `/resume` clears only user pause; Canary drift requires `/resume force`.
|
||||
- Drift-pause now emits a single Telegram alert (was silent pre-refactor — root cause of the 2026-04-17 hang).
|
||||
|
||||
## Operating-hours config
|
||||
|
||||
`[options.operating_hours]` in TOML: `enabled`, `timezone` (NYSE local, e.g. `America/New_York`), `weekdays`, `start_hhmm`, `stop_hhmm`. Timezone validated at load; `_tz_cache` reused per tick. Boundary crossings log `market_open` / `market_closed` and notify once. Startup in-window is silent.
|
||||
|
||||
## Phase-skip backstop
|
||||
|
||||
`[options.alerts] fire_on_phase_skip = true` (default) — ARMED→light_* direct (dark_* missed) still emits a `⚠️ PHASE SKIP` alert using FSM lockout to suppress spam.
|
||||
|
||||
## Skill routing
|
||||
|
||||
When the user's request matches an available skill, ALWAYS invoke it using the Skill
|
||||
|
||||
Reference in New Issue
Block a user