Skip to content

overlane pr policy

Show or set who approves the approver lane and how large a batch may be

Updated View as MarkdownOpen in ChatGPTOpen in Claude

With no flags, prints the project’s routing policy. With flags, changes it: –approver names a person (a user ID) who may approve high-risk pull requests, –approver-role the roles that may (owner, admin), whether an independent agent with evidence may approve that lane too follows the team’s autonomy setting (it may unless the team is manual), –auto-merge follow|on|off whether an approved, verified pull request linked to a task merges on its own (follow: when the team is autonomous), –max-batch the largest batch. Changing it is a policy change.

Usage

overlane pr policy [--approver USER_ID...] [--approver-role ROLE...] [--max-batch N] [--auto-merge SETTING] [--dry-run]

Flags

Flag Type Required Default Description
--approver string (repeatable) no A person who may approve the approver lane; repeat for more
--approver-role one of owner, admin no A role that may approve the approver lane; repeat for more
--max-batch string no The largest batch, 2 to 20
--auto-merge one of follow, on, off no Merge an approved, verified pull request linked to a task on its own: follow (when the team is autonomous), on or off
--dry-run boolean no Print the requests and file changes this command would make, then stop. Needs no credentials.

Examples

overlane pr policy
overlane pr policy --approver user_abc --approver-role owner

Behavior

  • 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 pr policy.

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"
        },
        "projectId": {
          "type": "string"
        },
        "policy": {
          "type": "object",
          "properties": {
            "approverUsers": {
              "default": [],
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              }
            },
            "approverRoles": {
              "default": [
                "owner",
                "admin"
              ],
              "maxItems": 2,
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "owner",
                  "admin"
                ]
              }
            },
            "maxBatchSize": {
              "default": 5,
              "type": "integer",
              "minimum": 2,
              "maximum": 20
            },
            "autoMerge": {
              "default": "follow",
              "type": "string",
              "enum": [
                "follow",
                "on",
                "off"
              ]
            }
          },
          "required": [
            "approverUsers",
            "approverRoles",
            "maxBatchSize",
            "autoMerge"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "tenantId",
        "projectId",
        "policy"
      ],
      "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.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close

Overlane Agent

Ask about the docs. Answers are quoted from the pages, with links. This panel cannot change anything.

    Questions are answered in your browser from the docs index. Nothing you type here is stored or sent anywhere.