Recipe catalog / format-fit
Check requested format compliance
Does response follow the structure or format request explicitly asks for, such as a list, table, JSON, item count, sections, or language?
You need a yes/no check that a generated response honored the format the prompt or user explicitly asked for.
Explore this recipe interactively ยท Source and implementation guide
Use format-fit 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 { formatFit } from 'jev-recipes/format-fit';
const result = await formatFit({
"request": "Give me three benefits of unit testing as a numbered list, one sentence each.",
"response": "1. Unit tests catch regressions close to the change that caused them.\n2. They document how each function is expected to behave.\n3. They make refactoring safer because failures point to a specific unit.",
"minConfidence": 0.8
});
console.log(result);
Input contract
| Field | Type | Needed |
|---|---|---|
| request | string | Required |
| response | string | Required |
| minConfidence | number | Optional |
Full input and result schemas
{
"input": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"request": {
"type": "string"
},
"response": {
"type": "string"
},
"minConfidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"request",
"response"
]
},
"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"
]
},
"probability": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"verdict": {
"type": "string",
"enum": [
"follows",
"deviates"
]
}
},
"required": [
"model",
"usage",
"status",
"probability",
"confidence",
"verdict"
],
"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 format-fit.
{
"model": "demo-fixture",
"usage": {
"input_tokens": 0,
"output_tokens": 0
},
"status": "ready",
"probability": 0.95,
"confidence": 0.95,
"verdict": "follows"
}
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
- Judges structure semantically. Strict machine formats such as JSON or CSV should also be validated in code.
- Checks only format instructions stated in the request. It does not judge content accuracy or implied conventions.
Related recipes
- instruction-fit: Use instruction-fit to check the response against all instructions, not only format.
- tone-check: Use tone-check when the requirement is about voice or register rather than structure.