CLI command
probierz gate evaluate
Evaluate evidence against an application's pull-request or release policy without enforcing or activating the gate.
Invocation#
probierz gate evaluate <APP_ID> <MODE> <EXPECTED_HARNESS_SHA>Required inputs and options#
- Application ID, mode, expected harness SHA-256, source SHA-256, and selected runs define the decision.
- The manifest must declare the selected `pullRequestPolicy` or `releasePolicy` as a mapping with an explicit `minimumEvidence: E<n>`. No evidence minimum is inferred.
- Optional `requiredTargets` and `requiredJourneys` are lists of non-empty text; omitted lists require no targets or journeys. Optional `requireProtectedArtifacts` and `requireSecretScan` are booleans; omission requires neither check. `requiredMatrixProfile`, when present, is non-empty text.
- Release mode additionally requires a release ID and signed receipt.
Output and state effects#
Writes the full gate evaluation and blocking reasons as JSON. A non-passing verdict sets exit code 1 but does not change enforcement state. Verdict documents carry schemaVersion 2; a configuration refusal occurs before evidence is evaluated.
Exact refusals#
- Missing core positionals: `gate needs an app ID, mode, and harness SHA-256`; valueless flags are refused.
- Only `pull-request` and `release` modes are accepted.
- A missing mode policy: `<manifest> <policy> is missing; declare the policy before evaluating this mode`. A policy without a minimum: `<manifest> <policy>.minimumEvidence is missing; declare the required E<n> evidence level`.
- A malformed policy names its manifest and field, the required type and observed value: `<manifest> <policy>.<field> must be <type>, found <value>`. Text booleans and non-text list members are refused, never dropped. An invalid evidence minimum says `<manifest> <policy>.minimumEvidence is not an E<n> evidence level: <value>`.
- Run `artifacts`, receipt `runs` and receipt `runIds` must be arrays. A missing list says `<location> is missing; record an array`; another type says `<location> must be an array, found <value>`. Receipt run IDs must all be non-empty text.
- Source/build mismatch, failed or insufficient runs, missing/hash-mismatched artifacts, wrong run kind, and release receipt failures remain explicit blocking errors.
- A policy's `requiredMatrixProfile` requires exactly the cells `probierz matrix <appId> <profile> --plan` lists, by the same `cellId`, target and axes: every cell no selected run matches and every run outside the matrix block the gate, and a profile whose expansion `probierz matrix` refuses is refused here with the same sentence.
Source snapshot#
Generated from the Rust binaries at https://github.com/wisent-ai/probierz.git revision `f65b755da397f2ec7435eb80ed722aa6017437c1`.
Combined help SHA-256: `4a12655d233812abc29eeebbf3db3065efe3e00288024383f3eef3970d092e94`; binary SHA-256: `d5398832d3ab52c541b1efe979730dea62941ac6197898a20fccfc5d3fca44df`.