Changing the autonomy setting is itself a safety class: an agent needs an approval from an independent agent (evidence and a reason) or a person; run it, read the approval it names, then retry with OVERLANE_APPROVAL set. The most specific setting wins: project class, project, team class, team. Every change is recorded.
Usage
overlane autonomy set mode [--class CLASS=MODE...] [--project PROJECT=MODE...] [--dry-run]Arguments
| Argument | Required | Description |
|---|---|---|
mode |
yes | One of autonomous, supervised, manual |
Flags
| Flag | Type | Required | Default | Description |
|---|---|---|---|---|
--class |
string (repeatable) | no | Override one action class for the whole team; repeatable | |
--project |
string (repeatable) | no | Override the mode for one project; repeatable | |
--dry-run |
boolean | no | Print the requests and file changes this command would make, then stop. Needs no credentials. |
Examples
overlane autonomy set autonomous
overlane autonomy set supervised --class release_promotion=manual
overlane autonomy set autonomous --project my-app=supervised --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 autonomy set.
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": {
"tenantId": {
"type": "string"
},
"mode": {
"type": "string"
},
"source": {
"type": "string"
},
"plan": {
"type": "string"
},
"version": {
"type": "number"
},
"requirements": {
"type": "array",
"items": {
"type": "object",
"properties": {
"class": {
"type": "string"
},
"label": {
"type": "string"
},
"mode": {
"type": "string"
},
"requirement": {
"type": "string"
}
},
"required": [
"class",
"label",
"mode",
"requirement"
],
"additionalProperties": false
}
},
"gates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"class": {
"type": "string"
},
"behaviour": {
"type": "string"
},
"today": {
"type": "string"
},
"autonomous": {
"type": "string"
},
"setting": {
"type": "string"
},
"decision": {
"type": "string"
},
"task": {
"type": "string"
},
"unit": {
"type": "string"
}
},
"required": [
"id",
"label",
"class",
"behaviour",
"today",
"autonomous",
"setting",
"decision"
],
"additionalProperties": false
}
},
"next": {
"type": "string"
}
},
"required": [
"tenantId",
"mode",
"source",
"plan",
"version",
"requirements",
"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.