docs: reconcile requirements/CLAUDE.md with shipped reality (high-confidence)

Flip stale Phase-1 checkboxes whose capability is clearly delivered:
M1/M2/M3 (modes), Q1/Q2 (SQL subset — shipped via the unified walker, not
sqlparser-rs), TT1/TT2/TT3 (test tiers 1–3) → [x]; TT4 (PTY e2e, critical
flows only) → [~].

Fix stale CLAUDE.md claims: the stack no longer uses chumsky (DSL) or a
reserved sqlparser-rs (SQL) — both retired (ADR-0024 §migration Phase F);
the DSL and advanced-mode SQL are both parsed by the unified grammar
walker (ADRs 0024 / 0030–0036). Corrects the stack note, drops the
now-done "SQL handling in advanced mode" deferred bullet, and updates the
parser.rs layout comment.

Lower-confidence items (C1 rename, A1, I1a, I3, I4, T3, V2, export/import,
resume) left for a dedicated per-item reconciliation pass (handoff-45 §5).
This commit is contained in:
claude@clouddev1
2026-05-27 14:31:52 +00:00
parent 35e1963ad0
commit 2bcc55f939
2 changed files with 17 additions and 15 deletions
+8 -6
View File
@@ -22,9 +22,13 @@ new ADR that supersedes the old one.
Current decisions at a glance (each backed by an ADR): Current decisions at a glance (each backed by an ADR):
- **Stack:** Rust + Ratatui + Crossterm; `sqlparser-rs` reserved - **Stack:** Rust + Ratatui + Crossterm; both the DSL and
for SQL (advanced mode, not yet wired); `chumsky` for the DSL; advanced-mode SQL are parsed by a single hand-rolled
`rusqlite` for the database (ADR-0001). grammar/walker (ADR-0024's unified grammar tree; SQL added by
ADRs 00300036) — superseding ADR-0001's original plan of
`chumsky` for the DSL + a reserved `sqlparser-rs` for SQL
(neither is a dependency now); `rusqlite` for the database
(ADR-0001).
- **Backend:** SQLite with `STRICT` tables and FK enforcement on - **Backend:** SQLite with `STRICT` tables and FK enforcement on
(ADR-0002). Database access through a dedicated worker thread (ADR-0002). Database access through a dedicated worker thread
with mpsc/oneshot request channels (ADR-0010). with mpsc/oneshot request channels (ADR-0010).
@@ -116,7 +120,7 @@ Current decisions at a glance (each backed by an ADR):
│ │ ├── action.rs # ReferentialAction enum + parsing │ │ ├── action.rs # ReferentialAction enum + parsing
│ │ ├── command.rs # Command AST + RelationshipSelector + RowFilter │ │ ├── command.rs # Command AST + RelationshipSelector + RowFilter
│ │ ├── mod.rs # re-exports │ │ ├── mod.rs # re-exports
│ │ ├── parser.rs # chumsky grammar (all DSL commands) │ │ ├── parser.rs # parse entry point → unified-grammar walker
│ │ ├── shortid.rs # base58 generator + validator │ │ ├── shortid.rs # base58 generator + validator
│ │ ├── types.rs # user-facing Type enum + fk_target_type │ │ ├── types.rs # user-facing Type enum + fk_target_type
│ │ └── value.rs # Value/Bound + per-type validation │ │ └── value.rs # Value/Bound + per-type validation
@@ -188,8 +192,6 @@ not yet implemented:
14 of ADR-0015). Pending pieces: `export` / `import` (Iter 14 of ADR-0015). Pending pieces: `export` / `import` (Iter
5), `--resume` + persistent input history hydration + 5), `--resume` + persistent input history hydration +
migration framework scaffold (Iter 6). migration framework scaffold (Iter 6).
- **SQL handling in advanced mode** (Q1): `sqlparser-rs` parser
+ a defined SQL subset (Q4 — its own ADR).
- **Column drops/renames/type changes** (B2 / C2 partial): the - **Column drops/renames/type changes** (B2 / C2 partial): the
rebuild-table primitive (ADR-0013) is in place; the grammar rebuild-table primitive (ADR-0013) is in place; the grammar
and dispatch are pending. and dispatch are pending.
+9 -9
View File
@@ -111,12 +111,12 @@ handoff-14 cleanup; 449 after B2/C2.)
## Input modes (per ADR-0003) ## Input modes (per ADR-0003)
- [ ] **M1** Simple mode is the default. It accepts DSL data - [x] **M1** Simple mode is the default. It accepts DSL data
commands and the canonical app-level commands; raw SQL is commands and the canonical app-level commands; raw SQL is
rejected with a friendly hint. rejected with a friendly hint.
- [ ] **M2** Advanced mode accepts SQL plus the canonical - [x] **M2** Advanced mode accepts SQL plus the canonical
app-level commands without any sigil. app-level commands without any sigil.
- [ ] **M3** Prefixing a single line with `:` in simple mode is a - [x] **M3** Prefixing a single line with `:` in simple mode is a
one-shot advanced escape (with the prompt label updated). The one-shot advanced escape (with the prompt label updated). The
`mode simple` / `mode advanced` command switches modes `mode simple` / `mode advanced` command switches modes
persistently. persistently.
@@ -213,7 +213,7 @@ handoff-14 cleanup; 449 after B2/C2.)
## SQL handling ## SQL handling
- [ ] **Q1** SQL parsed via `sqlparser-rs`; supported subset is - [x] **Q1** SQL parsed via `sqlparser-rs`; supported subset is
defined (specifics deferred to a future ADR). defined (specifics deferred to a future ADR).
*(Progress: the advanced-mode SQL surface is authored as grammar *(Progress: the advanced-mode SQL surface is authored as grammar
within the unified grammar tree (ADR-0030 / ADR-0024) and parsed by within the unified grammar tree (ADR-0030 / ADR-0024) and parsed by
@@ -260,7 +260,7 @@ handoff-14 cleanup; 449 after B2/C2.)
word completion merge + simple/advanced completion colour; `describe` of word completion merge + simple/advanced completion colour; `describe` of
table-level constraints; self-ref FK pre-submit indicator; CREATE-TABLE table-level constraints; self-ref FK pre-submit indicator; CREATE-TABLE
help/usage refresh). **ADR-0035 Phase 4 (4a4i) is complete.**)* help/usage refresh). **ADR-0035 Phase 4 (4a4i) is complete.**)*
- [ ] **Q2** Non-standard syntax rejected with a clear message - [x] **Q2** Non-standard syntax rejected with a clear message
pointing at the supported subset. pointing at the supported subset.
*(Design done — ADR-0030 §8: out-of-subset statements are *(Design done — ADR-0030 §8: out-of-subset statements are
refused with an engine-neutral message naming the construct. refused with an engine-neutral message naming the construct.
@@ -553,14 +553,14 @@ handoff-14 cleanup; 449 after B2/C2.)
## Testing (per ADR-0008) ## Testing (per ADR-0008)
- [ ] **TT1** Tier 1: `cargo test` + `proptest` covering - [x] **TT1** Tier 1: `cargo test` + `proptest` covering
pure-logic modules (parser, dispatcher, type mapping, project pure-logic modules (parser, dispatcher, type mapping, project
I/O, snapshot ring buffer, replay log). I/O, snapshot ring buffer, replay log).
- [ ] **TT2** Tier 2: Ratatui `TestBackend` + `insta` snapshots - [x] **TT2** Tier 2: Ratatui `TestBackend` + `insta` snapshots
for representative views. for representative views.
- [ ] **TT3** Tier 3: synthetic event-loop integration tests - [x] **TT3** Tier 3: synthetic event-loop integration tests
covering the user-facing flows in this checklist. covering the user-facing flows in this checklist.
- [ ] **TT4** Tier 4: PTY-based end-to-end for the four critical - [~] **TT4** Tier 4: PTY-based end-to-end for the four critical
flows named in ADR-0008 (cold launch → DDL → quit; save → flows named in ADR-0008 (cold launch → DDL → quit; save →
reopen; export → import → rebuild; undo after DROP). reopen; export → import → rebuild; undo after DROP).
- [ ] **TT5** CI runs all tiers on Linux, macOS, and Windows on - [ ] **TT5** CI runs all tiers on Linux, macOS, and Windows on