gates
Run all quality gates
Root and worktree release skew
Section titled “Root and worktree release skew”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:
| Flag | Description | Required |
|---|---|---|
--docs-only | Run docs-only gates (format, spec-linter, backlog-sync) | No |
--full-lint | Run full lint instead of incremental | No |
--full-tests | Run full test suite instead of incremental | No |
--full-coverage | Force full test suite and coverage gate (implies —full-tests) | No |
--coverage-mode <mode> | Coverage gate mode: “warn” logs warnings, “block” fails gate | No |
--verbose | Stream output in agent mode instead of logging to file | No |
--strict | Fail on missing gate scripts instead of skipping (for CI enforcement) | No |
--wu-id <wuId> | WU ID context for telemetry, audit rows, and pre-existing-on-main classification (defaults to branch-name inference) | No |
--main-checkout <path> | Main checkout path; enables classifying a failing gate as pre-existing on main (auto-skip) vs introduced by this branch | No |
--claim-generation <generation> | 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 ambient | No |
--fix-wu <wuId> | WU ID that will fix the failures (required with —skip-gate) | No |
--skip-gate <name> | 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 <path> | Scoped unit test path to run instead of the full suite (repeatable) | No |
--audit-lifecycle <lifecycle> | Skip-gates audit lifecycle label (prep|done); defaults to prep for a standalone run | No |
--gate-attempt-lifecycle <lifecycle> | gate_attempt ledger lifecycle label (prep|done|gates); defaults to gates for a standalone run | No |