# Changelog

## 2026-08-28

- Distill now receives which reviewers reported coverage they did not
  complete, and prints the area each one left unread.
- A reviewer that spawns a sub-agent now has to wait for it, is barred from
  passing `name:`, and has to name any dispatched scan that did not return
  along with the area it left unread.

## 2026-08-27

- The focus-area question now carries a `No focus area` option, so declining a
  focus is a listed answer rather than an off-menu one.

## 2026-08-16

- Added the "Record the Run" step: the report goes to `skill-reviews/runs/` and
  a row goes to `skill-reviews/INDEX.md` in the reviewed repository.

## 2026-08-15

- Raised the report cap from 25 action points to 35, and added a `Below the cap`
  section — one line per theme with a count and one example path.

## 2026-08-10

- Replaced `1+Parallel` with `Rolling 5`, then `1+Rolling 5`: one priming agent
  in the foreground, then a five-wide window refilled on each completion.
- Added the background-agent contract and the default-agent-type rule, and
  replaced the caching estimate with the 5-agent measurement.

## 2026-08-09

- Stopped defaulting to Full mode and Sequential when the user names neither.

## 2026-08-04

- Rewrote the description into a triggerable one — reach for it whenever code
  stores, calculates, aggregates or displays money, and before shipping anything
  a user acts on financially — and replaced the inert frontmatter with
  `argument-hint` and `disable-model-invocation`.
- Retracted the "~90% cheaper input" caching claim; the `---` divider is a
  section divider, not a cache boundary.
- Added the errata contract for a brief found wrong mid-run, with the matching
  distill step.

## 2026-08-03

- Added the spawn contract: never pass `name:`, and paste the distill output
  into the reply verbatim.

## 2026-07-03

- Collapsed every reviewer's bespoke prose block into the shared
  `## Findings Summary` table. Fourteen lenses had fourteen output formats, each
  with its own labelled fields; the table now carries Severity and File:Line
  plus whatever domain columns the lens defines.
- Corrected the agent count in the scan step from 12 to 14.

## 2026-04-30

- Rewrote `distill.md` as a standalone agent prompt in two passes: validate,
  classify and dedupe mechanically, then tier and rank by judgment. Distillation
  moved to a fresh Sonnet agent that gets the findings tables and not the
  snapshot.
- Added the high-severity validation checks — is the float drift visible, is the
  sign convention actually inconsistent, is the transfer filtered earlier, is
  the `is_ignored` filter applied in a parent query — and a one-tier downgrade
  for clear false positives.
- Added auto-skip: no money-active language aborts the run, a single-currency
  codebase drops `currency-mixing`, and no transfer concept drops
  `double-counting`.
- Added the snapshot cache under `.claude-cache/`, capped each reviewer at 12
  findings, and replaced the token-count snapshot limit with `wc -c` at
  ~1,250,000 bytes.
- Retitled the scan's grep list: the patterns select files for the snapshot, and
  the agents do the diagnosing.
- Simplified the dcat probe to running `dcat list --agent-only`, and switched
  the non-git file fallback from `find` to Glob.

## 2026-04-14

- Added the skill with 14 lenses: `currency-mixing`, `display-vs-store`,
  `division-hazards`, `double-counting`, `float-money`, `idempotency`,
  `off-by-one-period`, `overflow-limits`, `phantom-records`, `rounding-errors`,
  `sign-convention`, `sum-integrity`, `temporal-consistency`,
  `unit-confusion`, plus `agent.md`, `distill.md` and `scan-steps.md`.
