DEV Community

Mads Hansen
Mads Hansen

Posted on

A correct database answer can still be incomplete

A database answer can be fresh, numerically correct, and still be incomplete.

One regional source may be unavailable. An inner join may silently drop unmatched records. A connector may stop after the first page while the model describes the result as the whole population.

Production AI database access needs a completeness contract.

Start by defining the expected population: sources, entities, regions, transaction states, reporting interval, and metric version.

Then return evidence with the result:

  • expected versus observed sources
  • source and partition watermarks
  • row counts before and after filters and joins
  • unknown, null, rejected, and duplicate counts
  • missing or timed-out sources
  • pagination and truncation state
  • reconciliation status

The critical distinction is between zero, unknown, not received, redacted, and not applicable. Turning all five into zero creates a clean answer that cannot be audited.

Partial-result policy also belongs in the workflow contract. An exploratory trend may tolerate named gaps. A regulatory total may require every source and completed reconciliation.

The model can explain why a result is partial. It should not decide whether the missing data is acceptable, and it should never upgrade a partial result to a complete one.

Full guide: AI database answers need a completeness contract

Top comments (0)