Skip to content
This repository was archived by the owner on Nov 4, 2026. It is now read-only.

Commit ecfb693

Browse files
os-warrenclaude
andauthored
fix(types): drop stale source-line citations from 11 published describe() strings (#8822)
form.zod.ts (9) / layout.zod.ts (2): remove the `NAME.ext:NNN` address from each published .describe() string (#8478). Each was either trimmed to its author-useful sentence (the line address removed, with no loss), or rewritten to cite the same fact by identifier/behavior instead of file:line (e.g. "sets `required` on the Radix Checkbox and gates the label's `*` marker" instead of "read at renderers/form/checkbox.tsx:45 ... and :49"). Two of the eleven addresses removed had already drifted by exactly +3 lines: checkbox.tsx:45/:49 (actual sites now :48/:52) and text.tsx:162,167 (actual sites now :165/:170). This drift evidence is reported back on the card, not acted on here. Text only: no accept-set, key, or shape change. The remaining 6 addresses (zod/complex.zod.ts) are out of scope for this commit — held by another in-flight PR at claim time — so the tracking card does not close here; card relationship is declared once, in the PR body. Claude-Session: https://claude.ai/code/session_01Jmxdo7bmeqCQHLSfmLVX9w Co-authored-by: Claude <noreply@anthropic.com>
1 parent 05d7a37 commit ecfb693

3 files changed

Lines changed: 35 additions & 11 deletions

File tree

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
'@object-ui/types': patch
3+
---
4+
5+
Remove stale source-line citations (`NAME.ext:NNN`) from eleven published `.describe()`
6+
schema descriptions in `packages/types/src/zod/form.zod.ts` (9) and
7+
`zod/layout.zod.ts` (2) (objectstack-ai/objectui#8478).
8+
9+
Text only — no accept-set, key, or shape change. Each description was either trimmed to
10+
its author-useful sentence with no loss (e.g. dropping "read at
11+
renderers/form/file-upload.tsx:78" from an "appended to the renderer's own grid classes"
12+
sentence that stands on its own), or rewritten to cite the same fact by identifier or
13+
behavior instead of by file:line (e.g. "sets `required` on the Radix Checkbox and gates
14+
the label's `*` marker" instead of "read at renderers/form/checkbox.tsx:45 ... and :49"),
15+
which survives a line renumbering that a bare address would not.
16+
17+
Two of the eleven addresses removed here were measured to have already drifted by the
18+
same +3 lines: `checkbox.tsx:45`/`:49` (actual `required=` site now `:48`, actual `*`
19+
marker site now `:52`) and `text.tsx:162,167` (actual `{schema.content}` sites now
20+
`:165`/`:170`). Filed back on objectstack-ai/objectui#8478 as further drift evidence for
21+
its own pre-committed p3-to-p2 re-grade trigger.
22+
23+
The remaining 6 addresses (`zod/complex.zod.ts`) stay out of scope for this PR — held by
24+
in-flight PR objectstack-ai/objectui#8799 — and the card does not close here.

‎packages/types/src/zod/form.zod.ts‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ export const TextareaSchema = BaseSchema.extend({
252252
description: z.string().optional().describe('Help text'),
253253
error: z.string().optional().describe('Error message'),
254254
wrapperClass: z.string().optional()
255-
.describe('Classes on the wrapper div around the textarea and its label, read at renderers/form/textarea.tsx:37 — `cn("grid w-full gap-1.5", schema.wrapperClass)` (objectui#7722)'),
255+
.describe('Classes on the wrapper div around the textarea and its label (objectui#7722)'),
256256
onChange: handlerKeyRefusal('onChange', 'runtime-slot', 'Change handler'),
257257
maxLength: z.number().optional().describe('Maximum length'),
258258
});
@@ -272,7 +272,7 @@ export const SelectSchema = BaseSchema.extend({
272272
description: z.string().optional().describe('Help text'),
273273
error: z.string().optional().describe('Error message'),
274274
wrapperClass: z.string().optional()
275-
.describe('Classes on the wrapper div around the trigger and its label, read at renderers/form/select.tsx:45 — `cn("grid w-full items-center gap-1.5", schema.wrapperClass)` (objectui#7722)'),
275+
.describe('Classes on the wrapper div around the trigger and its label (objectui#7722)'),
276276
onChange: handlerKeyRefusal('onChange', 'runtime-slot', 'Change handler'),
277277
});
278278

@@ -286,9 +286,9 @@ export const CheckboxSchema = BaseSchema.extend({
286286
defaultChecked: z.boolean().optional().describe('Default checked state'),
287287
checked: z.boolean().optional().describe('Controlled checked state'),
288288
required: z.boolean().optional()
289-
.describe("Required affordance, read at renderers/form/checkbox.tsx:45 (`required=` on the Radix Checkbox) and :49 (gates the label's `*` marker) (objectui#6150)"),
289+
.describe("Required affordance — sets `required` on the Radix Checkbox and gates the label's `*` marker (objectui#6150)"),
290290
wrapperClass: z.string().optional()
291-
.describe('Classes on the wrapper div around the box and its label, read at renderers/form/checkbox.tsx:36 — `cn("flex items-center space-x-2", schema.wrapperClass)` (objectui#6938)'),
291+
.describe('Classes on the wrapper div around the box and its label (objectui#6938)'),
292292
description: z.string().optional().describe('Help text'),
293293
error: z.string().optional().describe('Error message'),
294294
onChange: handlerKeyRefusal('onChange', 'runtime-slot', 'Change handler'),
@@ -321,7 +321,7 @@ export const SwitchSchema = BaseSchema.extend({
321321
checked: z.boolean().optional().describe('Controlled checked state'),
322322
description: z.string().optional().describe('Help text'),
323323
wrapperClass: z.string().optional()
324-
.describe("Classes on the wrapper div around the switch and its label, read at renderers/form/switch.tsx:26 — `flex items-center space-x-2 ${schema.wrapperClass || ''}` (objectui#7722)"),
324+
.describe("Classes on the wrapper div around the switch and its label (objectui#7722)"),
325325
onChange: handlerKeyRefusal('onChange', 'retired', 'Change handler'),
326326
});
327327

@@ -363,9 +363,9 @@ export const FileUploadSchema = BaseSchema.extend({
363363
name: z.string().optional().describe('Field name for form submission'),
364364
label: z.string().optional().describe('Upload label'),
365365
buttonText: z.string().optional()
366-
.describe('Drop-zone label, read at renderers/form/file-upload.tsx:123 — `schema.buttonText || "DROP PAYLOAD OR CLICK TO UPLOAD"` (objectui#6150)'),
366+
.describe('Drop-zone label; falls back to "DROP PAYLOAD OR CLICK TO UPLOAD" when unset (objectui#6150)'),
367367
wrapperClass: z.string().optional()
368-
.describe('Outer wrapper classes, appended to the renderer\'s own grid classes at renderers/form/file-upload.tsx:78 (objectui#6150)'),
368+
.describe('Outer wrapper classes, appended to the renderer\'s own grid classes (objectui#6150)'),
369369
accept: z.string().optional().describe('Accepted file types'),
370370
multiple: z.boolean().optional().describe('Allow multiple files'),
371371
maxSize: z.number().optional().describe('Maximum file size (bytes)'),
@@ -391,7 +391,7 @@ export const DatePickerSchema = BaseSchema.extend({
391391
description: z.string().optional().describe('Help text'),
392392
error: z.string().optional().describe('Error message'),
393393
wrapperClass: z.string().optional()
394-
.describe("Classes on the wrapper div around the popover trigger and its label, read at renderers/form/date-picker.tsx:35 — `grid w-full max-w-sm items-center gap-1.5 ${schema.wrapperClass || ''}` (objectui#7722)"),
394+
.describe("Classes on the wrapper div around the popover trigger and its label (objectui#7722)"),
395395
onChange: handlerKeyRefusal('onChange', 'runtime-slot', 'Change handler'),
396396
});
397397

@@ -724,7 +724,7 @@ export const InputShorthandSchema = InputSchema.omit({ type: true, inputType: tr
724724
// second ledger row for a key that is demonstrably read; shrinking the existing
725725
// row is `InputSchema`'s own repair (objectui#7722's family) and not this card's.
726726
wrapperClass: z.string().optional()
727-
.describe("Classes on the wrapper div around the input and its label, read at renderers/form/input.tsx:42 — `cn('grid w-full items-center gap-1.5', schema.wrapperClass)`"),
727+
.describe("Classes on the wrapper div around the input and its label"),
728728
});
729729

730730
/**

‎packages/types/src/zod/layout.zod.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ export const TextSpanSchema = BaseSchema.extend({
9393
export const TextSchema = BaseSchema.extend({
9494
type: z.literal('text'),
9595
content: z.string().optional()
96-
.describe('Text content — the one content spelling `text` reads, at renderers/basic/text.tsx:162,167 as `{schema.content}` (declared by objectui#6150; its `value` fallback spelling was retired by objectui#6951)'),
96+
.describe('Text content — the one content spelling `text` reads (declared by objectui#6150; its `value` fallback spelling was retired by objectui#6951)'),
9797
// ADR-0049 RETIREMENT TOMBSTONE (objectui#6951 / objectui#7016, maintainer
9898
// ruling A1 of 2026-09-04). `value` was the second spelling of the one
9999
// content slot; the renderer now reads `content` alone, so a plain deletion
@@ -552,7 +552,7 @@ export const HtmlElementSchema = BaseSchema.extend({
552552
children: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).optional()
553553
.describe('Child components — read as `schema.children ?? schema.body`; ignored for the void tags `img` / `hr` / `br`'),
554554
href: z.string().optional()
555-
.describe('`a` link target; scheme-sanitised at html-elements.tsx:74 (`javascript:` / `data:` / `vbscript:` are dropped)'),
555+
.describe('`a` link target; scheme-sanitised (`javascript:` / `data:` / `vbscript:` are dropped)'),
556556
target: z.string().optional().describe('`a` browsing context — an internal link navigates through the SPA router unless this names another target'),
557557
rel: z.string().optional().describe('`a` link relationship'),
558558
title: z.string().optional().describe('Advisory title — declared for `a`, `img` and `abbr`'),

0 commit comments

Comments
 (0)