Recipe catalog / task-overlap
Detect overlapping tasks
Do firstTask and secondTask cover overlapping work, such that two workers would duplicate or collide?
You are about to fan work out to several agents or people and need a yes/no check that two assignments will not step on each other.
Explore this recipe interactively ยท Source and implementation guide
Use task-overlap 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 { taskOverlap } from 'jev-recipes/task-overlap';
const result = await taskOverlap({
"firstTask": "Add input validation to the user registration form so that email and password fields show inline errors before submit.",
"secondTask": "Refactor the registration form to use the shared FormField component and wire up its built-in error display for every field.",
"minConfidence": 0.8
});
console.log(result);
Input contract
| Field | Type | Needed |
|---|---|---|
| firstTask | string | Required |
| secondTask | string | Required |
| minConfidence | number | Optional |
Full input and result schemas
{
"input": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"firstTask": {
"type": "string"
},
"secondTask": {
"type": "string"
},
"minConfidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"firstTask",
"secondTask"
]
},
"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": [
"overlapping",
"disjoint"
]
}
},
"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 task-overlap.
{
"model": "demo-fixture",
"usage": {
"input_tokens": 0,
"output_tokens": 0
},
"status": "ready",
"probability": 0.93,
"confidence": 0.93,
"verdict": "overlapping"
}
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 overlap from the task descriptions alone. Tasks that touch the same files without saying so will look disjoint.
- Reports that overlap exists, not which task should absorb the shared work or how to split it.
Related recipes
- task-duplicate: Use task-duplicate when the question is whether two items are the same request, rather than whether distinct requests share work.
- task-dependency: Use task-dependency to check whether one task must finish before the other can start, which overlap does not imply.