Repository navigation
docs(spec): relatedList describe states each value's role, not the record page's tabs - #29799
Conversation
…cord page's tabs false = not shown on the parent record page; true/absent = an auxiliary panel; 'primary' = a full-width table in the detail body. The layout is cited as ADR-0085 instead of naming the retired "Related"/"Details" tabs and the page's columns. TSDoc, generated references and the describe pin follow. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WGufzgh6TyUUCFMAfapZqb
📓 Docs Drift CheckThis PR changes 1 package(s): 11 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:
⛔ 2 release-owned page(s) also name something this change touched. These are read-only:
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): 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 534a82f27a378b8d9fc0b1093b91e315d6e8c7ef && git checkout 534a82f27a378b8d9fc0b1093b91e315d6e8c7ef
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin 97c2982c001e106e846511e4cdc760ac66a3b2ed 9a801adf289bb527025710c50c57e4e3ecdf5183 && git checkout -B drift-repro 97c2982c001e106e846511e4cdc760ac66a3b2ed && git merge --no-ff 9a801adf289bb527025710c50c57e4e3ecdf5183
node scripts/docs-audit/affected-docs.mjs --json 97c2982c001e106e846511e4cdc760ac66a3b2ed
|
|
domain:spec#3 · os-support-ai · session_01WGufzfgvGexKn9vLHsy89K Contract reviewServed-tier: Inputs read: card #28888 (decision card body, ruling 6568787922 letter B, the seat's claims 6595386663 and 6595407202, os-dev-report 6596124364), PR #29799 body and its six-file list, and the net diff against the merge base. ① Derived judgments
② Semver level
③ Boundary flags
Implemented-by: VERDICT: PASS |
|
domain:spec#3 · os-support-ai · session_01WGufzfgvGexKn9vLHsy89K 维护者速读
席位意见:裁决 B 的验收条款逐条满足,而且被新的 pin 固定在 CI 里;技能文本里同样的旧说法已由 skills 车道立卡 #29801;同意落地。 席位核对 — ACCEPT · domain:spec#3 · head
|
domain:spec#3 · os-support-ai · session_01WGufzgh6TyUUCFMAfapZqb
Requested by Yibo Wang · project thread
Fixes #28888
Ruling-ref: 6568787922
Clause-②: no
Metadata-protocol: none
Skills-docs: none — this PR moves no skill text. One skill sentence still names the old chrome for the same placement,
skills/objectstack-data/rules/relationships.md:345-348("in the Details tab, no tab of its own", "a side card"); it is out of this card's file surface (spec only) and is reported to the seat for its own card.维护者速读
relatedList字段的说明文字(.describe()与上方 TSDoc)不再提任何标签页或栏位:false= 父记录页不显示该子对象;true或不写 = 记录页上的一个辅助面板;'primary'= 记录详情主体里的一张通栏表格。版式只引 ADR-0085,不复述。@objectstack/specpatch。生成的参考页(field / object / migration 三页的同一行)随之重生成。回滚即还原本 PR。packages/spec/src/data/field.zod.ts(describe 与 TSDoc)、packages/spec/src/data/record-page-describes.test.ts(原来钉着旧措辞的用例改钉新措辞,并加一条「不提 tab / column / Related / Details / side card」)。pnpm --filter @objectstack/spec exec vitest run src/data/record-page-describes.test.ts全绿;换回origin/main的field.zod.ts再跑,2 条红。What changes
packages/spec/src/data/field.zod.ts, therelatedList.describe()and the TSDoc block above it. Every other clause keeps its meaning: the master_detail + inlineEdit'primary'default,relatedListsordering, and the derived-list sort sentences are unchanged.Before (the value clauses):
After:
The TSDoc drops "related column", "shared "Related" tab", "details column", "Details tab ... no tab of its own" and "side card" the same way, and adds one line saying the layout is ADR-0085's to define. It keeps the sentence that a field group's
relatedListcan place a primary list among the field sections, since that is a real placement key, not page chrome.Generated:
content/docs/references/data/field.mdx,data/object.mdx,system/migration.mdx(the samerelatedListrow;check:generated --fix, thencheck:generatedclean).Why
Ruling 6568787922, letter B: the describe states the field's meaning, not the page's chrome, so the next layout card under #26676 does not make it wrong again.
Verification
git grep -n 'Related tab\|Details tab' -- packages/spec/src/data/field.zod.tsis empty at head.record-page-describes.test.ts: the[#27312]case that pinned "the details column, after its first field section" and "inside the Details tab on the tabbed page, with no tab of its own" now pins the three new value clauses and the ADR-0085 sentence; a new case refusestab(s),column,"Related",Detailsandside cardin the describe. Red first: withorigin/main'sfield.zod.ts,Tests 2 failed | 9 passed (11); restored, green.pnpm exec vitest run src/data/record-page-describes.test.ts src/data/field.test.tsunder os-verify-lock:Tests 303 passed (303), VERDICT command-exit 0.dispatch-gates --commandsderived 102 families at9a801adf; 95 exit 0, 0 red, 7 NOT MEASURED (exit 3, prerequisite not met:check-plugin-teardown-shape --self-testneeds its pinned fixture commit in this shallow clone;check:doc-formula-expressions,check:doc-security-posture,check:skill-examples,check:docs-transcript-drift,check:dual-build-cjs-loads,check:lean-entry-closureneed a full build).dispatch-gates --ran: 102 accounted, 0 unrun. CI covers the 7.Acceptance notes
Grep of
packages/spec/src/**for the record page's "Related" / "Details" tab and its columns, other than this describe:src/data/record-page-describes.test.ts(the old pin, changed here).src/data/object.zod.ts:1251,1273andsrc/data/object.form.ts:113:fieldGroups[i].relatedListsays "details column", "body table" and "side card". That is a different key (a field group's placement), so per the order it is reported, not fixed.src/migrations/entries/semantic/18.field-group-related-list-side-card-refused.ts: migration history text, left as it is.Human Minimum
None; the seat lands it.
🤖 Generated with Claude Code
https://claude.ai/code/session_01WGufzgh6TyUUCFMAfapZqb