Reference
Plans and allowances
Your plan sets how many conversations Duet Machines judges and simulates for you each month and, once agreed, what it bills for the inference its models serve. Your agent's own model cost stays in dollars.
#Allowances
Duet Machines judges and simulates on models it pays for, so your plan caps both per UTC calendar month: judged conversations (production conversations judged when they end, signal previews and backfills) and simulated conversations (every conversation Duet Machines plays against your agent).
Every workspace starts on the starter plan when it is created: 200 judged and 100 simulated conversations a month, free, and no inference billing, so no Duet Machines model serves your gateways yet. To change your plan (more of either allowance, either one unlimited, Duet Machines models serving your traffic, or an invoice price for your current model), send a request from Settings > Usage and billing: it waits there, and we see it, until we put a plan in force, which answers it. Every page that stops work at an allowance links to that request.
Settings > Usage and billing shows both allowances with what this month used and what running jobs still hold; every job a page offers to start (stress tests, comparisons, reproductions, test rebuilds, fix proposals, model checks, signal previews and backfills) shows what it takes and what is left before it starts.
#What each job uses
- Stress test
- Reserves twice its scenarios, since a conversation that breaks is retried once.
- Test build
- 2 replays.
- Reproduction
- Reserves 5 replays, plus 2 for the test it builds when the failure recurs, which pass to that test build.
- Comparison
- One per test, configuration and repeat (up to 5 repeats).
- Fix proof
- Reserves up to 40 per targeted test and 20 per other test (live and up to three patched rounds) and uses what it replays. Endpoint agents get a proposal only, which runs no conversation.
- Model check
- Reserves 10 per test that reaches the point it checks (up to 5 replays on each side). A replay that never reaches it judges nothing and is given back.
- Training verification
- Reserves 10 per test, base and trained.
- Signal preview and backfill
- One judged conversation per conversation a judged signal rules (a preview rules up to 20); none for signals counted in code.
- Free
- Grader alignment (measuring a draft on your own labels), dataset builds, trainings and connection checks use neither allowance.
A job reserves the most it may run when it starts, and what it does not use returns when it ends, so nothing is cut off halfway. A job that needs more than this month has left is refused before it starts, saying what it needs, what the plan has left and who changes it. Conversations rerun after an interruption count again, and deleting data never refunds them.
#Judged conversations
Each ended production conversation is judged once, and again when its turns change; each judgment counts, as do the conversations a judged signal's preview or backfill rules. When the month's judged conversations are used, judging stops until the 1st: ended conversations wait, the agent's Traffic says so, and nothing is sampled.
#Inference billing
Duet Machines bills the inference its own models serve through an agent's gateway (its Rollout stage), at a percentage of what your current model charges for the same tokens, with an optional monthly minimum. We agree that plan with you on request; the starter plan has none, so until a plan with inference billing is in force no Duet Machines model can be an agent's candidate. A new plan applies from when it is set, its allowances to the month it is set in.
Each answer a Duet Machines candidate serves is metered when it is answered: its input, cached and output tokens at the current model's billing price, times the plan's percentage. You never set that price: it is Duet Machines' dated catalog list price for your current model when the gateway calls it at its provider's own API root, or the price we entered on your plan after verifying your invoice, which is then your workspace's only price. The gateway shows each upstream's price with its origin and date; while nothing prices your current model, a Duet Machines model never serves it. Shadow calls, answers the current model gave after a candidate failed, throttled requests and answers without reported usage are not metered. Your own candidates bill you directly and are never metered.
Amounts are exact and rounded half-up to the cent once per statement line and once for the month's minimum; the month's totals are the sums of its rounded lines.
Settings > Usage and billing shows this UTC month live: what is due, what was metered, what your current models would have charged and what you saved. One hour after a month ends it closes into a statement that never changes: a page, a PDF and a JSON file whose SHA-256 is the statement's hash. The amount due is the metered total, or the month's minimum when that is higher: each plan's monthly minimum for the share of the month it was in force.