Behavior

A bound, per-Dotabase extension that runs automatically on a row's lifecycle — the platform's mechanism for making a do something rather than merely store rows.

Behaviors come from a fixed built-in registry (embedding, classification, version history, activity log, dedup detection, tag inference, auto summary, PII redaction, and more), and each Dotabase declares its own bindings: a behavior can be bound enabled, bound disabled, or left unbound entirely. Binding a behavior explicitly at enabled: false is a deliberate guard — it stops the schema reconciler from ever silently turning it back on.

Behaviors get their dependencies only through injected seams; a missing provider makes a behavior defer rather than synthesize data.

Usage examples

  • "tag_inference is bound explicitly at enabled: false so the reconciler can never silently re-enable it — a term row is a definition, not a labeled artifact to re-tag."
  • "Behaviors get deps only via BehaviorContext.* seams; a missing provider seam defers, never synthesizes data."
  • "dots dotabases behaviors shows what's bound where."

Source

packages/dotabases/AGENTS.md (the behavior engine, lifecycle hooks, and the defer-not-synthesize rule); the binding pattern at packages/dotabases/src/seed/glossary.ts lines 216–226 and SPEC-156 § 8.

Behavior · This page in the graph

Connected Records25

Mentions
25 connections.

Where To Go Next

Reading this as an agent?For Agents
Something wrong on this page?Dots On GitHub