What Radforge does
Code coverage shows which lines ran. Radforge asks a different question: would the tests fail if covered behavior changed?
New to the approach? Learn how mutation testing works, including how to interpret killed and surviving mutations.
Radforge finds mutation candidates in supported source files and selects tests for each candidate. A mutation can reverse a condition, change a return value, or move a boundary. A test failure kills the mutation. If every selected test passes, the mutation survives and Radforge reports it as a finding.
Local CLI and GitHub App
Section titled “Local CLI and GitHub App”The CLI selects source files, mutation candidates, and tests from your repository. It uploads that plan with a snapshot of Git-tracked files. Radforge executes the mutation tests on hosted infrastructure, so the run does not use your local CPU or memory.
The GitHub App triggers mutation tests for new pull requests in selected repositories. Radforge publishes the result as a GitHub check.
Main workflows
Section titled “Main workflows”rad filetargets one source file.rad planprints a plan without executing it.rad changedtargets source files selected from a Git diff.rad scopetargets an explicit list of source files selected by you or another tool.rad remotesubmits plans and retrieves run status and findings.- The GitHub App can start runs for pull requests and publish GitHub checks.
A survivor means the selected tests did not catch that change. It does not prove that the code is wrong. Review the change, add a test if the behavior matters, and rerun the affected file or Git diff.