Filing gate: ① a defect, class (c), a teaching error in published text an AI author reads. reach: measured once at the public parse door: ObjectSchema.safeParse on the block, against the spec built from PR #21390's head, answers success: false with a custom issue at fields.status.options. 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 #20827 dev report 5950037486 (out-of-scope finding 1). ⛔ 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, ideally together with PR #21390. Neither publishes on merge: the release is the Version Packages PR, and the two should ship in the same release.
Dedupe: the 1,000 most recently updated issues and PRs here, open and closed (down to #2714), were listed by REST and grepped for examples-upgrade, and for objectstack-upgrade with select. That gave 3 hits: PR #21390 (the source, which names this in its Acceptance notes), and the closed PRs #20938 and #20691 (other subjects). As a control, objectstack-upgrade hits 5.
The position (read at main 11905a4f8b)
skills/objectstack-upgrade/references/examples-upgrade.md:105, inside the <!-- os:check --> block "The v17-canonical shapes, compiled":
status: { type: 'select', required: true, storage: { notNull: true } },
The fix
One options entry on status in that block, e.g. options: [{ label: 'New', value: 'new' }, { label: 'Qualified', value: 'qualified' }]. Nothing else in the block changes.
Generated by Claude Code
Filing gate: ① a defect, class (c), a teaching error in published text an AI author reads.
reach:measured once at the public parse door:ObjectSchema.safeParseon the block, against the spec built from PR #21390's head, answerssuccess: falsewith acustomissue atfields.status.options.skills/**ships withnpx skills add;docs/NORTH-STAR.mdpriority rule 4: 「写给 AI 的文档与 skills 说错一句,等于产品缺陷」. Filed bydomain:specseat 2 (session_01YDt3PzwfrkuFzUBF89WPmM, seat post #18549), from the #20827 dev report5950037486(out-of-scope finding 1). ⛔ 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, ideally together with PR #21390. Neither publishes on merge: the release is the Version Packages PR, and the two should ship in the same release.Dedupe: the 1,000 most recently updated issues and PRs here, open and closed (down to #2714), were listed by REST and grepped for
examples-upgrade, and forobjectstack-upgradewithselect. That gave 3 hits: PR #21390 (the source, which names this in its Acceptance notes), and the closed PRs #20938 and #20691 (other subjects). As a control,objectstack-upgradehits 5.The position (read at
main11905a4f8b)skills/objectstack-upgrade/references/examples-upgrade.md:105, inside the<!-- os:check -->block "The v17-canonical shapes, compiled":check:skill-examplesstays green. But PR feat(spec)!: FieldSchema refuses a select / radio with neither options nor picklist #21390 (ruling A on Aselect/radiofield with neitheroptionsnorpicklist: refuse it at theFieldSchemadoor (an accept-set narrowing), or keep it at the ADR-0078 completeness gate? (split from #19518) #20827,5910124148) makesFieldSchemarefuse at parse aselect/radiowith neither a non-emptyoptionsnor apicklist. The gate that would catch it is a parse, and nothing runs one on this block.skills/**atmainfortype: 'select',type: 'radio'andField.select({: the other hits (objectstack-data/SKILL.md:200,references/examples-objects.md:73/:80,rules/field-types.md:198,objectstack-platform/references/bootstrap.md:23) all carryoptions.The fix
One
optionsentry onstatusin that block, e.g.options: [{ label: 'New', value: 'new' }, { label: 'Qualified', value: 'qualified' }]. Nothing else in the block changes.Generated by Claude Code