v0.14.0The dashboard is a product

Releases

Iris 0.14.0The dashboard is a product.

2026-09-20 · rendered from CHANGELOG.md · the same section is the GitHub release

The dashboard is a product. The engine has computed the verdict, its basis, its coverage and its reasons since 0.9.0, and the dashboard dropped most of it on the way to the screen. This release makes the screen show what shipped: the verdict panel with its basis and the composer's own sentences, one rule-result row with every stamped field, a header that can go red, runs and cases with a comparison that tests each rule and corrects twenty at once, drift by run, a stream watcher that raises a regression-alarm, cost spikes read against the agent's own history — and labels: your own right-or-wrong on a rule's fires, which at twenty labels replace the published number on this deployment and estimate the prior. The states a reader can land in — an empty database, a stopped server, a phone, a keyed dashboard — each have a spec that fails on the old code, and three of those specs found bugs this release fixes.

Check before upgrading. Six things a caller or an operator can observe change; each is one sentence.

- Cost spikes are judged against the agent's own history, not a fixed dollar figure. A cost-spike moment now needs twenty prior costed traces for the agent and fires at a modified z above 3.5 (or more than 10% over every prior value when the history is flat); a trace over $0.10 on an agent with no history is no longer a spike. cost_under_threshold, the dollar policy you set, is unchanged.

- A fire of a detection or inference with twenty of your labels carries `uncertainty.basis: "local_labels"` instead of published_accuracy, and the risk estimate reads your precision in place of the published one; nothing changes until you label. Migration 011 adds the verdict_labels table on first start.

- `provenance.composer` gains `prior` and `priorSource` (config when you set eval.prior, estimated from your labels, default otherwise), and a re-scored evaluation carries provenance.supersedes; a reader that spreads provenance.composer over the defaults keeps working.

- Dashboard responses carry `Referrer-Policy: same-origin` instead of no-referrer, so the sign-in form's POST reaches the server with its origin; nothing leaves this server's origin either way.

- `compare_runs` and `POST /api/v1/compare` mark a rule `worse` only at `q ≤ 0.05` after Benjamini–Hochberg, and add p, q, test, rules_tested, equivalent_within and margin_source; a comparison of unchanged runs that used to show a "worse" rule somewhere most of the time now rarely does.

- The moments filter, the preferences store and the dashboard accept two new kindsregression-alarm and unevaluated — and a trace nobody judged is unevaluated, never normal-pass.

Nothing in the measured verdict moves except by the one sampler, stated under Changed with the amount: the proof files regenerate with the version and commit.

Added

Fixed

Changed

Earlier

One line per release, the bold lead of its changelog section; each links to the release notes built from that section.

VersionDateLeadEntries
0.13.02026-09-08Found and fed31
0.12.12026-09-07Truth patch 310
0.12.02026-09-07Compare17
0.11.02026-09-06The act layer24
0.10.02026-09-05The verdict18
0.9.02026-09-05Iris explains its verdicts12
0.8.22026-09-05The truth patch5
0.8.12026-09-04The honest-surfaces patch0
0.8.02026-09-04The trajectory release10
0.7.02026-09-04The proof release21
0.6.02026-09-03The correctness release47
0.5.12026-09-03The verdict-integrity patch9
0.5.02026-08-12The acceptance-test release19
0.4.62026-08-10Security and data-integrity release14
0.4.52026-08-07Security release12
0.4.42026-06-122
0.4.32026-05-215
0.4.3-rc.02026-05-160
0.4.22026-05-063
0.4.12026-05-06WITHDRAWN12
0.4.02026-04-2428
0.3.12026-04-229
0.3.02026-04-219
0.2.42026-04-179
0.2.32026-04-165
0.2.22026-04-167
0.2.12026-04-1616
0.2.02026-04-1429
0.1.92026-04-077
0.1.82026-03-2510
0.1.72026-03-258
0.1.62026-03-233
0.1.52026-03-2121
0.1.42026-03-2019
0.1.32026-03-153
0.1.22026-03-1413
0.1.02026-03-1335