Skip to content

Evaluator file

An Evaluator file holds one Evaluator: the rubric and the code that grade an output and return a verdict.

PropertyValue
Pathevaluators/[name].ts
HoldsEvaluator
Kindfile
Leadersdb-first, git-first
TeamQuality Team
Written byChange.merge
Compiled bySoftwareBuilder

Example

evaluators/tie-out.ts in a Startup repository.

evaluators/tie-out.ts
import { evaluator } from 'startup-builder'

export default evaluator({
  rubric: 'Every bank line matches one entry, and the closing balance equals the statement.',
  grade: (close: { unmatched: number; difference: number }) => ({
    pass: close.unmatched === 0 && close.difference === 0,
    score: close.unmatched === 0 ? 1 : 0,
    reason: `${close.unmatched} unmatched lines, ${close.difference} difference`,
  }),
})

Exports

ExportKindType
defaultdefaultEvaluator

Signature

TypeScript
evaluator(definition: { rubric: string; grade: (output: unknown, $: $) => Verdict | Promise<Verdict> }): Evaluator

Generates

SoftwareBuilder compiles it into these records, Verbs and routes.

KindWhat
RecordsEvaluator, Version
VerbsNone.
RoutesNone.