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
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
| Command | Args | Flags | Description |
|---|
brv review pending | — | --format | List all pending review operations |
brv review approve <taskId> | taskId (required) | --file, --format | Approve pending operations |
brv review reject <taskId> | taskId (required) | --file, --format | Reject 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.
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.