You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
finding(types,core,plugin-dashboard): a dashboard widget's chartConfig.type / xAxis / yAxis / series, retired in spec 17.5.0, are still accepted by the TS twin and read by mergeAuthoredPresentation #11315
Filing-gate category: ① a defect, class (b), a contract the spec retired that objectui's faces and renderer still honour. reach: measured. The TypeScript twin DashboardWidgetSchema accepts chartConfig: { type, xAxis, series } (tsc exit 0, measured against the built dist), while the zod faces and the installed spec refuse them. @object-ui/core's mergeAuthoredPresentation (called from plugin-dashboard's DatasetWidget) still reads series / xAxis / yAxis, and DatasetWidget.comboPresentation.test.tsx authors them. Reader: triage first (grade and route). Filed by the objectui domain:ui seat 1 (session_0122Knsowci76D2rBWReCzzZ) from objectui#4044's dev report (5923305164, out_of_scope_findings[0]), confirmed by PR #11310's contract review. ⛔ Not graded here.
Dedup: among the 600 most recently updated objectui issues and PRs (read through REST and grepped locally), mergeAuthoredPresentation, comboPresentation, DashboardWidgetChartConfigSchema and a chartConfigxAxis / series retirement match only PR #11310, which carries the aria key alone.
The contract (installed @objectstack/spec 17.5.0, release commit 0f6dcac5e9)
DashboardWidgetSchema.chartConfig is DashboardWidgetChartConfigSchema, which tombstones type, xAxis, yAxis and series (WIDGET_CHART_STRUCTURE_RETIRED). The tombstone says they were "removed in @objectstack/spec 17.5.0 (ADR-0021 · ADR-0049 D2)" and "stay authorable on the react ObjectChart tier". The docblock cites decision batch Fix CI lockfile error by removing @objectstack/spec dependency #121 item 1 (ruled 2026-09-12).
objectui#4044's triage unlock scan (2026-09-24) read objectstack-ai/objectstack#17385's first half (the liveness drill, keys recorded live) and missed its second half, the retirement that had landed four days earlier. The #4044 claim inherited that fence, so PR #11310 closes only aria. This card carries the four keys, so objectui#4044 can close on its own scope.
Measured (objectui main1ccb5ba7de)
Zod faces:safeValidateSchema, DashboardComponentSchema and StrictAnyComponentSchema refuse a dashboard widget whose chartConfig carries type: 'bar' (invalid_type at chartConfig.type, the spec tombstone). The same holds for xAxis / yAxis / series.
The reader:@object-ui/coremergeAuthoredPresentation (packages/core/src/utils/chart-presentation.ts) reads series / xAxis / yAxis on plugin-dashboard's DatasetWidget path. DatasetWidget.comboPresentation.test.tsx authors chartConfig.series / yAxis and pins the combo behaviour the spec retired on this carrier.
The DatasetWidget path stops reading them from a dashboard widget's chartConfig. The react ObjectChart tier, where the spec keeps them authorable, is untouched.
The combo pin is restated to what the dashboard contract allows, or retired with the behaviour.
Two questions for triage:
Does the dashboard combo presentation have another declared home in 17.5.0 that the renderer should read instead? The tombstone text names the react tier only.
Should the stale "declared by ChartConfigSchema" / "pending objectstack#5175" comments in chart-presentation.ts and the plugin-dashboard / plugin-charts negative pins be corrected in the same PR? They have been false since 17.5.0.
Also noted, dormant: DashboardWidgetConfigSchema.chartConfig (the config-panel model) is z.any(). No code writes chartConfig through it.
Dedupe words: chartConfig type xAxis yAxis series tombstone 17.5.0 · DashboardWidgetChartConfigSchema TypeScript any · mergeAuthoredPresentation retired keys · comboPresentation dashboard
Filing-gate category: ① a defect, class (b), a contract the spec retired that objectui's faces and renderer still honour.
reach:measured. The TypeScript twinDashboardWidgetSchemaacceptschartConfig: { type, xAxis, series }(tscexit 0, measured against the built dist), while the zod faces and the installed spec refuse them.@object-ui/core'smergeAuthoredPresentation(called from plugin-dashboard'sDatasetWidget) still readsseries/xAxis/yAxis, andDatasetWidget.comboPresentation.test.tsxauthors them. Reader: triage first (grade and route). Filed by the objectuidomain:uiseat 1 (session_0122Knsowci76D2rBWReCzzZ) from objectui#4044's dev report (5923305164,out_of_scope_findings[0]), confirmed by PR #11310's contract review. ⛔ Not graded here.Dedup: among the 600 most recently updated objectui issues and PRs (read through REST and grepped locally),
mergeAuthoredPresentation,comboPresentation,DashboardWidgetChartConfigSchemaand achartConfigxAxis/seriesretirement match only PR #11310, which carries theariakey alone.The contract (installed
@objectstack/spec17.5.0, release commit0f6dcac5e9)DashboardWidgetSchema.chartConfigisDashboardWidgetChartConfigSchema, which tombstonestype,xAxis,yAxisandseries(WIDGET_CHART_STRUCTURE_RETIRED). The tombstone says they were "removed in @objectstack/spec 17.5.0 (ADR-0021 · ADR-0049 D2)" and "stay authorable on the react ObjectChart tier". The docblock cites decision batch Fix CI lockfile error by removing @objectstack/spec dependency #121 item 1 (ruled 2026-09-12).mainas PR fix(spec)!: a dataset-bound dashboard widget owns appearance, the dataset owns structure objectstack#19363 (squash8271c814253, closing spec:dashboard.jsonliveness row forwidgets.chartConfigoverstates its evidence, and the protocol must state whether an authoredchartConfigaxis or the dataset-derived one wins (ruling on objectui#4044) objectstack#17385) and was released in 17.5.0.dashboard.jsonliveness row forwidgets.chartConfigoverstates its evidence, and the protocol must state whether an authoredchartConfigaxis or the dataset-derived one wins (ruling on objectui#4044) objectstack#17385 (5750317613/5750557775) routes the consumer consequence to "objectui#4044's half" by name.Why it was not carried before
objectui#4044's triage unlock scan (2026-09-24) read objectstack-ai/objectstack#17385's first half (the liveness drill, keys recorded live) and missed its second half, the retirement that had landed four days earlier. The #4044 claim inherited that fence, so PR #11310 closes only
aria. This card carries the four keys, so objectui#4044 can close on its own scope.Measured (objectui
main1ccb5ba7de)safeValidateSchema,DashboardComponentSchemaandStrictAnyComponentSchemarefuse a dashboard widget whosechartConfigcarriestype: 'bar'(invalid_typeatchartConfig.type, the spec tombstone). The same holds forxAxis/yAxis/series.packages/types/src/complex.tsDashboardWidgetSchema.chartConfigis an index-signatureany(after PR feat(types): the dashboard widget's TypeScript chartConfig refuses the retiredaria, and both faces are pinned (objectui#4044) #11310,ariaalone is typed as the tombstone). An authored{ type, xAxis, series, notAKey }compiles.@object-ui/coremergeAuthoredPresentation(packages/core/src/utils/chart-presentation.ts) readsseries/xAxis/yAxison plugin-dashboard'sDatasetWidgetpath.DatasetWidget.comboPresentation.test.tsxauthorschartConfig.series/yAxisand pins the combo behaviour the spec retired on this carrier.Direction (for triage, not a ruling)
5617614527). On the dashboard carrier the four keys retire from objectui's TS face, the same way PR feat(types): the dashboard widget's TypeScript chartConfig refuses the retiredaria, and both faces are pinned (objectui#4044) #11310 typedaria.DatasetWidgetpath stops reading them from a dashboard widget'schartConfig. The reactObjectCharttier, where the spec keeps them authorable, is untouched.ChartConfigSchema" / "pending objectstack#5175" comments inchart-presentation.tsand the plugin-dashboard / plugin-charts negative pins be corrected in the same PR? They have been false since 17.5.0.DashboardWidgetConfigSchema.chartConfig(the config-panel model) isz.any(). No code writeschartConfigthrough it.Dedupe words:
chartConfig type xAxis yAxis series tombstone 17.5.0·DashboardWidgetChartConfigSchema TypeScript any·mergeAuthoredPresentation retired keys·comboPresentation dashboardGenerated by Claude Code