migrate ADRs into D/R records; delete docs/ADRs/
Lift docs/ADRs/0001-0006 into decisions/: 0001 → D-001 (CLI-first, not MCP) 0002 → R-002 (Go sidecar; superseded by D-005) 0003 → D-003 (pql as supporter tool; wrap, don't duplicate) 0004 → D-004 (ignore file strategy) 0005 → D-005 (Dart core; sidecar dissolved; ptyc as pql-peer) 0006 → D-006 (CLI and event surface contract) ADR 0006's trailing open-questions footer migrates to questions-architecture.md as Q-001 / Q-002 / Q-003 (already landed in the scaffold commit). Titles preserved verbatim; cross-references updated to the new anchor-link style. docs/ADRs/ deleted — originals remain in git history. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,11 @@ future reference.
|
||||
|
||||
---
|
||||
|
||||
### R-002: Go sidecar
|
||||
- **Rejected:** 2026-04-20 (was ADR 0002; superseded by [D-005](architecture.md#d-005-dart-core-ptyc-peer))
|
||||
- **Reason:** The ADR picked Go on two premises — (a) the heavy work belongs in a language separate from the UI layer, and (b) pql is Go so muscle memory transfers. Both broke on reassessment. The sidecar stripped of PTY is I/O-bound glue that `dart:io` covers cleanly (unix sockets, JSON-lines framing, process tables, shell-outs). The real axis was *separate process vs shared language*, not Go vs Rust, and separate-process is what matters (session persistence needs the daemon to outlive the app), not language. PTY is the one place Dart is genuinely weak — Dart's multi-threaded VM can't safely `fork()` — and that single constraint forces a native helper regardless, independent of whether the rest of the core is Dart. Once a small native helper is accepted, the question "does *everything else* need to be in that same native language" answers itself: no. Go sidecar directory dissolved; `ptyc` (C, PTY-only, pql-peer) is the surviving native supporter tool.
|
||||
- **Cross-reference:** [D-005](architecture.md#d-005-dart-core-ptyc-peer)
|
||||
|
||||
### R-003: `MaterialApp` root
|
||||
- **Rejected:** 2026-04-21
|
||||
- **Reason:** Dragged in Material theming, default icons, and platform chrome that fought the custom three-tier theme pipeline ([D-009](architecture.md#d-009-three-tier-theme-pipeline)). Every bundled theme had to override Material defaults to look like clide; the overrides were visible in widget tests as "why is this `ElevatedButton` colored this way."
|
||||
|
||||
Reference in New Issue
Block a user