EqualifyEverything / equalify-iris

docs(cost,models): the measurement docs state a figure once, next to what it was measured on (#469)
Iris's measurement docs stated the same figures in three places and disagreed with themselves in two of them. This is #466: `docs/models.md` 1,311 → 205 lines, `docs/sprint-246.md` deleted (454), `docs/cost.md` rewritten, README's cost paragraph rewritten, and `test/config-agents.test.ts` −558 lines with every surviving arithmetic guard repointed at the table it now checks. The sort rule is one job per document. models.md says which model to run and what that suggestion was measured on; cost.md says what the run cost, with every prose figure read off one table; README says what an operator decides. A figure appears once, beside its denominator and the round it came from. Both documents are framed as **suggestions**: every model is named in a deployment's config and never in Iris's code, so cost.md opens on the range that is true — **$0 self-hosted, about 10.7¢ a page on the suggested models** — rather than on a number that reads as a property of the software. Four of #466's asks changed on verification, and the PR body says which and why. The `failed calls $0.0000 / 0` row is gone: no per-call failure field exists in the records, so the row would publish a zero meaning "not measured" as if it meant "none happened". Provenance is per row, because `verify` is a page-side step from the 2026-09-03 round, not the 09-02 one. "Checking costs five times producing" is now a ratio between two rows of one table (4.7x) instead of two shares from different groupings divided. And cost.md does not repeat models.md's recommendation table — the two copies had already drifted inside this PR. Four review rounds, nine notes, all fixed: 1. Six notes. The 39% page-agent saving read as a cross-round subtraction; it is not one, but two figures agreeing to the cent made it indistinguishable from one, and the defect underneath was a wrong denominator in models.md. Seven `§N` citations pointed at nothing, and two of them cited a measurement this PR had dropped from the repo entirely — a non-Claude `page` model gets no prompt-cache breakpoint, measured at 84.8% of the incumbent's prompt served from cache — which is back with its numbers because `test/prompt-cache.test.ts` rests on it. `per_capability` was missing from the fallback chain that `resolveAgentModel` tries first. And the price-sheet test found its column by header but still took rows from every table in the file. 2. models.md's model column mixed full Bedrock ids with bare names, so the one row a reader acts on next named an id the same document says cannot be called. 3. cost.md kept that mixed spelling in the sentence naming the priced models. 4. Clean. `npm test` 1695 pass / 0 fail, `npm run typecheck` clean, `./test/e2e.sh` all endpoints passed, and the markdown anchor sweep is 393 links / 0 bad across 10 files. `docs/sprint-246.md`'s only non-redundant content — the figures it states differently from #370 — is posted as a comment on #370, which is the report those figures correct. Refs #466 Co-Authored-By: Blake Bertuccelli-Booth <bbertucc@users.noreply.github.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Blake Bertuccelli-Booth Blake Bertuccelli-Booth committed on Sep 14, 2026, 01:32 AM
Showing 10 changed files +498 additions -2282 deletions
Browse files at this commit →