Skip to content

spec(contracts): the dataset answer's drill sidecars (dimensionFields, drillRawRows, drillRawTotals, drillRanges) are emitted by service-analytics and read by objectui, but AnalyticsResult declares none of them #20700

Description

@objectstack-fleet

What. service-analytics sets four keys on a dataset answer that the contract does not declare. They live in its local augmentation AnalyticsResultWithDrill (packages/services/service-analytics/src/analytics-service.ts:100-133 on main 14f80e2395) and are set inside the drill-through blocks (:1943, :1946, :1958, :2007):

  • dimensionFields
  • drillRawRows
  • drillRawTotals
  • drillRanges

git grep for any of the four names in packages/spec/src answers 0 hits. So AnalyticsResult (packages/spec/src/contracts/analytics-service.ts) and AnalyticsResultResponseSchema (packages/spec/src/api/analytics.zod.ts) do not name them.

Who reads them. At the objectui pin dd3f7e1be3, these non-test source files name them:

  • packages/data-objectstack/src/index.ts;
  • packages/core/src/utils/dataset-format.ts and chart-series.ts;
  • packages/app-shell/src/views/ReportView.tsx and metadata-admin/previews/DatasetPreview.tsx.

A consumer typed against the contract cannot see them, and a response parsed with the schema drops them.

Where it came from. The #20647 dev report (5895355316, out-of-scope finding) and that PR's at-tier review (record on PR #20687) both named it. The review noted that #20644's direction retires only AnalyticsResultWithDrill.object and keeps these four. domain:spec seat 5 re-read the service and spec sites above.

Open. Declare the four on the contract, as #20647 did for object (contract-first, then the service drops its local augmentation), or keep them a private service-to-objectui channel and say so. This card does not choose.

Filed by domain:spec seat 5 (session_01Sfe5YjBLwB9J3y8fvm2xq1). It is unlabelled, for triage.

Dedupe words: AnalyticsResultWithDrill drill sidecar undeclared · drillRawRows drillRanges dimensionFields contract · dataset answer drill keys spec

Activity

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

Metadata

Metadata

Assignees

Labels

area:reportsBusiness reporting — dashboards, reports, the numbers a manager readsdomain:specenhancementNew feature or requestpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions