CI for the agent era

Run the 10% of tests that matter for each change

Agents pushed CI job volume up 25x. Faster runners help, but they still check a repo — not the system. We wire test impact analysis into your pipeline so every commit and every agent loop runs only the tests a change could actually break.

Fixed price per technology · Live in your CI in 1–2 weeks · No test skipped blindly
60–80%fewer tests run per commit on average
5–10xfaster PR feedback without losing coverage
100%full-suite safety run on a nightly schedule
1–2 wkstypical setup per repository
What we do

Test impact analysis, not test deletion

We map every test to the code it actually exercises. On each pull request we compute the change set, select the affected tests, and run the rest only on a schedule. Green means the same as before — it just arrives in minutes instead of an hour.

Step 1

Map

Build the dependency graph between source files and tests using coverage, imports, and call graphs.

Step 2

Select

On each commit, diff the change set and select only affected tests plus high-risk neighbours.

Step 3

Verify

Run the subset in CI with the same reporters and gates. Full suite still runs nightly and on main.

Step 4

Govern

Ship an audit report per run: what changed, what ran, what was skipped, and why it was safe.

Techniques

Six techniques, combined per repo

No single technique fits every stack. We combine the ones your codebase supports and fall back safely where it does not.

Static dependency analysis

Parse imports and module graphs to link each test file to the source files it can reach. Zero runtime overhead, ideal as the baseline layer.

  • Import-graph extraction per PR
  • Monorepo package-boundary awareness
Best for: JavaScript, TypeScript, Go

Coverage-based mapping

Collect per-test coverage (Istanbul, Coverage.py, JaCoCo, Coverlet) and invert it into a test-to-code index. The most precise file-level signal.

  • Per-test coverage collection in CI
  • Stale-mapping detection and refresh
Best for: Python, Java, .NET, PHP

Call-graph and change-set diffing

Diff ASTs and call graphs instead of raw files, so formatting-only changes run a smoke subset while behavioural changes run the full affected set.

  • AST-aware diff classification
  • API-signature change escalation
Best for: Java, Go, large TypeScript monorepos

Historical and failure-correlation selection

Mine your CI history for flaky and high-signal tests. Frequently failing or recently fixed areas always run, even when the graph says they are untouched.

  • Flaky-test quarantine rules
  • Defect-density weighted selection
Best for: teams with 6+ months of CI history

Runtime and contract-aware selection

For distributed systems, extend selection beyond the repo: OpenTelemetry traces and contract tests flag downstream services a change could break.

  • Trace-to-test correlation
  • Consumer-contract test inclusion
Best for: microservices, event-driven systems

Agent-loop verification hooks

Expose the selector as a hook your coding agents call before opening a PR (Claude Code, Cursor, Copilot). Agents get fast, governed feedback instead of waiting 20 minutes for a red check.

  • Pre-PR selection endpoint or CLI
  • Machine-readable skip/include report
Best for: teams running AI coding agents
Fixed-price packages

One fixed price per technology

Same deliverables, priced by stack complexity. Each package covers one repository, CI integration, and a 30-day accuracy warranty. Need more repos? Each additional repo is 50% off.

Python

pytest, coverage.py · GitHub Actions, GitLab CI

$2,900 fixed · 1 repo · ~1 week

  • pytest-cov test-to-code index
  • Affected-tests selector (pytest --tia flag)
  • Nightly full-suite schedule + gates
  • Skip/include audit report on every run
  • Agent-loop CLI hook
  • 30-day accuracy warranty
Start with Python

Java

Maven, Gradle · JaCoCo · Jenkins, GitHub Actions

$3,400 fixed · 1 repo · ~2 weeks

  • JaCoCo coverage + call-graph diffing
  • Module-aware selector for multi-module builds
  • Nightly full-suite schedule + quality gates
  • Skip/include audit report on every run
  • Agent-loop CLI hook
  • 30-day accuracy warranty
Start with Java

Go

go test, coverprofile · GitHub Actions, GitLab CI

$2,700 fixed · 1 repo · ~1 week

  • Package-dependency + coverprofile mapping
  • Affected-packages selector in CI
  • Nightly full-suite schedule + gates
  • Skip/include audit report on every run
  • Agent-loop CLI hook
  • 30-day accuracy warranty
Start with Go

.NET (C#)

xUnit, NUnit · Coverlet · Azure DevOps, GitHub Actions

$3,400 fixed · 1 repo · ~2 weeks

  • Coverlet coverage + assembly-dependency mapping
  • Affected-tests selector in your pipeline
  • Nightly full-suite schedule + gates
  • Skip/include audit report on every run
  • Agent-loop CLI hook
  • 30-day accuracy warranty
Start with .NET

PHP / WordPress

PHPUnit, Pest · WordPress, Laravel

$2,700 fixed · 1 repo · ~1 week

  • PHPUnit coverage + include-graph mapping
  • Affected-tests selector in CI
  • Nightly full-suite schedule + gates
  • Skip/include audit report on every run
  • Agent-loop CLI hook
  • 30-day accuracy warranty
Start with PHP
FAQ

Safe by default

Will test impact analysis let a bug slip through?

No test is deleted. Selection is conservative: behavioural changes escalate to the full affected set, API-signature changes escalate further, and the complete suite still runs nightly and on every merge to main. Every run ships a report showing what ran, what was skipped, and why.

What if my repo has no coverage setup yet?

That is included. Each package sets up per-test coverage collection from scratch (or repairs a broken setup) as part of the fixed price. If your stack cannot support coverage, we fall back to static analysis plus history-based selection.

Does this work with AI coding agents?

Yes. The selector ships as a CLI and CI step your agents can call before opening a PR, so agents verify against the affected tests in seconds instead of waiting for a full pipeline. The check is governed: same rules, same report, whether a human or an agent triggers it.

What do you need from us to start?

Read access to one repository and its CI config, plus one 45-minute kickoff to agree on gates (what must always run, nightly windows, branch protection). We work in our own branch and hand over via pull request.

Stop running 100% of tests on 5% of changes

Send us your repo and CI config. We reply with a fixed price, a start date, and an estimated time saving.

Get a fixed quote