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 guides + ADR-0040 with the ask/build two-agent model (ADR-0063/0064) (#2206)
Follow-up to #2194 — sweeps the remaining docs-site + ADR prose that still
described the superseded ADR-0040 unified-assistant / custom-agent model:
- guides/ai-capabilities.mdx: reframe the "AI Agents" section to the two
surface-bound platform agents (`ask` OSS/free, `build` cloud/paid). State
ADR-0063 §2 (you extend via skills, not agents — `*.agent.ts` is
platform-internal, `allowRuntimeCreate:false`) and ADR-0064 (tools = union
of surface-compatible skills' tools; `surface:'build'` inert on OSS). Add
the `surface` field to the AgentSchema table; recontextualize the example
`defineAgent()` blocks as anatomy, not a tenant-authoring tutorial.
- guides/plugin-chatbot-integration.mdx: code examples use `ask`, not the
legacy `data_chat` alias.
- adr/0040: add a Superseded-by-ADR-0063 banner + Status line (body kept as
the historical record).
Generated schema refs (references/ai/agent.mdx, skill.mdx) already carry the
`surface` field — build-docs.ts reruns with no diff. Docs-only.
Refs #2168
Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
`surface:'build'` skills are inert on the open-source framework (the `build` agent
70
+
is cloud-only) — intentional tiering, not a bug.
71
+
72
+
### The shape of an agent
73
+
74
+
An agent is metadata validated by `AgentSchema` (the platform's own `ask` / `build`
75
+
records use exactly these fields):
51
76
52
77
| Field | Meaning |
53
78
|------|---------|
79
+
|`surface`|`'ask'`\|`'build'` — the product surface this agent binds (ADR-0063 §1) |
54
80
|`role`| Free-text **persona** string (e.g. `"Senior Support Engineer"`) — not an enum |
55
81
|`instructions`| System prompt / prime directives |
56
82
|`model`| Provider + model config (`provider`: `openai`\|`azure_openai`\|`anthropic`\|`local`) |
57
83
|`skills`| Skill names to attach (the primary Agent → Skill → Tool capability model) |
58
84
|`tools`| Direct tool **references**`{ type, name, description }` — `type` is `action`\|`flow`\|`query`\|`vector_search`; `name` points at an existing Action/Flow/query |
Copy file name to clipboardExpand all lines: docs/adr/0040-unified-assistant-and-agent-binding.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,8 @@
1
1
# ADR-0040: Unified Assistant — the end user never picks an agent
2
2
3
-
**Status**: Proposed (2026-06-11)
3
+
> **⚠️ 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
+
5
+
**Status**: **Superseded by [ADR-0063](./0063-two-kernel-agents-skills-are-the-extension-primitive.md)** — original: Proposed (2026-06-11)
4
6
**Deciders**: ObjectStack Protocol Architects
5
7
**Builds on**: [ADR-0033](./0033-ai-assisted-metadata-authoring.md) (draft-gated authoring tools the assistant drives), [ADR-0038](./0038-build-verification-loop.md) (the verify-fix-reverify discipline carried by skills), ADR-0037 / [framework#1694](https://github.com/objectstack-ai/framework/pull/1694) (Live Canvas — the surface the unified assistant builds into)
6
8
**Consumers**: `@objectstack/spec` (agent/skill types — clarified, not changed), `@objectstack/service-ai` (default agent composition), `../cloud/service-ai-studio` (authoring skills attach to the platform assistant), `../objectui` (chat surfaces drop the agent picker)
0 commit comments