Skip to content

Policy Presets

Cervantes edited this page Jun 17, 2026 · 4 revisions

Policy Presets

Tracking issue: https://github.com/cervantesh/cervo-mutants/issues/11

Preset Intended use Operators Selection Isolation Reports
ci-fast Pull-request smoke and changed-code feedback. conservative-fast coverage with prefilter overlay summary, JSON, JUnit
ci-balanced Regular CI where the test suite cost is acceptable. conservative coverage with prefilter overlay summary, JSON, JUnit
comparison-safe External tool and multi-repo apples-to-apples calibration. gremlins-compatible package overlay summary, JSON, JUnit
nightly Scheduled deeper signal without campaign noise. default coverage with prefilter overlay summary, JSON, JUnit, HTML
campaign Manual or scheduled deep mutation campaign. aggressive package temp-workdir summary, JSON, JUnit, HTML

Comparison Safe

Use comparison-safe for external tool comparisons and multi-repo calibration:

cervomut run . --policy comparison-safe

This preset is intentionally bounded so one difficult repository does not turn the whole study into timeout-only noise:

  • mutators.profile: gremlins-compatible
  • execution.isolation: overlay
  • execution.workers: capped at 2
  • execution.budget: 10m
  • tests.timeout: 20s
  • limits.sample: deterministic
  • limits.max_mutants: 250 when no explicit cap is set
  • reports: summary, JSON, JUnit
  • partial artifacts: partial-summary.json and partial-mutation-report.json

This is the stable comparison lane, not the broadest quality campaign.

Governance Defaults

  • ci.fail_under stays at 0; adoption is baseline-first.
  • Baseline regression and new survivor policies stay enabled.
  • Quarantine requires owner, issue, reason, expiry, and renewal limits.
  • Suppression is stricter than quarantine: action: suppress requires evidence: confirmed and at least one reviewer.
  • Mutation history is enabled by default at .cervomut/history.json.

Clone this wiki locally