Orca ORCA v0.174.2

Tools

CLI tools available under orca tools. This list is auto-discovered from the command tree.

compliance-report

Generate a compliance-report PDF from selected building blocks
Subcommands
check-anomalies Check test anomalies (e2e + unit) for residual anomaly justification (CI gate)
Parse the cucumber (e2e/system) and JUnit (unit) test reports, combine
their anomalies (failed/errored tests), and verify that the PR carries a
justification comment beginning with /ra-justification.

The --input flag (e2e report) is optional. When omitted, the missing e2e
test results are themselves treated as a residual anomaly, so the check
fails unless the PR carries a qualifying /ra-justification comment.

The --unit-input flag is also optional. When omitted, the missing unit test
results are themselves treated as a residual anomaly, so the check fails
unless the PR carries a qualifying /ra-justification comment.

Exits with code 1 when anomalies exist without a qualifying justification.
When there are no anomalies, the check passes unconditionally.

Intended to be called from deployments repo CI on a release PR.
--github-token — GitHub API token; defaults to $GITHUB_TOKEN
--input — path to the cucumber e2e report (.json); optional — when omitted, missing e2e test results are treated as a residual anomaly
--json (default: false) — output results as JSON
--linear-api-key — Linear API key; defaults to $LINEAR_API_KEY
--owner (default: corticph) — GitHub owner of the deployments repo
--pr-id — PR number to check
--repo (default: deployments) — GitHub repo holding the PRs
--unit-input — path to the JUnit XML report (.xml); optional — when omitted, missing unit test results are treated as a residual anomaly
check-api-release Check if the latest commit on the current branch is an API release
Inspect the latest commit on HEAD of the current branch and classify it
as an API release, an Assistant MD release, or ignored (not a release commit).

Classification uses the same logic as release-PR detection: the commit subject
is parsed with the "deploy <service> <version>" pattern, and the service name
is mapped to a product (Assistant vs API). Commits that don't match the pattern
(e.g. chart/terraform deployments, regular commits) are classified as ignored.

Outputs JSON with the classification and the commit timestamp in UTC ISO 8601
when --json is set.

This check is informational — it never exits non-zero on findings. It exits
non-zero only on errors (e.g. not a git repo).

Intended to be called from CI to determine whether the current branch HEAD
is an API release commit.
--dir — path to the git repository; defaults to the current working directory
--json (default: false) — output results as JSON
check-impact-review Check the Impact Review table on a Production release PR (CI gate)
Validate the Impact Review table on a Production release PR. Verifies
that the table is present and that every row has been declared by CI via
/impactreview comments.

Non-Production releases are skipped (the table is only required for
Production releases).

Exits with code 1 when the table is missing or has undeclared rows.

Intended to be called from deployments repo CI on a release PR.
--github-token — GitHub API token; defaults to $GITHUB_TOKEN
--json (default: false) — output results as JSON
--linear-api-key — Linear API key; defaults to $LINEAR_API_KEY
--owner (default: corticph) — GitHub owner of the deployments repo
--pr-id — PR number to check
--repo (default: deployments) — GitHub repo holding the PRs
check-linear-issues Check that every changelog entry in the PR references a Linear issue (CI gate)
Check that every changelog entry in the PR's "## Changes" section
references a Linear issue (e.g. [SR-1234]).

Unlike check-prefixes, which fails fast when the PR has zero Linear IDs,
this check scans all entries and collects every entry that is missing a
Linear issue reference, so CI can report the complete list of changes
without a linked Linear issue.

Dependency-update entries (e.g. "**deps:** bump …", "chore(deps): bump …")
are exempt — dependency changes are out of scope for compliance reporting.

Exits with code 1 when any changelog entry is missing a Linear issue
reference.

Intended to be called from deployments repo CI on a release PR.
--github-token — GitHub API token; defaults to $GITHUB_TOKEN
--json (default: false) — output results as JSON
--linear-api-key — Linear API key; defaults to $LINEAR_API_KEY
--owner (default: corticph) — GitHub owner of the deployments repo
--pr-id — PR number to check
--repo (default: deployments) — GitHub repo holding the PRs
check-prefixes Check conventional-commit prefixes on the PR's changelog (CI gate)
Check that every changelog line in the PR's "## Changes" section carries
a recognised conventional-commit prefix.

The category comes from the PR prefix — there is no separate labelling step,
and PMs do not label tickets. feat maps to the Feature category (a new or
changed externally facing feature); fix maps to the Fix category (bug fixes);
all other conventional-commit types (chore, docs, refactor, perf, revert,
style, test, build, ci) map to the Other Change category.

Exits with code 1 when any error-severity finding is found (unrecognised or
missing prefix).

Intended to be called from deployments repo CI on a release PR.
--github-token — GitHub API token; defaults to $GITHUB_TOKEN
--json (default: false) — output results as JSON
--linear-api-key — Linear API key; defaults to $LINEAR_API_KEY
--owner (default: corticph) — GitHub owner of the deployments repo
--pr-id — PR number to check
--repo (default: deployments) — GitHub repo holding the PRs