Duet Machines
Report · Migration report

Report

Migration report

The migration report says, from an agent's own data, which cheaper model it can move to, what it would save each month and what that rests on. Every number traces to stored data; what is missing is listed with what to do.

#What it states

Each agent has a Report stage, after Rollout. Before the first report it lists which inputs the agent has; Build the report reads the agent's last 30 days of production traffic and its current reviews, graders, tests and candidates, and stores the result once. The stage then shows the latest report in full, earlier ones from its picker; Build a new report makes another and never changes an earlier one.

The page reads as one sheet: the recommendation in one sentence with today's monthly spend against the recommended model's (or, while none qualifies, the cheapest projection, marked as not proven), which of its five inputs are ready and what each missing one needs, the key figures, then the evidence below and the method last.

Recommendation
The candidate the rule below picks, its projected monthly cost against today's and the projected monthly saving, or that none qualifies and why each candidate does not.
Traffic
Production conversations of the last 30 days, how many have a known cost, and model spend by model from the usage they report, priced at list price.
Failure taxonomy
The categories your experts approved, each with how often they failed it in review and how often its published grader fails it in production (95% intervals), and up to three of their critiques.
Grader validation
Each category's grader against your experts on held-out conversations: true positive and true negative rates and precision with 95% intervals, and the published version.
Candidates
Cheaper catalog models priced on your tokens, with their test pass rate against the current model's from a model check, reply times and critical failures; trained models with their verification against their base model.
Outcome calibration
Each declared outcome's rate after conversations the published graders passed and failed: associations, not causes.
Not available yet
Every input the report could not state, each with the action that produces it.

#The recommendation rule

The cheapest candidate that (1) passed a model check against the model the agent runs now: every test compared and none passing significantly less often; (2) failed no replay of a test built from a critical issue; and (3) costs less on the last 30 days of tokens at list price. A candidate that regressed against the model the agent runs now or failed a critical test is rejected: Models, the Overview, the report and Rollout show why, and it cannot be switched to. Rollout serves customers only a candidate that qualifies, unless an owner confirms an override with a reason. A trained model is compared with its base model rather than the current model, so it is listed but not recommended yet: roll it out as a gateway candidate to compare it on live traffic.

#Share and verify

Download saves it as PDF or JSON or prints the page as it is shown. Copy link shares the report's own page (/reports/<report id>) with members of your workspace, who sign in to open it. The JSON file is stored byte for byte as built, and the report's SHA-256 is that file's, so shasum -a 256 on a received copy shows whether it was altered; the PDF prints the id and hash on every page.

Public verification is off for every report. An owner or admin can turn it on per report: then /verify/<report id> shows anyone the report's scope, build time and hash, never its numbers, and checks a JSON copy the visitor picks against the hash in their browser.

Share full report publishes the whole report at a public link for someone outside your workspace, such as the CFO or CTO deciding. An owner or admin picks the day it closes (up to a year) and copies the link once; it is never shown again. The experts' example critiques are redacted with your workspace's redaction detectors and patterns, even if ingest redaction is off (names only when a name model is on); the link and its page list exactly which placeholders were used, and the snapshot is fixed when published, with its own SHA-256 and the report's. The report page lists each link with its views and expiry; revoking one closes it for good, and anyone opening a closed link is told it expired or was revoked.