Skip to content

feat: ADR-0047 implementation (framework) — userFilters spec, reference diagnostics, showcase examples, authoring form - #1792

Merged
xuyushun441-sys merged 3 commits into
mainfrom
feat/adr-0047-spec-and-showcase
Jun 12, 2026
Merged

feat: ADR-0047 implementation (framework) — userFilters spec, reference diagnostics, showcase examples, authoring form#1792
xuyushun441-sys merged 3 commits into
mainfrom
feat/adr-0047-spec-and-showcase

Conversation

@xuyushun441-sys

Copy link
Copy Markdown
Contributor

Implements the framework side of ADR-0047 (phases 1, 3, 5).

Phase 1 — spec + diagnostics

  • UserFilterFieldSchema / UserFiltersSchema in ui/view.zod.ts, attached as ListViewSchema.userFilters — formalizes the shape the objectui client already renders
  • 'chart' added to VisualizationTypeSchema (8-type parity); appearance.allowedVisualizations confirmed as the runtime visualization whitelist
  • InterfacePageConfig: userFilters now uses the real UserFiltersSchema (replaces the misplaced elements visualization enum — zero prior usage); new sourceView for the iron rule (pages reference views, never restate them)
  • computeViewReferenceDiagnostics (objectql): cross-document checks Zod cannot express — userFilters/tabs fields must exist on the source object, kanban groupBy must be select-like — merged into _diagnostics on view getMetaItem. Unit-tested + verified live (bad field → reference_not_found, date groupBy → invalid_binding)

Phase 3 — examples + AI authoring rules

  • showcase showcase_task default view: filter tabs, userFilters dropdowns, allowedVisualizations whitelist (the few-shot corpus was empty)
  • new Task Workbench interface page (interfaceConfig) + nav entry — the canonical interface-mode example
  • objectstack-ui skill: two-run-modes decision table, default-to-data-mode rule, the iron rule

Phase 5 — authoring form

  • viewForm gains an End-user controls section; the spec-form-driven Studio inspector renders the full userFilters/tabs/appearance authoring UI with zero client code

Verification

All behavior verified live in the browser against examples/app-showcase + the objectui console (companion PR in objectui): data-mode tabs/dropdowns/visualization switcher, interface-mode curated page, reference diagnostics, Studio authoring panel.

🤖 Generated with Claude Code

os-zhuangand others added 3 commits June 12, 2026 17:58
…list, view reference diagnostics
- UserFilterFieldSchema/UserFiltersSchema in ui/view.zod.ts, attached as
ListViewSchema.userFilters (blesses the shape objectui already renders)
- 'chart' added to VisualizationTypeSchema (8-type parity with ListView.type);
appearance.allowedVisualizations remains the runtime whitelist
- InterfacePageConfig: userFilters now uses the real UserFiltersSchema
(replaces the misplaced elements visualization enum, zero prior usage);
new sourceView for the ADR-0047 iron rule (pages reference views)
- computeViewReferenceDiagnostics in objectql: cross-document checks Zod
cannot express (userFilters/tabs fields exist on source object, kanban
groupBy is select-like), merged into _diagnostics on view getMetaItem
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…amples + skill decision rules
- showcase_task default view gains filter tabs, userFilters dropdowns
(status/priority/done) and an allowedVisualizations whitelist — the
few-shot corpus for AI authors was previously empty
- new Task Workbench interface page: references the default view
(sourceView), locked grid, author-curated dropdowns, filter:false —
the canonical interface-mode example; nav entry added next to the
data-mode Tasks entry
- objectstack-ui skill: two-run-modes decision table, default-to-data-mode
rule, the iron rule, and the userFilters/tabs/appearance authoring block
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…authoring form
The Studio view inspector is spec-form-driven, so adding the section here
renders the full authoring UI (userFilters fields/tabs repeaters with the
element style selector, appearance.allowedVisualizations, userActions,
addRecord, showRecordCount) with zero client code — verified in the
browser against the showcase. Also registers TaskWorkbenchPage in the
showcase stack config (the phase-3 nav entry referenced it).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercelBot commented Jun 12, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
specReadyReadyPreview, CommentJun 12, 2026 3:58pm

Request Review

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation tests protocol:ui size/l labels Jun 12, 2026
@xuyushun441-sys
xuyushun441-sys merged commit 249395a into mainJun 12, 2026
12 checks passed
@xuyushun441-sys
xuyushun441-sys deleted the feat/adr-0047-spec-and-showcase branch June 12, 2026 16:19
xuyushun441-sys added a commit that referenced this pull request Jun 13, 2026
…1801)
Adds the 'Interface (list pages)' section to the Studio page form,
visible when type == 'list': the interfaceConfig composite renders the
full Airtable-right-panel equivalent — Source/Source View (iron-rule
help text), Levels, Filter By rows, Appearance (Show Description +
Allowed Visualizations tags), User Filters (Element style + Fields rows
with showCount) and User Actions toggles.
Completes the phase-5 authoring surface: views got their End-user
controls section in #1792; pages now have the same for interface mode.
Browser-verified in Studio against the showcase Task Workbench page.
Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationImprovements or additions to documentationprotocol:uisize/ltests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@xuyushun441-sys@os-zhuang