Standards Docs
Changelog

Changelog — 2026-06-17

Daily docs refresh.

Features

  • Semantic search via Meilisearch embeddings. Objects can declare an optional .embeddingExpression() that builds the text vectorized for search, and the Meilisearch adapter accepts an embedder config (OpenAI today). Pass semanticRatio to any search hook to blend keyword and vector relevance; objects without an embedding expression stay keyword-only at no embedding cost. See Search, Schema, and the Meilisearch guide.
  • System bundles engine (SP-1). defineBundle groups system objects into versioned packs that can be assigned per tenant and applied as a full vertical slice (objects + relations + views), with an always-on implicit core bundle. Exported from @stndrds/runtime.
  • Default roles are system: true. Roles created by initializeDefaultRoles() are now system roles out of the box, so consumers no longer flip the flag after seeding and the member auto-assign gate on inviteUser works immediately. A new opt-in bootstrap flag on assignRole / assignActorRole lets you provision the first owner before any owner exists. See RBAC.

Fixes

  • Agent sandbox uploads attach to records. Wired attachDocument so files an agent uploads from its sandbox land on the intended record.
  • Per-session access on agent live streams. Agent-session realtime streams now enforce access per session.
  • Filtered list totals are scoped correctly. The Supabase adapter scopes the total count to the active filter and survives empty pages instead of miscounting.
  • AI usage pricing reads the shared model catalog. Usage is now priced from the same model catalog as the rest of the stack.

On this page