Closed
Labels
area:recordsBusiness objects, records, the views that show data, usable forms, searchBusiness objects, records, the views that show data, usable forms, searchdocumentationImprovements or additions to documentationImprovements or additions to documentationdomain:skillsDomain lane — seat card indexed by label:pm:seatDomain lane — seat card indexed by label:pm:seatfindingRecorded observation — held, not dispatchable until the findings triage round grades itRecorded observation — held, not dispatchable until the findings triage round grades itpriority:p2Medium: important, M3Medium: important, M3
Description
domain:spec#3 · os-support-ai · session_01WGufzgbJhFoXYsLSe5WSPP
Filed by domain:spec seat 3 from the os-dev-report of PR #27352 (#27311 + #27312, comment 6486061826), out-of-scope finding (1), class b, named producer. ⛔ Not a claim. Lane and grade are triage's.
Observed (on origin/main)
PR #27352 rewrites the spec's .describe() text for related lists and trackHistory to what the runtime does. Two governed skills pages still teach the old text, and PR #27352 cannot touch them (skills/** is a governed path):
skills/objectstack-ui/SKILL.md:109-121says arelatedList: 'primary'child gets its own tab on the tabbed page, and that the synthesized page's layout is one tab per primary list plus a shared Related tab. On the v3 record page (PR feat(plugin-detail,app-shell,components): record page v3 layout #27310) a primary list is a full-width body table in the details column, after its first field section, with no tab of its own.skills/objectstack-data/rules/relationships.md:347-353says the same "own tab", and "a name matching no inbound FK is refused" with no boundary. The enforced boundary (validate-related-list-refsheader, seat ruling A on spec/lint: relatedLists' .describe() promises to refuse an entry that matches no inbound relationship, but a package-closure publish stores it (validate-related-list-refs judges unknown children only under wholeCollection) #27311): a child in the stack with no inbound FK is refused everywhere; a child that exists nowhere is refused byos validate/os buildand by a metadata write that names no package; a write into a package stores it, and the page places nothing.
Wanted
Both pages say what PR #27352's describes say, after #27310 and #27352 land. Check the skills token ratchet per file.
Dedupe words
skills relatedList primary own tab History tab relatedLists refused package closure
Metadata
Metadata
Assignees
Labels
area:recordsBusiness objects, records, the views that show data, usable forms, searchBusiness objects, records, the views that show data, usable forms, searchdocumentationImprovements or additions to documentationImprovements or additions to documentationdomain:skillsDomain lane — seat card indexed by label:pm:seatDomain lane — seat card indexed by label:pm:seatfindingRecorded observation — held, not dispatchable until the findings triage round grades itRecorded observation — held, not dispatchable until the findings triage round grades itpriority:p2Medium: important, M3Medium: important, M3
Activity
objectstack-fleet commentedon Oct 29, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: 看数据的视图 | none | P②
Triage: p2 ·
domain:skills·area:records·pm:blockedon PR #27352 and PR #27310 · 2026-10-29T02:57Z⛔ Not a claim.
relatedListsrefusal:objectstack-ui/SKILL.md:109-121andobjectstack-data/rules/relationships.md:347-353.@object-ui/plugin-ai, a package retired by #25921 (PR #27042) #27048.documentation,domain:skills,priority:p2,area:records,pm:blocked.Generated by Claude Code
objectstack-fleet commentedon Oct 30, 2026
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS
Unblocked: the blocker named by triage is on
main: PR #27352 (ad3a640e3, 2026-10-29T12:13Z) and PR #27310 (eef83734d, 2026-10-29T02:02Z). The unlock scan had not returned the card, so the seat movespm:blocked→pm:queuewith this note. Grade and lane stay as triage set them. ⛔ Not a claim.objectstack-fleet commentedon Oct 30, 2026
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS
Claim: PM loop round 1 · 2026-10-30T04:26Z
Session:
session_016WV4cyuFKhHVaGYSSdTHG8(card thread; seatsession_016WV4d1QkPVVzNz3FJqb2iS)Account:
os-elon-muskBranch:
claude/project-thread-ua16sf(the card thread's platform-assigned branch — the recorded platform exception; amended by the seat when the thread reported it)Worktree:
objectstack-issue-27354Domain:
domain:skillsSeat:
domain:skills#2(seat 1 vacant on #7623; p2 rung, oldest first — held behind #27609 until PR #27903 mergedd4064cc15)File surface:
skills/objectstack-ui/SKILL.md(the related-list paragraphs,:105-123),skills/objectstack-data/rules/relationships.md(:347-353), the packageevals/*.jsononly if a case teaches the old "own tab", andscripts/check-skills-token-ratchet.mjsrows only under the standing ruling 「A:先削重复,余额按实测提高」 — stop on breach; explain in the reportContainer & model:
S,mode:thread,model: opus—dispatch-gates --tieranswers MANDATORY claude-fable-5-1 forskills/**; exit taken: the proactive low-headroom downgrade (「fable 不多,后续尽量认领不需要契约复审的卡」), compensated by the CONTRACT_REVIEW_TIER review at fable;effort: mediumClause-②: no
Metadata-protocol: none
Responsibility: two published skills still teach a primary related list's "own tab" and an unbounded
relatedListsrefusal; since PRs #27310 and #27352 the v3 record page puts a primary list in the body after the first field section, and the refusal has a package boundary, so an AI author following the skills designs the wrong page.Thread-read: 6486640520, 6513048052
Premise: holds (
origin/mainf8633c7c2:SKILL.md:109-110and:118-120say "own tab";relationships.md:353says "a name matching no inbound FK is refused" with no boundary; PRs #27352ad3a640e3and #27310eef83734dare onmain)Serial constraints cleared: PR #27903 (same
SKILL.md,:171) merged; no open PR touches either file at claim time. Governedskills/**: register Tier H, owes a CONTRACT_REVIEW_TIER contract review before the queue; the seat requests the governed approvers.objectstack-fleet commentedon Oct 30, 2026
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS
ACCEPT → PR #27958 (register Tier H,
skills/**; contract review PASS on head 8c62baf after the should-fix fold, first record 6515483400; CI green; approvers requested). Awaiting a GOVERNED_APPROVERS approval, then the seat lands it.objectstack-fleet commentedon Oct 30, 2026
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS
Landed: PR #27958 merged (
3a09125d9, 2026-10-30T07:55Z), Tier H, after os-zhuang's approval on head8c62baf0. The contract reviews were PASS 6515483400 and delta PASS 6515910523, and the ACCEPT is 6515911108.pm:dispatchedis stripped with this note.From this commit,
objectstack-uiandobjectstack-datateach the v3 record page:relatedList: 'primary'child is a full-width body table in the Details tab, with no tab of its own;trackHistorychanges join the Timeline's Changes filter, and there is no History tab;relatedListsrefusal boundary, including the runtime exception for platform-prefixed and sibling-artifact names.Nothing further owed on this card.