Skip to content

feat(spec): report can bind to a dataset (ADR-0021 B-P1, dual-form)#1646

Merged
os-zhuang merged 1 commit into
mainfrom
claude/report-binds-dataset
Jun 7, 2026
Merged

feat(spec): report can bind to a dataset (ADR-0021 B-P1, dual-form)#1646
os-zhuang merged 1 commit into
mainfrom
claude/report-binds-dataset

Conversation

@os-zhuang
Copy link
Copy Markdown
Contributor

Additive dual-form ReportSchema: a report may bind a dataset + rows/values/runtimeFilter instead of inline objectName+columns. superRefine enforces one shape; existing inline reports unchanged. The value unlock for ADR-0021 (report consumes the governed dataset). Bumps .objectui-sha to the matching objectui commit (#1573). Tests: report.test +5. Verified live: dataset-bound report renders revenue-by-stage table in Studio preview.

Note: Studio editor client validation recognises the new shape only after objectui bumps @objectstack/spec (cross-repo skew); rendering already works.

🤖 Generated with Claude Code

Additive dual-form for ReportSchema: a report may now reference a semantic-layer
`dataset` and pick `rows` (dimension names) + `values` (measure names) +
`runtimeFilter`, INSTEAD of the inline `objectName` + `columns` query.
`objectName`/`columns` become optional; a superRefine enforces exactly one
shape (dataset+values, or objectName+columns). Existing inline reports are
unchanged and still validate.

This is the value unlock for ADR-0021: report/dashboard consume the governed
dataset (one definition of every metric) instead of re-declaring a query inline.

Also bumps .objectui-sha to the matching objectui commit (ReportPreview renders
dataset-bound reports via queryDataset).

Tests: report.test +5 (dataset-bound valid; missing values rejected; legacy
inline still valid; missing objectName/columns rejected; runtimeFilter carried).
Verified live: a dataset-bound report renders its table (revenue by stage) in
the Studio preview.

Note: client-side validation in the Studio editor recognises the new shape only
after objectui bumps its @objectstack/spec dependency (cross-repo spec skew);
rendering already works because the preview reads draft fields directly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@os-zhuang os-zhuang merged commit 2859f15 into main Jun 7, 2026
1 of 2 checks passed
@os-zhuang os-zhuang deleted the claude/report-binds-dataset branch June 7, 2026 10:49
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 7, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Building Building Preview, Comment Jun 7, 2026 10:49am

Request Review

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants