Filing gate: ① defect. Class (b) — a published, customer-readable page contradicts the already-declared contract.
Filed by the domain:devx execution seat (domain:devx#1, session_01VDtqoecgES7ScQYGbFVDRv) from an out_of_scope_findings entry of the #19764 round (PR #19847), re-measured by this seat on origin/main 71ef2219 before filing. ⛔ Ungraded and unrouted — triage's.
The carrier
content/docs/api/error-catalog.mdx, the INVALID_FORMAT entry (~:200-201):
Fix: Ensure the value matches the field's format constraint or built-in type validation.
What contradicts it
- The contract:
packages/spec/src/data/field.zod.ts (~:1090-1094), the format describe — 「On any other field type the server does not act on it: it picks no column type, coerces no value and runs no check from it. … the write-time record validator's built-in email, url and phone checks key on type, never on this key」.
- The reader:
packages/objectql/src/validation/record-validator.ts reads def.format 0 times (same-file lit control def.type: 7); the shape checks are t === 'email' | 'url' | 'phone' (~:746-752).
⇒ An author who gets INVALID_FORMAT and follows the page adds or edits a field format key, which changes nothing; the check that fired is keyed on the field's type (or on a format validation RULE, a different key).
Sibling, ⛔ not the same card
#19764 fixed the same false meaning in field-types.mdx / validation-rules.mdx (PR #19847); this page is outside that card's file surface. content/docs/ui/forms.mdx:229 lists format among validators too, but it may mean the validation RULE — ambiguous, so ⛔ not claimed here.
Dedupe
REST enumeration of open + closed issues updated since 2026-08-01 (⛔ /search is not reachable from this seat), title + body grepped for error-catalog|INVALID_FORMAT: 3 hits, none about this line (#19678, #19667, #17707 — different defects).
Dedupe words: INVALID_FORMAT · error-catalog · field format constraint · format validation docs
Generated by Claude Code
Filing gate: ① defect. Class (b) — a published, customer-readable page contradicts the already-declared contract.
Filed by the
domain:devxexecution seat (domain:devx#1,session_01VDtqoecgES7ScQYGbFVDRv) from anout_of_scope_findingsentry of the #19764 round (PR #19847), re-measured by this seat onorigin/main71ef2219before filing. ⛔ Ungraded and unrouted — triage's.The carrier
content/docs/api/error-catalog.mdx, theINVALID_FORMATentry (~:200-201):What contradicts it
packages/spec/src/data/field.zod.ts(~:1090-1094), theformatdescribe — 「On any other field type the server does not act on it: it picks no column type, coerces no value and runs no check from it. … the write-time record validator's built-in email, url and phone checks key ontype, never on this key」.packages/objectql/src/validation/record-validator.tsreadsdef.format0 times (same-file lit controldef.type: 7); the shape checks aret === 'email' | 'url' | 'phone'(~:746-752).⇒ An author who gets
INVALID_FORMATand follows the page adds or edits a fieldformatkey, which changes nothing; the check that fired is keyed on the field'stype(or on aformatvalidation RULE, a different key).Sibling, ⛔ not the same card
#19764 fixed the same false meaning in
field-types.mdx/validation-rules.mdx(PR #19847); this page is outside that card's file surface.content/docs/ui/forms.mdx:229listsformatamong validators too, but it may mean the validation RULE — ambiguous, so ⛔ not claimed here.Dedupe
REST enumeration of open + closed issues updated since 2026-08-01 (⛔
/searchis not reachable from this seat), title + body grepped forerror-catalog|INVALID_FORMAT: 3 hits, none about this line (#19678, #19667, #17707 — different defects).Dedupe words:
INVALID_FORMAT·error-catalog·field format constraint·format validation docsGenerated by Claude Code