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] a joined report's chart — container and blocks[].chart — parses and is never drawn, while the liveness ledger names the joined branch as its reader #20161
Filing gate: ① a defect with a named landing site, finding class (b): a declared contract that is not enforced. reach: is the public door. ReportSchema.safeParse ACCEPTS a container chart on a type: 'joined' report and a blocks[].chart, measured by probe at objectstack 8d1f7ab7 by the #19856 dev (report 5852276378, out_of_scope_findings[0]). The renderer leg below is the filing seat's own reading.
Found by the os-dev round on #19856 (PR #20160). Filed by domain:spec execution seat 1 (session_01Rjy9MeetSfq34PKn81CRiN, seat post #6017). Devs do not open issues. ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim.
Acting reader: triage grades and routes it. The fix is either objectui's renderer (draw block charts) or the spec lane (retire the key under ADR-0049 enforce-or-remove), and choosing between them may be a decision.
packages/spec/liveness/report.json, the blocks row note: 「objectui: joined-report sub-reports, each dataset-bound (dataset/rows/columns/values/runtimeFilter/chart) — DatasetReportRenderer joined branch.」 That names a reader for chart that does not read it (below).
packages/lintvalidate-chart-bindings still validates block charts against the block's dataset, per the dev's reading. So authoring is actively invited.
Not drawn
At objectui f8a9d0fb (the .objectui-sha pin), read by this seat:
packages/plugin-report/src/DatasetReportRenderer.tsx:1462 enters the joined branch. Each block renders a DatasetMatrixTable or DatasetReportTable (:1485-1506), then the branch returns (:1524). No block chart is rendered.
git grep -F "block.chart" over objectui packages/ at the pin exits 1. The control block.runtimeFilter hits DatasetReportRenderer.tsx (exit 0), so the instrument sees block reads. The radius is a content grep for the dotted spelling; a destructured read would sit outside it, and the branch read above covers that case.
The container chart read comes after the joined return, so a joined container's chart is never reached either.
⇒ An author, human or AI, who writes a chart on a joined report or on any of its blocks gets a green parse and a lint that checks the chart's bindings, and then sees tables only.
Riders: carry these in the same PR, whichever route is taken
ReportSchema.blocks TSDoc (report.zod.ts, near :384-392) still describes the pre-cutover block shape: 「Each block declares its own object, columns, groupings and filter. The container-level filter is ANDed…」. The key is runtimeFilter. The .zod.ts ships, so this is published text.
objectui: joined report chart DatasetReportRenderer block chart not drawn → 15 hits; the top 10 are other chart/dashboard defects, none a joined block chart.
Filing gate: ① a defect with a named landing site, finding class (b): a declared contract that is not enforced.
reach:is the public door.ReportSchema.safeParseACCEPTS a containercharton atype: 'joined'report and ablocks[].chart, measured by probe at objectstack8d1f7ab7by the #19856 dev (report5852276378,out_of_scope_findings[0]). The renderer leg below is the filing seat's own reading.Found by the
os-devround on #19856 (PR #20160). Filed bydomain:specexecution seat 1 (session_01Rjy9MeetSfq34PKn81CRiN, seat post #6017). Devs do not open issues. ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim.Acting reader: triage grades and routes it. The fix is either objectui's renderer (draw block charts) or the spec lane (retire the key under ADR-0049 enforce-or-remove), and choosing between them may be a decision.
Declared
At objectstack
origin/main9401b842:packages/spec/src/ui/report.zod.ts:223-224:JoinedReportBlockSchema.chart, 「Optional inline chart configuration.」:381:ReportSchema.chart, 「Embedded chart configuration」. Nothing refuses it on ajoinedcontainer. After PR fix(spec): a joined report refuses a top-level dataset / rows / columns / values, pointing each onto blocks[] #20160, the joined arm refusesdataset/rows/columns/values/order, and ⛔ notchart.packages/spec/liveness/report.json, theblocksrow note: 「objectui: joined-report sub-reports, each dataset-bound (dataset/rows/columns/values/runtimeFilter/chart) — DatasetReportRenderer joined branch.」 That names a reader forchartthat does not read it (below).packages/lintvalidate-chart-bindingsstill validates block charts against the block's dataset, per the dev's reading. So authoring is actively invited.Not drawn
At objectui
f8a9d0fb(the.objectui-shapin), read by this seat:packages/plugin-report/src/DatasetReportRenderer.tsx:1462enters the joined branch. Each block renders aDatasetMatrixTableorDatasetReportTable(:1485-1506), then the branch returns (:1524). No block chart is rendered.git grep -F "block.chart"over objectuipackages/at the pin exits 1. The controlblock.runtimeFilterhitsDatasetReportRenderer.tsx(exit 0), so the instrument sees block reads. The radius is a content grep for the dotted spelling; a destructured read would sit outside it, and the branch read above covers that case.chartread comes after the joinedreturn, so a joined container'schartis never reached either.⇒ An author, human or AI, who writes a chart on a joined report or on any of its blocks gets a green parse and a lint that checks the chart's bindings, and then sees tables only.
Riders: carry these in the same PR, whichever route is taken
ReportSchema.blocksTSDoc (report.zod.ts, near:384-392) still describes the pre-cutover block shape: 「Each block declares its own object, columns, groupings and filter. The container-levelfilteris ANDed…」. The key isruntimeFilter. The.zod.tsships, so this is published text.content/docs/ui/reports.mdx:108names onlyorderamong a joined container's refused keys. After PR fix(spec): a joined report refuses a top-level dataset / rows / columns / values, pointing each onto blocks[] #20160 it should list all five (six if this card retires the containerchart).Dedupe (the MCP repo-scoped issue search, closed included)
joined report block chart never rendered JoinedReportBlockSchema chart ignored→ 4 hits ([finding] atype: 'joined'report accepts top-leveldataset/rows/columns/values, and the renderer never reads them; the refinement refuses onlyorder#19856, chart-axis-not-selected resolves a report chart against report.values, but the pinned renderer queries only chart.xAxis x chart.yAxis #15734, [17.0.0-rc.0] Matrix report date columns are unordered — no server-side ordering, no ORDER BY in aggregate SQL, and the report schema offers no sort declaration #3916, [P3] Report: prune danglingReportColumnSchema/ReportGroupingSchemaexports + retire the legacyReportViewerfallback #3463); none is this defect.report blocks chart liveness ledger joined block chart declared not enforced→ 5 hits (spec/liveness: seed ledgers for the three PENDING_GOVERNANCE debts #18133 declared —connector,sharing_rule,analytics_cube#18582, spec: re-derive the liveness ledger before itsdead/live-elsewhereverdicts start warning authors —view.jsonlist.tabsre-read plus a sampled audit of the 90deadrows (ledger half of #16094) #16362, Liveness ledger has no verdict for keys enforced only in a sibling repo —deadmisreads as deletable (manifest.runtimecase) #13483, spec(liveness): 9 rows of the README state table have count columns that disagree with the gate's--jsonreport #7377, spec:liveness 台账widgets.children.chartConfig的 evidence 措辞不实(「chart-config bag forwarded」),按 #5175 实测改写(无争议先行步) #7017), all closed liveness chores; none is this defect.joined report chart DatasetReportRenderer block chart not drawn→ 15 hits; the top 10 are other chart/dashboard defects, none a joined block chart.Seam:
spec:JoinedReportBlockSchema.chart+spec:ReportSchema.chart(joined) →renderer:DatasetReportRenderer(joined branch).Dedupe words:
joined report chart never rendered·JoinedReportBlockSchema chart ignored·joined block chart DatasetReportRenderer