Recipe catalog / certainty-match
Check certainty wording
Does the certainty expressed in draft match assessment?
You want the wording of a draft to reflect the certainty of an assessment.
Explore this recipe interactively ยท Source and implementation guide
Use certainty-match in TypeScript
Install with npm install jev-recipes. Requires Node.js 22.9 or newer and ES modules. Set TYPESAFE_API_KEY in your server environment for live calls, which send input to TypeSafe and use API quota. See the installation guide.
import { certaintyMatch } from 'jev-recipes/certainty-match';
const result = await certaintyMatch({
"draft": "The outage was definitely caused by the deploy.",
"assessment": "The deploy is one possible cause; the cause has not been established."
});
console.log(result);
Input contract
| Field | Type | Needed |
|---|---|---|
| draft | string | Required |
| assessment | string | Required |
| minConfidence | number | Optional |
Full input and result schemas
{
"input": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "string"
},
"assessment": {
"type": "string"
},
"minConfidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"draft",
"assessment"
]
},
"result": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"model": {
"type": "string"
},
"usage": {
"type": "object",
"properties": {
"input_tokens": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"output_tokens": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"input_tokens",
"output_tokens"
],
"additionalProperties": false
},
"status": {
"type": "string",
"enum": [
"ready",
"review"
]
},
"verdict": {
"type": "string",
"enum": [
"overstated",
"appropriate",
"understated",
"unclear"
]
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"probabilities": {
"type": "object",
"propertyNames": {
"type": "string",
"enum": [
"overstated",
"appropriate",
"understated",
"unclear"
]
},
"additionalProperties": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"required": [
"overstated",
"appropriate",
"understated",
"unclear"
]
}
},
"required": [
"model",
"usage",
"status",
"verdict",
"confidence",
"probabilities"
],
"additionalProperties": false
}
}Saved example result
This hand-authored response demonstrates the contract. It is not a model accuracy measurement. Run it without an API key: npx jev-recipes demo certainty-match.
{
"model": "demo-fixture",
"usage": {
"input_tokens": 0,
"output_tokens": 0
},
"status": "ready",
"verdict": "overstated",
"confidence": 0.96,
"probabilities": {
"overstated": 1,
"appropriate": 0,
"understated": 0,
"unclear": 0
}
}
Evaluation evidence
No verified live accuracy measurement is available. Evaluate representative cases before using this decision in your workflow.
Use the evaluation guide to measure this decision on your own labeled cases.
Limitations
- Compares wording with a supplied assessment. It does not calibrate probabilities or establish the assessment itself.
Related recipes
- tone-check: Use tone-check to evaluate other explicit writing criteria.