AI QA engineer

Jina is an autonomous AI QA engineer that understands the impact of every code change on your system, learns from all past issues, and actually runs your app on PRs to catch and fix potential bugs.

Backed and built by a team from

Uber
Microsoft
Alliance
Soma Capital
Stanford
§ 01How it works

Jina first builds a context layer

Jina starts with your code, infrastructure, and issue history. It builds a layered map of how those pieces connect so every decision has context.

payments/refund.tsstripe-apikyc/verify.tsledger/entries.tskafka · eventsfraud/score.pypayments/charge.tswebhooks/stripe.tspostgres · ledgerINC-147 double chargeredis · sessionsINC-212 webhook stormINC-098 stale balance

Plans blast radius

On each PR, it traces impact paths through that map and picks the parts most likely to break.

Planned runtime tasks12
planned

Billing access gates and rollout modes

running

This area controls when customers are allowed to create billable work and how `off`, `shadow`, and `on` modes change behavior. Jina chose it because rollout transitions can turn old shadow traffic into real backlog.

Trace rollout-mode state transitions
source_tracehigh
Check existing test intent around shadow mode
executionwarning
Execute a shadow-to-on backlog probe
executionhigh

Outcome settlement and retry idempotency

queued

This area owns the path from usage intake to final settled cost. Jina chose it because retry and idempotency bugs in billing can create duplicate charges, lost rows, or stuck usage.

Trace billing settlement state machine
hybridhigh
Run targeted billing and usage tests
executionhigh
Probe proxy/API/schema cost-format contract
hybridmedium

Investigates with execution

Unlike static code review agents, Jina runs targeted probes and simulations against the system. It writes checks where needed and validates behavior in context.

Areaexecutionissue_found

Billing access gates and rollout modes

Task: Execute a shadow-to-on backlog probe

reasoning

The changed billing path touches rollout mode and backlog drainage, so I need to test whether shadow-mode usage stays isolated after enforcement flips on.

calledcode_search

billing mode writes -> pending backlog drain

tool result/Found shared pending_usage rows for shadow and billable backlog.
callednode_repl.js

seed shadow customer -> dispatch usage -> flip to on -> drain backlog

tool result/Probe failed: invoice.total = 4200, expected 0.
custom probebilling-shadow.test.ts
01const customer = await seedCustomer({ mode: 'shadow' })02await dispatchUsage(customer, { amount: 4200 })03await setBillingMode(customer, 'on')04expect(await drainBacklog(customer)).toBe(0)
probe failedinvoice.total = 4200, expected 0

Let me note this issue: shadow-mode usage becomes billable after rollout flips on.

Reviews and gives a merge score

Finally, it reviews everything it found, removes false positives, and groups real issues. You get a concise report plus a merge score before deciding to merge.

Issues5
Merge score 5/5

Shadow-mode runs become real Autumn charges after enforcement flips to on

runtimehighhighcorrectnessapi/src/billing.ts:40

Missing SECRETS_ENCRYPTION_KEY stores provider secrets in plaintext

runtimehighhighsecurityapi/src/crypto.ts:41

Runtime usage persistence failures can turn a completed review into a failed run

runtimehighhighcorrectnesstrigger/src/review/runtime-stage.ts

Out-of-range tenant billing policies can produce incorrect credit charges

runtimemediumhighdataapi/src/store.ts:1017

OpenRouter cost literals are not accepted or preserved consistently end to end

runtimemediumhighintegrationapi/src/internal.ts:342
§ 02Features

Review that understands the system, not just the diff.

Understands every PR

Jina reads each change against your code, infrastructure, and issue history before it decides what to inspect.

Plans from blast radius

The context layer shows where a change can spread, so Jina targets the areas most likely to break.

Runs your app on PRs

Jina executes targeted probes and simulations against the relevant parts of your app instead of only reading files.

Finds the issues that matter

It filters low-impact noise, groups related failures, and keeps the report focused on bugs worth acting on.

Explains root cause

Each issue comes with the path that led to it, so engineers can see what changed and why it matters.

Scores merge risk

After review, Jina gives the PR a merge score so teams can make the decision with clear signal.

§ 03Security

Enterprise-grade security

Jina is built for teams whose product is the business. Hermetic by default, least-privilege end-to-end, and ready for the controls your security team will ask about.

Hermetic execution

Every probe runs inside an ephemeral, isolated sandbox. Code, traffic, and traces are scoped to the run and torn down on completion.

Your data, your perimeter

Application data never leaves your infrastructure. Bring-your-own-cloud and private VPC deployment are first-class.

Least-privilege by design

Jina holds scoped, revocable credentials. It only touches the surfaces it's been explicitly granted, audited end-to-end.

Compliance-ready

Built to meet SOC 2 and the controls regulated industries expect, with a full audit trail behind every review and fix.

§ 04FAQ

Frequently asked questions

Everything you would want to know before letting an AI QA engineer review every PR.

Jina is an AI QA engineer for pull requests. It maps your code, infrastructure, and issue history, understands the impact of each change, runs your app to investigate risky paths, then returns a concise issue list with a merge score.

It is a map of how your codebase, infrastructure, runtime behavior, and past issues connect. With that context, Jina can reason about blast radius instead of treating every PR like a fresh static review.

When a PR opens, Jina traces impact paths through the context layer. It looks at what changed, what depends on it, where similar changes caused issues before, and which real flows touch the affected surfaces.

Jina executes targeted probes and simulations in isolated environments against staging or preview deployments. The goal is to validate behavior in context, not just comment on code patterns.

The merge score is Jina's final risk signal for a PR after investigation and self-review. It accounts for the blast radius, evidence from probes, issue severity, and confidence in the findings.

Synthetic users are prompt-driven E2E tests you author and maintain. This product works at the PR review layer: it decides where a change is risky, runs targeted checks, filters false positives, and reports the issues that matter.

No. Jina can read production signals through the integrations you grant it, but probes run in isolated sandboxes against staging or preview deployments. You can also deploy Jina entirely inside your own VPC if your security team prefers.

Application data never leaves your infrastructure. Jina holds scoped, revocable credentials and only touches the surfaces you've explicitly granted. Bring-your-own-cloud and private VPC deployments are supported, and every action Jina takes is auditable end-to-end.

Web applications today — any framework, any backend, any cloud. Native mobile and desktop are on the roadmap. If your stack runs in CI, Jina can plug in.