Stability tier table
Synopsis
The Ethos control-plane contract assigns each namespace a stability tier. Stable namespaces follow semver -- breaking changes require a major version bump. Experimental namespaces may change in any minor release. This page lists every namespace, its tier, and the procedures it exposes today.
Tiers
| Tier | Meaning |
|---|---|
| @stable v1 | API surface is committed. Breaking changes require a major version bump. |
| @experimental | API surface may change in any minor release. Pin your SDK version and watch the changelog. |
Namespace table
| Namespace | Tier | Procedures |
|---|---|---|
sessions | @stable v1 | list, get, fork, delete, update |
personalities | @stable v1 | list, get, characterSheet, create, update, delete, duplicate, skillsList, skillsGet, skillsCreate, skillsUpdate, skillsDelete, skillsImportGlobal |
chat | @stable v1 | send, abort |
memory | @stable v1 | list, get, write |
meta | @stable v1 | capabilities |
tools | @experimental | approve, deny |
clarify | @experimental | respond |
onboarding | @experimental | state, validateProvider, complete |
config | @experimental | get, update |
cron | @experimental | list, get, create, delete, pause, resume, runNow, history |
skills | @experimental | list, get, create, update, delete |
evolver | @experimental | configGet, configUpdate, pendingList, pendingApprove, pendingReject, history |
mesh | @experimental | list, routeTest |
plugins | @experimental | list |
platforms | @experimental | list, set, clear, botsListTelegram, botsAddTelegram, botsRemoveTelegram, botsListSlack, botsAddSlack, botsRemoveSlack |
batch | @experimental | list, start, get, output |
eval | @experimental | list, start, get, output |
kanban | @experimental | list, getBoard, updateStatus |
apiKeys | @experimental | create, list, revoke |
Counts
- Stable namespaces: 5 (sessions, personalities, chat, memory, meta)
- Experimental namespaces: 14
- Total procedures: 77
Notes
- The
apiKeysnamespace requires cookie-auth. Bearer-token auth is rejected to prevent privilege escalation. - The
chat.sendRPC is fire-and-forget -- the agent's response streams over SSE, not the RPC response. - The
platformsnamespace includes multi-bot CRUD for Telegram and Slack alongside the base platform operations. - The
evalnamespace is aliased asevalNsinternally to avoid collision with JavaScript'sevalkeyword. - Stability tiers are declared as JSDoc
@stable/@experimentaltags inpackages/web-contracts/src/router.ts.