Commit 4d56bfd
docs(adr-0021): revise after implementation scan — engine join gap, Cube reconciliation, task list (#1417)
* docs(adr-0021): revise after implementation scan — engine join gap, Cube reconciliation, naming, task list
A four-area code scan (spec/runtime/frontend/examples) found three things
that change the plan:
- Runtime != schema: groupBy/aggregations execute (single-object), but
joins/having/windowFunctions are schema-only and NOT executed by
IDataEngine or the SQL driver. The headline "revenue by account.region"
cannot run via IDataEngine today — joins are the gating gap.
- A parallel semantic layer already exists and is implemented
(IAnalyticsService + CubeSchema); its NativeSQLStrategy is the only
cross-object JOIN path but bypasses RLS/tenant. Don't build a third
layer — reuse/compile-to Cube.
- Naming collisions: Dataset/Dimension/Metric are already taken.
Corrects the false "engine already does joins" premise, adds the
Cube-reconciliation + naming decisions (D-A/B/C), and appends an
implementation-scan section with a workstream task list and rough sizing
(~6-8 weeks across both repos; rendering lives in sibling repo objectui).
* docs(adr-0021): resolve D-A/B/C and Q1-Q3 on the AI-author / human-review criterion
- D-A: dataset is the ONE author-facing semantic type; compiles to the
existing Cube runtime; retire/absorb the author-facing Cube DSL.
- D-B: take high-prior names dataset/measure/dimension; rename seed
Dataset -> Seed; Cube Dimension/Metric absorbed (collision dissolves).
- D-C: reuse Cube NativeSQLStrategy join path but make RLS + per-joined-
object tenant scoping mandatory; v1 joins only along declared relations.
- Q1: derived measures first-class now, CLOSED (reference measures by
name only; no raw fields/SQL).
- Q2: deferred; runtimeFilter only in v1.
- Q3: deferred; conformed dimensions in a follow-up ADR.
Rewrites D1 schema to a declarative surface smaller than QuerySchema
(object + include relationships + dims/measures + derived), no raw SQL,
joins derived from the object graph. Adds the six AI-author principles
that drive the decisions. WS2 drops XL->L; estimate ~4-6 weeks.
---------
Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>1 parent fa5d965 commit 4d56bfd
0 file changed
0 commit comments