Uh oh!
There was an error while loading. Please reload this page.
feat(connector-slack): Slack Web API connector + connector/channel reconciliation (ADR-0022) - #1418
Merged
Merged
Conversation
…ube 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).
…conciliation (ADR-0022) Add ADR-0022 reconciling the two seams that both claim 'Slack': Connector (integration mechanism, built) vs MessagingChannel (human-notification layer, ADR-0012/0013, draft). Decision: notify-a-human => MessagingChannel; raw API call => connector_action; the channel delegates its transport to a Connector. Back-references added to ADR-0012 §2 and ADR-0013 §9. Add @objectstack/connector-slack — the second reference concrete connector (after connector-rest), validating the baseline connector registry and opening the ADR-0022 'raw API call' path. Static bot-token (bearer) auth only; OAuth2 install/refresh and credential vaulting stay enterprise. Actions: chat.postMessage, chat.update, and a generic call escape hatch. Surfaces Slack's logical 'ok' (HTTP 200 even on failure) without throwing. Tests: 8/8 (connector unit + end-to-end kernel boot dispatching a connector_action flow to slack.chat.postMessage).
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…view 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.
Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ADR-0022 reconciles Connector (integration mechanism, built) vs MessagingChannel (human-notification, ADR-0012/0013 draft): notify-a-human => MessagingChannel; raw API call => connector_action; channel delegates transport to a Connector. Back-refs added to 0012 §2 / 0013 §9. Adds @objectstack/connector-slack (2nd reference connector after connector-rest): static bot-token auth, chat.postMessage/chat.update/call actions, surfaces Slack's logical ok without throwing. Tests 8/8 incl. e2e kernel boot dispatching connector_action -> slack.chat.postMessage.