Filing gate: ① a defect, class (c), a teaching error in published text an AI author reads. It is made false by an in-flight landing. reach: a release-text exception with named producers (below). skills/** ships with npx skills add; docs/NORTH-STAR.md priority rule 4: 「写给 AI 的文档与 skills 说错一句,等于产品缺陷」. Filed by domain:spec seat 2 (session_01YDt3PzwfrkuFzUBF89WPmM, seat post #18549), from the #21500 dev report 5965453403 (open_questions[0] and out-of-scope finding 2). ⛔ Filed bare: routing and grading are triage's. ⛔ Not a claim.
Who acts on it: the skills/** lane. It is a Tier H surface, so it lands by human approval in its own PR. This seat answered the dev's question on #21500 with option A: PR #21535 stays non-governed, and this card carries the skill text. It lands with or after PR #21535, and both should ship in the same release. Neither publishes on merge: the release is the Version Packages PR.
Why it becomes false
PR #21535 (#21500, triage 5964333435, Q1 A and Q2 A) executes the declared contract in expandViewContainerWithDiagnostics:
ViewSchema.form is the "Default form view": the container's form is always served as OBJECT.form, and it is the only form item flagged isDefault.
formViews are "Additional named form views": a container with no form serves no default form. The first named form is no longer promoted.
Until it lands, a container whose only form is a named formViews entry gets that entry promoted to default, so the skill's examples work by accident. After it lands, the spec flags no default for them. Today only objectui's own first-form fallback masks that, and the dev filed that fallback as a separate finding.
Positions (read at origin/main 31d2255f5c)
skills/objectstack-ui/SKILL.md:77, the subforms example under "Every standard New/Edit form for the parent": formViews: { default: { type: 'simple', sections: [...], subforms: [...] } }. It is the New/Edit form the text describes, so it belongs in form.
skills/objectstack-ui/rules/list-views.md:29, the os:check defineView container: list, listViews.open and formViews: { edit: { type: 'simple', ... } }, with no form. Its create/edit form belongs in form. The callout at :38 ("Every view lives under list / listViews / formViews") should name form too.
skills/objectstack-ui/evals/views-apps-actions-pages.json:7, expected_output: "… and formViews.edit with type: 'simple' …". It should expect the create/edit form in form.
- Control:
SKILL.md:207 already says "Define default list + form, then named listViews / formViews", which is the contract. The fix brings the examples into line with that row.
- Not a position: the
:57 / :60 wizard eval. A type: 'wizard' stepped form is legitimately a named form.
The fix
In each of positions 1 to 3, move the create/edit form from formViews.<name> to form, and keep formViews for genuinely additional named forms. check:skill-examples keeps the os:check block compiling. A parse of the container against the spec built from PR #21535's head shows OBJECT.form served with isDefault.
Dedupe: the 100 most recently updated open issues here were listed by REST and grepped for formViews.edit / formViews.default in bodies and objectstack-ui or formViews in titles: 2 hits, both the source (#21500 and PR #21535). No card proposes the skill fix. Dedupe words: objectstack-ui skill formViews.edit default form · skill subforms formViews.default · list-views.md formViews edit container · eval formViews.edit expected.
Generated by Claude Code
Filing gate: ① a defect, class (c), a teaching error in published text an AI author reads. It is made false by an in-flight landing.
reach:a release-text exception with named producers (below).skills/**ships withnpx skills add;docs/NORTH-STAR.mdpriority rule 4: 「写给 AI 的文档与 skills 说错一句,等于产品缺陷」. Filed bydomain:specseat 2 (session_01YDt3PzwfrkuFzUBF89WPmM, seat post #18549), from the #21500 dev report5965453403(open_questions[0]and out-of-scope finding 2). ⛔ Filed bare: routing and grading are triage's. ⛔ Not a claim.Who acts on it: the
skills/**lane. It is a Tier H surface, so it lands by human approval in its own PR. This seat answered the dev's question on #21500 with option A: PR #21535 stays non-governed, and this card carries the skill text. It lands with or after PR #21535, and both should ship in the same release. Neither publishes on merge: the release is the Version Packages PR.Why it becomes false
PR #21535 (#21500, triage
5964333435, Q1 A and Q2 A) executes the declared contract inexpandViewContainerWithDiagnostics:ViewSchema.formis the "Default form view": the container'sformis always served asOBJECT.form, and it is the only form item flaggedisDefault.formViewsare "Additional named form views": a container with noformserves no default form. The first named form is no longer promoted.Until it lands, a container whose only form is a named
formViewsentry gets that entry promoted to default, so the skill's examples work by accident. After it lands, the spec flags no default for them. Today only objectui's own first-form fallback masks that, and the dev filed that fallback as a separate finding.Positions (read at
origin/main31d2255f5c)skills/objectstack-ui/SKILL.md:77, the subforms example under "Every standard New/Edit form for the parent":formViews: { default: { type: 'simple', sections: [...], subforms: [...] } }. It is the New/Edit form the text describes, so it belongs inform.skills/objectstack-ui/rules/list-views.md:29, theos:checkdefineViewcontainer:list,listViews.openandformViews: { edit: { type: 'simple', ... } }, with noform. Its create/edit form belongs inform. The callout at:38("Every view lives underlist/listViews/formViews") should nameformtoo.skills/objectstack-ui/evals/views-apps-actions-pages.json:7,expected_output: "… andformViews.editwithtype: 'simple'…". It should expect the create/edit form inform.SKILL.md:207already says "Define defaultlist+form, then namedlistViews/formViews", which is the contract. The fix brings the examples into line with that row.:57/:60wizard eval. Atype: 'wizard'stepped form is legitimately a named form.The fix
In each of positions 1 to 3, move the create/edit form from
formViews.<name>toform, and keepformViewsfor genuinely additional named forms.check:skill-exampleskeeps theos:checkblock compiling. A parse of the container against the spec built from PR #21535's head showsOBJECT.formserved withisDefault.Dedupe: the 100 most recently updated open issues here were listed by REST and grepped for
formViews.edit/formViews.defaultin bodies andobjectstack-uiorformViewsin titles: 2 hits, both the source (#21500 and PR #21535). No card proposes the skill fix. Dedupe words: objectstack-ui skill formViews.edit default form · skill subforms formViews.default · list-views.md formViews edit container · eval formViews.edit expected.Generated by Claude Code