[navori](https://ulisescm.github.io/navori-harness/docs/handoff) · English

Validates the implementer's handoff before the orchestrator dispatches the next role.

## Commands 

[navori init](https://ulisescm.github.io/navori-harness/docs/init)[navori add](https://ulisescm.github.io/navori-harness/docs/add)[navori remove](https://ulisescm.github.io/navori-harness/docs/remove)[navori adopt](https://ulisescm.github.io/navori-harness/docs/adopt)[navori configure](https://ulisescm.github.io/navori-harness/docs/configure)[navori preset](https://ulisescm.github.io/navori-harness/docs/preset)[navori render](https://ulisescm.github.io/navori-harness/docs/render)[navori sync](https://ulisescm.github.io/navori-harness/docs/sync)[navori update](https://ulisescm.github.io/navori-harness/docs/update)[navori refresh](https://ulisescm.github.io/navori-harness/docs/refresh)[navori scan](https://ulisescm.github.io/navori-harness/docs/scan)[navori doctor](https://ulisescm.github.io/navori-harness/docs/doctor)[navori status](https://ulisescm.github.io/navori-harness/docs/status)[navori bench](https://ulisescm.github.io/navori-harness/docs/bench)[navori codex](https://ulisescm.github.io/navori-harness/docs/codex)[navori audit](https://ulisescm.github.io/navori-harness/docs/audit)[navori backup](https://ulisescm.github.io/navori-harness/docs/backup)[navori migrations](https://ulisescm.github.io/navori-harness/docs/migrations)[navori registry](https://ulisescm.github.io/navori-harness/docs/registry)[navori workspace](https://ulisescm.github.io/navori-harness/docs/workspace)[navori ticket](https://ulisescm.github.io/navori-harness/docs/ticket)[navori dominio](https://ulisescm.github.io/navori-harness/docs/dominio)[navori tools](https://ulisescm.github.io/navori-harness/docs/tools)[navori receipt](https://ulisescm.github.io/navori-harness/docs/receipt)[navori plan](https://ulisescm.github.io/navori-harness/docs/plan)[navori spec](https://ulisescm.github.io/navori-harness/docs/spec)[navori handoff](https://ulisescm.github.io/navori-harness/docs/handoff)[navori master](https://ulisescm.github.io/navori-harness/docs/master)[navori gate](https://ulisescm.github.io/navori-harness/docs/gate) No manpage yet. This page is the reference. 

navori

# handoff 

Validates the implementer's handoff before the orchestrator dispatches the next role. 

## Usage 

```
navori handoff <check|log-review> <feature> [--for scribe] [--dir <path>] [--cwd <checkout>] [--json]
```

## Flags 

--for scribe Beyond exists/parse/feature, also requires --cwd to match the handoff's worktree and branch, and validates every markdownRequests[].path. Without this flag it only checks what the orchestrator needs (exists, parses, belongs to the requested feature). 

--dir <path> Progress directory; defaults to .claude/progress. 

--cwd <checkout> Checkout to validate; defaults to the current directory. 

--json Emit the machine-readable contract. 

## Examples 

### Before dispatching the scribe or the reviewer

```
navori handoff check checkout --json
```

### The scribe's preflight before writing or committing

```
navori handoff check checkout --for scribe --cwd <checkout> --json
```

## Notes 

- The JSON carries `status` (ok/findings/error), `failures` and `warnings` with a `check` named after the rule (exists/parse/feature/worktree/branch/path for failures; head/legacy-md for warnings), and the `worktree`/`branch` the handoff registered. 
- Exit codes match `receipt`: 0 ok, 2 findings (a check failed), 1 error (git or I/O, never a validation failure). 
- `log-review <feature>` validates review_<feature>.json and appends findings with score >= 50 to findings.jsonl, skipping ones already recorded. It accepts --dir, --cwd and --json; it exits 1 when the sidecar is invalid. 
- A missing `head` in the handoff still returns `ok`, only with a warning — it never blocks. 
- With `harness.scribeOwnsMarkdown: false` it validates `impl_<feature>.md` instead (exists, not empty, has a `Status:` line), tied to the feature only by the file name.


