### 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: Clean thin wrapper delegating to `reasons review-beliefs`. Follows the same pattern as other subprocess-based commands (`_has_reasons` check, build cmd list, `subprocess.run`, then `_reasons_export`). Minor nit: `if sample:` and `if min_depth:` are falsy for `0`, so `--sample 0` or `--min-depth 0` would be silently dropped. Not practically impactful (0 samples = no-op, 0 min-depth = default behavior), but technically incorrect. No tests exist.

---

### ftl_project_expert/cli.py:repair
VERDICT: CONCERN
CORRECTNESS: VALID
SPEC_COMPLIANCE: N/A
ISSUE_COMPLIANCE: N/A
BELIEF_COMPLIANCE: N/A
TEST_COVERAGE: UNTESTED
INTEGRATION: WIRED
REASONING: Same delegation pattern as `review_beliefs` — thin wrapper around `reasons repair`. Structurally sound. No tests exist. The implicit coupling between `review_beliefs` and `repair` (repair presumably reads output from the prior review) is undocumented but handled by the `--review-file` option for standalone use.

---

### 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 between derive (step 6) and summary (renumbered to step 9). Error handling matches the exact pattern used by all other pipeline steps (`SystemExit` catch + `Exception` catch, append to `errors`, continue). `review_beliefs` is invoked with `auto_retract=True` which is the right default for an automated pipeline. `repair` is invoked with defaults, relying on `reasons repair` to find the most recent review output. The `_reasons_export()` inside each command ensures beliefs are synced to disk before the next step. Docstring updated to reflect the new steps. Step numbering is sequential and consistent.

---

### SELF_REVIEW
LIMITATIONS: Cannot verify that `reasons review-beliefs` and `reasons repair` actually accept the flags being passed (e.g. `--auto-retract`, `--review-file`). Cannot verify the implicit contract between review-beliefs output and repair input — whether repair auto-discovers the review file or requires `--review-file`. No test files were included in the diff or observations to verify coverage claims.

---

### FEATURE_REQUESTS
- Include the downstream CLI's `--help` output (here, `reasons review-beliefs --help` and `reasons repair --help`) so the reviewer can verify flag compatibility between the wrapper and the wrapped command.
- Flag when a new command has zero test coverage and existing sibling commands also lack tests — helps distinguish "tests not written yet" from "this area of the codebase is untested by convention."

---
