Skip to content

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

Description

@objectstack-fleet

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).

2. content/docs/utilities/vscode-extension.mdx's Export-to-React output sample (about :112).

  • Why V1 refuses it:
    • 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).

Constraints

Dedupe

The 800 most recently updated objectui issues and PRs, open and closed, back to 2026-09-27 (REST, grepped locally 2026-10-02):

Dedupe words: TS twin zod-only arm detail-section · vscode Export to React generator annotate · V1 doc-snippets plugin-detail README


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

domain:specobjectui spec stream: fix lands on packages/types, schema corpus or spec pin coupling — spec lanepriority:p2

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions