docs: session handoff 47 + M4 update — DSL→SQL echo Phase 1 (Bucket A) done
This commit is contained in:
+23
-13
@@ -120,19 +120,29 @@ handoff-14 cleanup; 449 after B2/C2.)
|
||||
one-shot advanced escape (with the prompt label updated). The
|
||||
`mode simple` / `mode advanced` command switches modes
|
||||
persistently.
|
||||
- [~] **M4** Execution-time mode side-channel — deferred, awaiting
|
||||
its own ADR (ADR-0033 Amendment 3). Every command should know, at
|
||||
execution time, which of three modes it ran under — `simple`,
|
||||
`advanced`, or `advanced-one-shot` (the `:` escape) — so execution
|
||||
can adjust *output* without changing command *identity* (e.g. a
|
||||
simple-mode `create table` echoing the generated SQL when run in
|
||||
advanced mode, silent in simple). Today only the *rendering*
|
||||
side-channel exists (`OutputLine.mode_at_submission`); the `Mode`
|
||||
enum is two-way, the one-shot distinction is collapsed at
|
||||
submission, and neither `Action::ExecuteDsl` nor the worker carries
|
||||
any mode. The work widens `Mode` to three-way and threads it
|
||||
through the `Action` → worker interface. Not required for Phase 3
|
||||
dispatch correctness; tracked here so it is not lost.
|
||||
- [x] **M4** Execution-time mode side-channel — **implemented** via
|
||||
ADR-0037 (the channel) and its motivating consumer ADR-0038 (the
|
||||
DSL → SQL teaching echo). Every command knows, at execution time,
|
||||
which of three modes it ran under — the three-way
|
||||
`EffectiveMode` { `Simple`, `AdvancedPersistent`,
|
||||
`AdvancedOneShot` } resolves at submit time and threads through
|
||||
`Action::ExecuteDsl` → runtime; the persistent `Mode` enum stays
|
||||
two-way (the transient one-shot `:` lives on the channel where it
|
||||
belongs, not in persistent state). The runtime gates the
|
||||
ADR-0030 §10 teaching echo on it: a DSL-form command run in
|
||||
advanced/one-shot mode renders the equivalent advanced-mode SQL
|
||||
beneath `[ok]`; simple-mode and SQL-entered submissions stay
|
||||
silent. Echo coverage progress: **Bucket A complete** (Phase 1 —
|
||||
single-statement DDL + `show data` + `--all-rows` fall-throughs,
|
||||
every row round-tripped per ADR-0038 §1; handoff-47);
|
||||
**Bucket B** (resolved-name + multi-line echoes — `add index`,
|
||||
relationship add/drop, `drop column --cascade`,
|
||||
`add relationship --create-fk`) and **category-3 prose**
|
||||
(`shortid` generation, type-conversion transforms,
|
||||
`change column --dont-convert` caveat) are deferred to Phase
|
||||
2 / Phase 3 per ADR-0038 §8. The de-emphasised styled-runs
|
||||
rendering polish (ADR-0038 §4 / ADR-0028) is also still pending —
|
||||
the echo currently surfaces as a plain `[system]` line.
|
||||
|
||||
## App-level commands (per ADR-0003)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user