Short, immutable records of significant architectural decisions — the why behind choices that audits and new contributors keep re-asking about. Supersede an old decision with a new ADR rather than editing history.
| # | Title | Status |
|---|---|---|
| 0001 | State-management boundaries: Redux Toolkit vs Zustand | Accepted |
| 0002 | Local-AI stack layering and fallback chain | Accepted |
| 0003 | WorkerBus v2 hybrid routing and the Rust TaskSupervisor | Accepted |
| 0004 | CSP connect-src and the BYOK https: tradeoff |
Accepted |
| 0005 | WebLLM inference offloaded to a dedicated WorkerBus v2 pool | Accepted |
| 0006 | (reserved, never issued) | Superseded / void |
| 0007 | Plugin Sandbox Model | Accepted |
| 0008 | Local-first data model: Yjs document as source of truth | Accepted |
| 0009 | XState for complex workflow orchestration (Redux + RTK Query + XState) | Accepted |
| 0010 | Self-hosted LanguageTool grammar checking via the editor overlay | Accepted |
| 0011 | AI heuristic fallbacks via a registry + provider-layer seam | Accepted |
| 0012 | Local AI server connectivity: route localhost HTTP through the Tauri HTTP plugin | Accepted |
| 0013 | CSP 'wasm-unsafe-eval' and frame-src blob: |
Accepted |
| 0014 | Two live worker generations (v1 and WorkerBus v2) | Superseded by 0015 |
| 0015 | Worker-generation consolidation: v1 retired, WorkerBus v2 is the sole generation | Accepted |
| 0016 | Native Grok provider + split Claude fix (desktop native-HTTP, web serverless proxy) | Accepted |
| 0017 | Opt-in direct browser→Ollama connection in the web/PWA build | Accepted |
| 0018 | IndexedDB encryption lifecycle and recovery | Accepted |
| 0019 | CEF as the next-generation WorldScript Studio desktop runtime | Superseded by 0021 |
| 0020 | CEF integration choice — thin C++ host + Rust core (Option B) | Superseded by 0021 |
| 0021 | Qt 6 + GPUI native desktop strategy; CEF retired | Accepted |
| 0022 | Bounded pre-G2 Qt qualification harness | Accepted clarification of 0021 |
Format: Context → Decision → Consequences (incl. rejected alternatives). Keep each ADR to one
decision. Link related records with [[slug]].