Production Checklist
Mirrored from
docs/*.md in the Aegis repositoryAEGIS PRODUCTION CHECKLIST — Live Production Roadmap » **Purpose:** A single tracking file for what is production-ready vs. what isn't. Updated at the end of **every** completed slice. » **Legend:** ✅ production-ready · 🟡 working-but-not-production · ⚪ not started · 🔴 blocking issue. » **Rule:** A slice is only promoted to ✅ when it is runtime + domain + SDK + UI + events + testing + error-handling + documented, and passes `npx tsx scripts/verify-architecture.ts`. --- STATUS Capability | Status | Last updated | Notes / next step **Broker Auth Platform** | ✅ | 2026-08-06 | **Sprint 10**: one OAuth callback endpoint for every broker/app (`/auth/broker/callback`), signed expiring state (HMAC-SHA256, nonce, 10-min TTL) routing to the originating app + workflow, platform-owned sessions (per app+broker, IndexedDB + memory fallback), reconnect/expiry logic (Kite 06:00 IST daily), Kite `redirect_params` + standard `state` transports, `createPlatformBrokerStorage` adapter for the broker runtime, FlipTrade registered (prod untouched, migration documented in `docs/BROKER_AUTH_PLATFORM.md`), legacy `/auth/callback` alias forwarlegacy `/auth/callback` alias forwards; **platform also owns the WebSocket lifecycle** (`WebSocketLifecycle`: reconnect backoff+jitter, staleness, resubscribe) **and the capability registry** (`brokerCapabilityRegistry`, seeded by registerProvider, shared with the runtime). 237 assertions.ds. 229 assertions. **Authentication** | ✅ | 2026-08-06 | **Sprint 9 (user identity)**: create account / sign in (PBKDF2-hashed passcode, never stored raw), expiring session tokens, AuthGate protected routes, first-time onboarding gate, returning-user auto-restore, logout — local-first with API seam. + Zerodha OAuth end-to-end: getLoginUrl → Kite login → **auto callback page** (`/auth/callback`) catches request_token → SHA-256 checksum → access_token → **persistent storage**. Sessions auto-restore on boot. TechDebt #2 closed (live flow ready). **Marketplace** | ✅ | 2026-08-06 | **Sprint 11**: ecosystem view over the Broker Platform registries — apps (homeUrl/defaultPath), broker providers (state transport, declared capabilities), capability matrix (✓/— per capability), live connection health dots, platform stats. No broker identity hardcoding — products consume capabilities. **Broker Runtime** | ✅ | 2026-08-05 | Runtime complete + UI-agnostic + perf-checked. Zerodha adapter: OAuth, positions, holdings, orders, capital, margins, history, stream. Groww adapter: capabilities declared. Verification layer: validate shapes, staleness, reconciliation, pipeline health. **Composite broker storage (vault + IndexedDB) + session restore fix.** 84 assertions pass. **Persistence** | ✅ | 2026-08-05 | IndexedDB-backed persistence (rules, preferences, orders) + **broker sessions survive refresh via composite storage**. 5-step guided onboarding added. Closes Operational Readiness blocker #1. **Protection Runtime** | 🟡 | 2026-08-05 | Engine complete (UNKNOWN, suppression, DAG, emergency/safe, dry-run, tracing). **CRITICAL FIX (Sprint 5): protection-as-gate now reads a real ExecutionMode** — previously it cast the protection 'normal/safe/emergency' mode, so the gate never blocked unsafe orders. Decoupled via `execution/mode-store`. 105 assertions. **Mission Control** | 🟡 | 2026-08-04 | Runtime-powered (capital/broker/positions) + Protection widget now live from the engine. Next: add risk timeline + decision timeline widgets (risk-first, Slice 2 completion). **Portfolio** | 🟡 | 2026-08-05 | Runtime-powered + live-quoted P&L + sector exposure + **Portfolio Risk (Sprint 8)**: pairwise correlation matrix (sector-proxied) + scenario stress suite (−2%/−5%/−10% market moves). 128 assertions. **Rule Studio** | 🟡 | 2026-08-04 | Now a real visual compiler (Slice 4): conditions/actions map to domain RuleCondition/RuleAction, compiles to ProtectionRuntime rules, real engine backtest (“Test 30 days” uses ProtectionRuntime.simulate). Verified 14/14. Next: dependency/performance views, drag-reorder. **Sector Exposure** | 🟡 | 2026-08-05 | Symbol → sector metadata + user overrides; per-sector notional/P&L/exposure; concentration awareness in Portfolio view. Website claim now true (Sprint 6). **Trade Journal** | 🟡 | 2026-08-05 | **Sprint 7**: persistent journal (IndexedDB) with reflections (rationale, lessons, tags, rating), stats (win rate, net P&L, top tags), auto-seeds from filled orders. Website claim now true. **Decision Intelligence** | ⚪ | 2026-08-04 | Phase 2 — needs trading data. **Replay** | ⚪ | 2026-08-04 | Requires event history → Decision Replay (Phase 2). **AI** | ⚪ | 2026-08-04 | AI Runtime designed (§9A blueprint); not implemented. **Marketplace** | ⚪ | 2026-08-04 | Plugin loader ready; marketplace index deferred. **Testing** | ✅ | 2026-08-06 | **237-assertion** architecture verify passes (all slivers + restore + observability + realtime + execution-mode + sector + journal + correlation/stress + auth/sessions + **broker-auth platform** + insecure-context + bootstrap). Engine unit tests still not added. **Autonomous Mode** | 🟡 | 2026-08-05 | **Consent flow built (Sprint 5)**: user-selectable execution mode (advisory/assisted/autonomous) in Trading Terminal. Autonomous is consent-gated — must tick ARM checkbox; until armed it safely falls back to assisted. Execution mode persisted + decoupled from protection mode. Website claim now true. **Monitoring / Observability** | 🟡 | 2026-08-05 | Structured logging hub + global error capture + Diagnostics view + ErrorBoundary. 105 assertions (added realtime + execution-mode). External metrics pipeline still future. **Deployment** | ⚪ | 2026-08-04 | Runs locally + `npm start`; no prod deploy pipeline. --- CURRENT FOCUS **Product Maturity Phase:** Feature velocity secondary. Trust is the metric. Sprints 1–9 complete: persistence + onboarding, OAuth + session restore, observability, real-time ticks, autonomous consent + protection-gate fix, sector exposure, trade journal, correlation + scenario stress, **authentication & sessions**. Verifier: 163 assertions + build clean. Next: real broker OAuth live test (needs creds), deployment hardening, multi-device sync. Website claims are the roadmap — build until every claim is true. | --- HOW TO USE • At the end of each slice, update the matching row(s) to their new status and add a short "next step". • Cross off nothing until it is genuinely production-ready. • Archive completion reasoning in `memory/YYYY-MM-DD.md`.
This is a condensed in-app view. The full document lives in the repository at
docs/production_checklist.md.