KingdomWatch.dev Deterministic trust tooling for the AI-code era

Your suite is green. That is not proof anything is being tested.

Green only proves the tests that exist passed. It says nothing about the routes no test visits, the specs that assert nothing, the checks that quietly vanished. KingdomWatch reads your repo and hands you the list of what it's silently missing. It's deterministic. No AI grading AI.

I run it on a real repo of yours and walk you through the report, including everything it can't tell you.

DeterministicNot heuristic
Evidence-firstReceipts, not vibes
AI-neutral0 AI in the verdict
1The Trap

Green CI is telling you a comforting lie.

A green run is built to tell you one thing: the tests that exist passed. It is not built to tell you what those tests stopped checking, or never checked at all. If AI wrote a chunk of your app this year, that gap is where your risk lives.

Suites lie in quiet ways. Tests that render a page and assert nothing. Sleeps standing in for real waits. Skipped specs nobody remembers skipping. Whole routes and flows no test has ever visited. CI escape hatches that make a pipeline impossible to fail. Every one of them shows up green on the dashboard.

And when a suite gets migrated, by a converter, an LLM, or a careful human, checks quietly vanish while everything stays green. We measured that one on real, reviewed migrations. The receipts are below.

None of this ever turns anything red. That is exactly why it slips past even great teams, and why the checker can't be another model grading the model's homework.

ci pipelinewhat you see
  • Build
  • Tests
  • Coverage
PASSED
What you don't see expectations · edge cases · negative tests · assertions. Vanishing quietly, one migration at a time.
Pixel art of an aged parchment scroll in a dark dungeon corridor, its edge dissolving into drifting pixel fragments as its writing vanishes.
checks vanish. confidence lies. risk grows in the shadows.
Adyen/adyen-web #3849a payments form
// before (Enzyme): exact count
expect(input).toHaveLength(1);

// after (RTL): presence only
expect(input).toBeTruthy();

// and this check just vanished:
expect(img.prop('alt')).toEqual('VISA')

// a wrong number of card inputs
// now passes the test. Still green.
2The Receipts

I measured it on real, merged, reviewed migrations.

Migrations are where the silent loss is easiest to measure, so that's where I measured it. Before trusting AI to migrate at scale, I wanted a baseline: how much do careful humans lose, with full code review? I ran an assertion-counter over 12 real Enzyme to RTL pull requests from well-known open-source projects.

1 in 3
reviewed migration files silently dropped an assertion
7.6%
of all assertions quietly vanished
100%
of these suites stayed green & passed review
0
AI in the verdict. It just counts
135 genuine before/after test-file conversions · 9 repos incl. Kiali, Adyen, MetaMask, Foreman, RedisGrafana, AWX, react-plotly. Every number reproducible from the merge SHA.
What we measuredResult
Files that demonstrably dropped an assertion (strict)~35% (47/135)
Files with any dropped or weakened assertion (broad)~74% (100/135)
Assertions that survived the conversion92.4%
Assertions that quietly disappeared7.6%
Suites that went red to warn anyone0
Migrations that scored a clean 100% (not crying wolf)5

That's the human baseline, with real review. An AI-assisted batch migration runs the same mechanism, just faster and larger, with thinner review per file. Nothing about that direction makes the number smaller.

3How It Works

It counts. That's the whole trick, and the whole point.

A short quest. Deterministic. Repeatable. No model sits in the verdict path. Same input, same number, every run, reproducible by anyone from the same commit. In a world where AI writes the code and reviews the code, the trust layer can't be a third model's opinion.

Pixel art panorama: a knight walks a winding night path connecting four lit watchtowers, the final tower's gate glowing gold.
1

You bring the repo

A repo link, a branch, or a zip. Read-only. Mid-migration? Bring the before and after and we run the parity pass too.

2

We scan the suite

Deterministic analyzers read every test: what asserts, what sleeps, what's skipped, what CI actually runs, and which routes no test ever visits.

3

We separate signal from noise

Pre-existing weak tests don't get blamed on your last change; helper-shaped assertions get flagged for a human, not auto-condemned. What's missing, what's weak, what matters.

4

You get the receipts

A worklist, not a verdict: the specs that assert nothing, the flake risks, the skipped and never-run tests, the untested surfaces. A human decides which of those gaps actually matter.

The honest part

A smoke detector, not fireproofing.

This is a structural proxy, not proof. It counts and reads; it doesn't run your app. A clean grade means "no obvious gap detected." It never means "your coverage is safe." A flagged test might be covered somewhere the scanner can't pair; a surviving assertion can still pass for the wrong reason.

I lead with this on purpose. If I oversold it, you'd be right to ignore me. Every finding ships with what it can't tell you. A number you can trust is worth more than one that's trying to impress you.

4Free Repo Scan

Start free. Pay only when you want the deep report.

The scan is the gift. If you want a person to go through the list, map which routes and flows have zero tests, and decide which gaps actually matter, that's the paid report. One fixed price, agreed up front, so there are no surprises.

Start here

Your Free Repo Scan includes:

$0
  • Tests that assert nothing & suite-smell grade
  • Flakiness-risk grade (sleeps, races, order traps)
  • CI escape hatches: what your pipeline can't fail on
  • Human-reviewed report (no AI verdicts)
Get my free scan

No login, no credit card, no obligations. One repo per team. Mid-migration? The parity pass is free too.

When you want the whole map

Testing Gap Report

One fixed price, agreed up front
  • Everything in the free scan, across the suite
  • Coverage-gap map: which routes, pages & flows have zero tests
  • Untested mutations ranked first (the writes that can hurt you)
  • Which gaps actually matter, judged by a human
  • Prioritized plan to close them; we can also write the missing tests
Start the conversation

The free scan doubles as the scope. You'll know exactly what you're paying for before you pay for it.

5CI Gate Roadmap

Make green mean something, over time.

The same deterministic checks, running automatically on every PR, so an assertion-free spec, a silent drop, or a new untested route fails the build instead of merging green.

  • Automated suite-truth checks in CI. Every push, every PR.
  • Fail builds on risky drops. The gate goes red where review goes blind.
  • Trend dashboards & alerts. Watch assertion health over time.
  • Policy-as-code for quality gates. Your rules, enforced the same way every run.
Push / PR» Run checks» Truth gate» Report
Status: in development. The scan and report service come first, so the gate ends up enforcing what real suites actually get wrong, not hypotheticals.
Pixel art of a castle gatehouse at night, its raised portcullis revealing a glowing teal magical gate that everything must pass through.
6The Toolbag

Eight deterministic test-engineering analyzers. Built for truth.

One finds what has zero tests; the rest watch the other ways a suite lies.

Pixel art of a candlelit armory-library shelf holding scales, swords, potions, scrolls, a magnifying glass, and a certain dwarf's beloved beer mug.
kw gapsGapWatchWhich routes, pages & flows have ZERO tests? App surface vs test references, untested mutations ranked first.CORE
kw parityMigration ParityDoes your converted suite still assert what it used to? Assertion & intent parity across migrations. (the study above)EVIDENCE
kw cypressTestBridge · CypressCypress to Playwright migration confidence report: analyzer & risk detector.E2E
kw protractorTestBridge · ProtractorProtractor to Playwright, for the framework that's already EOL. Analyzer & migration helper.LEGACY
kw flakeFlakeWatchStatic flakiness-risk grader. Catches the risk before a test starts failing at random.QUALITY
kw auditSuiteAuditGrades the "test smells" that make a suite green but worthless. Human-reviewed audit & evidence reporting.REPORTS
kw investigateIncident InvestigatorDeterministic on-call triage: alert in, ranked verdict + proof trail out. Deep dives into diffs, gaps & mismatches.FORENSICS
kw ci-truthCI-TruthYour tests exist. Does CI actually run them? Finds the escape hatches that make a pipeline impossible to fail: skipped globs, continue-on-error, zeroed coverage gates.PIPELINE
7Bring Us Your Repo

Bring me a repo. I'll show you what it's silently missing.

A repo link, a branch, or a zip. You'll get an honest report and a walkthrough. No pitch until you ask for one.

  • 100% free. No strings.
  • Human-reviewed. No AI verdicts.
  • Actionable in days, not weeks.
  • Built by an engineer, sold with receipts.
Pixel art of the knight at a candlelit writing desk, helmet off, drafting your report, his dwarf friend's beer mug within reach.
your report gets written by a person. the mug belongs to a friend.

Prefer email? hello@kingdomwatch.dev · Mid-migration? Ask for the free parity pass in the note.