Deterministic Property Fill

Populate target properties from rule-based row sources with transforms, guards, and no model dependency.

Overview

Description

Deterministic Property Fill maps known row fields or metadata into declared target properties through repeatable rules and transforms.

The behavior reads only configured sources, applies a supported extraction or transform, evaluates its guards, and returns a property diff when the rule matches. That diff follows the shared behavior apply path and the registry-backed value validator, so deterministic does not mean unvalidated. Re-running the same binding over the same row produces the same candidate value.

Selling Points

  • Produces the same output for the same input.
  • Requires no LLM, prompt, or inference budget.
  • Still passes through normal schema and value validation.
  • Makes each derived field traceable to a declared source and transform.
  • Defers interpretation-heavy work to a separate, explicitly probabilistic feature.

User Story

As an administrator, I derive a repository slug or source classification from trusted metadata on every matching row. I bind a source field, extraction rule, target property, and guard to the Dotabase. As rows arrive, the behavior fills only matches and ordinary validation rejects values that do not fit the target. I walk away with consistent structured fields that can be filtered and audited without paying for or trusting a model.

Extension Surface

Configurable: bindings define sources, targets, extraction, transforms, and guards.

packages/dotabases/src/behaviors/deterministic-fill/index.ts is the concrete configuration boundary. Owners select from supported operations and schema keys; they do not execute arbitrary transformation code. The property registry remains the authority for the resulting value.

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: Rules can only express supported deterministic transforms; interpretation-heavy enrichment belongs to AI Property Fill. The feature can copy trusted values, extract bounded tokens, normalize supported formats, and conditionally fill declared fields. It does not understand prose, infer missing facts, or override read-only ownership. A rule with bad assumptions will repeat those assumptions consistently, so administrators remain responsible for mapping design.

Implementation Map

  • packages/dotabases/src/behaviors/deterministic-fill/index.ts
  • packages/dotabases/src/services/apply-behavior-updates.ts
  • packages/dotabases/src/properties/property-value-validator.ts

Properties

Property
Value
product
dots-platform
extensibility
configurable
module
Dotabases
packages
dotabases
status
shipped
surface
background
summary
Populate target properties from rule-based row sources with transforms, guards, and no model dependency.

Connections

Deterministic Property Fill · Explore connections

  • implemented bytobuildRegistryPropertyValueValidator
  • implemented bytodeterministicFillBehavior
  • implementstoDS_Dotabases — Comprehensive Module Spec
  • requirestoDotabase Behavior Automation Engine
  • implemented bytopackages/dotabases/src/internal/behaviors/deterministic-fill/index.ts
  • implemented bytopackages/dotabases/src/internal/services/apply-behavior-updates.ts
  • implemented bytopackages/dotabases/src/internal/properties/property-value-validator.ts
  • complementstoAI Property Fill
  • complementsfromCross-Dotabase Derivations
  • complementsfromAI Property Fill

Connected Records10

Complements
Implemented by
buildRegistryPropertyValueValidator
deterministicFillBehavior
packages/dotabases/src/internal/behaviors/deterministic-fill/index.ts
packages/dotabases/src/internal/properties/property-value-validator.ts
packages/dotabases/src/internal/services/apply-behavior-updates.ts
Implements
DS_Dotabases — Comprehensive Module Spec
Requires
10 connections.