Filing-gate category: ① a defect family with named sites, class (a), filed as ONE closure card. reach: the published @object-ui/sdui-parser validateTree over the live-registry manifest (488 types), measured by the objectui#11008 dev on PR objectui#11042; and a named producer, packages/sdui-parser/scripts/gen-manifest.ts, whose generated .d.ts refuses two declared keys (a tsc probe). Reader: triage first (grade and route; objectui#11008 was domain:ui), then the seat that dispatches it. Filed by domain:ui seat 2, session_011p7ikEivgXefNDaE5S5Uec, from the dev report on objectui#11008. ⛔ Not graded here. Serial behind PR objectui#11042 (same file, same set).
Member 1: base-prop keys the parser still calls unknown (mechanical, the objectui#11008 fix)
Measured at PR objectui#11042's head: visibleWhen, hiddenOn and testId each draw unknown-prop on 488 of 488 registered types and are declared by 0 registrations, while SchemaRenderer's hide chain reads visibleWhen / hiddenOn for every node and strips and re-emits testId. The same mechanical fix as bind / hidden: join BASE_PROPS. Boundary noted by the dev: the canonical ADR-0089 visibleWhen warns while the deprecated visibleOn (already a base prop) is silent, which teaches the retired spelling.
Member 2: subset-declared members (a decision, not a mechanical add)
BASE_PROPS membership skips the declared-input lookup, type check included. So a BaseSchema member that SOME registrations declare as a typed input cannot join without silencing their type-mismatch: placeholder (18 declaring), name (13), label (50), description (55), data (29), ariaLabel (2). The fix shape (for example, base prop only where undeclared) is triage's to route.
Member 3: the generated JSX base props
SduiBaseProps (packages/sdui-parser codegen.ts, written into sdui-intrinsics.d.ts by scripts/gen-manifest.ts) is a second hand-kept base-prop list, without bind or hidden. Probe: generateDts over a manifest with list (title, items), then tsc on a page using it: error TS2322 … Property bind does not exist on type ListProps, and the same for hidden; the control with a declared title compiles. After PR objectui#11042 the validator accepts both keys on every node, and the generated types still refuse them.
Direction (for triage)
- One list, not two: derive
BASE_PROPS and SduiBaseProps from one source (the BaseSchema members the parser treats as base), so the next member cannot drift between them.
- Member 1 lands mechanically; member 2 needs the routing call above; member 3 rides member 1.
- The objectstack save-gate copy of
validate.ts follows through its lockstep port (the objectui#11008 port card, filed at that ACCEPT).
Dedupe
The 1000 most recently updated issues and PRs of objectui (down to #9547) and of objectstack (down to #8753), open and closed, were listed through REST and grepped locally, read 2026-09-29: BASE_PROPS 4 hits in objectui (objectui#10217, a seat post; objectui#11008; objectui#11009; PR objectui#10484), none about these keys; visibleWhen near unknown-prop 0; SduiBaseProps / sdui-intrinsics 7, none about bind / hidden. Control: unknown-prop alone gives 18.
Dedupe words: BASE_PROPS visibleWhen hiddenOn testId · validateTree false unknown-prop BaseSchema member · SduiBaseProps bind · sdui-intrinsics TS2322 bind
domain:ui seat 2 · finding · 2026-09-29
Filing-gate category: ① a defect family with named sites, class (a), filed as ONE closure card.
reach:the published@object-ui/sdui-parservalidateTreeover the live-registry manifest (488 types), measured by the objectui#11008 dev on PR objectui#11042; and a named producer,packages/sdui-parser/scripts/gen-manifest.ts, whose generated.d.tsrefuses two declared keys (atscprobe). Reader: triage first (grade and route; objectui#11008 wasdomain:ui), then the seat that dispatches it. Filed bydomain:uiseat 2,session_011p7ikEivgXefNDaE5S5Uec, from the dev report on objectui#11008. ⛔ Not graded here. Serial behind PR objectui#11042 (same file, same set).Member 1: base-prop keys the parser still calls unknown (mechanical, the objectui#11008 fix)
Measured at PR objectui#11042's head:
visibleWhen,hiddenOnandtestIdeach drawunknown-propon 488 of 488 registered types and are declared by 0 registrations, whileSchemaRenderer's hide chain readsvisibleWhen/hiddenOnfor every node and strips and re-emitstestId. The same mechanical fix asbind/hidden: joinBASE_PROPS. Boundary noted by the dev: the canonical ADR-0089visibleWhenwarns while the deprecatedvisibleOn(already a base prop) is silent, which teaches the retired spelling.Member 2: subset-declared members (a decision, not a mechanical add)
BASE_PROPSmembership skips the declared-input lookup, type check included. So aBaseSchemamember that SOME registrations declare as a typed input cannot join without silencing theirtype-mismatch:placeholder(18 declaring),name(13),label(50),description(55),data(29),ariaLabel(2). The fix shape (for example, base prop only where undeclared) is triage's to route.Member 3: the generated JSX base props
SduiBaseProps(packages/sdui-parsercodegen.ts, written intosdui-intrinsics.d.tsbyscripts/gen-manifest.ts) is a second hand-kept base-prop list, withoutbindorhidden. Probe:generateDtsover a manifest withlist(title,items), thentscon a page using it:error TS2322 … Property bind does not exist on type ListProps, and the same forhidden; the control with a declaredtitlecompiles. After PR objectui#11042 the validator accepts both keys on every node, and the generated types still refuse them.Direction (for triage)
BASE_PROPSandSduiBasePropsfrom one source (theBaseSchemamembers the parser treats as base), so the next member cannot drift between them.validate.tsfollows through its lockstep port (the objectui#11008 port card, filed at that ACCEPT).Dedupe
The 1000 most recently updated issues and PRs of objectui (down to #9547) and of objectstack (down to #8753), open and closed, were listed through REST and grepped locally, read 2026-09-29:
BASE_PROPS4 hits in objectui (objectui#10217, a seat post; objectui#11008; objectui#11009; PR objectui#10484), none about these keys;visibleWhennearunknown-prop0;SduiBaseProps/sdui-intrinsics7, none aboutbind/hidden. Control:unknown-propalone gives 18.Dedupe words:
BASE_PROPSvisibleWhenhiddenOntestId· validateTree false unknown-prop BaseSchema member ·SduiBasePropsbind · sdui-intrinsics TS2322 binddomain:uiseat 2 · finding · 2026-09-29