Repository navigation
docs(schema-reference): ObjectGridSchema.sort row reads SortConfig[] only (objectui#10581) - #10621
Conversation
…only
The ObjectGridSchema property table typed `sort` as `string | SortConfig[]`,
teaching the legacy string clause that objectui#8221 retired. The row now
reads `SortConfig[]` and names the retirement in the form the CalendarViewSchema
`view` row already uses for a retired value ("was retired in objectui#N and now
fails validation").
Docs only, under content/ (not a released package): no changeset.
Claude-Session: https://claude.ai/code/session_014mXUNuFomfj24w7s1pZzhN
Co-authored-by: Claude <noreply@anthropic.com>
|
changeset-claim-re-read
|
Contract reviewServed-tier: ① Derived judgmentsDiff scope (measured). The row is true on the face the page declares.
The form. Precedent row is real: Sweep (PR head,
Table well-formedness. Rows 772-786 all carry 3 cells (4 pipes); the new description has no unescaped pipe; ② Semver levelDocs only. PR body, sentence by sentence: before/after rows match the diff; premise items (types :757, zod :242 describe text, ObjectGrid :2182-2209, pin test name "object-grid refuses the legacy string clause") verified; "reports the spelling once with ③ Boundary flags
Implemented-by: VERDICT: PASS Generated by Claude Code |
Fixes #10581
Clause-②: no
Clause-②: no— reference docs stop teaching a refused spelling; no code, export or accept set moves.What changed
One row of
content/docs/api/schema-reference.md, in theObjectGridSchemaproperty table:sort|string \| SortConfig[]| "Default sort configuration."sort|SortConfig[]| "Default sort configuration. The string clause ("name desc") was retired in objectui#8221 and now fails validation."Docs only, under
content/(not a workspace package, not released): no changeset.node scripts/check-changeset-presence.mjsagrees (verdict line below).The retired-row form, and where it was copied from
The row copies the form the same file already uses for a live key whose value lost a member: the
CalendarViewSchematable'sviewrow, which keeps its row, narrows the Type column to what survives, and says ""agenda"was retired in objectui#5740 and now fails validation." The Type-column*retired*/RETIREDform (theBaseSchemabodyrow, therelatedrow) is for a retired KEY;sortis live, so that form does not apply.Premise check (objectui
origin/mainat6c2f3c533)string \| SortConfig[], as the card said.@object-ui/typesdeclaresObjectGridSchema.sortasSortConfig[]on the TypeScript face and asz.array(SortConfigSchema)on the zod mirror (describe text: "array only; the legacy string clause is retired — objectui#8221").typeof schemaSort === 'string'arm inObjectGrid.tsx("the legacy stringsortclause is RETIRED (objectui#8221, decision batch Release v0.2.1 with changeset automation #77) and is REFUSED here rather than lowered") sends no$orderby, andconvertSortToQueryParamsreports the spelling once withconsole.error.packages/types/src/__tests__/sort-string-arm-retired-8221.test.ts, test "object-grid refuses the legacy string clause", assertsObjectGridSchema.safeParsefails onsort: 'name desc'with an issue at pathsort. It ran green at this head (below).Sweep of
content/No other row or example in
content/authors a stringsorton a grid-family node. Searches run: quotedfield asc|descclauses;sort:/"sort":followed by a string or a string array; everysorttable row. What they found:ObjectGridSchemaexample in this file already writes"sort": [{ "field": "name", "order": "asc" }];plugin-grid.mdx,plugin-map.mdx,plugin-gantt.mdxandplugin-view.mdxtype or writesortas the array;sort:report-schema.mdxgroupBy[].sort: 'asc'(the report grouping direction enum), and the$orderbystrings'createdAt asc'inplugin-detail.mdxand'createdAt desc'indata-objectstack.mdx(DataSource.findquery params).A repo-wide search for the union spelling
string | SortConfigoutsidecontent/matches only changesets, a CHANGELOG and test comments that record the retirement.Gates (run locally at head
810b89da0)pnpm docs:check-links, exit 0: "Links are valid across 17 scan roots."pnpm check:doc-fences, exit 0: "check:doc-fences — every TypeScript block in 227 document(s) is fenced ts/tsx/typescript …"pnpm check:doc-example-ids, exit 0: "414 real reference(s) all resolve in the catalog registry."pnpm check:doc-types, exit 0: "Every documented component type is registered."node scripts/check-prompt-component-keys.mjs, exit 0 (the same workflow ascheck:doc-types).node scripts/check-doc-expression-carriage.mjs, exit 0 (Build Docs job step; report-only census).pnpm check:doc-example-readers, exit 0;pnpm check:spec-symbols, exit 0: "nothing cites a key its spec symbol does not declare."node scripts/check-shell-escape-residue.mjs, exit 0;pnpm check:docs-route-closure, exit 0.pnpm check:new-line-citations, exit 0: "VERDICT new-cross-file-line-citations: 0 new citation(s)".pnpm check:control-bytes, exit 0: "check-control-bytes: OK (scanned 8717 tracked text file(s) …)".node scripts/check-changeset-presence.mjs, exit 0: "No source or published contract of a released package changed in this range, so no changeset is owed."check-changeset-claims, exit 0 (report-only).node scripts/check-governed-queue-guard.mjs --test content/docs/api/schema-reference.md: "NOT GOVERNED".node scripts/markdown-test-inputs.mjs --changednames it, and its ledger names 18 test files (thecontent/docs/**glob plus the two that read this file by name). Those 18 plus the objectui#8221 pin ran under the shared verify lock withpnpm exec vitest run --maxWorkers=2: "Test Files 19 passed (19) · Tests 969 passed (969)",VERDICT command-exit 0.No test pins this row's text (
Default sort configurationhas no hit outside the row), so no test changed.Acceptance notes
check:doc-snippets/ Doc Snippet Types (it needs the packages' builtdist/*.d.tsacross a near-whole-workspace build closure). Its population is fenced ts/tsx blocks, and the edited row sits outside any fence (34 fence delimiters come before it, an even count), so this diff cannot move that gate's verdict. The Build Docs site build (turbo run build --filter=@object-ui/site) and the full test shards are also CI's. No workspace package is touched, so no package typecheck or test is owed.@objectstack/spec@17.4.0still declaresObjectGridPropsSchema.sortasz.unknown(), and it accepts"name desc"(measured withsafeParse). objectstackmainalready declares it asz.array(SortItemSchema), and its describe text refuses the string clause. The protocol face therefore catches up on the next spec release that objectui installs. This row documents the@object-ui/typesface, which is the one this page covers.Dev run
https://claude.ai/code/session_014mXUNuFomfj24w7s1pZzhN, dispatched by thedomain:uiseat 2 (claim comment 5832093380).Generated by Claude Code