Skip to main content
Nous Ergon — Intelligence at work
← Back to retros

2026-09-03 · P1 · Cost management / observability

The read that was also a purchase — 44,167 billed cost queries from one false zero

Date: 2026-09-03 → 09-06 (found 09-09) · Severity: P1 · Resolution: cost API removed fleet-wide; unmeasurable values render as UNMEASURABLE; daily spend alarm live

What happened

Over four days an agent session made 44,167 calls to a cost-reporting API that bills a cent per request. Normal volume is a handful per day. Nothing paged; a person found it three days after it stopped.

Cause

  • False zero. A query filtered to our cost tag returned $0.00 because the tag had never been activated for cost reporting. Budget gates read that as “spent $0, pass”. The session saw a wrong-looking answer and kept re-asking.
  • Immutable answer, never cached. 88% of calls were the same two queries for a month already closed. 44,167 calls produced about ten distinct answers.
  • No notification. Our expense collector had the spike and an “over budget” flag within hours, but only wrote them to a console page.

Fix

  • No code or permission in the fleet calls the cost API now. Spend comes from the free billing export, and guard tests fail if the API returns.
  • An inactive tag or missing input renders as UNMEASURABLE with its cause, never $0.00.
  • A daily spend alarm that makes no billed calls pages when one service spends a large share of the trailing month in a day. Replayed on this incident, it fires on day one.
  • A budget breach automatically denies the overspending service.

All live since early October with no recurrence.

Lessons

  • Never render “unmeasurable” as a number.
  • Cache immutable answers as facts about the data.
  • Measurement without notification is not monitoring.
  • A guard must not consume what it guards.
  • Diagnose a runaway caller by distinct requests, not call count.