Published by CI · commit 5b80442 · 2026-09-16
The evidence, not the claim.
Every push to main runs the gates below and republishes this page. Each layer exists
because it is the cheapest reliable place to prove a specific risk, not because the tool belongs in
the stack; the test strategy
and the decision records explain each placement.
| Signal | Current evidence | Context |
|---|---|---|
| CI | ✓ passing | every gate green in run #16 |
| Mutation score | 96.4% | 133 of 138 injected faults caught · CI breaks under 80% |
| Coverage | 100% lines · 100% branches | thresholds enforced: 90% lines, 85% branches |
| E2E + accessibility | 7 passed · 0 failed | 0 flaky · Chromium · axe WCAG A/AA |
| Performance | p95 2.22 ms · 0% errors | 1,000 requests · CI-local workload, indicative, not a production benchmark |
| AI evaluation | 3/3 passed | deterministic assertions · anthropic:messages:claude-opus-5 |
-
01
CI job ↗
Unit and API tests
Pure validation logic at every boundary, then in-process HTTP semantics: 400 versus 500, malformed JSON, a failing repository. No browser, milliseconds.
-
02
Report ↗
Mutation testing
Do those suites notice a bug, or merely execute the code? Stryker injects faults into
src/; surviving mutants are highlighted in source and CI fails under 80%. -
03
CI job ↗
Contract tests
Consumer and provider can change independently: the UI client's Pact is generated by the consumer test and replayed against the real Express app in the same job.
-
04
CI job ↗
Integration with PostgreSQL
Real database semantics only where they matter: a disposable
postgres:16proves the CHECK and primary-key constraints and the full HTTP-to-database path. -
05
Report ↗
Browser E2E and accessibility
Only the critical journey, verified through the API rather than by trusting the text, two failure paths mocked at the network layer, and axe-core WCAG scans before and after interaction.
-
06
Summary ↗
Performance
k6 protocol test against the lab booted inside the runner, gated on p95 and error-rate thresholds. Weekly and on demand, never a per-commit gate.
-
07
Spans ↗
Observability
The instrumented server is started during publishing, three requests are sent, and the exported OpenTelemetry spans are kept as evidence.
-
08
Runs ↗
AI evaluation
Promptfoo checks a fictional support assistant for valid JSON, mandatory escalation and refusal of data requests. On demand with an Anthropic or OpenAI key; the assertions are provider-agnostic.