Description
AI Property Fill uses a Dotabase's live schema to propose validated values for declared properties from a row's title and body.
The behavior derives a prompt contract from eligible schema fields, sends bounded row content through the configured provider, and converts the response into property candidates rather than raw database updates. Schema-fill helpers reject unknown keys and values that do not fit their property definitions. Accepted candidates pass through the shared behavior update service, preserving read-only fields, validation, and the row service's mutation invariants.
Selling Points
- Adapts to each Dotabase schema.
- Rejects undeclared keys and invalid property values.
- Honors prompt-provider availability and AI cost caps.
- Reduces repetitive classification while retaining the original unstructured content.
- Uses the same typed property rules as a person or integration making a write.
User Story
As an analyst, I ingest unstructured notes and receive structured fields without manually completing every property. I bind AI fill to the Dotabase fields that are safe to infer, such as a category or short synopsis. On ingestion, the behavior reads the note, proposes only those fields, and applies values that satisfy the live schema. I walk away with filterable records and can still inspect the original text and correct any probabilistic result.
Extension Surface
Configurable: bindings determine eligible properties and execution policy; model and prompt providers plug in through defined seams.
packages/dotabases/src/behaviors/ai-fill/index.ts proves that owners configure the behavior through a parsed binding rather than changing its code. The inference seam can receive a composition-provided model and prompt provider, while the allowable target set and schema validation remain controlled by the Dotabase.
Capabilities & Limits
- Capability: Executes the scoped workflow described above through the cited live implementation paths.
- Capability: Preserves typed validation and applicable tenant, schema, lifecycle, or service boundaries.
- Limit: Results remain probabilistic and schema-bounded. Deterministic mappings should use Deterministic Property Fill. AI fill can propose several eligible fields in one pass and translate model output into typed property envelopes. It declines undeclared targets and defers when provider or budget prerequisites are absent. It cannot infer guaranteed truth, write system-owned fields, or make an invalid value valid. Workflows needing repeatable transforms from trusted metadata should use deterministic rules instead.
Implementation Map
packages/dotabases/src/behaviors/ai-fill/index.tspackages/dotabases/src/behaviors/schema-fill.tspackages/dotabases/src/services/apply-behavior-updates.ts