### ftl_project_expert/cli.py:review_beliefs
VERDICT: CONCERN
CORRECTNESS: VALID
SPEC_COMPLIANCE: N/A
ISSUE_COMPLIANCE: N/A
BELIEF_COMPLIANCE: N/A
TEST_COVERAGE: UNTESTED
INTEGRATION: WIRED
REASONING: Straightforward subprocess delegation matching the established pattern used by `derive` and other commands. Option forwarding is correct. `sys.exit(result.returncode)` on failure is consistent with other commands and is properly caught by `update`'s `SystemExit` handler. `_reasons_export()` is correctly called only on success (after the exit check). No tests exist for this command.

---

### ftl_project_expert/cli.py:repair
VERDICT: CONCERN
CORRECTNESS: QUESTIONABLE
SPEC_COMPLIANCE: N/A
ISSUE_COMPLIANCE: N/A
BELIEF_COMPLIANCE: N/A
TEST_COVERAGE: UNTESTED
INTEGRATION: PARTIAL
REASONING: The command itself follows the same subprocess delegation pattern and is correct in isolation. However, in the `update` pipeline (line 2849), `ctx.invoke(repair)` is called with no arguments — no `--review-file` is passed. The success of this integration depends entirely on whether `reasons repair` has sensible default behavior when invoked without a review file (e.g., finding the latest review output automatically). If `reasons repair` requires `--review-file` to know what to fix, this call silently does nothing or errors. This coupling is implicit and undocumented. No tests exist.

---

### ftl_project_expert/cli.py:update (pipeline integration)
VERDICT: PASS
CORRECTNESS: VALID
SPEC_COMPLIANCE: N/A
ISSUE_COMPLIANCE: N/A
BELIEF_COMPLIANCE: N/A
TEST_COVERAGE: UNTESTED
INTEGRATION: WIRED
REASONING: Steps 7 and 8 are inserted correctly between derive (step 6) and summary (renumbered to step 9). The error handling follows the identical pattern as all other pipeline steps — catch `SystemExit` and generic `Exception`, append to `errors`, warn, and continue. Step numbering in echo statements is consistent. `review_beliefs` is called with `auto_retract=True`, which is the right mode for an automated pipeline. `_reasons_export()` will be called redundantly (once inside `review_beliefs`, once inside `repair`, and previously inside `derive`), but this is harmless and consistent with how the pipeline already works — each command is self-contained. The docstring update accurately reflects the new pipeline.

---

### SELF_REVIEW
LIMITATIONS: Cannot see the `reasons repair` CLI implementation to verify whether it works correctly when invoked without `--review-file`. Cannot verify whether `review_beliefs` with `--auto-retract` produces output that `repair` can consume implicitly. No test files were included or exist — cannot assess whether existing tests need updating for the step renumbering or new commands.

---

### FEATURE_REQUESTS
- Include the downstream CLI's `--help` output or signature when the reviewed code delegates to an external subprocess, so the reviewer can verify argument compatibility.
- Flag when `_reasons_export()` is called multiple times in a pipeline without intervening mutations, to surface redundant I/O.

---
