Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .changeset/20471-component-row-anchor-quotes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
'@objectstack/spec': patch
---

Three `ComponentPropsMap` read-point records now quote the objectui line they cite

Clause-②: no

The docblocks of `action:button`, `action:icon` and `element:definition-list` in
`src/ui/component.zod.ts` each quote the first line of the row's props-read site, re-read
against objectui at the pin this package builds against (`a58626c88`): the runner-forward
literal of the two action blocks, and the `readProps` call of the definition list. A pin bump
that moves one of those lines, or changes it, now fails `check:objectui-pin-citations` and
names where the quoted line went, where before only the cited sha was checked. The other
three rows of that section (`action:group`, `action:menu`, `element:repeater`) carry no quote
yet. Comment text only: no schema, key, type or export changes.
17 changes: 13 additions & 4 deletions packages/spec/scripts/check-objectui-pin-citations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -808,11 +808,20 @@ export function verifyAssertion(
* `53ded82b` when that docblock's claim about the map renderer was corrected:
* the two flatten sites and their whitelist, the renderer's own
* `ObjectMapConfigSchema`, the `safeParse` and the spread beside it, and
* `LIST_VIEW_LOCAL_OVERRIDES`. 145 objectui anchors elsewhere in
* `packages/spec/src` still carry none — `--verify-anchors` prints that
* worklist.
* `LIST_VIEW_LOCAL_OVERRIDES`.
*
* The next three are the props-read sites of three `ComponentPropsMap` rows in
* `src/ui/component.zod.ts`, re-read at pin `a58626c88`: the
* `forwarded: ActionDef` literal of `action:button` and of `action:icon`, where
* the keys each row forwards to the runner are enumerated, and the `readProps`
* call of `element:definition-list`, whose type literal is that row's key set.
* The section's other three rows (`action:group`, `action:menu`,
* `element:repeater`) carry none yet: their cited lines do not hold at that
* pin, and a quote goes only beside a line that does. 418 objectui anchors in
* `packages/spec/src` still carry none, read against objectui `a58626c88` —
* `--verify-anchors` prints that worklist.
*/
const ASSERTED_ANCHOR_FLOOR = 7;
const ASSERTED_ANCHOR_FLOOR = 10;

// ---------------------------------------------------------------------------
// self-test — the shapes, not the corpus
Expand Down
9 changes: 6 additions & 3 deletions packages/spec/src/ui/component.zod.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3418,7 +3418,8 @@ const ACTION_NODE_GUIDANCE = {
* hoist makes `schema.params` the same object, so an array here is the input
* list and an object is the static values. (A node-level object `params`
* outside `properties` is ignored with a development warning.)
* - Forwarded to the runner (`:215-318`): `description`, `target`, `openIn`,
* - Forwarded to the runner (`action-button.tsx:215-318` first line
* `type: schema.actionType,`): `description`, `target`, `openIn`,
* `method`, `bodyExtra`, `bodyShape`, `operation`, `patch`,
* `confirmText`, `successMessage`, `errorMessage`, `refreshAfter`,
* `undoable`, `recordIdField`, `locations`, `toast`, `resultDialog`,
Expand Down Expand Up @@ -3532,7 +3533,8 @@ export type ActionButtonPropsParsed = z.infer<typeof ActionButtonPropsSchema>;
* `action:button`. `variant` — `:119`, `primary` mapped to `default`,
* renderer default `ghost`.
* - `params` — `:143-146`, routed exactly as on `action:button`.
* - Forwarded (`:160-211`): `actionType`, `name`, `target`, `openIn`,
* - Forwarded (`action-icon.tsx:160-211` first line
* `type: schema.actionType,`): `actionType`, `name`, `target`, `openIn`,
* `method`, `bodyExtra`, `bodyShape`, `operation`, `patch`,
* `confirmText`, `successMessage`, `errorMessage`, `refreshAfter`,
* `locations`, `toast`, `resultDialog`, `onSuccess`, `objectName`.
Expand Down Expand Up @@ -3997,7 +3999,8 @@ export type ActionMenuPropsParsed = z.infer<typeof ActionMenuPropsSchema>;
/**
* `element:definition-list` — a compact key/value `<dl>`
* (`components/src/renderers/basic/data-list.tsx` at the pin). Props are read
* through `readProps` (`:42-47`, `properties` first). Read points: `items`
* through `readProps` (`data-list.tsx:42-47` first line
* `const props = readProps<{`, `properties` first). Read points: `items`
* (`:48`), `columns` (`:49`), `inline` (`:63`), and per item `term` (`:66`) and
* `description` (`:68`).
*
Expand Down
Loading