Skip to content

overlane ci receipts

Show the check receipts a run produced

Updated View as MarkdownOpen in ChatGPTOpen in Claude

Each job of a native run writes a receipt: the commit, the source fingerprint before and after the run, the definition digest it ran under, the executor, the outcome and the log digest, signed by the service. Only a signed passed receipt under the check’s registered digest becomes L2 evidence. Use the printed definition to register a check exactly as it ran.

Usage

overlane ci receipts run

Arguments

Argument Required Description
run yes The run ID

Examples

overlane ci receipts run_abc123
overlane ci receipts run_abc123 --json

Behavior

  • Effect: read (changes nothing).
  • Needs credentials: yes. Uses the network: yes.
  • Supports --dry-run: no. Accepts --force: no.
  • Machine-readable description: overlane schema ci receipts.

Result

With --json (the default when stdout is not a terminal) the command prints this JSON Schema’s shape on stdout.

{
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      "description": "tenant identifier"
    },
    "runId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "receipts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "receipt": {
            "type": "object",
            "properties": {
              "schemaVersion": {
                "type": "string",
                "const": "1"
              },
              "tenantId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
                "description": "tenant identifier"
              },
              "projectId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
                "description": "project identifier"
              },
              "runId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              "jobId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              "checkId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128
              },
              "commitSha": {
                "type": "string",
                "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
              },
              "definitionDigest": {
                "type": "string",
                "pattern": "^sha256:[0-9a-f]{64}$"
              },
              "sourceFingerprint": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "before": {
                        "type": "object",
                        "properties": {
                          "algorithm": {
                            "type": "string",
                            "const": "git-ls-files-v1"
                          },
                          "digest": {
                            "type": "string",
                            "pattern": "^sha256:[0-9a-f]{64}$"
                          },
                          "files": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 9007199254740991
                          }
                        },
                        "required": [
                          "algorithm",
                          "digest",
                          "files"
                        ],
                        "additionalProperties": false
                      },
                      "after": {
                        "type": "object",
                        "properties": {
                          "algorithm": {
                            "type": "string",
                            "const": "git-ls-files-v1"
                          },
                          "digest": {
                            "type": "string",
                            "pattern": "^sha256:[0-9a-f]{64}$"
                          },
                          "files": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 9007199254740991
                          }
                        },
                        "required": [
                          "algorithm",
                          "digest",
                          "files"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "before",
                      "after"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "executor": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "overlane-ci"
                  },
                  "identity": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "image": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 300
                  }
                },
                "required": [
                  "kind",
                  "identity",
                  "image"
                ],
                "additionalProperties": false
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
              },
              "outcome": {
                "type": "string",
                "enum": [
                  "passed",
                  "failed",
                  "skipped",
                  "inconclusive",
                  "stale",
                  "missing",
                  "waived",
                  "infrastructure-interrupted",
                  "source-changed",
                  "unavailable"
                ]
              },
              "exitStatus": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "artifactDigest": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^sha256:[0-9a-f]{64}$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "schemaVersion",
              "tenantId",
              "projectId",
              "runId",
              "jobId",
              "checkId",
              "commitSha",
              "definitionDigest",
              "sourceFingerprint",
              "executor",
              "startedAt",
              "finishedAt",
              "outcome",
              "exitStatus",
              "artifactDigest"
            ],
            "additionalProperties": false
          },
          "signed": {
            "type": "boolean"
          },
          "definition": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "argv"
                  },
                  "argv": {
                    "minItems": 1,
                    "maxItems": 100,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1000
                    }
                  },
                  "image": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 300
                  },
                  "toolVersions": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 64
                    },
                    "additionalProperties": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128
                    }
                  }
                },
                "required": [
                  "kind",
                  "argv",
                  "image",
                  "toolVersions"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "workflow-job"
                  },
                  "provider": {
                    "type": "string",
                    "enum": [
                      "overlane",
                      "github",
                      "gitlab"
                    ]
                  },
                  "workflow": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 300
                  },
                  "job": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128
                  },
                  "spec": {},
                  "image": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 300
                  },
                  "toolVersions": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 64
                    },
                    "additionalProperties": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128
                    }
                  }
                },
                "required": [
                  "kind",
                  "provider",
                  "workflow",
                  "job",
                  "spec",
                  "image",
                  "toolVersions"
                ],
                "additionalProperties": false
              }
            ]
          }
        },
        "required": [
          "receipt",
          "signed",
          "definition"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "tenantId",
    "runId",
    "receipts"
  ],
  "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.