With a TASK_ID, claims that ready or paused task for this working copy (same checks as task resume). Without one, creates a task (outcome, acceptance criteria, required checks, allowed paths) at the current commit and claims it, writing the lease to .overlane/state/task.json. Fails with exit 5 if this working copy already holds a task.
Usage
overlane task start [task-id] [--outcome TEXT] [--criterion TEXT...] [--check ID:LEVEL...] [--path GLOB...] [--no-checks REASON] [--dry-run]Arguments
| Argument | Required | Description |
|---|---|---|
task-id |
no | An existing task to claim; omit to create one from the flags |
Flags
| Flag | Type | Required | Default | Description |
|---|---|---|---|---|
--outcome |
string | no | What the task must achieve (up to 500 characters) | |
--criterion |
string (repeatable) | no | An acceptance criterion; repeat for more | |
--check |
string (repeatable) | no | A required check and its minimum evidence level, for example unit_tests:L2; repeat for more | |
--path |
string (repeatable) | no | A file pattern the task may change; repeat for more | |
--no-checks |
string | no | Why the task has no required checks; needed when no –check is given | |
--dry-run |
boolean | no | Print the requests and file changes this command would make, then stop. Needs no credentials. |
Examples
overlane task start task-7
overlane task start --outcome "Add CSV export" --criterion "export works" --check unit_tests:L2 --path "src/**"
overlane task start --outcome "Fix login" --criterion "login passes" --no-checks "copy change only" --path "src/auth/**" --dry-runBehavior
- Effect:
write(changes local or hosted state). - Needs credentials: yes. Uses the network: yes.
- Supports
--dry-run: yes. Accepts--force: no. - Machine-readable description:
overlane schema task start.
Result
With --json (the default when stdout is not a terminal) the command prints this JSON Schema’s shape on stdout.
{
"anyOf": [
{
"type": "object",
"properties": {
"taskId": {
"type": "string"
},
"version": {
"type": "number"
},
"state": {
"type": "string"
},
"holder": {
"type": "string"
},
"leaseExpiresAt": {
"type": "string"
},
"next": {
"type": "string"
},
"payload": {
"type": "object",
"properties": {
"file": {
"type": "string"
},
"totalTokens": {
"type": "number"
},
"sections": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"file",
"totalTokens",
"sections"
],
"additionalProperties": false
}
},
"required": [
"taskId",
"version",
"state",
"holder",
"next"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"dryRun": {
"type": "boolean",
"const": true
},
"service": {
"type": "string"
},
"requests": {
"type": "array",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string"
},
"path": {
"type": "string"
},
"body": {},
"note": {
"type": "string"
}
},
"required": [
"method",
"path"
],
"additionalProperties": false
}
},
"commands": {
"type": "array",
"items": {
"type": "string"
}
},
"writes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"write",
"append",
"delete"
]
},
"description": {
"type": "string"
}
},
"required": [
"path",
"action",
"description"
],
"additionalProperties": false
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"dryRun",
"requests",
"commands",
"writes",
"notes"
],
"additionalProperties": false
}
]
}See exit codes for the status the process returns.