# When a tool doesn't know, it should say so

> 22 Jul 2026 · Telemeter · 4 min read

Why telemeter.ai's free tools show 'pending' and 'unknown' instead of a confident wrong number — and the registry that makes that possible.

Every one of the free tools on this site makes a claim about a developer's
money — the monthly cost of a model, the token weight of a prompt, the price
delta between two providers. A tool that gets that quietly wrong is worse than
no tool, because it spends the trust it was built to earn. So the tools follow
one rule, written down before the first one shipped: **a number the tool cannot
stand behind is never rendered as if it could.**

## The problem with a hardcoded price table

The obvious way to build a cost calculator is a table of per-model prices baked
into the code. It works the day you ship it and rots within weeks — providers
change prices, add models, deprecate others — and nothing about a stale number
looks stale. The calculator keeps returning a crisp figure long after that
figure stopped being true. On the site's highest-traffic page, that is exactly
the kind of silent decay that erodes the trust the tool exists to build.

So the prices don't live in the code. They live in a **model registry**: a
git-versioned record where every priced model carries its source URL, the date
it was last verified, and a verification status. The tools read through that
registry, never a literal table, and they surface what the registry actually
knows.

## Three honest states

A price in the registry is in one of a few states, and the tools render each one
differently on purpose:

- **Verified** — the number agreed across independent public sources. Shown as a
  real figure, with the date it was checked.
- **Pending** — a single source, or sources that disagree. Shown as *pending*,
  with a visible badge, and **never as a number**. A one-source price is a lead,
  not a fact, and the tool says so rather than picking one and hiding the doubt.
- **Stale** — a real, previously-verified number that has aged past the
  freshness window. Shown as the number it is, flagged as of a date, so you can
  decide whether to trust it.
- **Unknown** — the model isn't in the registry. The tool says it doesn't have
  it, rather than estimating.

The distinction that matters most is between *stale* and *pending*. Stale still
shows the number, because it was once real and you can judge its age. Pending
withholds it, because there was never a number solid enough to show. Collapsing
those two into a single "here's a price" is the failure mode this whole design
exists to avoid.

## Ranges, not points, where a point would be a lie

Some questions don't have a single honest answer at all. The energy a model
burns per query, for example, is genuinely uncertain — published figures vary by
source and method. The carbon tool reflects that by construction: it computes a
**range** across independently published figures rather than a single number,
and it states plainly what the range leaves out. A confident point estimate
there wouldn't be precise; it would be false precision, which is worse.

## Why this is a feature, not a caveat

It would be easy to read all of this as the tools apologizing for what they
don't know. It's the opposite. A tool that shows you a pending badge is telling
you something true and useful — *this price isn't nailed down yet* — that a tool
returning a confident figure is actively hiding. The honesty is the product. The
registry, the verification states, the ranges: they exist so that when one of
these tools does hand you a number, you can spend real money on the strength of
it.

That's the standard. When a tool doesn't know, it says so.

[Read on telemeter.ai](https://telemeter.ai/blog/when-a-tool-does-not-know) · [Every tool and doc, machine-readable](https://telemeter.ai/llms.txt)
