Skip to content

spec: register the #11566 maxLength narrowing in the ADR-0087 migration ledger (deferred from the enforcement PR — registry.ts was held) #11950

Description

@claude

Blocked-by: #11566 (the enforcement PR must land first).

What

The #11566 tightening (maxLength → z.number().int().min(1) + refused outside BOUNDED_STRING_FIELD_TYPES) shipped without its ADR-0087 ledger entry: packages/spec/src/migrations/registry.ts was held by the #10724/#11169 family dispatch in the same wave, and the dispatch constraint was explicit — do not touch it. The changeset declares the narrowing (minor, launch-window convention) and names what newly gets rejected; the ledger entry is the missing half.

What the entry owes (the #8321 template, verbatim precedent in step18's rationale)

#8321 (scale/precision int refusal — the same defect class, same file) registered both halves at the next-major step:

Per step18's own text, enforcement ships on the 17.x line (accept-set narrowings ride minors) and the ledger tells migrate meta users at the major boundary — so this deferral is temporally sound, but the entry must exist before that boundary; this card is what keeps it from being the #6048 silence.


Generated by Claude Code

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions