Recipe catalog / methods-facets
Label what a methods section states
Which of these does methods state: sample size, data source, analysis method, limitations, and preregistration or a protocol?
You screen manuscripts, preprints, or study summaries for reporting completeness before deciding which ones need a request for missing methodological detail.
Explore this recipe interactively ยท Source and implementation guide
Use methods-facets 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 { methodsFacets } from 'jev-recipes/methods-facets';
const result = await methodsFacets({
"methods": "We recruited 312 undergraduates (mean age 19.4, 58% women) from the university psychology participant pool between March and May 2023. Each participant completed the task in a single 40-minute lab session. Responses were analyzed with mixed-effects logistic regression in R using lme4, with participant as a random intercept and condition as a fixed effect. The hypotheses, design, and analysis plan were preregistered on OSF before data collection began.",
"minConfidence": 0.8
});
console.log(result);
Input contract
| Field | Type | Needed |
|---|---|---|
| methods | string | Required |
| minConfidence | number | Optional |
Full input and result schemas
{
"input": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"methods": {
"type": "string"
},
"minConfidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"methods"
]
},
"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"
]
},
"detected": {
"type": "array",
"items": {
"type": "string",
"enum": [
"statesSampleSize",
"statesDataSource",
"statesAnalysisMethod",
"statesLimitations",
"statesPreregistration"
]
}
},
"labels": {
"type": "object",
"properties": {
"statesSampleSize": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ready",
"review"
]
},
"verdict": {
"type": "string",
"enum": [
"present",
"absent"
]
},
"probability": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"status",
"verdict",
"probability",
"confidence"
],
"additionalProperties": false
},
"statesDataSource": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ready",
"review"
]
},
"verdict": {
"type": "string",
"enum": [
"present",
"absent"
]
},
"probability": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"status",
"verdict",
"probability",
"confidence"
],
"additionalProperties": false
},
"statesAnalysisMethod": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ready",
"review"
]
},
"verdict": {
"type": "string",
"enum": [
"present",
"absent"
]
},
"probability": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"status",
"verdict",
"probability",
"confidence"
],
"additionalProperties": false
},
"statesLimitations": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ready",
"review"
]
},
"verdict": {
"type": "string",
"enum": [
"present",
"absent"
]
},
"probability": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"status",
"verdict",
"probability",
"confidence"
],
"additionalProperties": false
},
"statesPreregistration": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ready",
"review"
]
},
"verdict": {
"type": "string",
"enum": [
"present",
"absent"
]
},
"probability": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"status",
"verdict",
"probability",
"confidence"
],
"additionalProperties": false
}
},
"required": [
"statesSampleSize",
"statesDataSource",
"statesAnalysisMethod",
"statesLimitations",
"statesPreregistration"
],
"additionalProperties": false
}
},
"required": [
"model",
"usage",
"status",
"detected",
"labels"
],
"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 methods-facets.
{
"model": "demo-fixture",
"usage": {
"input_tokens": 0,
"output_tokens": 0
},
"status": "ready",
"detected": [
"statesSampleSize",
"statesDataSource",
"statesAnalysisMethod",
"statesPreregistration"
],
"labels": {
"statesSampleSize": {
"status": "ready",
"verdict": "present",
"probability": 0.97,
"confidence": 0.97
},
"statesDataSource": {
"status": "ready",
"verdict": "present",
"probability": 0.92,
"confidence": 0.92
},
"statesAnalysisMethod": {
"status": "ready",
"verdict": "present",
"probability": 0.96,
"confidence": 0.96
},
"statesLimitations": {
"status": "ready",
"verdict": "absent",
"probability": 0.05,
"confidence": 0.95
},
"statesPreregistration": {
"status": "ready",
"verdict": "present",
"probability": 0.95,
"confidence": 0.95
}
}
}
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
- Labels whether each element is stated, not whether the sample is adequate, the source is reliable, or the analysis is appropriate.
- Judges only the supplied text. Details reported elsewhere in the paper, in supplements, or in a linked registration are invisible unless pasted in.
- Compliance with a specific reporting checklist, such as CONSORT or PRISMA, is a mapping that belongs in application code.
Related recipes
- answer-disclosures: Use answer-disclosures to label the caveats and disclosures in an answer, rather than the reporting elements of a methods section.
- content-facets: Use content-facets to label the structural elements of an article, rather than the methodological details of a study.