patch.moi/docs/pages/reference/cli.md
matamune 81ea91e387
Some checks failed
check / check (push) Failing after 3s
Adopt codex-flows 0.3.5 surfaces
2026-05-18 00:07:15 +00:00

111 lines
2.9 KiB
Markdown

---
title: CLI
description: Local patch.moi commands for setup, maintenance runs, status, retry, replay, and sync.
---
# CLI
Run the CLI from the repository root:
```bash
bun run patch.moi -- status
```
By default, the CLI writes and reads patch.moi product state under `DATA_DIR`
relative to the workspace root. Use `--data-dir` to point at another JSONL
state directory and `--json` for machine-readable output.
## Setup
Inspect the neighboring Codex fork checkout:
```bash
bun run patch.moi -- setup codex --json
```
Add the canonical OpenAI upstream remote when it is missing:
```bash
bun run patch.moi -- setup codex --apply
```
The setup command reports the current branch, `origin`, `upstream`, worktree
cleanliness, and whether the checkout is ready for an automated maintenance
run. It does not clean local changes.
## Run Maintenance
Dispatch the harness release fixture through the patch.moi state path:
```bash
CODEX_FLOW_FETCH=0 CODEX_FLOW_PUSH=0 \
bun run patch.moi -- run harness
```
The command records the flow event, dispatch record, and maintenance attempt
under `DATA_DIR`. If `PATCH_WORKSPACE_BACKEND_URL` is unset, the dispatch uses
local flow execution from the workspace root. If it is set, the dispatch goes to
the configured workspace backend.
Verify Codex release flow matching without executing release work:
```bash
bun run patch.moi -- run codex-release --tag rust-v0.130.0 --dry-run
```
Dispatching the Codex release task requires an explicit execution surface. Use
Actions/local mode when no workspace backend is running:
```bash
CODEX_WORKSPACE_MODE=actions \
bun run patch.moi -- run codex-release --tag rust-v0.130.0
```
Or point at a workspace backend:
```bash
PATCH_WORKSPACE_BACKEND_URL=ws://127.0.0.1:3586 \
bun run patch.moi -- run codex-release --tag rust-v0.130.0
```
Use `--allow-local` only when you intentionally want the local Patch process to
execute matching Codex release flows. The Code Mode step still requires its own
`CODEX_FLOWS_MODE=code-mode` gate.
## Status
Read patch.moi-owned state:
```bash
bun run patch.moi -- status
bun run patch.moi -- events --type upstream.release
bun run patch.moi -- dispatches --status failed
bun run patch.moi -- attempts --status needs_intervention
```
These commands inspect JSONL state. They do not reach into Git or a workspace
backend unless a command explicitly dispatches, replays, or syncs.
## Retry, Replay, And Sync
Retry dispatch transport failures:
```bash
bun run patch.moi -- retry '<event-id>'
```
Replay an accepted event to create another backend attempt:
```bash
bun run patch.moi -- replay '<event-id>'
```
Sync the latest workspace run outcome and candidate refs into the patch.moi
maintenance attempt:
```bash
bun run patch.moi -- sync '<attempt-id>'
```
Retry and replay append new dispatch and maintenance-attempt records. Sync
appends a newer record for the same attempt id when backend run state changes.