Main content begins
GTL Systems 5 min readJun 16, 2026Updated Aug 26, 2026By Ekeleme David Kelechi
Part 3 of 10GTL Systems series

Null vs Zero: A Data Integrity Distinction That Matters

Zero is a computed result. Null is an absent result. Treating them as equivalent is one of the most common sources of silent data integrity failure in AI analysis systems.

A machine trust score of 0 means the system computed a trust score and found it to be as low as possible. A machine trust score of null means the system did not compute a trust score at all. These are completely different facts about the domain — but in many systems, both are stored as 0 and the distinction is permanently lost.

Why the Distinction Gets Lost

A nullable numeric database column can represent both 0 and NULL. The distinction is usually lost later: an application default converts NULL to 0, a serializer omits the field, or an aggregate treats missing input as a scored value. Sentinel values such as -1 create another undocumented state. The storage type is not the problem; preserving computation state across storage, APIs, and UI is.

The GTL Solution: State as a First-Class Field

GTL solves this by elevating state to a first-class field in the response envelope, not a property of the score itself. A score of 0 with state: "complete" is genuinely zero. A score of null with state: "empty" means nothing was computed. A score of 42 with state: "partial" means a partial computation returned 42, but some sub-scores are missing. The score value and the state of computation are separate concerns — GTL keeps them separate.

●A provider-dependent sub-score can be unavailable even when the rest of an audit succeeds. Representing that sub-score as null with an unavailable reason preserves the distinction: the aggregate can exclude missing evidence instead of silently substituting 0.

The Compounding Problem

When null is stored as zero, aggregate scores become wrong. If Machine Trust Score is an average of five sub-scores and one sub-score returns null stored as 0, the average is pulled down by a computation that never ran. Over many audits, this creates systematic underscoring for domains where a single sub-score consistently fails to compute — not because the domain is untrustworthy, but because a dependency (such as an external API) is unavailable.

Practical Rule: Never Substitute Zero for Absent Computation

The GTL rule is simple: zero is a valid computed result, null is the only correct representation of an absent computation, and the two must never be substituted for each other. When aggregating scores, exclude null sub-scores from the denominator. When displaying scores, show the GTL state alongside the value: a score of 72 with state: "partial" is different information from a score of 72 with state: "complete."

Tags: GTL Data Integrity null handling scoring