Recipe catalog / review-recommendation-kind
Classify a peer review's recommendation
What recommendation does the wording of review express: accept, minor revision, major revision, or reject?
An editor or review-management tool needs to read the recommendation implied by a free-text review, for example when the reviewer skipped the form field or when the text and the ticked box disagree.
Explore this recipe interactively ยท Source and implementation guide
Use review-recommendation-kind 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 { reviewRecommendationKind } from 'jev-recipes/review-recommendation-kind';
const result = await reviewRecommendationKind({
"review": "The paper addresses an important question and the experimental setup is generally careful. However, the central claim in Section 5 rests on the independence assumption introduced in Section 3, which the authors never test, and the baseline comparison omits the two strongest recent methods. I would need to see the assumption validated and the comparison extended before I could support publication. The writing issues I noted in the margins are secondary and easy to fix.",
"minConfidence": 0.8
});
console.log(result);
Input contract
| Field | Type | Needed |
|---|---|---|
| review | string | Required |
| minConfidence | number | Optional |
Full input and result schemas
{
"input": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"review": {
"type": "string"
},
"minConfidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"review"
]
},
"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": [
"accept",
"minor_revision",
"major_revision",
"reject",
"unclear"
]
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"probabilities": {
"type": "object",
"propertyNames": {
"type": "string",
"enum": [
"accept",
"minor_revision",
"major_revision",
"reject",
"unclear"
]
},
"additionalProperties": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"required": [
"accept",
"minor_revision",
"major_revision",
"reject",
"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 review-recommendation-kind.
{
"model": "demo-fixture",
"usage": {
"input_tokens": 0,
"output_tokens": 0
},
"status": "ready",
"verdict": "major_revision",
"confidence": 0.86,
"probabilities": {
"accept": 0.01,
"minor_revision": 0.04,
"major_revision": 0.86,
"reject": 0.07,
"unclear": 0.02
}
}
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
- Reads the recommendation the wording expresses, not whether the reviewer's assessment is fair or the paper is any good.
- A review that mixes praise and severe objections is classified by the disposition its wording commits to; when it commits to none, the result is unclear.
- Journal-specific decision categories, such as reject and resubmit, must be mapped from these four in application code.
Related recipes
- draft-compare: Use draft-compare to judge which of two revisions is better, rather than what a reviewer recommended.
- feedback-kind: Use feedback-kind to classify general user feedback, rather than the recommendation in a formal peer review.