Option Cockpit (M2 + Phase 2 Council)
The Option Cockpit (/cockpit) is the operator surface for the option workspace. It composes seven sections in a fixed order: an operator status header (mode pill, mode radiogroup, auth pill, updated timestamp), an optional nine-state recovery banner, a safety & readiness grid (risk envelope, go-live, broker health, token health, portfolio Greeks, market indices), a Decision Battle section (advisory, GLOBAL ADVISORY / OBSERVE ONLY — the Options Strategy Council's latest recommendation compared with the deterministic MDC decision), a windowed performance section with PARTIAL / UNAVAILABLE disclosure (unavailable tiles are dimmed with an inline reason), a positions table (client-side "Load more" pagination), and a recent-activity section with closed / failed / aborted tabs (cursor-paginated). A help banner at the top explains that the cockpit is a read-only operator monitor and that the mode radiogroup is a data filter only.
The cockpit is read-only. The LIVE / DRY_RUN / SHADOW radiogroup is a data filter only; it never enables live trading. The HTTP client used by the cockpit subtree is GET-only; the targeted safety check npm run safety:cockpit enforces this in CI, including the Decision Battle section.
Endpoints consumed by the cockpit
GET /api/options/v2/performance(windowed aggregate; canonicalOptionsPerformanceResponseV2;window.start_dateandwindow.end_dateare nullable)GET /api/options/v2/positions(mode-filtered open rows)GET /api/options/v2/activity(CLOSED / FAILED / ABORTED, cursor-paginated)GET /api/options/v2/decision-battle/latest,GET /api/options/v2/decision-battle/summary(Phase 2 Council — see the Options Strategy Council page)GET /api/market/indicesGET /api/go-live/status,GET /api/token/health,GET /api/broker/healthGET /api/safety/portfolio-greeks,GET /api/envelope/state,GET /api/reconciliation/logWS /ws/live?protocol_version=options_cockpit_ws_v2
Recovery states
loading, empty, partial, unavailable, stale, disconnected, rest_fallback, unauthorized, error.
GLOBAL ADVISORY / OBSERVE ONLY — it explains and compares the Options Strategy Council's latest recommendation against MDC's selection, and never renders an execution or settings control. The full per-cycle gate/scanner/execution evidence ledger remains on the separate, existing /battle read-only surface described on the Decision Battle page; this Cockpit section deep-links there. See the Options Strategy Council page for the Council's own contracts, safety boundary, and rollback plan.