Skip to main content

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

TierMeaning
@stable v1API surface is committed. Breaking changes require a major version bump.
@experimentalAPI surface may change in any minor release. Pin your SDK version and watch the changelog.

Namespace table

NamespaceTierProcedures
sessions@stable v1list, get, fork, delete, update
personalities@stable v1list, get, characterSheet, create, update, delete, duplicate, skillsList, skillsGet, skillsCreate, skillsUpdate, skillsDelete, skillsImportGlobal
chat@stable v1send, abort
memory@stable v1list, get, write
meta@stable v1capabilities
tools@experimentalapprove, deny
clarify@experimentalrespond
onboarding@experimentalstate, validateProvider, complete
config@experimentalget, update
cron@experimentallist, get, create, delete, pause, resume, runNow, history
skills@experimentallist, get, create, update, delete
evolver@experimentalconfigGet, configUpdate, pendingList, pendingApprove, pendingReject, history
mesh@experimentallist, routeTest
plugins@experimentallist
platforms@experimentallist, set, clear, botsListTelegram, botsAddTelegram, botsRemoveTelegram, botsListSlack, botsAddSlack, botsRemoveSlack
batch@experimentallist, start, get, output
eval@experimentallist, start, get, output
kanban@experimentallist, getBoard, updateStatus
apiKeys@experimentalcreate, list, revoke

Counts

  • Stable namespaces: 5 (sessions, personalities, chat, memory, meta)
  • Experimental namespaces: 14
  • Total procedures: 77

Notes

  • The apiKeys namespace requires cookie-auth. Bearer-token auth is rejected to prevent privilege escalation.
  • The chat.send RPC is fire-and-forget -- the agent's response streams over SSE, not the RPC response.
  • The platforms namespace includes multi-bot CRUD for Telegram and Slack alongside the base platform operations.
  • The eval namespace is aliased as evalNs internally to avoid collision with JavaScript's eval keyword.
  • Stability tiers are declared as JSDoc @stable/@experimental tags in packages/web-contracts/src/router.ts.