Skip to content

Commit 2b4ded2

Browse files
dmealingclaude
andcommitted
docs(changelog): record the second round of cold-review fixes
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M1mRRB1K2WdYy82kntMQdx
1 parent ffd5d56 commit 2b4ded2

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)