claude@clouddev1
5e97f6ac6a
constraints: CHECK-violation friendly error + typing-surface matrix (ADR-0029 §10)
...
Completes ADR-0029's implementation: the friendly-error layer
now names the rule a CHECK violation broke, and the
typing-surface matrix covers the whole constraint grammar.
CHECK-violation friendly error (ADR-0029 §10):
- enrich_dsl_failure gains a CHECK branch — it reads the column
from the engine's `CHECK constraint failed: <column>`
message, then resolves the table, the offending value, and
the column's compiled CHECK expression.
- FailureContext / TranslateContext carry the resolved
check_rule; translate_check renders "the value <v> breaks the
rule `<rule>`" when it is known, falling back to the plain
hint otherwise.
Typing-surface matrix: a new `constraints` submodule, 14 cells
covering the create-table / add-column constraint suffix and
the add-constraint / drop-constraint commands (174 → 188).
16 tests added (1 translate unit, 1 enrichment integration, 14
matrix cells).
2026-05-19 18:54:48 +00:00
..
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-19 18:31:57 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 21:29:54 +00:00
2026-05-15 21:29:54 +00:00
2026-05-15 21:29:54 +00:00
2026-05-15 21:29:54 +00:00
2026-05-15 21:29:54 +00:00
2026-05-15 21:29:54 +00:00
2026-05-15 21:29:54 +00:00
2026-05-15 21:29:54 +00:00
2026-05-19 18:54:48 +00:00
2026-05-19 18:54:48 +00:00
2026-05-19 18:54:48 +00:00
2026-05-19 18:54:48 +00:00
2026-05-19 18:54:48 +00:00
2026-05-19 18:54:48 +00:00
2026-05-19 18:54:48 +00:00
2026-05-19 18:54:48 +00:00
2026-05-19 18:54:48 +00:00
2026-05-19 18:54:48 +00:00
2026-05-19 18:54:48 +00:00
2026-05-19 18:54:48 +00:00
2026-05-19 18:54:48 +00:00
2026-05-19 18:54:48 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-18 21:51:52 +00:00
2026-05-18 21:51:52 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-18 21:51:52 +00:00
2026-05-18 21:51:52 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-18 23:12:33 +00:00
2026-05-18 23:12:33 +00:00
2026-05-15 20:34:01 +00:00
2026-05-18 23:12:33 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-19 12:49:58 +00:00
2026-05-19 12:49:58 +00:00
2026-05-19 12:49:58 +00:00
2026-05-19 12:49:58 +00:00
2026-05-19 12:49:58 +00:00
2026-05-19 12:49:58 +00:00
2026-05-19 12:49:58 +00:00
2026-05-19 12:49:58 +00:00
2026-05-19 12:49:58 +00:00
2026-05-19 12:49:58 +00:00
2026-05-19 12:49:58 +00:00
2026-05-19 12:49:58 +00:00
2026-05-19 12:49:58 +00:00
2026-05-16 00:15:55 +00:00
2026-05-16 00:15:55 +00:00
2026-05-19 18:31:57 +00:00
2026-05-19 18:31:57 +00:00
2026-05-16 00:15:55 +00:00
2026-05-16 00:15:55 +00:00
2026-05-16 00:15:55 +00:00
2026-05-16 00:15:55 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 22:27:53 +00:00
2026-05-15 22:27:53 +00:00
2026-05-15 22:27:53 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 22:27:53 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 22:27:53 +00:00
2026-05-15 20:06:58 +00:00
2026-05-15 20:31:01 +00:00
2026-05-15 21:30:03 +00:00
2026-05-15 20:31:01 +00:00
2026-05-15 20:31:01 +00:00
2026-05-15 21:30:03 +00:00
2026-05-15 21:30:03 +00:00
2026-05-15 21:30:03 +00:00
2026-05-15 20:31:01 +00:00
2026-05-15 20:31:01 +00:00
2026-05-15 20:31:01 +00:00
2026-05-15 21:30:03 +00:00
2026-05-15 21:30:03 +00:00
2026-05-15 20:31:01 +00:00
2026-05-15 20:31:01 +00:00
2026-05-15 21:30:03 +00:00
2026-05-15 20:31:01 +00:00
2026-05-15 22:27:53 +00:00
2026-05-15 22:27:53 +00:00
2026-05-15 22:27:53 +00:00
2026-05-15 22:27:53 +00:00
2026-05-15 22:27:53 +00:00
2026-05-15 22:27:53 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 22:27:53 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 22:27:53 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:50:56 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-18 23:12:33 +00:00
2026-05-18 23:12:33 +00:00
2026-05-15 20:34:01 +00:00
2026-05-15 20:34:01 +00:00
2026-05-18 23:19:53 +00:00
2026-05-18 23:19:53 +00:00
2026-05-18 23:19:53 +00:00
2026-05-18 23:19:53 +00:00
2026-05-18 23:19:53 +00:00
2026-05-19 09:39:58 +00:00
2026-05-18 23:19:53 +00:00
2026-05-18 23:19:53 +00:00
2026-05-18 23:19:53 +00:00