Change boundaries
Change boundaries limit the files and lines one Evolver cycle can touch and define how a failed cycle treats the workspace. They are hard ceilings, not recommended target sizes.
Core settings
| Setting | Default | Meaning |
|---|---|---|
EVOLVER_HARD_CAP_FILES | 60 | Maximum files touched in one cycle. |
EVOLVER_HARD_CAP_LINES | 20000 | Maximum changed lines in one cycle. |
EVOLVER_ROLLBACK_MODE | hard | hard, stash, or none. |
EVOLVE_ALLOW_SELF_MODIFY | false | Whether Evolver may edit its own source. |
EVOLVE_GIT_RESET | false | Whether a failed cycle performs a Git reset. |
The built-in caps protect the engine. A normal task should not aim to approach 60 files or 20,000 lines. Set smaller limits for the actual repository and risk level.
Choose rollback behavior
hard: restores with Git reset. It is explicit but can discard unrelated uncommitted work.stash: attempts to preserve changes in a stash before restoring the baseline. The stash still needs ownership and cleanup.none: leaves the workspace for manual inspection. A loop may otherwise inherit dirty state.
Do not run hard in a directory that contains human work. Prefer an isolated branch or worktree and record HEAD, status, and allowed paths before starting.
Example conservative limits
EVOLVER_HARD_CAP_FILES=12
EVOLVER_HARD_CAP_LINES=1200
EVOLVER_ROLLBACK_MODE=none
EVOLVE_ALLOW_SELF_MODIFY=false
These values are examples. Shared configuration, release logic, database migrations, and security boundaries also need path restrictions, human review, and focused verification.
After a cap or failure
- Stop the loop and preserve logs, diff, and current HEAD.
- Determine whether a commit, publication, remote write, or partial rollback already happened.
- Compare the workspace with the recorded baseline instead of trusting the exit code alone.
- Restart only after recovery is verified.
- If cycles repeatedly hit caps, split the task or fix strategy selection instead of raising the limits.
Acceptance check
A controlled run should prove that over-cap changes do not solidify, validation failure leaves the workspace in the state promised by the selected rollback mode, and unauthorized paths, credentials, and publications stay outside the change.
EvoX Docs · Configuration · Evolution behavior