You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
spec(types,plugin-detail,vscode-extension): two doc blocks V1 refuses — TS twins of the zod-only node arms (plugin-detail README) and the Export-to-React generator's output; preparation for objectui#11466 #11515
This card carries objectui#11466's report Q4 and Q5. It is a child of objectui#11466, filed with its domain:spec and priority:p2. It is the family close-out for V1's doc-snippet refusals: check:doc-snippets on PR #11512's head judges 776 blocks and refuses 2, and both are here. objectui#11466 (V1) is pm:blocked until this card and its siblings land.
Filing-gate category: ① named landing points, measured by objectui#11466's dev (report 5962392382, open_questions[3] and [4]).
Reader: the domain:spec @ objectui seat (objectui#10217) dispatches it, and an os-dev executes it.
The two blocks, and the seat's rulings (non-escalation; governing text cited)
1. packages/plugin-detail/README.md's detail-view example (about :158 and :172 on PR #11512's head).
Why V1 refuses it:
detail-section is a zod-only arm of AnyComponentSchema with no TS type, as are app-schema-renderer and cloud:plan-status. These are node-recursion-point-8344's measured set.
record:activity's items is a host slot the node refuses by name.
Ruling A:@object-ui/types gains TS twins of the zod-only arms. They are parity-pinned through zod-mirror-parity, and they shrink node-recursion-point-8344's measured set. The README's activity tab authors record:activity's declared input instead of items.
Governing text: 基本裁决原则 「声明即强制」, and the zod arm already lives in @object-ui/types.
⛔ Not B (module augmentation from plugin-detail, a second declaration site).
⛔ Not C (marking the block as a fragment to hide the refusal from the gate).
the sample authors type: 'h1', which no declaration names (h1 is a text variant);
the generator emits an unannotated const schema, whose type widens to string.
Ruling A: the generator in packages/vscode-extension annotates its output so it compiles against the prop, and the doc sample authors declared types.
Annotate as SchemaNode. It exists today, and under V1 its object arm is the declared union, so the annotation compiles both now and after V1. ⛔ Do not annotate as DeclaredNode, which exists only after V1.
Governing text: generated code is pasted into user projects, so it must compile there. ⛔ Not B (marking it as a fragment).
This card carries objectui#11466's report Q4 and Q5. It is a child of objectui#11466, filed with its
domain:specandpriority:p2. It is the family close-out for V1's doc-snippet refusals:check:doc-snippetson PR #11512's head judges 776 blocks and refuses 2, and both are here. objectui#11466 (V1) ispm:blockeduntil this card and its siblings land.Filing-gate category: ① named landing points, measured by objectui#11466's dev (report
5962392382,open_questions[3]and[4]).Reader: the
domain:spec @ objectuiseat (objectui#10217) dispatches it, and an os-dev executes it.The two blocks, and the seat's rulings (non-escalation; governing text cited)
1.
packages/plugin-detail/README.md'sdetail-viewexample (about:158and:172on PR #11512's head).detail-sectionis a zod-only arm ofAnyComponentSchemawith no TS type, as areapp-schema-rendererandcloud:plan-status. These arenode-recursion-point-8344's measured set.record:activity'sitemsis a host slot the node refuses by name.@object-ui/typesgains TS twins of the zod-only arms. They are parity-pinned throughzod-mirror-parity, and they shrinknode-recursion-point-8344's measured set. The README's activity tab authorsrecord:activity's declared input instead ofitems.@object-ui/types.2.
content/docs/utilities/vscode-extension.mdx's Export-to-React output sample (about:112).type: 'h1', which no declaration names (h1is atextvariant);const schema, whosetypewidens tostring.packages/vscode-extensionannotates its output so it compiles against the prop, and the doc sample authors declared types.SchemaNode. It exists today, and under V1 its object arm is the declared union, so the annotation compiles both now and after V1. ⛔ Do not annotate asDeclaredNode, which exists only after V1.Constraints
maintoday AND under objectui#11466's V1. The V1 probe is PR feat(types,react,core,plugin-dashboard)!: a node slot and SchemaRenderer'sschemaprop take the declared-node union, V1; the dashboard producers name declared nodes and an envelope's object-metric retires (objectui#11466) #11512's branchclaude/issue-11466-node-slot-union-v1; ⛔ never commit from it.node-recursion-point-8344's measured set loses each twinned type;SchemaRendererProps['schema'];check:doc-snippetspasses both blocks under the V1 probe.Clause-②is stated at claim. New TS twins widen the TS face's declared surface to match what the zod face already publishes..changesetentries this makes false get dated, append-only notes.Dedupe
The 800 most recently updated objectui issues and PRs, open and closed, back to 2026-09-27 (REST, grepped locally 2026-10-02):
detail-section/app-schema-renderernear TS / twin: objectui#11440, objectui#11493 and objectui#11494 (closed; they armed the zod face), plus PR feat(types,react,core,plugin-dashboard)!: a node slot and SchemaRenderer'sschemaprop take the declared-node union, V1; the dashboard producers name declared nodes and an envelope's object-metric retires (objectui#11466) #11512;vscode-extensiongenerator: PR feat(types,react,core,plugin-dashboard)!: a node slot and SchemaRenderer'sschemaprop take the declared-node union, V1; the dashboard producers name declared nodes and an envelope's object-metric retires (objectui#11466) #11512 only.Dedupe words:
TS twin zod-only arm detail-section·vscode Export to React generator annotate·V1 doc-snippets plugin-detail READMEGenerated by Claude Code