added rules from failures

This commit is contained in:
2026-09-01 15:33:36 -04:00
parent c0c770bcd2
commit 0e55edf917
3 changed files with 9093 additions and 1 deletions

File diff suppressed because one or more lines are too long

View File

@@ -45,7 +45,10 @@ Response: planId `spy-<epoch-ms>`, status draft in PLANS/. SPY-level triggers go
- **Main-chat "arm" CANNOT fire the card.** The Arm card exists ONLY in the Live Trading window's own MARI chat. Member types `arm <planId>` THERE → card renders → Arm click (preflight auto-runs) → Enter. - **Main-chat "arm" CANNOT fire the card.** The Arm card exists ONLY in the Live Trading window's own MARI chat. Member types `arm <planId>` THERE → card renders → Arm click (preflight auto-runs) → Enter.
- MARI waits via `await_event` (revision change), never sleep-polling; plan-ready message carries planId + the literal arm line so the paste is 5 seconds. - MARI waits via `await_event` (revision change), never sleep-polling; plan-ready message carries planId + the literal arm line so the paste is 5 seconds.
- **NEVER fake arming from main chat** (`update_plan status:"open"` skips preflight/stream verify — dangerous). Main-window MARI cannot arm; the cockpit orchestrator owns execution. - **NEVER fake arming from main chat** (`update_plan status:"open"` skips preflight/stream verify — dangerous). Main-window MARI cannot arm; the cockpit orchestrator owns execution.
- **Stale-kill:** if not armed by the entry-window deadline → `ttg_trade_workflow_discard_plan` (verified live twice 9/1), stand down, never manage a dead window, never chase the bounce afterward. - **Stale-kill:** if not armed by the entry-window deadline → `ttg_trade_workflow_discard_plan` (verified live 3× on 9/1), stand down, never manage a dead window, never chase the bounce afterward.
- **Post-flight rule (added 9/1 14:31, after third un-armed discard):** stale-kill ends the flight. Debrief question AFTER the kill, never mid-flight: was the member in the cockpit at plan-ready? (a) Yes + arm line didn't render → platform delta, fold into §3. (b) No → handshake breach: "go" means member is IN the cockpit chat at that moment. MARI never asks mid-flight, never re-stages on a spent "go" — re-stage only on the member's renewed go.
- **ARM RENDER CONFIRMED 9/1 14:38 (debrief):** cockpit paste → card DID render, with lag ("eventually"). The 3rd kill was a RACE: card in flight when the deadline hit. Fix = paste-confirm handshake: plan-ready message asks for one-word reply "pasted" in MAIN chat the moment the arm line is in the cockpit chat. "Pasted" ⇒ kill deadline extends +2 min (render-lag budget: card render + Arm click + preflight). No "pasted" by deadline ⇒ kill stands, no renegotiation.
- **Card-after-kill:** if the Arm card renders after a stale-kill, the plan is already discarded (discard is authoritative; verified status=draft at kill). DO NOT click Arm — dismiss/ignore the card. No orders can exist; flat is guaranteed.
## 4. Manage (standing protocol — member directives, encode in rationale every time) ## 4. Manage (standing protocol — member directives, encode in rationale every time)
1. On fill: verify BOTH working and filled orders. Stop must read **SELL TO CLOSE <qty>** — never sell-to-open, never a short entry. 1. On fill: verify BOTH working and filled orders. Stop must read **SELL TO CLOSE <qty>** — never sell-to-open, never a short entry.