All contracts

Evidence and release gates / JSON Schema

RapidKit Governance Pipeline Last Run

Defines the versioned pipeline last run v1 boundary used by Workspai and its consumers.

Schema version
rapidkit-pipeline-v1
Contract path
contracts/pipeline-last-run.v1.json
Publication
synced-supporting-contract
Defined fields
22
Artifact bindings
1

Why this contract exists

Architecture role

Carries structured evidence, findings, and verdicts across governance boundaries.

Consumption boundary

  • Workspai CLI
  • CI and release automation
  • Developers

Related commands

Commands are linked only when the runtime contract identifies a direct production relationship. Supporting contracts may be consumed without having a single producer command.

Produced artifacts

These durable files are emitted by registered commands and validated against this contract.

Artifact pathSchemaProducer
.workspai/reports/pipeline-last-run.jsonrapidkit-pipeline-v1
workspai pipeline

Field reference

Every declared schema property or published capability path is listed here. Required means the contract declares or publishes that field at the shown boundary.

Field pathTypeRequiredMeaningConstraints
artifactsobjectYesDefines the artifacts value at this contract boundary.additionalProperties: true
artifacts.analyzeEvidencePathstringNoDefines the analyzeevidencepath value at this contract boundary.
artifacts.autopilotEvidencePathstringNoDefines the autopilotevidencepath value at this contract boundary.
artifacts.readinessEvidencePathstringNoDefines the readinessevidencepath value at this contract boundary.
artifacts.reportPathstringYesDefines the reportpath value at this contract boundary.
blockingReasonsarrayYesDefines the blockingreasons value at this contract boundary.
generatedAtstringYesDefines the generatedat value at this contract boundary.format: date-time
schemaVersionstringYesDefines the schemaversion value at this contract boundary.const: "rapidkit-pipeline-v1"
stagesarrayYesDefines the stages value at this contract boundary.
stages[].durationMsintegerYesDefines the durationms value at this contract boundary.minimum: 0
stages[].evidencePathstringNoDefines the evidencepath value at this contract boundary.
stages[].exitCodeintegerNoDefines the exitcode value at this contract boundary.
stages[].nameenumYesDefines the name value at this contract boundary.enum: sync, doctor, analyze, readiness, autopilot
stages[].statusenumYesDefines the status value at this contract boundary.enum: pass, warn, fail, skipped
stages[].summarystringYesDefines the summary value at this contract boundary.
summaryobjectYesDefines the summary value at this contract boundary.additionalProperties: false
summary.exitCodeenumYesDefines the exitcode value at this contract boundary.enum: 0, 1, 2, 3
summary.stagesFailedintegerYesDefines the stagesfailed value at this contract boundary.minimum: 0
summary.stagesPassedintegerYesDefines the stagespassed value at this contract boundary.minimum: 0
summary.stagesWarnintegerYesDefines the stageswarn value at this contract boundary.minimum: 0
summary.verdictenumYesDefines the verdict value at this contract boundary.enum: ready, needs-attention, blocked
workspacePathstringYesDefines the workspacepath value at this contract boundary.minLength: 1

Canonical machine-readable definition

The raw synchronized contract remains authoritative. The educational sections above are projections of this definition.

Show raw JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://getrapidkit.com/schemas/pipeline-last-run.v1.json",
  "title": "RapidKit Governance Pipeline Last Run",
  "type": "object",
  "required": [
    "schemaVersion",
    "generatedAt",
    "workspacePath",
    "summary",
    "stages",
    "blockingReasons",
    "artifacts"
  ],
  "properties": {
    "schemaVersion": {
      "const": "rapidkit-pipeline-v1"
    },
    "generatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "workspacePath": {
      "type": "string",
      "minLength": 1
    },
    "summary": {
      "type": "object",
      "required": [
        "verdict",
        "exitCode",
        "stagesPassed",
        "stagesWarn",
        "stagesFailed"
      ],
      "properties": {
        "verdict": {
          "enum": [
            "ready",
            "needs-attention",
            "blocked"
          ]
        },
        "exitCode": {
          "enum": [
            0,
            1,
            2,
            3
          ]
        },
        "stagesPassed": {
          "type": "integer",
          "minimum": 0
        },
        "stagesWarn": {
          "type": "integer",
          "minimum": 0
        },
        "stagesFailed": {
          "type": "integer",
          "minimum": 0
        }
      },
      "additionalProperties": false
    },
    "stages": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "status",
          "durationMs",
          "summary"
        ],
        "properties": {
          "name": {
            "enum": [
              "sync",
              "doctor",
              "analyze",
              "readiness",
              "autopilot"
            ]
          },
          "status": {
            "enum": [
              "pass",
              "warn",
              "fail",
              "skipped"
            ]
          },
          "durationMs": {
            "type": "integer",
            "minimum": 0
          },
          "summary": {
            "type": "string"
          },
          "exitCode": {
            "type": "integer"
          },
          "evidencePath": {
            "type": "string"
          }
        },
        "additionalProperties": true
      }
    },
    "blockingReasons": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "artifacts": {
      "type": "object",
      "required": [
        "reportPath"
      ],
      "properties": {
        "reportPath": {
          "type": "string"
        },
        "analyzeEvidencePath": {
          "type": "string"
        },
        "readinessEvidencePath": {
          "type": "string"
        },
        "autopilotEvidencePath": {
          "type": "string"
        }
      },
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}