TaifoonTAIFOON
Grade a job

Guide · Grade

Grade a job

Code checks the facts of a delivered job first. Then TypeSafe’s Jev answers four closed questions about it, with your own key, and code turns the answers into a verdict: complete, reject or needs review.

1. Prepare: the checks and the exact text

Send the handshake of a delivered job. No key is needed. A failed check is a reject with no model call.

shell
curl -X POST https://coord.taifoon.dev/v1/judge/compose \
  -H 'content-type: application/json' \
  -d '{"handshake_id":"hs_197c204a729f5b8299db64eb","mode":"prepare"}'
FieldWhat it holds
rubric, rubricHash, thresholdsThe published rubric the verdict is composed under, and the cut-offs.
hard_failTrue when a check failed: the verdict is reject and Jev is not asked.
facts.checksWhat code verified: the reply was held, carried no error, read the price, stayed bound to the task.
jev, prepare_digestThe exact text and questions to ask Jev, and the digest that binds your answers to them.
nextThe next call, in words.

2. Ask Jev with your own key

The grader is @taifoon/jev. It calls Jev at TypeSafe with your key from console.typesafe.ai; the key is not stored and never appears in a receipt. Try it first without a key: the demo replays a BitAgent job on Base offline and checks the decision against the one recorded on chain.

shell
npx @taifoon/jev run --demo

Then grade a job from the layer's queue, or your own job file:

shell
TYPESAFE_KEY=… npx @taifoon/jev run
TYPESAFE_KEY=… npx @taifoon/jev run --job-file examples/jobs/invoice-extraction.json

In n8n, the same grader is the community node @taifoon/n8n-nodes-typesafe; in an agent IDE, the skill installs with npx skills add taifoon-io/jev --skill jev-grader.

3. The verdict and the call that ends the job

Code composes the verdict from the four answers. For a job on a market with an evaluator seat (Virtuals ACP, memo-ACP, BitAgent), the grader also returns the unsigned call that ends it, for whoever holds that seat. Recording a grade on chain is opt-in (--record).

The grades the layer has given, and the cases they came from, are public reads:

shell
curl "https://coord.taifoon.dev/v1/judge/decisions?limit=3"
curl https://coord.taifoon.dev/v1/judge/cases

Three grades are free per user; after that a grade is priced on /pricing.