Skip to content

CLI Commands

LumenFlow provides a curated public CLI surface for everyday workflows.

| Category | Commands | | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Gates & Quality | cert:verify, eval:run, eval:suite, events:validate, gate:co-change, gate:conditional, gates, lane:create, lane:edit, lane:health, lane:list, lane:lock, lane:remove, lane:setup, lane:status, lane:suggest, lane:validate, lumenflow:pre-commit-check, test:baseline:init, test:baseline:update, validate | | Initiatives | initiative:add-wu, initiative:bulk-assign, initiative:create, initiative:delete, initiative:edit, initiative:list, initiative:plan, initiative:remove-wu, initiative:rename, initiative:status | | Memory & Sessions | mem:checkpoint, mem:cleanup, mem:context, mem:converged, mem:create, mem:delete, mem:export, mem:inbox, mem:init, mem:ready, mem:recover, mem:roster, mem:signal, mem:start, mem:summarize, mem:triage, mem:watch, signal:cleanup | | Metrics & Flow | cost:summary, flow:bottlenecks, flow:report, metrics, metrics:snapshot | | Orchestration | agent:issues-query, agent:log-issue, agent:resolve, agent:session, agent:session-end, delegation:list, orchestrate:init-status, orchestrate:initiative, orchestrate:monitor, orchestrate:pre-phase-audit, task:claim | | Packs | pack:author, pack:hash, pack:install, pack:publish, pack:scaffold, pack:search, pack:validate | | Plans | plan:create, plan:edit, plan:link, plan:promote | | Setup & Development | backlog:prune, cloud:connect, compute:connect, compute:doctor, compute:run, config:get, config:set, config:unset, db:journal-recover, file:delete, file:edit, file:read, file:write, git:branch, git:diff, git:log, git:status, git:sync-main, lumenflow, lumenflow:commands, lumenflow:disable, lumenflow:docs-sync, lumenflow:doctor, lumenflow:enable, lumenflow:integrate, lumenflow:migrate-state, lumenflow:release, lumenflow:setup-prereqs, lumenflow:sync-templates, lumenflow:uninstall, lumenflow:upgrade | | State Management | state:bootstrap, state:cleanup, state:doctor, state:emit | | WU Lifecycle | approval:list, approval:request, approval:review, wu:block, wu:brief, wu:claim, wu:create, wu:delegate, wu:done, wu:edit, wu:escalate, wu:prep, wu:recover, wu:release, wu:rename, wu:sandbox, wu:status, wu:unblock, wu:validate, wu:verify | | WU Maintenance | wu:clean-generated, wu:cleanup, wu:delete, wu:deps, wu:infer-lane, wu:preflight, wu:proto, wu:prune, wu:rebase, wu:rebase-meta, wu:repair, wu:review, wu:unlock-lane |

Verify an agent promotion-ladder transition against certification evidence

pnpm cert:verify

Run a certification scenario suite against an agent evaluation report

pnpm eval:run

Define, list, and validate agent certification scenario suites

pnpm eval:suite

Validate event payloads against the published schema catalog

pnpm events:validate

Manage co-change gate rules (add, remove, edit, list)

pnpm gate:co-change

Manage conditional_commands gate entries (add, remove, edit, list)

pnpm gate:conditional

Run all quality gates

pnpm gates

Create a new lane definition

pnpm lane:create

Edit a lane definition (rename, wip-limit, paths, description)

pnpm lane:edit

Check lane config health

pnpm lane:health

Options:

| Flag | Description | Required | | --------------- | --------------------------- | -------- | | -j, --json | Output as JSON | No | | -v, --verbose | Show verbose output | No | | --no-coverage | Skip coverage gap detection | No |

List lane definitions (table or —json)

pnpm lane:list

Lock lane lifecycle for delivery WUs

pnpm lane:lock

Remove a lane definition when no active WUs still reference it

pnpm lane:remove

Create/update draft lane artifacts

pnpm lane:setup

Show lane lifecycle status and next step

pnpm lane:status

Suggest workspace lane definitions from project context

pnpm lane:suggest

Validate lane artifacts before lock

pnpm lane:validate

Run enforcement checks used by pre-commit and CI

pnpm lumenflow:pre-commit-check

Options:

| Flag | Description | Required | | -------------------- | ---------------------------------------------------------- | -------- | | --ci | Use CI diff mode (range-based) instead of staged diff mode | No | | --base <ref> | Base git ref/sha for CI mode | No | | --head <ref> | Head git ref/sha for CI mode (default: HEAD) | No |

Create .lumenflow/test-baseline.json from current failing tests

pnpm test:baseline:init

Options:

| Flag | Description | Required | | ----------------------- | -------------------------------------- | -------- | | --mode <mode> | Baseline operation: init or update | No | | --wu <wuId> | WU ID recording the baseline update | No | | --reason <text> | Reason stored on each captured failure | No |

Refresh .lumenflow/test-baseline.json from current failing tests

pnpm test:baseline:update

Options:

| Flag | Description | Required | | ----------------------- | -------------------------------------- | -------- | | --mode <mode> | Baseline operation: init or update | No | | --wu <wuId> | WU ID recording the baseline update | No | | --reason <text> | Reason stored on each captured failure | No |

Run validation checks

pnpm validate

Add WU to initiative

pnpm initiative:add-wu --initiative <ref>

Options:

| Flag | Description | Required | | -------------------------- | ------------------------------------ | -------- | | --initiative &lt;ref&gt; | Parent initiative (INIT-XXX or slug) | Yes |

Bulk assign WUs to initiative

pnpm initiative:bulk-assign

Options:

| Flag | Description | Required | | ------------------------ | --------------------------------------------------------------- | -------- | | --config &lt;path&gt; | Path to config file (tool-specific) | No | | --apply | Apply changes (default is dry-run) | No | | --sync-from-initiative | Ensure WU initiative fields exist for WUs listed in initiatives | No |

Create new initiative

pnpm initiative:create --slug <slug> --title <title>

Options:

| Flag | Description | Required | | --------------------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | No | | -s, --slug &lt;slug&gt; | Initiative slug (kebab-case) | Yes | | -t, --title &lt;title&gt; | Work Unit title | Yes | | -p, --priority &lt;priority&gt; | Priority level (P0, P1, P2, P3) | No | | -o, --owner &lt;owner&gt; | Initiative owner (team or individual) | No | | --target-date &lt;date&gt; | Target completion date (YYYY-MM-DD) | No |

Delete an initiative with explicit linked-WU safeguards

pnpm initiative:delete --id <wuId>

Options:

| Flag | Description | Required | | ----------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes | | -f, --force | Force operation | No |

Edit initiative fields and phase metadata

pnpm initiative:edit

Options:

| Flag | Description | Required | | --------------------------------------- | --------------------------------------------------------------------------- | -------- | | -i, --id &lt;initId&gt; | Initiative ID (e.g., INIT-001) | No | | --blocked-by &lt;initId&gt; | Initiative ID that blocks this initiative | No | | --blocked-reason &lt;text&gt; | Reason for blocking (required with —blocked-by) | No | | --unblock | Remove blocked_by and blocked_reason fields | No | | --add-lane &lt;lane&gt; | Lane to add (repeatable) | No | | --remove-lane &lt;lane&gt; | Lane to remove (repeatable) | No | | --notes &lt;text&gt; | Note to append to notes array | No | | --description &lt;text&gt; | Replace the initiative description field | No | | --add-phase &lt;title&gt; | Append a new phase with auto-incremented id and pending status (repeatable) | No | | --add-success-metric &lt;text&gt; | Append to success_metrics array, avoiding duplicates (repeatable) | No | | --remove-success-metric &lt;text&gt; | Remove exact match from success_metrics array (repeatable) | No | | --phase-id &lt;id&gt; | Phase ID to update (use with —phase-status) | No | | --phase-title &lt;title&gt; | Update phase title (use with —phase-id) | No | | --created &lt;date&gt; | Set created date (YYYY-MM-DD format) | No | | --phase-execution-order &lt;order&gt; | Phase execution order (sequential, parallel) | No | | --dependency-model &lt;model&gt; | Dependency model for the initiative | No |

List all initiatives

pnpm initiative:list

Options:

| Flag | Description | Required | | ------------------------- | ------------------------------------------- | -------- | | --format &lt;format&gt; | Output format (table, json, ascii, mermaid) | No | | --status &lt;status&gt; | Filter by status | No | | --color | Enable colored output | No |

Link plan to initiative

pnpm initiative:plan --initiative <ref>

Options:

| Flag | Description | Required | | -------------------------- | ------------------------------------ | -------- | | --initiative &lt;ref&gt; | Parent initiative (INIT-XXX or slug) | Yes |

Remove WU from initiative

pnpm initiative:remove-wu --initiative <ref> --wu <wuId>

Options:

| Flag | Description | Required | | -------------------------- | ------------------------------------ | -------- | | --initiative &lt;ref&gt; | Parent initiative (INIT-XXX or slug) | Yes | | --wu &lt;wuId&gt; | Work Unit ID to link (e.g., WU-123) | Yes |

Rename an initiative and rewrite linked references

pnpm initiative:rename --from <wuId> --to <wuId>

Options:

| Flag | Description | Required | | --------------------- | ----------------------------------------- | -------- | | --from &lt;wuId&gt; | Original WU ID to rename from (e.g. WU-5) | Yes | | --to &lt;wuId&gt; | Target WU ID to rename to (e.g. WU-0015) | Yes |

Show initiative status

pnpm initiative:status

Options:

| Flag | Description | Required | | ------------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | No | | --format &lt;format&gt; | Output format (table, json, ascii, mermaid) | No | | --color | Enable colored output | No |

Save progress checkpoint

pnpm mem:checkpoint

Options:

| Flag | Description | Required | | ------------------------------ | -------------------------------------------------------- | -------- | | --wu &lt;wuId&gt; | Work Unit ID to link (e.g., WU-123) | No | | -n, --note &lt;text&gt; | Checkpoint note (required if not positional) | No | | -s, --session &lt;id&gt; | Session ID to link checkpoint to (UUID) | No | | -p, --progress &lt;text&gt; | Progress summary | No | | --next-steps &lt;text&gt; | Next steps description | No | | -t, --trigger &lt;type&gt; | Handoff trigger type (e.g., clear, handoff) | No | | --git-diff-stat &lt;text&gt; | Git diff —stat output to include in checkpoint metadata | No | | -d, --base-dir &lt;path&gt; | Base directory (defaults to current directory) | No | | -q, --quiet | Suppress output except errors | No |

Clean up stale memory data

pnpm mem:cleanup

Options:

| Flag | Description | Required | | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | -------- | | --dry-run | Preview cleanup without making changes | No | | --ttl &lt;duration&gt; | Remove nodes older than duration (e.g., 30d, 7d, 24h). Active sessions are protected. | No | | --session-id &lt;uuid&gt; | Session ID to consider closed (removes session lifecycle nodes) | No | | --json | Output as JSON | No | | -q, --quiet | Suppress output except errors | No | | -b, --base-dir &lt;path&gt; | Base directory (defaults to current directory) | No | | --decay | Run decay-based archival (archive stale nodes below threshold). Uses config from workspace.yaml software_delivery or defaults. | No |

Get context for current lane/WU

pnpm mem:context --wu <wuId>

Options:

| Flag | Description | Required | | --------------------------------------------- | ------------------------------------------------------------------------- | -------- | | --wu &lt;wuId&gt; | Work Unit ID to link (e.g., WU-123) | Yes | | -m, --max-size &lt;bytes&gt; | Maximum context size in bytes (default: 4096) | No | | --delegation-context-max-size &lt;bytes&gt; | Alias for —max-size (for config parity with delegation_context_max_size) | No | | -l, --lane &lt;lane&gt; | Filter project memories by lane (e.g., “Framework: CLI”) | No | | --max-recent-summaries &lt;count&gt; | Maximum number of recent summaries to include (default: 5) | No | | --max-project-nodes &lt;count&gt; | Maximum number of project nodes to include (default: 10) | No | | -f, --format &lt;format&gt; | Output format: json or human (default: human) | No | | -d, --base-dir &lt;path&gt; | Base directory (defaults to current directory) | No | | -q, --quiet | Suppress header/footer output, only show context block | No | | --include-roster | Legacy alias; roster auto-composes by default when active sessions exist | No | | --no-roster | Disable automatic coordination roster composition | No | | --initiative &lt;id&gt; | Initiative ID to scope the roster to | No |

Evaluate whether an A2A signal thread has converged

pnpm mem:converged

Options:

| Flag | Description | Required | | --------------------- | ----------------------------------------- | -------- | | --thread &lt;id&gt; | A2A thread id to evaluate | No | | -q, --quiet | Suppress detail output; rely on exit code | No |

Create memory node (bug discovery)

pnpm mem:create

Options:

| Flag | Description | Required | | ---------------------------------- | --------------------------------------------------------------------------------------------------- | -------- | | --wu &lt;wuId&gt; | Work Unit ID to link (e.g., WU-123) | No | | -t, --title &lt;text&gt; | Node title/content (required if not positional) | No | | --title-file &lt;path&gt; | Read title from file (prefer over —title for prose with $, backticks, !; bypasses shell expansion) | No | | -d, --discovered-from &lt;id&gt; | Parent node ID for provenance tracking (mem-XXXX format) | No | | -s, --session &lt;id&gt; | Session ID to link node to (UUID) | No | | --tags &lt;tags&gt; | Comma-separated tags for categorization | No | | -p, --priority &lt;level&gt; | Priority level (P0, P1, P2, P3) | No | | -b, --base-dir &lt;path&gt; | Base directory (defaults to current directory) | No | | -q, --quiet | Suppress output except errors | No |

Delete/archive a memory node

pnpm mem:delete

Options:

| Flag | Description | Required | | ------------------------------- | --------------------------------------------------------------------------- | -------- | | --dry-run | Preview deletion without making changes | No | | --id &lt;nodeId...&gt; | Node ID to delete (mem-XXXX; repeatable). Also accepted as positional args. | No | | --tag &lt;tag&gt; | Delete all nodes matching this tag | No | | --older-than &lt;duration&gt; | Delete nodes older than duration (e.g., 30d, 7d, 24h, 2w) | No | | --json | Output as JSON | No | | -q, --quiet | Suppress output except errors | No | | -b, --base-dir &lt;path&gt; | Base directory (defaults to current directory) | No |

Export memory as markdown

pnpm mem:export

Options:

| Flag | Description | Required | | ----------------------------------- | ----------------------------------------------------- | -------- | | --wu &lt;wuId&gt; | Work Unit ID to link (e.g., WU-123) | No | | -l, --lifecycle &lt;lifecycle&gt; | Filter by lifecycle (ephemeral, session, wu, project) | No | | -f, --format &lt;format&gt; | Output format (markdown, json). Default: markdown | No | | -d, --base-dir &lt;path&gt; | Base directory (defaults to current directory) | No | | -q, --quiet | Suppress header/footer output | No |

Check coordination signals

pnpm mem:inbox

Options:

| Flag | Description | Required | | -------------------------------------------------------- | ---------------------------------------------------------------------- | -------- | | --wu &lt;wuId&gt; | Work Unit ID to link (e.g., WU-123) | No | | -l, --lane &lt;lane&gt; | Lane name (e.g., “Operations: Tooling”) | No | | -s, --since &lt;time&gt; | Filter signals since time (e.g., “1h”, “30m”, “2025-12-09”) | No | | -w, --watch | Continuously monitor for new signals | No | | -q, --quiet | Suppress output except signal content | No | | --no-mark | Do not mark signals as read after display | No | | -c, --count | Output only signal count (lightweight polling for orchestrators) | No | | --for &lt;session_id\|display_name\|agent_identity&gt; | Show signals addressed to a session or agent identity, plus broadcasts | No | | --thread &lt;id&gt; | Show signals in a single A2A thread | No | | --intent &lt;intent[,intent...]&gt; | Filter by A2A intent values (INFO, PROPOSE, COUNTER, AGREE, REJECT) | No |

Initialize memory for WU

pnpm mem:init

Options:

| Flag | Description | Required | | ----------------------------- | ------------------------------------------------------------ | -------- | | -d, --base-dir &lt;path&gt; | Base directory to initialize (defaults to current directory) | No | | -q, --quiet | Suppress output except errors | No |

Check pending memory nodes

pnpm mem:ready --wu <wuId>

Options:

| Flag | Description | Required | | ----------------------------- | ---------------------------------------------- | -------- | | --wu &lt;wuId&gt; | Work Unit ID to link (e.g., WU-123) | Yes | | -f, --format &lt;format&gt; | Output format (json, human). Default: human | No | | -d, --base-dir &lt;path&gt; | Base directory (defaults to current directory) | No | | -q, --quiet | Suppress header/footer output, only show nodes | No |

Generate recovery context after compaction

pnpm mem:recover --wu <wuId>

Options:

| Flag | Description | Required | | ------------------------------ | --------------------------------------------------------- | -------- | | --wu &lt;wuId&gt; | Work Unit ID to link (e.g., WU-123) | Yes | | -m, --max-size &lt;bytes&gt; | Maximum output size in bytes (default: 2048) | No | | -f, --format &lt;format&gt; | Output format: json or human (default: human) | No | | -d, --base-dir &lt;path&gt; | Base directory (defaults to current directory) | No | | -q, --quiet | Suppress header/footer output, only show recovery context | No |

List live agent sessions and role axes

pnpm mem:roster

Options:

| Flag | Description | Required | | ------------------------- | ------------------------------------------------ | -------- | | --json | Output roster entries as JSON | No | | --initiative &lt;id&gt; | Limit roster to sessions linked to an initiative | No |

Broadcast coordination signal

pnpm mem:signal

Options:

| Flag | Description | Required | | ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -------- | | --wu &lt;wuId&gt; | Work Unit ID to link (e.g., WU-123) | No | | -l, --lane &lt;lane&gt; | Lane name (e.g., “Operations: Tooling”) | No | | -m, --message &lt;text&gt; | Signal message (required if not positional) | No | | -q, --quiet | Suppress output except errors (outputs signal ID only) | No | | --role &lt;descriptor&gt; | Sender role descriptor (e.g. “implementer/general”) | No | | --target-role &lt;descriptor&gt; | Intended-recipient role descriptor (filter-able via mem:inbox) | No | | --initiative &lt;id&gt; | Initiative scope (e.g., INIT-001) | No | | --delegation-id &lt;id&gt; | Delegation registry linkage (dlg-XXXX) | No | | --to &lt;recipient[,recipient...]&gt; | Address the signal to one or more session IDs, display names, or agent identities | No | | --thread &lt;id&gt; | A2A thread id for grouping signals | No | | --reply-to &lt;signal_id&gt; | Parent signal id; inherits the parent thread when —thread is omitted | No | | --intent &lt;INFO\|PROPOSE\|COUNTER\|AGREE\|REJECT&gt; | Machine-readable A2A signal intent | No | | --interrupt-class &lt;advisory\|priority\|urgent\|soon\|immediate&gt; | A2A interrupt class (advisory|priority|urgent canonical; soon|immediate are legacy aliases) | No | | --interrupt &lt;advisory\|priority\|urgent\|soon\|immediate&gt; | [DEPRECATED] Legacy alias for —interrupt-class. Same enum values. | No | | --requires-ack | Mark the signal as requiring an AGREE or REJECT reply | No |

Start a memory session

pnpm mem:start --wu <wuId>

Options:

| Flag | Description | Required | | --------------------------------- | ---------------------------------------------------------- | -------- | | --wu &lt;wuId&gt; | Work Unit ID to link (e.g., WU-123) | Yes | | -a, --agent-type &lt;type&gt; | Agent type (e.g., general-purpose, explore, test-engineer) | No | | -c, --context-tier &lt;tier&gt; | Context tier (core, full, minimal) | No | | -d, --base-dir &lt;path&gt; | Base directory (defaults to current directory) | No | | -q, --quiet | Suppress output except errors | No |

Summarize memory context

pnpm mem:summarize --wu <id>

Options:

| Flag | Description | Required | | ----------------------------- | ---------------------------------------------- | -------- | | --wu &lt;id&gt; | WU ID to summarize (e.g., WU-1234) | Yes | | --dry-run | Preview summary without making changes | No | | --json | Output as JSON | No | | -q, --quiet | Suppress output except errors | No | | -b, --base-dir &lt;path&gt; | Base directory (defaults to current directory) | No |

Triage discovered bugs

pnpm mem:triage

Options:

| Flag | Description | Required | | ------------------------------ | ----------------------------------------------------- | -------- | | -l, --list | List open discoveries (default action) | No | | -p, --promote &lt;nodeId&gt; | Promote discovery to WU (mem-XXXX format) | No | | -a, --archive &lt;nodeId&gt; | Archive discovery without promotion (mem-XXXX format) | No | | -r, --reason &lt;text&gt; | Reason for archiving (required with —archive) | No | | --title &lt;text&gt; | Custom title for promoted WU (optional) | No | | --lane &lt;lane&gt; | Lane for promoted WU (required with —promote) | No | | --wu-id &lt;id&gt; | Explicit WU ID for promotion (optional) | No | | --wu &lt;id&gt; | Filter discoveries by WU ID (or “unlinked”) | No | | --tag &lt;tag&gt; | Filter discoveries by tag | No | | --dry-run | Preview promotion without creating WU | No | | --json | Output as JSON | No | | -q, --quiet | Suppress output except errors | No |

Deliver A2A signal events for clients without native hooks

pnpm mem:watch --session <id>

Options:

| Flag | Description | Required | | ---------------------- | ------------------------------------------------------------------------ | -------- | | --session &lt;id&gt; | Active session_id, display_name, or agent_identity to deliver events for | Yes | | -q, --quiet | Suppress watcher lifecycle messages; signal events still print | No |

Clean up stale signals

pnpm signal:cleanup

Options:

| Flag | Description | Required | | ------------------------------- | ------------------------------------------------- | -------- | | --dry-run | Preview cleanup without making changes | No | | --ttl &lt;duration&gt; | TTL for read signals (e.g., 7d, 24h). Default: 7d | No | | --unread-ttl &lt;duration&gt; | TTL for unread signals (e.g., 30d). Default: 30d | No | | --max-entries &lt;count&gt; | Maximum signals to retain. Default: 500 | No | | --json | Output as JSON | No | | -q, --quiet | Suppress output except errors | No | | -b, --base-dir &lt;path&gt; | Base directory (defaults to current directory) | No |

Summarize local cost telemetry or brief metrics with —brief

pnpm cost:summary

Identify flow bottlenecks

pnpm flow:bottlenecks

Generate flow metrics report

pnpm flow:report

View workflow metrics

pnpm metrics

Capture metrics snapshot

pnpm metrics:snapshot

Query GitHub issues for agent work

pnpm agent:issues-query

Log issue during agent session

pnpm agent:log-issue --category <cat> --severity <sev> --title <title> --description <desc>

Options:

| Flag | Description | Required | | ---------------------------- | --------------------------------------------------------------- | -------- | | --category &lt;cat&gt; | Issue category (workflow|tooling|confusion|violation|error) | Yes | | --severity &lt;sev&gt; | Severity level (blocker|major|minor|info) | Yes | | --title &lt;title&gt; | Short description (5-100 chars) | Yes | | --description &lt;desc&gt; | Detailed context (10-2000 chars) | Yes | | --resolution &lt;res&gt; | How the issue was resolved | No | | --tag &lt;tag&gt; | Tag for categorization (repeatable) | No | | --step &lt;step&gt; | Current workflow step (e.g., wu:done, gates) | No | | --file &lt;file&gt; | Related file path (repeatable) | No |

Show effective vendor model routing (model_profile → model) per agent

pnpm agent:resolve

Start agent session

pnpm agent:session --wu <wuId> --tier <tier>

Options:

| Flag | Description | Required | | --------------------------- | --------------------------------- | -------- | | --wu &lt;wuId&gt; | WU ID to work on (e.g., WU-1234) | Yes | | --tier &lt;tier&gt; | Context tier (1, 2, or 3) | Yes | | --agent-type &lt;type&gt; | Agent type (default: claude-code) | No |

End agent session

pnpm agent:session-end

List delegation and launch records with planned-versus-launched state

pnpm delegation:list

Options:

| Flag | Description | Required | | ----------------------------- | ---------------------------------------------------------- | -------- | | --wu &lt;wuId&gt; | Work Unit ID to link (e.g., WU-123) | No | | --initiative &lt;initId&gt; | Initiative ID to show all delegations for (e.g., INIT-001) | No | | --json | Output as JSON | No |

Compact initiative status with evidence-based orchestration state

pnpm orchestrate:init-status

Plan, launch, and reconcile initiative execution with structured orchestration artifacts; launch modes print lean summaries by default and can replay stored handoffs inline

pnpm orchestrate:initiative --initiative <ids...>

Options:

| Flag | Description | Required | | ------------------------------------ | ------------------------------------------------------------------------------------------- | -------- | | -i, --initiative &lt;ids...&gt; | Initiative ID(s) to orchestrate | Yes | | -d, --dry-run | Show execution plan without spawning agents | No | | -p, --progress | Show current progress only | No | | -c, --checkpoint-per-wave | Spawn next wave then exit (no polling) | No | | --no-checkpoint | Force polling mode | No | | --client &lt;name&gt; | Agent client (claude-code, codex-cli, gemini-cli, cursor, windsurf) | No | | --print-handoffs | Print stored handoff artifacts inline for manual copy/paste output | No | | --max-active-workers &lt;count&gt; | Cap concurrent active workers; overrides software_delivery.orchestration.max_active_workers | No |

Monitor orchestration progress, stalls, returned workers, and recovery signals

pnpm orchestrate:monitor

Print a read-only pre-phase audit checklist before creating phase WUs

pnpm orchestrate:pre-phase-audit

Claim a task directly through KernelRuntime

pnpm task:claim

Author a secure domain pack from templates

pnpm pack:author

Options:

| Flag | Description | Required | | -------------------------- | ------------------------------------------------------------- | -------- | | -f, --force | Force operation | No | | --spec-file &lt;path&gt; | Path to YAML/JSON request file for non-interactive generation | No | | --skip-validate | Skip post-generation pack validation | No |

Compute integrity hash for a domain pack

pnpm pack:hash

Options:

| Flag | Description | Required | | ------------------------- | --------------------------------------------------------------- | -------- | | -f, --force | Force operation | No | | --pack-root &lt;dir&gt; | Direct path to pack directory (overrides —id and —packs-root) | No |

Install a domain pack into workspace

pnpm pack:install --source <source> --version <version>

Options:

| Flag | Description | Required | | ---------------------------- | ----------------------------------------------------------------------------- | -------- | | -f, --force | Force operation | No | | --source &lt;source&gt; | Pack source: local, git, or registry | Yes | | --version &lt;version&gt; | Pack version in semver format | Yes | | --url &lt;url&gt; | Git repository URL (required for source: git) | No | | --registry-url &lt;url&gt; | Registry base URL (for source: registry) | No | | --pack-root &lt;dir&gt; | Direct path to resolved pack directory on disk (overrides default resolution) | No | | --integrity &lt;hash&gt; | Expected SHA-256 integrity hash in “sha256:<hex>” format (optional) | No |

Publish a domain pack to a registry

pnpm pack:publish

Options:

| Flag | Description | Required | | ------------------------- | --------------------------------------------------------------- | -------- | | -f, --force | Force operation | No | | --pack-root &lt;dir&gt; | Direct path to pack directory (overrides —id and —packs-root) | No |

Scaffold a new domain pack

pnpm pack:scaffold --version <version>

Options:

| Flag | Description | Required | | --------------------------- | --------------------------------------------- | -------- | | -f, --force | Force operation | No | | --version &lt;version&gt; | Pack version in semver format (e.g., “0.1.0”) | Yes | | --task-type &lt;type&gt; | Task type name (repeatable) | No | | --tool &lt;name&gt; | Tool name to scaffold (repeatable) | No |

Search for domain packs in a registry

pnpm pack:search

Options:

| Flag | Description | Required | | ----------------------- | ------------------- | -------- | | --query &lt;query&gt; | Search query string | No |

Validate a domain pack for integrity

pnpm pack:validate

Options:

| Flag | Description | Required | | ------------------------- | --------------------------------------------------------------- | -------- | | -f, --force | Force operation | No | | --pack-root &lt;dir&gt; | Direct path to pack directory (overrides —id and —packs-root) | No |

Create a new plan

pnpm plan:create --id <wuId> --title <title>

Options:

| Flag | Description | Required | | --------------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes | | -t, --title &lt;title&gt; | Work Unit title | Yes |

Edit plan content

pnpm plan:edit --id <wuId>

Options:

| Flag | Description | Required | | ----------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |

Link plan to WU or initiative

pnpm plan:link --id <wuId>

Options:

| Flag | Description | Required | | ----------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |

Promote plan to WU

pnpm plan:promote --id <wuId>

Options:

| Flag | Description | Required | | ----------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |

Clean stale backlog entries

pnpm backlog:prune

Connect workspace.yaml to cloud control plane

pnpm cloud:connect

Enrol the runner with the cloud control-plane (experimental developer substrate)

pnpm compute:connect

Self-check the Connected Compute runner (experimental developer substrate)

pnpm compute:doctor

Run the governed Connected Compute polling loop (experimental)

pnpm compute:run

Read and display a value from workspace.yaml software_delivery

pnpm config:get

Safely update workspace.yaml software_delivery via micro-worktree

pnpm config:set

Safely delete a key from workspace.yaml via micro-worktree

pnpm config:unset

Detect drizzle journal collisions and offer a safe-resequence path (dry-run by default; —confirm applies)

pnpm db:journal-recover

Delete file with audit trail

pnpm file:delete

Edit file with audit trail

pnpm file:edit

Read file with audit trail

pnpm file:read

Write file with audit trail

pnpm file:write

Show git branch with audit trail

pnpm git:branch

Show git diff with audit trail

pnpm git:diff

Show git log with audit trail

pnpm git:log

Show git status with audit trail

pnpm git:status

Fast-forward a clean local main checkout to origin/main

pnpm git:sync-main

Initialize LumenFlow in a project

pnpm lumenflow

List all available CLI commands

pnpm lumenflow:commands

Flip enforcement flags to false and regenerate hooks as no-ops (reversible)

pnpm lumenflow:disable

Options:

| Flag | Description | Required | | ----------------------- | ----------------------------------------------- | -------- | | --client &lt;type&gt; | Scope to a single client (default: claude-code) | No | | --json | Emit machine-readable JSON output | No |

Refresh core docs, onboarding docs, and supported vendor assets

pnpm lumenflow:docs-sync

Diagnose LumenFlow configuration

pnpm lumenflow:doctor

Re-enable enforcement after lumenflow:disable (restores prior state)

pnpm lumenflow:enable

Options:

| Flag | Description | Required | | ----------------------- | ----------------------------------------------- | -------- | | --client &lt;type&gt; | Scope to a single client (default: claude-code) | No | | --json | Emit machine-readable JSON output | No |

Generate enforcement hooks for client

pnpm lumenflow:integrate

Explicit standalone Software Delivery state-namespace cutover (main checkout only; for repos that never run lumenflow:upgrade)

pnpm lumenflow:migrate-state

Run release workflow

pnpm lumenflow:release

Surface external prerequisites and local runtime readiness at end of pnpm setup

pnpm lumenflow:setup-prereqs

Sync templates to project

pnpm lumenflow:sync-templates

Remove LumenFlow-generated files (dry-run by default; requires —confirm)

pnpm lumenflow:uninstall

Options:

| Flag | Description | Required | | ----------------------- | --------------------------------------------------------- | -------- | | --confirm | Actually delete files. Without this, runs as a dry-run. | No | | --keep-history | Preserve docs/operations/tasks/wu/ and .lumenflow/stamps/ | No | | --keep-config | Preserve workspace.yaml and .lumenflow/constraints.md | No | | --client &lt;type&gt; | Scope deletion to a single client (default: all) | No | | --json | Emit machine-readable JSON output | No |

Upgrade LumenFlow packages

pnpm lumenflow:upgrade

Bootstrap state store

pnpm state:bootstrap

Clean up stale state data

pnpm state:cleanup

Options:

| Flag | Description | Required | | ----------------------------- | ---------------------------------------------- | -------- | | --dry-run | Preview cleanup without making changes | No | | --signals-only | Only execute signal cleanup | No | | --memory-only | Only execute memory cleanup | No | | --events-only | Only execute event archival | No | | --json | Output as JSON | No | | -q, --quiet | Suppress output except errors and summary | No | | -b, --base-dir &lt;path&gt; | Base directory (defaults to current directory) | No |

Diagnose state store issues

pnpm state:doctor

Options:

| Flag | Description | Required | | ----------------------------- | ---------------------------------------------- | -------- | | --fix | Auto-repair safe issues | No | | --dry-run | Preview repairs without making changes | No | | --json | Output as JSON | No | | -q, --quiet | Suppress output except errors and summary | No | | -b, --base-dir &lt;path&gt; | Base directory (defaults to current directory) | No |

Emit corrective event to state store

pnpm state:emit

Options:

| Flag | Description | Required | | ----------------------------- | ----------------------------------------------------------- | -------- | | --wu &lt;wuId&gt; | Work Unit ID (e.g., WU-123) | No | | -r, --reason &lt;reason&gt; | Reason for the corrective event (required) | No | | -b, --base-dir &lt;path&gt; | Base directory (defaults to current directory) | No | | --transactional | Commit corrective event via micro-worktree (push-only mode) | No |

List control-plane approvals with optional filters

pnpm approval:list

Request control-plane approval for a workflow action

pnpm approval:request

Resolve a control-plane approval decision

pnpm approval:review

Block WU with reason

pnpm wu:block --id <wuId>

Options:

| Flag | Description | Required | | ----------------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes | | -r, --reason &lt;reason&gt; | Reason for action (required with —skip-gate, —override-owner) | No | | -w, --worktree &lt;path&gt; | Override worktree path | No | | --remove-worktree | Remove worktree when blocking | No | | --no-auto | Skip auto-updating YAML/backlog/status | No | | --override-owner | Override ownership check (requires —reason) | No |

Generate the canonical full WU handoff prompt, record evidence, and optionally report prompt tokens

pnpm wu:brief --id <wuId>

Options:

| Flag | Description | Required | | -------------------------- | ------------------------------------------------------------------------------------------------------------------ | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes | | --thinking | Enable extended thinking for sub-agent WU execution | No | | --no-thinking | Explicitly disable extended thinking (default behavior) | No | | --budget &lt;tokens&gt; | Token budget for extended thinking (requires —thinking) | No | | --codex | Deprecated: use —client codex-cli. Outputs Markdown prompt format. | No | | --parent-wu &lt;wuId&gt; | Parent WU ID for orchestrator context (e.g., WU-1000) | No | | --client &lt;client&gt; | Target client (e.g. claude-code, codex-cli, cursor, windsurf) | No | | --vendor &lt;vendor&gt; | Deprecated alias for —client | No | | --no-context | Skip memory context injection in handoff prompts | No | | --evidence-only | [DEPRECATED] Removed. Use wu:brief —client <client> instead (always gives full context + records evidence). | No | | --strict-sizing | Block when sizing_estimate metadata is missing or exceeds thresholds without exception. Advisory by default. | No |

Claim WU and create worktree

pnpm wu:claim --id <wuId>

Options:

| Flag | Description | Required | | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes | | -l, --lane &lt;lane&gt; | Lane name (e.g., “Operations: Tooling”) | No | | -w, --worktree &lt;path&gt; | Override worktree path | No | | -b, --branch &lt;branch&gt; | Override branch name | No | | --branch-only | Use branch-only mode (no worktree) | No | | --pr-mode | Use PR mode (create PR instead of auto-merge) | No | | --no-auto | Skip auto-updating YAML/backlog/status | No | | -f, --force | Force operation | No | | --force-overlap | Force claiming despite overlap (requires —reason) | No | | --fix | Auto-fix common YAML validation issues | No | | -r, --reason &lt;reason&gt; | Reason for action (required with —skip-gate, —override-owner) | No | | --allow-incomplete | Allow claiming with incomplete spec (bypasses spec completeness, NOT schema errors) | No | | --cloud | Use cloud/branch-pr mode (no worktree, PR-based completion for cloud agents and MCP callers) | No | | --resume | Resume a WU from a crashed/killed agent (handoff) by taking over the existing worktree and updating the lock with new PID. Fails if original PID is still running (safety) or worktree does not exist. | No | | --skip-setup | Skip automatic pnpm install in worktree after creation (faster claims when deps already built) | No | | --no-push | Skip pushing claim branch or canonical updates (air-gapped/offline) | No | | --wait-for-lane | Queue the claim when code-path overlaps exist and auto-fire once every blocker WU has merged | No | | --wait-timeout-seconds &lt;seconds&gt; | Maximum seconds to wait for blocker WUs to merge before giving up (default 3600, used with —wait-for-lane) | No | | --cancel-queue | Cancel an active queued claim for —id (pairs with —wait-for-lane) | No |

Create new WU spec

pnpm wu:create --lane <lane> --title <title>

Options:

| Flag | Description | Required | | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | No | | -l, --lane &lt;lane&gt; | Lane name (e.g., “Operations: Tooling”) | Yes | | -t, --title &lt;title&gt; | Work Unit title | Yes | | -p, --priority &lt;priority&gt; | Priority level (P0, P1, P2, P3) | No | | --type &lt;type&gt; | WU type (feature, bug, documentation, process, tooling, chore, refactor) | No | | --initiative &lt;ref&gt; | Parent initiative (INIT-XXX or slug) | No | | --initiative-phase &lt;number&gt; | Canonical initiative_phase number within parent initiative | No | | --blocked-by &lt;wuIds&gt; | WU IDs that block this WU (repeatable) | No | | --blocks &lt;wuIds&gt; | WU IDs this WU blocks (repeatable) | No | | --labels &lt;labels&gt; | Labels (repeatable) | No | | --assigned-to &lt;email&gt; | Override assigned_to (defaults to git config user.email) | No | | --description &lt;text&gt; | WU description text (Context/Problem/Solution) | No | | --acceptance &lt;criterion&gt; | Acceptance criterion (repeatable, use multiple times) | No | | --notes &lt;text&gt; | Implementation notes or context (optional) | No | | --code-paths &lt;paths&gt; | Code paths (repeatable) | No | | --test-paths-manual &lt;tests&gt; | Manual test descriptions (repeatable) | No | | --test-paths-unit &lt;paths&gt; | Unit test file paths (repeatable) | No | | --test-paths-e2e &lt;paths&gt; | E2E test file paths (repeatable) | No | | --validate | Validate spec completeness (requires description, acceptance, test paths) | No | | --spec-refs &lt;paths&gt; | Spec/plan references (repeatable or comma-separated, required for type: feature) | No | | --exposure &lt;type&gt; | Exposure level (ui, api, backend-only, documentation) | No | | --user-journey &lt;text&gt; | User journey description (recommended for ui/api exposure) | No | | --ui-pairing-wus &lt;wuIds&gt; | UI WU IDs that consume this API (repeatable or comma-separated, for api exposure) | No | | --plan | Create plan template in the repo plansDir (legacy LUMENFLOW_HOME/plans still resolve) | No | | --estimated-files &lt;count&gt; | Optional sizing estimate: expected number of files to modify (non-negative integer) | No | | --estimated-tool-calls &lt;count&gt; | Optional sizing estimate: expected number of tool calls (non-negative integer) | No | | --sizing-strategy &lt;strategy&gt; | Optional sizing strategy (single-session, checkpoint-resume, orchestrator-worker, decomposition) | No | | --sizing-exception-type &lt;type&gt; | Optional sizing exception type when thresholds are exceeded (docs-only, shallow-multi-file, review-audit) | No | | --sizing-exception-reason &lt;text&gt; | Optional sizing exception justification text | No | | --no-strict | Bypass code_paths/test_paths path existence checks. Reality-phase checks run at wu:prep/wu:done. Logged when used. | No | | --cloud | Use cloud/branch-pr mode (no worktree, PR-based completion for cloud agents and MCP callers) | No | | --offline | Skip remote fetch during ID generation (air-gapped/offline mode) | No |

Generate the canonical delegation handoff prompt and record explicit lineage intent

pnpm wu:delegate --id <wuId>

Options:

| Flag | Description | Required | | -------------------------- | ------------------------------------------------------------------------------------------------------------------ | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes | | --thinking | Enable extended thinking for sub-agent WU execution | No | | --no-thinking | Explicitly disable extended thinking (default behavior) | No | | --budget &lt;tokens&gt; | Token budget for extended thinking (requires —thinking) | No | | --codex | Deprecated: use —client codex-cli. Outputs Markdown prompt format. | No | | --parent-wu &lt;wuId&gt; | Parent WU ID for orchestrator context (e.g., WU-1000) | No | | --client &lt;client&gt; | Target client (e.g. claude-code, codex-cli, cursor, windsurf) | No | | --vendor &lt;vendor&gt; | Deprecated alias for —client | No | | --no-context | Skip memory context injection in handoff prompts | No | | --evidence-only | [DEPRECATED] Removed. Use wu:brief —client <client> instead (always gives full context + records evidence). | No | | --strict-sizing | Block when sizing_estimate metadata is missing or exceeds thresholds without exception. Advisory by default. | No |

Complete WU (merge, stamp, cleanup) from main

pnpm wu:done

Edit WU spec fields

pnpm wu:edit --id <wuId>

Options:

| Flag | Description | Required | | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes | | --test-paths-manual &lt;tests&gt; | Manual test descriptions (repeatable) | No | | --test-paths-unit &lt;paths&gt; | Unit test file paths (repeatable) | No | | --test-paths-e2e &lt;paths&gt; | E2E test file paths (repeatable) | No | | --exposure &lt;type&gt; | Exposure level (ui, api, backend-only, documentation) | No | | --no-strict | Bypass code_paths/test_paths path existence checks. Reality-phase checks run at wu:prep/wu:done. Logged when used. | No | | --spec-file &lt;path&gt; | Path to YAML file with updated spec content | No | | --title &lt;text&gt; | New title text (replaces existing) | No | | --description &lt;text&gt; | New description text (replaces existing) | No | | --acceptance &lt;criterion&gt; | Acceptance criterion (repeatable, appends to existing; use —replace-acceptance to overwrite) | No | | --notes &lt;text&gt; | Notes text (appends to existing; use —replace-notes to overwrite) | No | | --replace-notes | Replace existing notes instead of appending | No | | --replace-acceptance | Replace existing acceptance criteria instead of appending | No | | --code-paths &lt;path&gt; | Code path (repeatable, appends to existing; use —replace-code-paths to overwrite) | No | | --remove-code-paths &lt;path&gt; | Remove specific code_paths entries without replacing the full array | No | | --rename-code-paths &lt;old=new&gt; | Rename specific code_paths entries without rewriting the full array | No | | --replace-code-paths | Replace existing code_paths instead of appending | No | | --spec-refs &lt;path&gt; | Spec/plan reference (repeatable, appends to existing; use —replace-spec-refs to overwrite) | No | | --remove-spec-refs &lt;path&gt; | Remove specific spec_refs entries without replacing the full array | No | | --rename-spec-refs &lt;old=new&gt; | Rename specific spec_refs entries without rewriting the full array | No | | --replace-spec-refs | Replace existing spec_refs instead of appending | No | | --risks &lt;risk&gt; | Risk entry (repeatable, appends to existing; use —replace-risks to overwrite) | No | | --replace-risks | Replace existing risks instead of appending | No | | --append | [DEPRECATED] Arrays now append by default. Use —replace-* flags to replace. | No | | --remove-test-paths-manual &lt;text&gt; | Remove specific manual test entries without replacing the full array | No | | --rename-test-paths-manual &lt;old=new&gt; | Rename specific manual test entries without rewriting the full array | No | | --remove-test-paths-unit &lt;path&gt; | Remove specific unit test paths without replacing the full array | No | | --rename-test-paths-unit &lt;old=new&gt; | Rename specific unit test paths without rewriting the full array | No | | --remove-test-paths-e2e &lt;path&gt; | Remove specific e2e test paths without replacing the full array | No | | --rename-test-paths-e2e &lt;old=new&gt; | Rename specific e2e test paths without rewriting the full array | No | | --replace-test-paths-unit | Replace existing unit test paths instead of appending | No | | --replace-test-paths-e2e | Replace existing e2e test paths instead of appending | No | | --replace-test-paths-manual | Replace existing manual test descriptions instead of appending | No | | --lane &lt;lane&gt; | New lane assignment (e.g., “Operations: Tooling”) | No | | --type &lt;type&gt; | New WU type (feature, bug, refactor, documentation) | No | | --priority &lt;priority&gt; | New priority (P0, P1, P2, P3) | No | | --initiative &lt;initId&gt; | Initiative ID (e.g., INIT-001). Updates WU and initiative wus: arrays bidirectionally. | No | | --blocked-by &lt;wuIds&gt; | Comma-separated WU IDs that block this WU (appends to existing; use —replace-blocked-by to overwrite) | No | | --replace-blocked-by | Replace existing blocked_by instead of appending | No | | --add-dep &lt;wuIds&gt; | Comma-separated WU IDs to add to dependencies array (appends to existing; use —replace-dependencies to overwrite) | No | | --replace-dependencies | Replace existing dependencies instead of appending | No | | --plan &lt;uri&gt; | Plan file URI (lumenflow://plans/… or repo-relative path) | No | | --estimated-files &lt;count&gt; | Sizing estimate: expected number of files modified (non-negative integer) | No | | --estimated-tool-calls &lt;count&gt; | Sizing estimate: expected number of tool calls (non-negative integer) | No | | --sizing-strategy &lt;strategy&gt; | Execution strategy (single-session, checkpoint-resume, orchestrator-worker, decomposition) | No | | --sizing-exception-type &lt;type&gt; | Sizing exception type (docs-only, shallow-multi-file, review-audit) | No | | --sizing-exception-reason &lt;text&gt; | Sizing exception justification (required when —sizing-exception-type is set) | No |

Show or resolve WU escalation status

pnpm wu:escalate --id <wuId>

Options:

| Flag | Description | Required | | -------------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes | | --resolve | Resolve the escalation (set resolved_by and resolved_at) | No | | --resolver &lt;email&gt; | Override resolver email (defaults to git user.email) | No |

Run gates in worktree, prep for wu:done

pnpm wu:prep --id <wuId>

Options:

| Flag | Description | Required | | ------------------------ | --------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes | | --docs-only | Run docs-only gates (format, spec-linter) | No | | --full-tests | Run test_full once (disable tests.unit and incremental execution) | No | | --allow-unread-signals | Allow prep to continue with unread directed mem:signal entries; requires —reason | No |

Recover WU state, including restoring missing active worktrees

pnpm wu:recover --id <wuId>

Options:

| Flag | Description | Required | | ----------------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes | | --override-owner | Override ownership check (requires —reason) | No | | -r, --reason &lt;reason&gt; | Reason for action (required with —skip-gate, —override-owner) | No | | -a, --action &lt;action&gt; | Recovery action: resume, restore, reset, nuke, cleanup | No | | -f, --force | Required for destructive actions (reset, nuke) | No | | --discard-changes | Allow reset to proceed even if worktree has uncommitted changes | No | | -j, --json | Output as JSON | No |

Release orphaned WU (in_progress to ready)

pnpm wu:release --id <wuId> --reason <reason>

Options:

| Flag | Description | Required | | ----------------------------- | ---------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes | | -r, --reason &lt;reason&gt; | Reason for action (required with —skip-gate, —override-owner) | Yes | | --override-owner | Override ownership check (requires —reason) | No | | --keep-branch | Retain the lane branch instead of deleting it (overrides wu_release.branch_action) | No |

Rename a WU (canonical WU IDs, —replay-only supported)

pnpm wu:rename --from <wuId> --to <wuId>

Options:

| Flag | Description | Required | | ----------------------------- | ----------------------------------------------------------------------------------- | -------- | | --from &lt;wuId&gt; | Original WU ID to rename from (e.g. WU-5) | Yes | | --to &lt;wuId&gt; | Target WU ID to rename to (e.g. WU-0015) | Yes | | -r, --reason &lt;reason&gt; | Reason for action (required with —skip-gate, —override-owner) | No | | --replay-only | Skip file/stamp renames; only append wu_renamed event and regenerate backlog/status | No |

Run command through hardened WU sandbox backend

pnpm wu:sandbox --id <wuId>

Options:

| Flag | Description | Required | | ----------------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes | | -w, --worktree &lt;path&gt; | Override worktree path | No |

Show WU status, location, valid commands

pnpm wu:status

Options:

| Flag | Description | Required | | ----------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | No | | -j, --json | Output as JSON | No |

Unblock WU

pnpm wu:unblock --id <wuId>

Options:

| Flag | Description | Required | | ----------------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes | | -r, --reason &lt;reason&gt; | Reason for action (required with —skip-gate, —override-owner) | No | | --create-worktree | Create worktree when unblocking | No | | -w, --worktree &lt;path&gt; | Override worktree path | No | | -b, --branch &lt;branch&gt; | Override branch name | No | | --no-auto | Skip auto-updating YAML/backlog/status | No | | -f, --force | Force operation | No | | --override-owner | Override ownership check (requires —reason) | No |

Validate WU spec

pnpm wu:validate

Options:

| Flag | Description | Required | | ----------------------- | ------------------------------------------------------------------------------------------------------------------ | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | No | | --no-strict | Bypass code_paths/test_paths path existence checks. Reality-phase checks run at wu:prep/wu:done. Logged when used. | No | | -a, --all | Validate all WUs | No | | --json | Output JSON summary only | No |

Verify WU completion (stamp, commit, clean tree)

pnpm wu:verify --id <wuId>

Options:

| Flag | Description | Required | | ----------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |

Governed scoped-rollback for the 26 known docs:sync/cli-docs projection files

pnpm wu:clean-generated

Cleanup after PR merge

pnpm wu:cleanup

Options:

| Flag | Description | Required | | ----------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | No | | --artifacts | Remove build artifacts (dist, tsbuildinfo) in current worktree | No |

Delete WU spec and cleanup

pnpm wu:delete

Options:

| Flag | Description | Required | | ----------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | No | | --dry-run | Show what would be deleted without making changes | No | | --batch &lt;ids&gt; | Delete multiple WUs atomically (comma-separated: WU-1,WU-2,WU-3) | No |

Show WU dependencies

pnpm wu:deps

Options:

| Flag | Description | Required | | ---------------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | No | | --format &lt;format&gt; | Output format (table, json, ascii, mermaid) | No | | -d, --depth &lt;number&gt; | Maximum traversal depth | No | | --direction &lt;dir&gt; | Graph direction (up, down, both) | No |

Infer lane from code paths/description using workspace definitions

pnpm wu:infer-lane

Pre-flight checks before wu:done

pnpm wu:preflight --id <wuId>

Options:

| Flag | Description | Required | | ----------------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes | | -w, --worktree &lt;path&gt; | Override worktree path | No |

Create WU prototype

pnpm wu:proto --lane <lane> --title <title>

Options:

| Flag | Description | Required | | -------------------------------- | -------------------------------------------------------- | -------- | | -l, --lane &lt;lane&gt; | Lane name (e.g., “Operations: Tooling”) | Yes | | -t, --title &lt;title&gt; | Work Unit title | Yes | | --template &lt;template&gt; | Template preset name | No | | --description &lt;text&gt; | WU description text (Context/Problem/Solution) | No | | --acceptance &lt;criterion&gt; | Acceptance criterion (repeatable, use multiple times) | No | | --notes &lt;text&gt; | Implementation notes or context (optional) | No | | --code-paths &lt;paths&gt; | Code paths (repeatable) | No | | --labels &lt;labels&gt; | Labels (repeatable) | No | | --assigned-to &lt;email&gt; | Override assigned_to (defaults to git config user.email) | No |

Lease-aware stale worktree cleanup and already-merged remote lane branch pruning

pnpm wu:prune

Rebase the claimed WU lane branch onto the integration target (governed; auto-resolves metadata conflicts)

pnpm wu:rebase

Governed metadata-rebase normalizer for parallel-WU conflict recovery

pnpm wu:rebase-meta

Repair WU state issues

pnpm wu:repair

Review a WU worktree against the configured integration target

pnpm wu:review --id <wuId>

Options:

| Flag | Description | Required | | ----------------------------- | -------------------------------------------------------------------------------- | -------- | | -i, --id &lt;wuId&gt; | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes | | -w, --worktree &lt;path&gt; | Override worktree path | No |

Unlock stuck lane

pnpm wu:unlock-lane

Options:

| Flag | Description | Required | | ----------------------------- | --------------------------------------------------------------- | -------- | | -l, --lane &lt;lane&gt; | Lane name (e.g., “Operations: Tooling”) | No | | -r, --reason &lt;reason&gt; | Reason for action (required with —skip-gate, —override-owner) | No | | -f, --force | Force operation | No | | --list | List all current lane locks | No | | --status | Show detailed status for the specified lane | No |