Repository navigation
docs(spec): the record-page timeline total is an upper bound of the drawn 动态 entries - #29120
Conversation
…rawn 动态 entries Claude-Session: https://claude.ai/code/session_01QsR2jRs3fMDRLr3zkuDuVo Co-authored-by: Claude <noreply@anthropic.com>
…geset Claude-Session: https://claude.ai/code/session_01QsR2jRs3fMDRLr3zkuDuVo Co-authored-by: Claude <noreply@anthropic.com>
…-85ncva Claude-Session: https://claude.ai/code/session_01QsR2jRs3fMDRLr3zkuDuVo Co-authored-by: Claude <noreply@anthropic.com>
📓 Docs Drift Check
What this run could not see
Coarse fallback — 168 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): |
|
director#1 · zhuangjianguo · session_01QsR2jV5sBSzCYNEDgpYLJw Contract-review-claim: session_01QsR2jV5sBSzCYNEDgpYLJw · head c566f35 · 2026-11-02T08:50Z Face: schema ( Generated by Claude Code |
|
director#1 · zhuangjianguo · session_01QsR2jV5sBSzCYNEDgpYLJw Contract reviewServed-tier: Inputs: card #28998 (body and its 2 comments: the claim 6570923531 and the os-dev-report 6572107739), PR #29120 body and file list, the net diff against ① Derived judgments
② Semver level
③ Boundary flags
④ Design judgment
Implemented-by: VERDICT: PASS Generated by Claude Code |
|
domain:ui#4 · zhuangjianguo · session_01QsR2jR7ZFkpqmm4U8S1f9y 席位核对 · ACCEPT · 2026-11-02T08:46ZHead-sha:
Generated by Claude Code |
Requested by Steedos · project thread
Fixes #28998
Clause-②: no
Metadata-protocol: none
维护者速读
timeline计数的文档注释改为说明总数统计的是各来源表定义的行数,是「动态」面板实际绘制条目数的上界,并点名两种少画的情形;API 参考页同步重新生成。showCompleted/types配置与无可显示差异的台账行少画。.describe()文本与运行时行为;回滚即 revert 本 PR。packages/spec/src/api/record-page.zod.ts(RecordPageTimelineRequestSchema注释与文件头timeline句)、content/docs/references/api/record-page.mdx(生成结果)、.changeset/28998-timeline-count-upper-bound.md。pnpm --filter @objectstack/spec build && pnpm --filter @objectstack/spec check:generated,预期 All 14 generated artifacts are up to date。What changes
packages/spec/src/api/record-page.zod.ts, comments only:RecordPageTimelineRequestSchemadocblock: "The total is their sum" now goes on to say the total counts the sources' rows as the table defines them, so it is an upper bound of the entries the 动态 panel draws, not their number, and names the two cases where the panel draws fewer (itsshowCompleted/typesconfiguration, and a ledger row with no displayable diff);timelinesentence carries the same statement. The API reference page is generated from that header, so this is how the sentence reaches the mdx (Wanted 2).content/docs/references/api/record-page.mdx: regenerated bypnpm --filter @objectstack/spec gen:docs, the one artefactcheck:generatednamed stale. It is not hand-edited..changeset/28998-timeline-count-upper-bound.md:@objectstack/spec: patch. The docblock ships in the publisheddist/api/index.d.ts/.d.mts(and insrc/**/*.zod.ts, both in the package'sfiles), so the published bytes move.No
.describe()string, schema shape or behaviour changes.Tests
No behaviour changed, so there is no new test and no ablation.
spec typecheck + api tests (at 36952b4, before the main merge)
pnpm --filter @objectstack/spec typecheck && pnpm --filter @objectstack/spec exec vitest run --maxWorkers=2 src/apiunder the verify lock: VERDICT command-exit 0, Test Files 59 passed (59), Tests 1804 passed (1804). The rest of the spec suite is left to CI's Test Core.Acceptance notes
RecordPageTimelineRequestSchemadocblock as the one comment inrecord-page.zod.ts.content/docs/references/is generated (AGENTS.md, Documentation Guardrails) and the build does not render a schema's own docblock, only the file header. So the mirrored sentence in the mdx comes from the file header'stimelinesentence, in the same file, comment only..describe()string reads the same wrong way.RecordPageTimelineCountSchema.totalsays "How many entries the record's timeline stream holds for this caller, over the sources the request named." It feeds the published JSON schema and the reference table (RecordPageTimelineCount, andRecordPageResponse.timeline[option 1]). Per the ruling it stays, and moving it owes a contract review.RecordPageTimelineCountSchemadocblock ("how many entries the record's 动态 stream holds") is the same misreading in a comment outside the claimed surface.Verification
generated artefacts
check:generatedexit 1, "1 of 14 artifact(s) stale: content/docs/references/**".gen:docs:check:generatedexit 0, "All 14 generated artifacts are up to date".check:generated"All 14 generated artifacts are up to date"; the branch delta vs main is still these 3 files (+27 / -3).dispatch-gates, at c566f35
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackderived 97 commands. All were run on c566f35 with exit codes captured before any pipe. 96 exited 0.pnpm check:dual-build-cjs-loadsexited 3 (PREREQUISITE NOT MET: 8 workspace packages have nodist/) and is NOT MEASURED locally; CI's Lint and Repo Gates runs it.--ranreconciliation: "97 derived famil(ies) accounted for — 96 run, 1 NOT-MEASURED (1 DERIVED from a recorded exit 3)". The same 97 also ran on 36952b4 before the merge, with the same result.🤖 Generated with Claude Code
Generated by Claude Code