fix(spec): one row bound per view — retire the unpublished per-kind view limit - #19809
objectstack-fleet[bot] wants to merge 5 commits into
Conversation
…limit Remove the per-kind `limit` from the gallery, kanban and timeline view configs, with `rowLimitKey`, `DEFAULT_VIEW_ROW_LIMIT` and the pending changeset that would have published them. `KanbanConfigSchema` has one shape again, so `KanbanConfigParsed` goes and the schema is re-pinned isomorphic (ADR-0122 D3). The truncation obligation moves onto `pagination.pageSize`, the view's remaining row bound. Claude-Session: https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1 Co-authored-by: Claude <noreply@anthropic.com>
…tired view limit The `object-timeline` `timeline` door describe listed `limit` as a member of the block and called it accepted and defaulted; the block no longer has it. The `object-kanban` / `object-timeline` docblocks and the pending changeset recorded where the view-face per-kind `limit` and its applied default landed. All of it is removed by deletion; the flat `limit` keys, their describes and their declared precedence are unchanged. Claude-Session: https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1 Co-authored-by: Claude <noreply@anthropic.com>
…tion The build's authorable-surface gate refuses a baseline line that leaves without a proof. The three per-kind configs now name `limit` in their strictObject guidance, so an author who writes it is refused with the pointer to `pagination.pageSize` (proof 4), and the three baseline lines go with the key. Claude-Session: https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1 Co-authored-by: Claude <noreply@anthropic.com>
authorable-defaults, api-surface, export-origins and the reference docs, each through its own generator after a fresh build. Claude-Session: https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1 Co-authored-by: Claude <noreply@anthropic.com>
… block `TimelineConfigSchema` is also the nested `timeline` block of an `object-timeline` node, where the row bound is the node's flat `limit`, not `pagination.pageSize`. The prescription now names both. Claude-Session: https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1 Co-authored-by: Claude <noreply@anthropic.com>
📓 Docs Drift Check12 anchor(s) derived from 1 changed package(s); no hand-written page names any of them. What this run could not see
Coarse fallback — 136 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin e764812c87c11d3b12ab1ef419060e6ede14f2e1 && git checkout e764812c87c11d3b12ab1ef419060e6ede14f2e1
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin a5afe382baa081da06ca5059ceed4a2ecc339828 ff13eece89e69e5bccaa63d47cc43598b81aefed && git checkout -B drift-repro a5afe382baa081da06ca5059ceed4a2ecc339828 && git merge --no-ff ff13eece89e69e5bccaa63d47cc43598b81aefed
node scripts/docs-audit/affected-docs.mjs --json a5afe382baa081da06ca5059ceed4a2ecc339828 |
Contract reviewServed-tier: Reviewed and posted 2026-09-23T08:07Z by the at-tier review subagent the ① Derived judgments
Sentences that ship or stand (each checked; none found false): the guidance string (true; carries no tracker number); ② Semver level
③ Boundary flags(1) Strict-object guidance added so the build's authorable-surface gate accepts the removal — SOUND, not a workaround. (2) Deleting the component-face describe clauses about the nested (3) Trimming and deleting the two pending release notes — SOUND and gate-consistent. Ruling D step 1 orders the 17393 note rewritten or deleted so no release carries the key; the route-record note's deleted section described the same key and its applied default, and its remaining text is verified true. The foreign-changeset rule (#17712) reds on Follow-ups the seat carries (not grounds): (a) CI at head — 46 runs, de-duplicated by name keeping the latest Model identifiers: swept the 5 commit messages (model-free trailer pair), all 80 added lines, and the PR title and body for every model-identifier spelling — 0 matches; control ( Blocking: none. Implemented-by: VERDICT: PASS |
落地状态 —— 达档复核 PASS;只差维护者对两条待发布说明的书面确认
⏳ 待办: 维护者在本 PR 上书面确认这两条更正(一句即可)。收到之后,本席转 ready 并开启 auto-merge。 Generated by Claude Code |
Part of #19228
Clause-②: no
Rewritten short by the dispatching seat (2026-09-23T08:08Z). The developer's measurements are in its report on #19228; the at-tier review record is
5791323483on this PR.What changes
Ruling D (#19228,
5789634193): a view carries one row bound,pagination.pageSize. The per-kind viewlimitadded for #17393 was never published (npmlatestis 17.4.0; the key is absent from its tarball), so it is removed before a release carries it.GalleryConfigSchema/KanbanConfigSchema/TimelineConfigSchemaloselimit;rowLimitKey,DEFAULT_VIEW_ROW_LIMITandKanbanConfigParsedgo with it (Kanban has one shape again, re-pinned per ADR-0122).limitin those blocks is refused as an unknown key, and the refusal names both alternatives:pagination.pageSizeon a view, or the flatlimiton a page component node.pagination.pageSize's description carries the truncation obligation thatlimit's description carried.object-kanban/object-timelinecomponentlimitkeys and their precedence are unchanged; only text describing the removed view-level key was deleted..changeset/17393-view-row-ceiling.mdis deleted, and the pending.changeset/19228-view-row-limit-route-record.mdloses its section about the view-levellimit, so no release announces a key that does not ship. Apatchchangeset covers the description change.Net: 16 files, +80 / −515.
Check Changesetis red on purposeThis PR corrects two PENDING release notes instead of adding one, which
check-empty-changeset.mjsnames the DELIBERATE CORRECTION class. The workflow (pr-automation.yml, route 0) says to leave the check red and get the correction confirmed in writing on the PR;Check Changesetis not a required context. The two notes and what changed under them are listed above. Maintainer confirmation requested on this PR.Not in this PR
objectui still spreads a view's kanban / gallery / timeline block onto the rendered node; reading
pagination.pageSizeas the fetch ceiling and showing the truncation signal there is objectui work. objectui#7390 is closed, so that work has no open card; triage is asked to route it (#19228).维护者速读
limit,从没发布过;按您的裁决 D,改为每个视图只用pagination.pageSize一个上限。Check Changeset因此按规定保持红色,需要您在本 PR 上书面确认一句。🤖 Generated with Claude Code
https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1