CLI command

probierz gate evaluate

Evaluate evidence against an application's pull-request or release policy without enforcing or activating the gate.

Invocation#

Shell
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`.