Tool
Validation Criteria
For generic/template fixtures (generic-schema-binding, paginated-response, api-envelope), the output must use reusable parameterized types when the target language supports generics:
| Output |
Classification |
PaginatedTemplate<T> with PaginatedUserResponse = PaginatedTemplate<User> |
PASS |
Separate PaginatedUserResponse { items: User[] } / PaginatedGroupResponse { items: Group[] } (duplicate concrete wrappers) |
PARTIAL — correct type content, lost reuse |
PaginatedTemplate { items: unknown[] } (fallback to not: {}) |
DEGRADED |
For recursive fixtures (recursive-category-tree, non-identifier-schema-key), dynamic scope must resolve to the active recursive type (e.g., children: LocalizedCategory[], not children: unknown[]).
Concrete materialization of generic fixtures is classified as PARTIAL because it defeats the type reuse that $dynamicRef provides. Languages without generics may use concrete wrappers as a documented fallback.
Current Result
Included in the expanded 9-tool matrix. Needs current generated output excerpts and type fidelity classification once the incoming PR is available.
Fixture Coverage
Next Action
Track upstream issue #3886 and the incoming PR. After the PR is opened, link it here, run focused cells for the dynamicRef fixtures, and classify the output using the criteria above. For generic fixtures, specifically check whether the output uses parameterized types (PASS) or materializes concrete wrappers (PARTIAL).
Tool
Validation Criteria
For generic/template fixtures (
generic-schema-binding,paginated-response,api-envelope), the output must use reusable parameterized types when the target language supports generics:PaginatedTemplate<T>withPaginatedUserResponse = PaginatedTemplate<User>PaginatedUserResponse { items: User[] }/PaginatedGroupResponse { items: Group[] }(duplicate concrete wrappers)PaginatedTemplate { items: unknown[] }(fallback tonot: {})For recursive fixtures (
recursive-category-tree,non-identifier-schema-key), dynamic scope must resolve to the active recursive type (e.g.,children: LocalizedCategory[], notchildren: unknown[]).Concrete materialization of generic fixtures is classified as PARTIAL because it defeats the type reuse that
$dynamicRefprovides. Languages without generics may use concrete wrappers as a documented fallback.Current Result
Included in the expanded 9-tool matrix. Needs current generated output excerpts and type fidelity classification once the incoming PR is available.
Fixture Coverage
baseline-duplicated-paginationgeneric-schema-bindingpaginated-responseapi-enveloperecursive-category-treenested-workspace-resourcesnon-identifier-schema-keyNext Action
Track upstream issue #3886 and the incoming PR. After the PR is opened, link it here, run focused cells for the dynamicRef fixtures, and classify the output using the criteria above. For generic fixtures, specifically check whether the output uses parameterized types (PASS) or materializes concrete wrappers (PARTIAL).