cops.project.json alongside your project configuration, they are version-controlled, reviewable, and reproducible across environments.
How the gate system works
cops.project.jsondeclares which gates are active for a project and what parameters they need.cops release check --all --project <id>evaluates every enabled gate in parallel against live product APIs.- Each gate returns a status (
pass,warn,fail, orwaived) and ablockingflag. - The command exits with a non-zero code when any gate is blocking, making it safe to use as a CI/CD step.
Gate properties
Every gate entry in thegates array supports the following properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Unique identifier for this gate within the project. Used in output and evidence files. |
type | string | Yes | The gate type to evaluate. See Gate types for all supported values. |
enabled | boolean | No | Set to false to skip this gate. Defaults to true when omitted. |
severity | string | No | high, medium, low, or critical. Defaults to high. Controls whether a non-pass result is blocking. |
params | object | No | Gate-specific parameters. Overrides top-level product config values when provided. |
owner | string | No | Free-text owner label surfaced in output and evidence. |
team | string | No | Free-text team label surfaced in output and evidence. |
ticket | string | No | Reference ticket for tracking exceptions or remediation. |
slaHours | number | No | Positive number. Informational SLA hours surfaced in evidence. |
waiver | string | No | Reason string. When set and the gate fails, the result is marked waived instead of fail. |
waiverExpires | string | No | ISO 8601 datetime. The waiver is only applied before this timestamp. |
Example cops.project.json
How severity affects output
Severity determines whether a non-passing gate result is blocking.| Gate result | Severity | Blocking? | Effective status |
|---|---|---|---|
pass | any | No | pass |
warn | high or critical | Yes | fail |
warn | medium or low | No | warn |
fail | any | Yes | fail |
| any non-pass (with active waiver) | any | No | waived |
cops release check exits with a non-zero exit code. This makes it straightforward to fail a CI/CD pipeline step when release readiness criteria are not met.
Running gates
Validating configuration
Before running gates in CI, validate the configuration locally:Next steps
Gate types
Reference for all 11 supported gate types with configuration examples.
Release evidence
Generate, validate, diff, and trend release evidence artifacts for compliance and audit.
