Description
DIIICE Row Classification assigns Data, Intelligence, Instructions, Ideas, Context, or Examples to row content through a governed enrichment behavior.
The behavior prepares bounded content, loads the versioned classification prompt, calls the configured provider, and accepts only one value from the platform vocabulary. Its result is a property proposal handled by the behavior engine, not an uncontrolled label write. Provider absence, budget exhaustion, or off-contract output produces a deferred or invalid outcome rather than an invented category.
Selling Points
- Uses one platform-wide six-value vocabulary.
- Rejects off-vocabulary model output.
- Defers rather than inventing data when providers are unavailable.
- Makes heterogeneous knowledge filterable through one shared information-type lens.
- Keeps prompt versioning and category validation visible to operators.
User Story
As a knowledge curator, I automatically classify incoming material so people can filter and navigate by information type. I enable the binding on a Dotabase with the DIIICE property and let new or changed rows reach the behavior. A valid response becomes a schema-checked proposal; failures remain observable and do not overwrite the source. I walk away with a consistent first-pass classification that I can review and use in saved views.
Extension Surface
Configurable: bindings control where classification runs; the vocabulary and prompt contract are platform-owned.
packages/dotabases/src/behaviors/classification/index.ts exposes the binding and provider seams. Dotabase owners decide eligibility and execution policy, while the six categories in packages/dotabases/src/diiice.ts remain fixed so filters retain stable meaning.
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: Requires LLM and prompt-provider seams and observes AI cost caps. It classifies one row, not an entire corpus taxonomy. The behavior can classify bounded title and body content, validate the response, and write a declared property through the ordinary effect path. It cannot establish factual correctness, invent additional DIIICE values, or redesign a workspace taxonomy. Probabilistic classifications may need curator correction, especially for mixed-purpose records.
Implementation Map
packages/dotabases/src/behaviors/classification/index.tspackages/dotabases/src/diiice.tspackages/prompts/dotabases/classification.v1.md