Evidence and release gates / JSON Schema
Autopilot Release V1
Defines the versioned autopilot release v1 boundary used by Workspai and its consumers.
- Schema version
autopilot-release-v1- Contract path
contracts/autopilot-release.v1.json- Publication
- json-schema
- Defined fields
- 32
- Artifact bindings
- 2
Why this contract exists
Architecture role
Defines a versioned interoperability boundary used by Workspai and contract-aware consumers.
Consumption boundary
- • Workspai CLI
- • Contract-aware integrations
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 path | Schema | Producer |
|---|---|---|
| .workspai/reports/autopilot-release-last-run.json | autopilot-release-v1 | workspai autopilot release |
| .workspai/reports/autopilot-release.json | autopilot-release-v1 | workspai autopilot release |
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 path | Type | Required | Meaning | Constraints |
|---|---|---|---|---|
| artifacts | object | Yes | Defines the artifacts value at this contract boundary. | additionalProperties: false |
| artifacts.aliasEvidencePath | string | No | Defines the aliasevidencepath value at this contract boundary. | minLength: 1 |
| artifacts.analyzeEvidencePath | string | No | Defines the analyzeevidencepath value at this contract boundary. | minLength: 1 |
| artifacts.readinessEvidencePath | string | No | Defines the readinessevidencepath value at this contract boundary. | minLength: 1 |
| artifacts.reportPath | string | Yes | Defines the reportpath value at this contract boundary. | minLength: 1 |
| artifacts.workspaceRunBuildPath | string | No | Defines the workspacerunbuildpath value at this contract boundary. | minLength: 1 |
| artifacts.workspaceRunEvidencePath | string | No | Defines the workspacerunevidencepath value at this contract boundary. | minLength: 1 |
| artifacts.workspaceRunTestPath | string | No | Defines the workspaceruntestpath value at this contract boundary. | minLength: 1 |
| blockingReasons | array | Yes | Defines the blockingreasons value at this contract boundary. | — |
| enterpriseControls | object | No | Defines the enterprisecontrols value at this contract boundary. | additionalProperties: false |
| enterpriseControls.aliasEvidencePath | string | Yes | Defines the aliasevidencepath value at this contract boundary. | minLength: 1 |
| enterpriseControls.evidencePath | string | Yes | Defines the evidencepath value at this contract boundary. | minLength: 1 |
| enterpriseControls.jsonReady | boolean | Yes | Defines the jsonready value at this contract boundary. | — |
| generatedAt | string | Yes | Defines the generatedat value at this contract boundary. | format: date-time |
| mode | enum | Yes | Defines the mode value at this contract boundary. | enum: audit, safe-fix, enforce |
| nextActions | array | Yes | Defines the nextactions value at this contract boundary. | — |
| schemaVersion | string | Yes | Defines the schemaversion value at this contract boundary. | const: "autopilot-release-v1" |
| stages | array | Yes | Defines the stages value at this contract boundary. | — |
| stages[].durationMs | number | Yes | Defines the durationms value at this contract boundary. | minimum: 0 |
| stages[].name | enum | Yes | Defines the name value at this contract boundary. | enum: doctor-workspace, analyze, readiness, remediation-plan, remediation-apply, workspace-run-test-build |
| stages[].status | enum | Yes | Defines the status value at this contract boundary. | enum: pass, warn, fail, skipped |
| stages[].summary | string | Yes | Defines the summary value at this contract boundary. | — |
| summary | object | Yes | Defines the summary value at this contract boundary. | additionalProperties: false |
| summary.blockers | integer | Yes | Defines the blockers value at this contract boundary. | minimum: 0 |
| summary.exitCode | enum | Yes | Defines the exitcode value at this contract boundary. | enum: 0, 1, 2, 3 |
| summary.manualActions | integer | Yes | Defines the manualactions value at this contract boundary. | minimum: 0 |
| summary.releaseScore | number | Yes | Defines the releasescore value at this contract boundary. | minimum: 0 · maximum: 100 |
| summary.safeFixesApplied | integer | Yes | Defines the safefixesapplied value at this contract boundary. | minimum: 0 |
| summary.verdict | enum | Yes | Defines the verdict value at this contract boundary. | enum: approved, blocked, partial |
| summary.warnings | integer | Yes | Defines the warnings value at this contract boundary. | minimum: 0 |
| warningReasons | array | No | Defines the warningreasons value at this contract boundary. | — |
| workspacePath | string | Yes | Defines 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",
"type": "object",
"required": [
"schemaVersion",
"generatedAt",
"workspacePath",
"mode",
"summary",
"stages",
"blockingReasons",
"nextActions",
"artifacts"
],
"properties": {
"schemaVersion": {
"const": "autopilot-release-v1"
},
"generatedAt": {
"type": "string",
"format": "date-time"
},
"workspacePath": {
"type": "string",
"minLength": 1
},
"mode": {
"enum": [
"audit",
"safe-fix",
"enforce"
]
},
"summary": {
"type": "object",
"required": [
"releaseScore",
"verdict",
"blockers",
"warnings",
"safeFixesApplied",
"manualActions",
"exitCode"
],
"properties": {
"releaseScore": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"verdict": {
"enum": [
"approved",
"blocked",
"partial"
]
},
"blockers": {
"type": "integer",
"minimum": 0
},
"warnings": {
"type": "integer",
"minimum": 0
},
"safeFixesApplied": {
"type": "integer",
"minimum": 0
},
"manualActions": {
"type": "integer",
"minimum": 0
},
"exitCode": {
"enum": [
0,
1,
2,
3
]
}
},
"additionalProperties": false
},
"stages": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"status",
"durationMs",
"summary"
],
"properties": {
"name": {
"enum": [
"doctor-workspace",
"analyze",
"readiness",
"remediation-plan",
"remediation-apply",
"workspace-run-test-build"
]
},
"status": {
"enum": [
"pass",
"warn",
"fail",
"skipped"
]
},
"durationMs": {
"type": "number",
"minimum": 0
},
"summary": {
"type": "string"
}
},
"additionalProperties": false
}
},
"blockingReasons": {
"type": "array",
"items": {
"type": "string"
}
},
"warningReasons": {
"type": "array",
"items": {
"type": "string"
}
},
"nextActions": {
"type": "array",
"items": {
"type": "string"
}
},
"artifacts": {
"type": "object",
"required": [
"reportPath"
],
"properties": {
"reportPath": {
"type": "string",
"minLength": 1
},
"aliasEvidencePath": {
"type": "string",
"minLength": 1
},
"analyzeEvidencePath": {
"type": "string",
"minLength": 1
},
"readinessEvidencePath": {
"type": "string",
"minLength": 1
},
"workspaceRunEvidencePath": {
"type": "string",
"minLength": 1
},
"workspaceRunTestPath": {
"type": "string",
"minLength": 1
},
"workspaceRunBuildPath": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
},
"enterpriseControls": {
"type": "object",
"required": [
"jsonReady",
"evidencePath",
"aliasEvidencePath"
],
"properties": {
"jsonReady": {
"type": "boolean"
},
"evidencePath": {
"type": "string",
"minLength": 1
},
"aliasEvidencePath": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
}
},
"additionalProperties": true
}