import { BaseGrader } from "../baseGrader.js"; import type { Grade, GraderInput, GraderOptions } from "../types.js"; type ChecklistJudgeOptions = GraderOptions & { /** The points the work is checked against, as the test wrote them. */ points: string[]; /** Background for the judge, as a path under the test's `graderFiles/`. * Read from the run directory's stored copy at grade time, so a stored * run grades the same after the test folder is gone. */ context?: string; }; /** * Grades a work against a list of points by asking the bundled checklist * judge for one answer per point. The score is the share of points that * passed; "cannot tell" counts as a fail. The answers travel on the grade * as `points`, so the score row shows which point failed. A must-pass * checklist passes only when every point passed. A checklist cannot be * sampled: aggregation keeps only the score and feedback. */ export declare class ChecklistJudge extends BaseGrader { protected readonly options: ChecklistJudgeOptions; protected readonly defaultName = "checklist"; constructor(options: ChecklistJudgeOptions); annotator(): { kind: "grader" | "judge"; id: string; }; describe(): string; /** Does not call the base method: that one wants a threshold for a scalar * gate, and a checklist has none. */ passes(grade: Grade): boolean; protected _run({ run, runAgency, graderFiles }: GraderInput): Promise; /** The context file must sit inside `graderFiles/` with no symlink on * the way, as the snapshot that stored the folder refused symlinks. */ private contextText; } export {};