CLI command
probierz matrix
Plan or execute an application's declared nightly or release condition matrix.
Invocation#
probierz matrix <APP_ID> <PROFILE> [ARGS]...Required inputs and options#
- `<appId>` and a matrix profile are required.
- `--plan` returns the expansion without running it; release execution requires `--release <id>`. Trailing `KEY=VALUE` pairs augment execution environment.
Output and state effects#
Planning writes cells and policy as JSON. Execution runs every cell, writes its evidence/verdict, and sets exit code 1 when the matrix verdict does not pass. Each cell's evidence level is compared with `minimumCellEvidence` through the same evidence rank the gate, status, receipts and publication read; a blocked or canceled cell reaches no level and cannot satisfy it. Plaintext artifacts are removed after protection only when the plan states `removePlaintextAfterProtection: true`.
Exact refusals#
- Missing identity/profile: `matrix needs an app ID and profile`; release execution without an ID: `release matrix execution needs --release <id>`; `--release` with no id after it: `--release needs a release id`.
- Unknown profiles/targets, an expansion above the profile's stated `maxCells` (a profile that states none is not bounded), missing required artifact encryption, and attempts to override a matrix axis are refused.
- Both profile dimensions and surface-specific dimension overrides must be objects with text keys and non-empty scalar value arrays. Refusals name the full manifest field; an empty expansion is refused rather than reported as an executed E4 matrix.
- A profile must state `minimumCellEvidence` as `E2` or `E3`; a stated `maxCells` or `maximumParallel` that is not a positive whole number is refused when the manifest is validated. A `minimumCellEvidence` the gate's rank cannot read is refused at execution: `matrix <profile> plan's minimumCellEvidence "<VALUE>" is not an evidence level the gate reads (E followed by its rank)`.
- A cell `env` value that is not text: `matrix cell env <NAME> is not text: <VALUE>`; a plan without `record` or `cells` is refused naming which; `PROBIERZ_ARTIFACT_ENCRYPTION_KEY_FILE` that is not text is refused naming it.
- Any trailing argument without `=` is refused as `unexpected matrix argument: <value>`.
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`.