Overview
Review mode adds a human approval step before solidifying evolution changes. This workflow is essential for production environments, sensitive codebases, or when you want to inspect changes before they’re committed.What is Review Mode?
Review mode splits the evolution cycle into two phases:- Generate: The evolver analyzes history, selects a Gene, and applies changes to the working directory
- Review: You inspect the changes (via git diff) and approve or reject them
--approve.
When to Use Review Mode
Use review mode when:- Running evolver on production code
- Testing new strategies or experimental Genes
- Working in shared repositories
- Learning how the evolver makes decisions
- Debugging unexpected behavior
- You want full control over what gets committed
Basic Review Workflow
Run Evolution Cycle
Execute a normal run to generate changes:The evolver will analyze history, select a Gene, and apply changes to your working directory. Changes remain uncommitted.
Review Changes
Inspect the pending evolution:This displays:
- Selected Gene details (ID, category, summary, strategy)
- Extracted signals that triggered evolution
- Mutation metadata (category, risk level, rationale)
- Blast radius estimate (files and lines changed)
- Full git diff (staged and unstaged changes)
Review Output Example
Approval Process
When you approve with--approve, the evolver:
- Runs the solidify command
- Executes Gene validation commands (if defined)
- Creates an evolution event record
- Commits changes if validation passes
- Rolls back if validation fails
Rejection Process
When you reject with--reject, the evolver:
- Runs
git checkout -- .to discard unstaged changes - Runs
git clean -fdto remove untracked files - Marks the run as rejected in state file
- Prevents the same evolution from being retried
Checking for Pending Reviews
Run review without flags to check status:Manual Inspection
Before approving, you can inspect changes manually:View Diff
Check Untracked Files
Test Changes Locally
Alternative: Review Flag
You can also use the--review flag directly on the run command:
Review in Loop Mode
Review mode is incompatible with loop mode (--loop). Loop mode is designed for fully automated operation and bypasses human approval.
If you need periodic reviews in production:
- Run single cycles via cron
- Send notifications to a review queue
- Require manual approval before the next run
Rollback Configuration
Control rollback behavior withEVOLVER_ROLLBACK_MODE:
| Mode | Behavior |
|---|---|
hard (default) | Use git reset --hard (destructive) |
stash | Use git stash (preserves changes for recovery) |
none | Skip rollback entirely |
Best Practices
- Always review in production: Never run automated evolution on live systems without review gates
- Check blast radius: Large changes (>100 lines) deserve extra scrutiny
- Validate before approving: Run tests and manual checks before
--approve - Review Gene strategy: Understand why this Gene was selected and what it’s trying to do
- Track rejected runs: Use
asset-logto understand patterns in rejected evolutions
Next Steps
Loop Mode
Automate continuous evolution cycles
Strategy Presets
Control evolution focus and intensity
Operations
Monitor and manage evolver lifecycle
Running Evolver
Back to standard run workflow