Announcing BonaFident 1.0 — The New Standard for CI/CD

Green tests lie. Catch them before merge.

BonaFident mutation-tests every pull request in under two minutes — and blocks the merge the moment your suite passes on broken code.

Drag the mutant into the gate

ROR
if (balance >= 0)
if (balance > 0)
CI Gate
BonaFident

The blind-pass problem

Coverage shows what ran. Not what’s protected.

A line can be executed by a test that asserts nothing. BonaFident rewrites your code the way real bugs do and checks whether your suite notices.

Illustrative suite · same commit
Line coverage0%
Mutation score0%

53 points of false confidence

Expose tests that pass on broken code

Every blind pass and surviving mutant is pinned to a file and a line, so you fix the test that matters, not the one that’s easiest.

Turn quality into a CI contract

Set a floor on killed mutants and the pipeline enforces it. Test quality can no longer quietly erode between releases.

Evidence for every merge

Each run lands in a machine-readable ledger and a dashboard your VP can read — ready for audits, post-mortems and board slides.

Gatekeeper

Every merge walks past the executioner

One command in any pipeline. Tests can stay green — the gate still blocks the merge when a mutant survives.

.github/workflows/ci.yml
jobs:  mutation-gate:    runs-on: ubuntu-latest    steps:      - uses: actions/checkout@v4      - run: npx bonafident run        env:          BONAFIDENT_GATE: "0.80"
src/billing/authorize.ts
Original
import { settle } from './ledger';export function authorize(user: Account) {  if (user.balance > 0) {    return settle(user);  }  return false;}

Gate armed · awaiting mutant

Tests
Mutants
8 queued
Score
0.0%Gate ≥ 90%

Tests stay green. The gate doesn't.

Speed

Mutation testing used to take hours. Now it fits in your pull request.

Same question — do your tests actually catch bugs? — answered before your reviewer finishes reading the changes.

Legacy mutation testingETA 4:00:0000:00
0.00% done
BonaFident00:00
0% done

 

How is it this fast?

Our execution engine is proprietary. We’ll show you the results — not the blueprints.

Nice try. The engine stays sealed.

≤ 2 min

Default audit budget per pull request

1

Command to wire into any pipeline

0

Config files required — every flag is optional

TS · JS · Go · Vue

Languages and frameworks covered

Illustrative race. Real timings depend on suite size and runner hardware.

Platform

Everything the control room needs

Analytics, gates, and toxic-file intelligence — composed, not cluttered.

Analytics Engine for Tech Debt

Mutation score trends that make risk visible across every commit.

Latest mutation score

0%

+29 pts since first run

CI/CD Gatekeeper Integration

Block merges when surviving mutants slip past green tests.

One command, any pipeline

npx bonafident run

Top Toxic Files Intelligence

Surface the files that keep harboring survivors.

FileHits
src/billing/charge.ts
12
src/auth/guards.ts
9
src/runs/parser.ts
7
src/payments/refund.ts
5
src/session/token.ts
4

Hover a row to re-scan it

Compare

Everything coverage promised. None of the waiting.

How BonaFident stacks up against the two ways teams judge test quality today.

Comparison of code coverage, legacy mutation testing and BonaFident
CapabilityCode coverageLegacy mutation testingBonaFident
Proves tests fail when code breaksNoYesYes
Time per pull requestSecondsHoursUnder 2 min
Flags covered code that is never assertedNoPartiallyYes
Blocks the merge automaticallyPartiallyPartiallyYes
Regression lock on test qualityNoPartiallyYes
Toxic-file trends across runsNoNoYes
Audit-ready evidence ledgerPartiallyPartiallyYes
One-command setupYesNoYes

FAQ

Answers that unblock your team

The questions engineering leaders ask before gating production merges.

Coverage proves lines were executed — not that assertions would fail when logic mutates. BonaFident injects mutants and fails the gate when tests stay green, exposing blind passes coverage never sees.

Stop merging false positives. Start mutating.

Spin up a workspace in minutes and gate your next merge with zero-trust mutation confidence.