Skip to content

Commit 4d56bfd

Browse files
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

File tree

    0 commit comments

    Comments
     (0)