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
docs: align AI docs with open=MCP-only / in-UI AI=cloud (cloud ADR-0025) (#2337)
Propagate framework #2325 (service-ai removed from the open framework) across the
remaining docs. Canonical decision: cloud ADR-0025 (service-ai -> cloud; open =
MCP-only). Disambiguates the cross-repo "ADR-0025" reference, since framework
ADR-0025 is plugin-distribution and unrelated.
New model documented everywhere:
- Open edition (cloud free tier / Docker / desktop / on-prem): no in-product
ask/build chat. Data query via @objectstack/mcp (BYO-AI); metadata authoring
via source mode + an AI coding agent.
- Cloud / Enterprise: in-UI AI runtime (ask + build + in-product chat +
/api/v1/ai/*), governed ask, managed/metered AI.
User-facing: ai-capabilities (ask edition open->cloud, fixed the ambiguous ADR-0025
ref, added the open-edition two-path callout), plugin-chatbot-integration,
environment-variables, knowledge, implementation-status, README (AI bullet -> MCP;
drop the dead service-ai Services row), both objectstack-* skills.
ADRs: cloud-owned banners on 0033/0038/0040/0063/0064 per cloud ADR-0025 (banners
only; ADR bodies preserved as historical record).
Left as historical/unaffected: docs/audits/2026-06-*, RELEASE_NOTES.md,
ARCHITECTURE.md (spec/ai schemas stay open), apps/docs/app/llms* (generated route
handlers), other ADRs' incidental service-ai mentions.
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -84,7 +84,7 @@ Prefer clicking? Author the same metadata visually in **Studio** — objects, re
84
84
-**AI-native, not retrofitted** — Objects, permissions, flows, APIs, and UI are declarative typed metadata, small enough for an agent to load end-to-end. That metadata generates an automatic tool surface — REST APIs, client SDKs, UI views, and an [MCP](packages/mcp) server — so agents inspect and act through the same contracts you defined.
85
85
-**Protocol-first runtime** — Every definition starts as a Zod schema (`z.infer<>` types), compiles into versioned, self-describing JSON artifacts, and runs on a microkernel plugin system (DI container, EventBus, `init → start → destroy` lifecycle).
-**Governance & built-ins** — better-auth, RBAC / RLS / FLS, a DAG-based automation engine, an AI service (Agent / Tool / Skill on the Vercel AI SDK), the ObjectUI Console, and a full CLI (`os init` / `dev` / `compile` / `validate` / …).
87
+
-**Governance & built-ins** — better-auth, RBAC / RLS / FLS, a DAG-based automation engine, an [MCP](packages/mcp) server that exposes the app to your own AI (BYO-AI), the ObjectUI Console, and a full CLI (`os init` / `dev` / `compile` / `validate` / …).
88
88
89
89
## Why AI-native?
90
90
@@ -252,7 +252,6 @@ For the browser, the typed client SDK and React hooks (`useQuery` / `useMutation
252
252
253
253
| Package | Description |
254
254
| :--- | :--- |
255
-
|[`@objectstack/service-ai`](packages/services/service-ai)| AI service — Agent, Tool, Skill, Vercel AI SDK integration |
256
255
|[`@objectstack/service-analytics`](packages/services/service-analytics)| Analytics — aggregations, time series, funnels, dashboards |
257
256
|[`@objectstack/service-automation`](packages/services/service-automation)| Automation engine — flows, triggers, and workflow state machines |
Copy file name to clipboardExpand all lines: content/docs/guides/ai-capabilities.mdx
+26-8Lines changed: 26 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,18 @@ description: "Complete guide to leveraging AI agents, RAG pipelines, and intelli
7
7
8
8
Complete guide to leveraging AI agents, knowledge retrieval, and intelligent automation in ObjectStack.
9
9
10
-
> **Note — the open edition exposes AI via MCP (BYO-AI).** Per ADR-0025, the in-UI AI runtime (`@objectstack/service-ai`: agents, the `ask`/`build` assistants, in-product chat) ships in the **cloud / Enterprise** distribution, not the open framework. A self-hosted **open** runtime instead exposes its objects, queries, and business actions to *your own* AI — Claude, Cursor, any MCP client, or a local model — through **`@objectstack/mcp`** (bring-your-own-AI, zero platform AI cost). The `@objectstack/service-ai` examples below therefore describe the cloud/EE distribution.
10
+
<Callouttype="warning">
11
+
**This guide describes the cloud / Enterprise AI tier. The open edition exposes AI only via MCP (BYO-AI).**
12
+
13
+
Per **cloud ADR-0025** (`service-ai → cloud; open = MCP-only` — [`cloud/docs/adr/0025`](https://github.com/objectstack-ai/cloud/blob/main/docs/adr/0025-service-ai-to-cloud-open-mcp-only.md)), the in-UI AI runtime — `@objectstack/service-ai`: both the **`ask`** data-query assistant and the **`build`** Studio authoring assistant, plus all in-product chat — ships in the **cloud / Enterprise** distribution. It is **not** in the open framework, and no open distribution (cloud free tier, Docker, desktop, on-prem) has a built-in `ask` / `build` chat.
14
+
15
+
The **open edition** does AI two ways instead — both bring-your-own-AI, zero platform AI cost:
16
+
17
+
-**Data query → `@objectstack/mcp`** (BYO-AI). Point your own AI — Claude, Cursor, any MCP client, or a local model — at the app's objects, queries, and business **actions**, governed by the same RLS. With a local model, data *and* inference stay inside your boundary.
18
+
-**Metadata authoring → source mode.** Author typed metadata as source (`*.object.ts`, `*.flow.ts`, …) with your own AI coding agent (Claude Code, Cursor), aided by the ObjectStack [skills](./skills) and MCP introspection. There is no in-product Builder chat in the open edition.
19
+
20
+
Everything below (agents, the `ask` / `build` personas, `@objectstack/service-ai` wiring, the `/api/v1/ai/*` routes) therefore describes the **cloud / Enterprise** distribution.
21
+
</Callout>
11
22
12
23
## Table of Contents
13
24
@@ -50,12 +61,17 @@ is in — the user never picks from a roster:
50
61
51
62
| Agent | Surface | Does | Edition |
52
63
|---|---|---|---|
53
-
|**`ask`**| data console | Read / query / explore records + run the business **actions** the app exposes. RLS-bounded. | open-source · free |
54
-
|**`build`**| Studio | Author *metadata* (objects, fields, views, flows) via plan → draft → verify → publish. | cloud · paid |
64
+
|**`ask`**| data console | Read / query / explore records + run the business **actions** the app exposes. RLS-bounded. | cloud · Enterprise |
65
+
|**`build`**| Studio | Author *metadata* (objects, fields, views, flows) via plan → draft → verify → publish. | cloud · Enterprise |
66
+
67
+
Both agents are part of the **cloud / Enterprise** in-UI AI runtime (cloud ADR-0025).
68
+
The **open edition** ships neither — it uses `@objectstack/mcp` (BYO-AI) for data
69
+
query and source-mode authoring instead (see the note above).
55
70
56
-
There is no per-turn intent classifier and no agent dropdown: the surface binds
57
-
the agent (data console → `ask`, Studio → `build`). A `build`-shaped request that
58
-
reaches `ask` is declined and redirected to the Builder, never silently re-routed.
71
+
Within the cloud / EE runtime there is no per-turn intent classifier and no agent
72
+
dropdown: the surface binds the agent (data console → `ask`, Studio → `build`). A
73
+
`build`-shaped request that reaches `ask` is declined and redirected to the
74
+
Builder, never silently re-routed.
59
75
60
76
### You extend the platform with **skills**, not agents
61
77
@@ -68,8 +84,10 @@ Actions / Flows / queries; it then attaches to `ask`. Every skill declares
68
84
surface-compatible skills' tools** — there is no global fall-through, so a skill
Copy file name to clipboardExpand all lines: content/docs/guides/environment-variables.mdx
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -125,6 +125,15 @@ Auth settings precedence:
125
125
126
126
## AI
127
127
128
+
<Callouttype="warning">
129
+
These variables configure the **cloud / Enterprise** in-UI AI runtime
130
+
(`@objectstack/service-ai`), which moved out of the open framework — see cloud
131
+
ADR-0025 (`service-ai → cloud; open = MCP-only`). The **open edition** has no
132
+
in-UI AI runtime to configure: it exposes AI through `@objectstack/mcp` (BYO-AI),
133
+
where the model and provider are configured in your own MCP client (Claude,
134
+
Cursor, a local model, …). See the [AI Capabilities guide](./ai-capabilities).
135
+
</Callout>
136
+
128
137
| Variable | Type | Default | Description |
129
138
|:---|:---|:---|:---|
130
139
|`AI_GATEWAY_MODEL`| string | — | Vercel AI Gateway model id (for example `openai/gpt-4.1-mini` or `anthropic/claude-sonnet-4-5`). When set, the AI service boots with the gateway adapter before trying direct providers. |
> **🔶 Cloud-owned — superseded in part by cloud ADR-0025 (2026-06-25).** The in-UI AI runtime and the `ask` / `build` agents described here moved to the **cloud / Enterprise** distribution (`@objectstack/service-ai` → `cloud/packages/service-ai`, closed); the open framework exposes AI only via `@objectstack/mcp` (BYO-AI) and ships no in-product `ask` / `build` chat. Retained as historical design context, now **cloud-owned** — see [`cloud/docs/adr/0025-service-ai-to-cloud-open-mcp-only`](https://github.com/objectstack-ai/cloud/blob/main/docs/adr/0025-service-ai-to-cloud-open-mcp-only.md).
4
+
3
5
**Status**: Accepted (2026-06-02)
4
6
**Deciders**: ObjectStack Protocol Architects
5
7
**Builds on**: [ADR-0005](./0005-metadata-customization-overlay.md) (one Zod source per type + org overlay), [ADR-0010 (protection)](./0010-metadata-protection-model.md) (L1/L2/L3 protection), [ADR-0010 (NL→flow)](./0010-nl-to-flow-authoring.md) + [ADR-0011](./0011-actions-as-ai-tools.md) (AI authoring of metadata / actions-as-tools — **the design center**), [ADR-0019](./0019-approval-as-flow-node.md) (approvals as a flow node), [ADR-0027](./0027-metadata-authoring-lifecycle.md) (**staged authoring · draft · publish · promote** — *this ADR routes every AI write through its draft workspace*), [ADR-0032](./0032-unified-expression-layer.md) (validate-by-default, AI-authored expressions)
Copy file name to clipboardExpand all lines: docs/adr/0038-build-verification-loop.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,7 @@
1
1
# ADR-0038: Build Verification Loop — the agent builds, verifies, and corrects itself
2
2
3
+
> **🔶 Cloud-owned — superseded in part by cloud ADR-0025 (2026-06-25).** The in-UI AI runtime and the `ask` / `build` agents described here moved to the **cloud / Enterprise** distribution (`@objectstack/service-ai` → `cloud/packages/service-ai`, closed); the open framework exposes AI only via `@objectstack/mcp` (BYO-AI) and ships no in-product `ask` / `build` chat. Retained as historical design context, now **cloud-owned** — see [`cloud/docs/adr/0025-service-ai-to-cloud-open-mcp-only`](https://github.com/objectstack-ai/cloud/blob/main/docs/adr/0025-service-ai-to-cloud-open-mcp-only.md).
4
+
3
5
**Status**: Proposed (2026-06-11)
4
6
**Deciders**: ObjectStack Protocol Architects
5
7
**Builds on**: [ADR-0033](./0033-ai-assisted-metadata-authoring.md) (drafts as the staging layer — this ADR **replaces its human-approval assumption for AI builds** with a machine gate; HITL stays for destructive actions), [ADR-0021](./0021-analytics-dataset-semantic-layer.md) (datasets — what most verification probes exercise), ADR-0037 / [framework#1694](https://github.com/objectstack-ai/framework/pull/1694) (Live Canvas — the *human-visibility* complement to this ADR's *machine-verification*)
Copy file name to clipboardExpand all lines: docs/adr/0040-unified-assistant-and-agent-binding.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,7 @@
1
1
# ADR-0040: Unified Assistant — the end user never picks an agent
2
2
3
+
> **🔶 Cloud-owned — superseded in part by cloud ADR-0025 (2026-06-25).** The in-UI AI runtime and the `ask` / `build` agents described here moved to the **cloud / Enterprise** distribution (`@objectstack/service-ai` → `cloud/packages/service-ai`, closed); the open framework exposes AI only via `@objectstack/mcp` (BYO-AI) and ships no in-product `ask` / `build` chat. Retained as historical design context, now **cloud-owned** — see [`cloud/docs/adr/0025-service-ai-to-cloud-open-mcp-only`](https://github.com/objectstack-ai/cloud/blob/main/docs/adr/0025-service-ai-to-cloud-open-mcp-only.md).
4
+
3
5
> **⚠️ Superseded by [ADR-0063](./0063-two-kernel-agents-skills-are-the-extension-primitive.md)** (2026-06-22). Its core decision — a *single* unified assistant carrying all skills, switched by a per-turn intent classifier — was **reversed**: the kernel now ships two agents (`ask` / `build`) bound by *surface*, and `*.agent.ts` is closed to third parties (skills are the extension primitive). The UX win it established (the user never picks from a roster) is kept, re-grounded as surface binding. Kept below as a historical record of the decision and the incident that motivated it.
4
6
5
7
**Status**: **Superseded by [ADR-0063](./0063-two-kernel-agents-skills-are-the-extension-primitive.md)** — original: Proposed (2026-06-11)
Copy file name to clipboardExpand all lines: docs/adr/0063-two-kernel-agents-skills-are-the-extension-primitive.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,7 @@
1
1
# ADR-0063: Two agents (`ask` / `build`), bound by surface; skills are the only third-party extension primitive
2
2
3
+
> **🔶 Cloud-owned — superseded in part by cloud ADR-0025 (2026-06-25).** The in-UI AI runtime and the `ask` / `build` agents described here moved to the **cloud / Enterprise** distribution (`@objectstack/service-ai` → `cloud/packages/service-ai`, closed); the open framework exposes AI only via `@objectstack/mcp` (BYO-AI) and ships no in-product `ask` / `build` chat. Retained as historical design context, now **cloud-owned** — see [`cloud/docs/adr/0025-service-ai-to-cloud-open-mcp-only`](https://github.com/objectstack-ai/cloud/blob/main/docs/adr/0025-service-ai-to-cloud-open-mcp-only.md).
4
+
3
5
**Status**: Proposed (2026-06-22)
4
6
**Deciders**: ObjectStack Protocol Architects
5
7
**Supersedes**: [ADR-0040](./0040-unified-assistant-and-agent-binding.md) — its core decision (a *single* unified assistant selected by *per-turn intent classification*) is **reversed**. ADR-0040's UX win ("the end user never picks from a roster") is **kept** but re-grounded: the *surface* binds the agent, not a classifier and not a dropdown. §3 (custom tenant agents) is withdrawn; §4 (tool-scoping) is handed to [ADR-0064](./0064-tool-scoping-to-agent.md).
0 commit comments