Skip to content

gates

← Back to CLI Commands

Run all quality gates

pnpm gates

When the worktree has its own installed @hellmai/lumenflow-cli whose release differs from the CLI running wu:prep or wu:done, the command refuses before the worktree gates run, naming both releases and the install command (pnpm --dir "<worktree>" install). Equal releases run as before; a framework source checkout builds its own branch source and is not compared.

A gates child started with --wu-id and --main-checkout but no --claim-generation (a previous release’s wu:done re-running gates in a newer worktree) derives the generation from the worktree’s claim binding and proves it through the same canonical loader as the explicit flag. An absent or ambiguous binding refuses. A checkpoint-reuse refusal names the base the prep validated and prints pnpm wu:rebase --id WU-XXXX, then pnpm wu:prep --id WU-XXXX.

Options:

FlagDescriptionRequired
--docs-onlyRun docs-only gates (format, spec-linter, backlog-sync)No
--full-lintRun full lint instead of incrementalNo
--full-testsRun full test suite instead of incrementalNo
--full-coverageForce full test suite and coverage gate (implies —full-tests)No
--coverage-mode &lt;mode&gt;Coverage gate mode: “warn” logs warnings, “block” fails gateNo
--verboseStream output in agent mode instead of logging to fileNo
--strictFail on missing gate scripts instead of skipping (for CI enforcement)No
--wu-id &lt;wuId&gt;WU ID context for telemetry, audit rows, and pre-existing-on-main classification (defaults to branch-name inference)No
--main-checkout &lt;path&gt;Main checkout path; enables classifying a failing gate as pre-existing on main (auto-skip) vs introduced by this branchNo
--claim-generation &lt;generation&gt;Claim generation wu:done names for a claimed WU; the child re-loads the claim through the strict loader and refuses on a mismatch (NO_ACTIVE_CLAIM_GENERATION: the WU has no claim). Absent with both —wu-id and —main-checkout (a previous release’s wu:done), the generation is derived from the worktree claim binding and proved through the same loader; an absent or ambiguous binding refuses. Absent with only one of them refuses; a bare run with neither is ambientNo
--fix-wu &lt;wuId&gt;WU ID that will fix the failures (required with —skip-gate)No
--skip-gate &lt;name&gt;Skip a single named gate (repeatable). Requires —reason and —fix-wu. Only gates marked skippable: true (or overridden via software_delivery.gates.overrides.<name>.skippable=true) may be skipped. Per-invocation only: never inherited from a prior wu:prep or wu:done attempt. On a resumed wu:done after an earlier failed attempt used this flag, restate —skip-gate/—reason/—fix-wu identically on THIS invocation if the skip is still needed; omitting them runs the named gate and records pass or fail rather than silently reusing the earlier decision.No
--scoped-test-path &lt;path&gt;Scoped unit test path to run instead of the full suite (repeatable)No
--audit-lifecycle &lt;lifecycle&gt;Skip-gates audit lifecycle label (prep|done); defaults to prep for a standalone runNo
--gate-attempt-lifecycle &lt;lifecycle&gt;gate_attempt ledger lifecycle label (prep|done|gates); defaults to gates for a standalone runNo

← Back to CLI Commands