Skip to main content
When a curation operation is flagged for review, you can manage it through the CLI or the local web UI. Both interfaces operate on the same underlying review state — changes made in one are immediately reflected in the other.

CLI commands

List pending reviews

brv review pending
This lists all pending review operations for the current project, grouped by task:
2 operations pending review

  Task: ddcb3dc6-d957-4a56-b9c3-d0bdc04317f3

  [UPSERT · HIGH IMPACT] - path: architecture/context/context_compression_pipeline.md
  Why:    Documenting switch to token-budget sliding window
  After:  Context compression pipeline switching from reactive-overflow to token-budget sliding window

  [UPSERT · HIGH IMPACT] - path: architecture/tools/agent_tool_registry.md
  Why:    Documenting tool registry rewrite with capability-based permissions
  After:  Agent tool registry rewrite using capability-based permissions

  To approve all:  brv review approve ddcb3dc6-d957-4a56-b9c3-d0bdc04317f3
  To reject all:   brv review reject ddcb3dc6-d957-4a56-b9c3-d0bdc04317f3
  Per file:        brv review approve/reject ddcb3dc6-... --file <path> [--file <path>]
Each entry shows:
  • Operation type — DELETE, UPDATE, UPSERT, MERGE, or ADD
  • Impact level — HIGH IMPACT operations are labeled
  • Path — The context tree file or folder affected
  • Why — The reason the agent curated this change
  • Before / After — Summaries of the content before and after the change
If there are no pending reviews, the command exits cleanly with a “No pending reviews” message.

Approve changes

Accept the curated changes and make them eligible for brv push:
# Approve all operations in a task
brv review approve <taskId>
✓ Approved architecture/context/context_compression_pipeline.md
✓ Approved architecture/tools/agent_tool_registry.md

2 operations approved.
On approval, the backup is deleted and the current file content becomes the new baseline.

Reject changes

Roll back the curated changes and restore the previous content from backup:
# Reject all operations in a task
brv review reject <taskId>
✓ Rejected architecture/context/context_compression_pipeline.md (restored from backup)
✓ Rejected architecture/tools/agent_tool_registry.md (restored from backup)

2 operations rejected.
On rejection:
  • UPDATE / UPSERT — The file is restored to its pre-change content.
  • DELETE — The deleted file (or folder contents) is restored to disk.
  • MERGE — Both the target file and the deleted source file are restored.
  • ADD — The newly created file is removed.

Selective review with --file

You don’t have to approve or reject an entire task at once. Use the --file flag to act on specific files:
# Approve one file, reject another
brv review approve <taskId> --file architecture/caching/caching_strategy.md
brv review reject <taskId> --file architecture/security/security_audit.md

# Multiple files in one command
brv review approve <taskId> --file auth/jwt.md --file auth/oauth.md
File paths are relative to the context tree root (as shown in brv review pending output).

JSON output

All review commands support --format json for structured output:
brv review pending --format json
brv review approve <taskId> --format json
brv review reject <taskId> --format json

Command reference

CommandArgsFlagsDescription
brv review pending--formatList all pending review operations
brv review approve <taskId>taskId (required)--file, --formatApprove pending operations
brv review reject <taskId>taskId (required)--file, --formatReject and restore from backup

Local web UI

ByteRover serves a local review interface where you can visually inspect pending changes. The URL is shown in the TUI via /status when reviews are pending. Local review web UI The web UI shows:
  • All files with pending reviews
  • Operation type badges (DELETE, UPSERT, UPDATE, etc.)
  • Before and after summaries for each file
  • One-click approve or reject per file, or approve/reject all
Changes made via CLI or other clients appear in the web UI within a few seconds — no manual refresh needed.
The web UI and CLI share the same review state. You can use either interchangeably — approve a file in the web UI and reject another via CLI.

Review and push

Files with pending reviews are excluded from brv push. You must resolve all reviews before pushing:
# Check for pending reviews
brv review pending

# Resolve them
brv review approve <taskId>

# Now push
brv push
If you run brv push while reviews are pending, only the approved and non-reviewed files are pushed. Pending and rejected files are held back.