@@ -67,8 +67,41 @@ date/time validators and form input types (see Fixed).
6767 `meta eject` names them as package-only instead of "unknown". ADR-0034 Amendment 3 carries a
6868 dated correction: those eight generators are not ejectable.
6969
70+ - **Generated TypeScript imports value-object types type-only**, so a value object nesting
71+ another compiles under `verbatimModuleSyntax` (a fresh `tsc --init`; it failed with TS1484).
72+ The codegen-compile gate now builds under exactly the options `tsc --init` writes.
73+ - **The response-format prompt fragment shows number and boolean placeholders unquoted, in
74+ every port** (`"averageRating": {averageRating}`). A model following it answered numbers as
75+ strings, which the generated parser then rejected. Generated prompt text changes; the
76+ `output-prompt-conformance` corpus pins the new form.
77+ - **An unexpected error on a `runtime-ts` route answers `500 {"error": "internal"}`** and logs the
78+ detail server-side. Fastify's default body echoed the failed SQL, its column names and bound
79+ parameters to the client.
80+ - **A malformed JSON body answers `400 {"error": "invalid_json"}`** on the `runtime-ts` Fastify
81+ and Hono mounts, scoped to the routes they mount, instead of each framework's own shape.
82+ - **A filter value that cannot be the field's type answers `400 invalid_filter_value`** with
83+ `field`, `op` and `expected` (`filter[publishedOn][gte]=notadate` returned `[]`). The generated
84+ `FilterAllowlist` gains `format` and `enumValues`; run `meta gen` to pick them up.
85+ - **`meta migrate --rename-column` carries a column's CHECK and FK constraints across** instead of
86+ asking for `--allow drop-check` / `--allow drop-fk`: Postgres renames the constraint, SQLite
87+ and D1 rebuild the table with it under the new name. Blocked-change messages are plain text,
88+ never a JSON dump.
89+ - **A child-side relationship silently overriding a parent-side one is reported.** When both
90+ sides of a 1:N are declared with different referential actions (a parent `composition` =
91+ cascade, a child `association` = restrict), the child's wins, by design (ADR-0047). `meta
92+ verify` now names it (`overridden-referential-action`) and `meta migrate` warns, with the fix:
93+ `@onDelete` on the `identity.reference`. The DDL is unchanged.
94+ - **`meta gen --list` describes `output-parser` and `extractor` correctly in every port**: the
95+ parser is a strict parse plus a tolerant `extractLenient`, the extractor is tolerant recovery.
96+ The descriptions had them the other way round.
97+
7098### Changed
7199
100+ - **The generated TypeScript file header no longer says `DO NOT EDIT`.** Hand edits are kept by a
101+ three-way merge on regeneration, and the header now says so, and that `meta verify --codegen`
102+ checks only the generated parts. Regenerating rewrites line 1 of every generated file.
103+ - **The fit assessment's maintainer notes moved to the end of the file**, and the site copy strips
104+ them, so a reader of `assess.md` meets the prompt first.
72105- **Docs: enums sort by their stored value, not by declared order** (a stated known limit in
73106 `docs/features/api-contract.md`).
74107
0 commit comments