Description
AI Tag Suggestions analyzes row content and proposes category-aware tags that pass the same normalization and validation rules as manual input.
The Dotabase behavior gathers content and the configured tag context, while the tags package owns the suggestion and validation contracts. Proposed labels are normalized before they can participate in ordinary tag lifecycle operations, so inference does not create a parallel taxonomy path. Existing categories and limits give the model a bounded vocabulary, and persistence remains a separate, governed action.
Selling Points
- Speeds classification of new material.
- Reuses existing taxonomy instead of inventing unchecked labels.
- Keeps model proposals separate from trusted persistence rules.
- Produces category-aware candidates that fit existing filter and facet behavior.
- Preserves ordinary permissions and validation when a suggestion is accepted.
User Story
As a curator, I receive relevant tag suggestions for an incoming note and accept the useful ones instead of searching the taxonomy manually. I configure the tag-inference binding with the categories and candidate count appropriate for the Dotabase. When content arrives, I review normalized suggestions alongside the row, accept the ones that reflect its meaning, and discard the rest. I walk away with faster classification without handing the model authority to silently reshape the taxonomy.
Extension Surface
Configurable: provider seams, candidate limits, categories, and behavior bindings control suggestion generation.
packages/dotabases/src/behaviors/tag-inference.ts exposes the binding-level controls and provider dependency. The taxonomy and canonical format remain enforced by packages/tags/src/validate.ts; this is configuration of a shipped suggestion workflow, not a plug-in point for arbitrary persistence logic.
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: Suggestions are probabilistic and cost-gated. Final writes still obey permissions, validation, and service ownership. The feature can rank proposed tags, constrain them by category, and feed review-oriented workflows while reusing canonical tag validation. It does not prove a tag is semantically correct, automatically merge near-duplicates, or bypass the tag service. Without a configured provider or available cost allowance, the behavior must defer instead of manufacturing a result.
Implementation Map
packages/tags/src/suggest.tspackages/dotabases/src/behaviors/tag-inference.tspackages/tags/src/validate.ts