OptionalcandidatesThe models an operation may use: models can be live; fallbackModels
(default: the same) can stand in during an outage.
OptionalcontinueStarts a fresh request that calls runEval(runId, opts). True when one took it; false (or absent) lets the test fail as out of time.
OptionalestimateWhat one answer costs on a model, from your usage records; null: unknown.
OptionalinstructionEverything the operation's model is told, as text: system text, prompt
templates, schema and tool descriptions (instructionParts in
@crowandraven/evalkeeper/ai-sdk, from the parts you hash). Lets
casesInInstructions warn when a case was copied into them.
OptionalliveThe live reasoning setting for an operation; null: the model's own.
Defaults to the route's, when route is given.
Your models, for providers, prices, and retirements.
The current instructions' hash for an operation (see instructionsHash
in @crowandraven/evalkeeper/ai-sdk). A test records it, so editing the instructions
marks older tests out of date.
OptionalrequestHow long one request may run, in ms. A test answers what fits, then
hands the rest to continueRun (a fresh request). Default: no limit.
OptionalretiringWhich retiring models (ModelInfo.retiring) the board lists.
"always" (the default): every candidate, though a retiring one is never
suggested. "inUse": only one a feature still runs on, as its live or
fallback model, so nobody spends a test on a model that's going away.
OptionalrouteWhich model each operation runs on now, its fallback, and its reasoning setting. Your app owns routing; the board reads it.
What the runner needs from your app: storage, suites, models, instruction hashes, and, for the board and drift checks, routing.