---
title: "Honesty"
description: "Unknown is not zero. A wrong figure is corrected, never rewritten. Two readings, both named."
---

Every Assay number is supposed to survive a review. These rules are how.

## Unknown is not zero

If Assay cannot price a model, it records the usage **without a cost**. `$0.00` would claim the work was free.

Every total keeps the unpriced share visible.

## A wrong figure is corrected, never rewritten

Assay adds a correction and keeps the original beside it. You can reproduce last quarter's report, then see why the current figure differs.

A model the table still cannot vouch for gets **no** correction. Nothing is estimated from an average.

## A measured zero is not an unknown

"This cost nothing" and "we cannot measure this" are different facts. Product reports keep them in separate buckets. Merging them would print a hole as a finding.

## Two readings, both named

Where a question has two honest answers, Assay prints both and labels which is which.

- **Inclusive** — an upper bound that does **not** partition.
- **Weighted** — the estimate, and it **does** partition.

It never picks one silently. See [Products](/products).

## Every ratio names what it excluded

Waste, cost-per-outcome, token yield, and ROI compute over **priced** spans only. Each report carries the count and share it left out.

ROI with no declared value is **undefined**, not −100%.

## A zero is rendered with its reason

`$0.00` recoverable, a 0% token yield, a `$0` cost-per-outcome — each is a result conditioned on something. The surface says what.

## A snapshot says it is a snapshot

A static export stamps the capture instant, the store, the version, the window, and the filters. It ends with: **these numbers do not update**.

## A label states its source

Declared, judge, or heuristic. A reader can see which, and the rank is always:

**declared > judge > heuristic**

Assay validates that a declared label is **in the vocabulary**. It does not check that the label is true. A producer that marks every sitting `build:feature` gets a clean, useless aggregate — reported faithfully.
