Skip to content

[finding] form-section name: the ui/ census is 7 of 15 across 5 pages, not "three of five" — #10579 missed forms.mdx entirely #10709

Description

@claude

Found while implementing the #10616 docs-audit sweep (member #10579). Filed
separately per that sweep's gate 4 — not folded into the sweep PR.

What #10579 fixed, and what it missed

#10579 states "Three of five form-section examples in ui/ omit name" over
"Four ui/ pages". Its three named sites were real and are fixed in the sweep PR
(views.mdx:53, create-vs-edit-form.mdx:82, public-data-collection.mdx:24).

But the census is wrong. Walking every sections: [ array in content/docs/ui/**
with a multi-line-aware scan (single-line matching is what undercounts — most section
literals in views.mdx and forms.mdx span several lines) gives 15 form-section
examples across 5 pages
, of which 7 omitted name before the sweep.

content/docs/ui/forms.mdx is not mentioned anywhere in #10579, and it carries two of
the nameless ones.

Still nameless on origin/main after the sweep PR

SiteSection label
content/docs/ui/forms.mdx:68Tell us about yourself
content/docs/ui/forms.mdx:328Lead
content/docs/ui/views.mdx:352Basic Information
content/docs/ui/views.mdx:363Details

(Line numbers as of the sweep branch head; views.mdx:352/:363 are the "Basic
Structure" block under ## Form View, which is on the same page as the views.mdx:53
site #10579 called "the one that matters most".)

The contract, unchanged

packages/spec/src/ui/component.zod.ts:825:

name: z.string().optional().describe('Stable section identifier for i18n lookup (snake_case) - resolves `objects.{object}._sections.{name}.label`; a nameless section renders its authored label in every locale'),

.optional() to Zod, load-bearing in practice: omitting it silently opts the section out
of localization, with nothing failing at author, build or runtime.

Why this is a separate card

The sweep's gate 3 is "zero changes outside the listed member sites", so these four could
not be folded in without breaking the per-member checklist the PR is audited against. The
fix is mechanical and identical to the three already made.

forms.mdx was also outside the page list of every other member card, so nothing in the
wave covers it.

Back-link: #10616, #10579


Generated by Claude Code

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions