diff --git a/prod/docs/VIOLET_TODO_CRITICAL.md b/prod/docs/VIOLET_TODO_CRITICAL.md index 0b593aeb..da188600 100644 --- a/prod/docs/VIOLET_TODO_CRITICAL.md +++ b/prod/docs/VIOLET_TODO_CRITICAL.md @@ -57,7 +57,16 @@ The parallel agent reports these DONE; none reviewed for correctness / BLUE-comp exits / SL floor / event-restore / slippage / cadence; review when done. **PASS 4**: `VIOLET_PART_SPEC_OA_TODO_PASS4.md` (issued 2026-06-17) — vol gate / V7 exit wrapper / -economics ledger / exec-intent / alpha data feed / time exits; review when done. +economics ledger / exec-intent / alpha data feed / time exits. **DONE on worktree +`agent/oa-violet4` (/mnt/vp-oa4)** — commits 6996a6a/7c8e524/bbebe58/3920665/f328d3a/b39d8a4. +Review when done. **Caveats to verify in review (flagged in-code as prominent banners + empty +marker commits 57ca851/8624dee/2aad0aa/539ea47):** + - **Task 17 (exec_intent):** `to_exec_intent` needs an EXPLICIT `reference_price` arg — + `ShadowDecision` has notional/exposure but NO price field, so qty can't be derived from a + decision alone. Integration owner threads the live price (PASS-3 `VenueTick`) at wiring time. + - **Task 18 (alpha_data_feed):** intentionally parse/feed-port ONLY — no live NT node / Binance + connection in unit code (NT owns its loop; dummy keys; separate feed process). Live node = the + integration owner's job. Confirm tests aren't vacuous (parse-fixture, not a live connection). **PASS 5**: `VIOLET_PART_SPEC_OA_TODO_PASS5.md` (issued 2026-06-17) — MOCK-BINGX execution stack (exec contracts + QuirkProfile seams / order FSM / mock venue / fill reducer / DARK E2E gate).