ADR-0027: existing-cases sweep + docs (step F)
Sweep: input_verdict tests confirm the schema-existence check fires across the identifier-taking commands — unknown table on drop / show / add column, unknown column on drop column / update — and that known references stay clean. The Step B check is grammar-generic, so this is verification + coverage rather than new code. Docs: requirements.md S6 -> [x], baseline 1096; CLAUDE.md deferred list reconciled (C5a and S6 are done — removed); ADR-0026's as-built note updated (step 5 shipped via ADR-0027); ADR-0027 gains an As-built notes section recording the post-walk diagnostics realization, the pre-rendered message, the timeout-based debounce, coarse WARNING spans, and the deferred highlight/hint wiring.
This commit is contained in:
@@ -462,19 +462,20 @@ choices, and where they deviate from the design sketch above:
|
||||
column's type, exactly as the pre-ADR `where col = val`
|
||||
slot did. The operand grammar carries no validators —
|
||||
permissive per §7.
|
||||
- **Step 5 deferred to ADR-0027.** The §7 *behaviour*
|
||||
relaxation is done: `bind_where_literal` binds a
|
||||
type-mismatched WHERE literal by its syntactic shape, and
|
||||
the pre-ADR bind-time rejection is gone. The §7
|
||||
*diagnostic flagging* — surfacing a type-mismatched
|
||||
comparison or `= NULL` as an error-class highlight + hint
|
||||
— is the seam with ADR-0027, which designs the walker
|
||||
diagnostics-severity model that flagging belongs in (and
|
||||
whose WARNING severity is defined to have "no triggers
|
||||
until ADR-0026 is implemented"). Building the flagging as
|
||||
a standalone mechanism first would be reworked by
|
||||
ADR-0027; the recommendation is to implement it as the
|
||||
first triggers of ADR-0027's model.
|
||||
- **Step 5 — done, as part of ADR-0027.** The §7
|
||||
*behaviour* relaxation landed with steps 1–4:
|
||||
`bind_where_literal` binds a type-mismatched WHERE literal
|
||||
by its syntactic shape, and the pre-ADR bind-time
|
||||
rejection is gone. The §7 *diagnostic flagging* — a
|
||||
type-mismatched comparison or `= NULL` as a flagged
|
||||
finding — was folded into ADR-0027's walker
|
||||
diagnostics-severity model rather than built as a
|
||||
standalone mechanism (ADR-0027's WARNING severity is
|
||||
defined to have "no triggers until ADR-0026 is
|
||||
implemented" — those triggers are exactly these). It
|
||||
surfaces as a `Severity::Warning` `Diagnostic`, computed
|
||||
post-walk from the built `Expr` against the table's
|
||||
column types — see ADR-0027.
|
||||
|
||||
## See also
|
||||
|
||||
|
||||
Reference in New Issue
Block a user