feat(run): arm + prime alerts, mid-session catchup, late-start guard
Notify on IDLE→ARMED and ARMED→PRIMED so the user gets staged warnings before FIRE. If atm run starts mid-cycle on dark_green/dark_red, synth a catchup arm so the prime alert still fires (audit tagged catchup:true). If it starts on light_green/light_red, emit one late_start warn and skip the FSM feed — FIRE already passed. Extracted _handle_tick() as a pure helper (takes fsm + duck-typed notifier/audit Protocols) so the dispatch is unit-testable without mocking FanoutNotifier. 9 new tests cover arm, prime, refresh silence, catchup synth-arm (+ audit), and late-start on both directions. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
12
TODOS.md
12
TODOS.md
@@ -23,6 +23,18 @@ Standalone helper `atm dump --duration 4h --dir samples/` that just captures fra
|
||||
|
||||
Expand README with concrete Windows Task Scheduler XML export + import steps, example triggers for 16:30→18:30 and 21:00→23:00, and DST-change checklist reminder.
|
||||
|
||||
## P2-alert-mute-flags
|
||||
|
||||
Per-kind mute toggles for notifications in case arm/prime turn out too noisy in live sessions:
|
||||
|
||||
- `cfg.notify.arm: bool = true`
|
||||
- `cfg.notify.prime: bool = true`
|
||||
- `cfg.notify.late_start: bool = true`
|
||||
|
||||
Default all true. Gate each `notifier.send()` in `_handle_tick()` on the flag. Start after 3+ live sessions confirm the signal/noise ratio.
|
||||
|
||||
Blocked on: Faza 1 baseline evidence.
|
||||
|
||||
## P3-faza2-exec
|
||||
|
||||
Auto-execution on TradeLocker. Blocked on TOS audit (see `docs/phase2-prop-firm-audit.md`). Not started until GO decision + 20+ Faza 1 sessions.
|
||||
|
||||
Reference in New Issue
Block a user