Execute test plans and file F1-grade quality reports
Executes tiered test plans (Brake/Engine/Aero/Tyre/Pit), audits CI signal integrity, and files a deterministic WJTTC report.
Why it matters
Run comprehensive test suites with F1-inspired rigor, triage failures by blast radius across five severity tiers (Brake to Pit), and produce deterministic WJTTC reports that tell teams exactly what's safe to ship and what must be fixed first.
Outcomes
What it gets done
Audit CI signal integrity to eliminate flaky tests that erode trust in red builds
Execute test plans across happy paths, edge cases, error handling, and performance targets
Reproduce and root-cause every failure with deterministic steps and evidence capture
Generate tiered WJTTC reports with pass rates, tier verdicts, and actionable fix lists
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-wjttc-tester | bash Overview
WJTTC Championship Tester
This skill executes an existing test plan tiered by blast radius (Brake/Engine/Aero/Tyre/Pit), audits CI signal integrity from 30 days of failure history, reproduces and root-causes failures, and files a deterministic YAML WJTTC report with a tier verdict. Use it to run and report on an existing test suite, root-cause a bug, or audit CI signal trustworthiness - use the sibling wjttc-builder skill to plan and generate the suite itself.
What it does
Executes test plans and files reports using the WJTTC (F1-inspired) testing standard - the "driver," not the "engineer" that plans/generates the suite (that's the sibling skill wjttc-builder). Every test is triaged into one of five tiers by blast radius: Brake (life-critical - data loss, auth bypass, payment errors, destructive ops without confirmation), Engine (performance-critical - API accuracy, calculations, format compliance), Aero (polish/edge cases - UI quirks, docs), Tyre (durability under load - stress, concurrency, memory growth), and Pit (the release gate - smoke/regression suite, CI green, the filed report). Brake tests run first, since nothing else matters if the brakes don't work.
Before adding or running anything new, it runs a Signal Integrity pre-audit: classify the last 30 days of CI failures into Real bug (fixed by a code change), Flake (timing/network/concurrency noise, passed on rerun), or Infra (missing secret, runner change, upstream dependency), then compute SI = Real bugs / (Real bugs + Flakes + Infra) x 100. SI maps to a verdict and action: 100% maintain, 95-99% Championship (annotate flakes immediately), 85-94% Acceptable (schedule the flake fix this sprint), 70-84% Eroding (stop adding tests, fix flakes first), below 70% Dead signal (block merges until restored). It eliminates on sight: hard absolute-time perf assertions on shared runners, un-mocked network calls in the main suite, unordered concurrency tests, and secret-dependent steps that hard-fail when the secret is missing. The inverse rule also applies - a real bug that shipped despite green CI needs its regression test written before the fix lands.
faf wjttc --path tests # audit tier coverage (vendor-neutral)
faf wjttc --strict --json # CI gate: non-zero if any test is untiered
The execution loop is: scope (happy path, edges, failure modes, perf targets, tier of each), audit signal integrity before trusting/extending the suite, run each test (setup, execute, observe actual vs. expected, record pass/fail/blocked, capture failure evidence), reproduce and root-cause every failure deterministically, confirm every test is tiered (faf wjttc --strict --json, non-zero exit if any test is untiered), then file the WJTTC report and surface the tier verdict. Reports are YAML files saved to ./wjttc-reports/ in the project under test (never an absolute/personal path), named YYYY-MM-DD-{project}-{feature}-tests.yaml, containing a summary with pass/fail/blocked totals, per-failure root-cause and fix, edge-case results, performance measurements against targets, bugs found (tier doubles as severity), coverage (tested vs. not-tested), and a verdict.
Pass rate or SI score maps to a canonical FAF tier ladder: 100% Trophy, 99% Gold, 95% Silver, 85% Bronze, 70% Green, 55% Yellow, 1% Red, 0% White - deterministic, same input always producing the same score. Method notes: test with real (anonymized production or messy) data, not just sanitized inputs; document every failure for reproducibility; tier before testing since severity is the tier; and wire results into CI via faf taf setup --write (test receipts) plus faf score --json for a deterministic score snapshot.
When to use - and when NOT to
Reach for this specifically when a team's CI has started feeling untrustworthy - green builds that still ship bugs, or red builds nobody investigates anymore - since the Signal Integrity pre-audit is what surfaces whether that mistrust is justified before any new test gets written or extended. It's a poor fit for a brand-new project with no test suite or CI history yet, since there's no signal to audit and no existing tests to tier; start with wjttc-builder to generate the initial suite, then bring this skill in once there's a real pass/fail history to reason about.
Inputs and outputs
Input is an existing test plan/suite and, for the signal audit, 30 days of CI failure history. Output is executed test results, root-caused failures with fixes, and a YAML WJTTC report filed to ./wjttc-reports/ with a tier verdict.
Integrations
Built on the faf-cli tool (faf wjttc, faf taf setup, faf score) for tier-coverage auditing and CI test-receipt wiring.
Who it's for
Teams running and reporting on test suites who want severity-tiered results, an honest CI signal-integrity audit, and a standardized, deterministic pass/fail report rather than an unstructured test log.
Source README
WJTTC Championship Tester
"We break things so others never have to know they were broken."
Apply F1-inspired standards to software testing. When brakes must work flawlessly at race pace, so must the code in production. This skill executes test plans and files reports - it is the driver, not the engineer. To plan and generate the suite, use wjttc-builder.
When to use this skill
- Running an existing or just-written test plan and reporting outcomes
- Reproducing and root-causing a reported bug
- Edge-case / error-handling / regression validation
- Auditing whether the suite's CI signal can still be trusted
- Producing a WJTTC report with a tier verdict
The WJTTC five tiers
Triage every test by blast radius. The first three set severity; Tyre and Pit cover durability and the release gate.
| Tier | Symbol | Meaning | Examples |
|---|---|---|---|
| Brake | ๐จ | Life-critical - failure is catastrophic | data loss, auth bypass, payment errors, destructive ops without confirm |
| Engine | โก | Performance-critical - wrong results / poor UX | API accuracy, data transforms, calculations, format compliance, perf |
| Aero | ๐ | Polish & edge cases - minor inconvenience | UI quirks, rare message formatting, optional-feature edges, docs |
| Tyre | ๐ | Durability under load - degradation over time | stress/volume, concurrency, memory growth, large inputs |
| Pit | ๐ง | Release gate - the stop that lets you go | smoke/regression suite, CI green, the WJTTC report filed |
Test Brake first. If the brakes don't work, nothing else matters.
Step 0 - Signal Integrity pre-audit (run BEFORE adding/running anything new)
Red CI is a contract: it must always mean "stop, look, fix." A suite with high coverage but flaky reds is less trustworthy than a smaller suite with zero false alarms - because the team has stopped reading the reds. Fix the signal before you add more tests.
Method - classify the last 30 days of CI failures:
| Bucket | Definition | Verdict |
|---|---|---|
| Real bug | Red mapped to a real defect; fixed by a code change | โ Signal worked |
| Flake | Timing/network/concurrency noise; passed on rerun, no code change | โ Test design defect |
| Infra | Missing secret, runner image change, upstream dep - not the code | โ Workflow design defect |
Signal Integrity Score: SI = Real bugs / (Real bugs + Flakes + Infra) ร 100
| SI % | Verdict | Action |
|---|---|---|
| 100% | โช | Maintain - exemplary signal |
| 95-99% | โ Championship | Annotate any flake immediately |
| 85-94% | โ Acceptable | Schedule the flake-class fix this sprint |
| 70-84% | โ Eroding | Stop adding tests - fix flakes first |
| <70% | โ Dead signal | Block merges until signal restored |
Eliminate on sight: hard absolute-time perf asserts on shared runners (expect(t).toBeLessThan(30)) โ move to a non-gating workflow; network calls in the main suite โ mock at the boundary; concurrency tests without explicit ordering; secret-dependent steps that hard-fail when missing โ grey-skip.
The inverse rule: green CI that passes while something is broken is equally a violation. If a real bug shipped despite green, write the regression test BEFORE the fix lands.
The conversation is the real gate. CI is supporting infrastructure for the human + AI audit; flaky CI wastes the audit's bandwidth. Signal Integrity keeps CI worthy of the conversation.
Execution loop
- Scope - what should it do? happy path, edges, failure modes, perf targets, tier of each.
- Audit signal (Step 0) before trusting or extending the suite.
- Run each test: set up, prepare data, execute, observe actual vs expected, record pass/fail/blocked, capture evidence on failure.
- Reproduce every failure deterministically; root-cause it; note the fix.
- Tier coverage check - confirm every test is tiered:
faf wjttc --path tests # audit tier coverage (vendor-neutral) faf wjttc --strict --json # CI gate: non-zero if any test is untiered - Report - file the WJTTC report (below), then surface the tier verdict.
WJTTC report format
Save reports to ./wjttc-reports/ in the project under test (or a path the user specifies). Never write to an absolute/personal path. Name files YYYY-MM-DD-{project}-{feature}-tests.yaml.
---
### WJTTC Test Report
project: "project-name"
feature: "feature-being-tested"
date: "2026-06-26"
tier: "Engine" # Brake | Engine | Aero | Tyre | Pit
result: "PASS" # PASS | FAIL | BLOCKED
environment: "OS, runtime version, key deps"
---
### Summary
objective: What was tested
totals: { total: 25, passed: 23, failed: 2, blocked: 0, pass_rate: "92%" }
### Failures
- name: "Long-string handling"
tier: "Engine โก"
status: "FAIL"
steps: ["...", "..."]
expected: "Handle gracefully"
actual: "Crash"
error: "RangeError: ..."
root_cause: "Unbounded buffer"
fix: "Cap input length / stream"
### Edge cases
- { case: "Empty string", input: "''", expected: "error", actual: "error", status: "PASS" }
- { case: "Unicode", input: "๐๏ธ", expected: "stored", actual: "stored", status: "PASS" }
### Performance
- { op: "file read", target: "<50ms", actual: "18ms", status: "PASS" }
- { op: "parse YAML", target: "<50ms", actual: "12ms", status: "PASS" }
### Bugs found
- id: 1
title: "..."
severity: "Brake" # tier doubles as severity
reproducibility: "Always"
impact: "Who is affected, how serious"
fix: "..."
### Coverage
tested: ["happy path", "edges", "error handling", "perf"]
not_tested: ["concurrent access", "files >100MB"]
### Verdict
tier: "โ Silver" # from the tier table below
to_next: ["Fix 2 failing Engine tests", "Add Tyre concurrency tests"]
Tier verdict
Map the pass rate (or SI score) to the single canonical FAF tier ladder. No second ladder, no medals.
| Score | Tier | Symbol |
|---|---|---|
| 100% | Trophy | โช |
| 99% | Gold | โ |
| 95% | Silver | โ |
| 85% | Bronze | โ |
| 70% | Green | โ |
| 55% | Yellow | โ |
| 1% | Red | โ |
| 0% | White | โก |
The FAF score is deterministic - same input, same score. A test report should be just as falsifiable: every verdict traces to a reproducible run. FAF doesn't lie.
WJTTC method notes
- Test with real data, not just sanitized inputs - anonymized production data, messy inputs, production-like volume.
- Document every failure so it can be reproduced: what failed, how to repro, why it matters, how to fix.
- Tier before you test - severity is the tier, so triage first;
faf wjttcenforces that nothing ships untiered. - Wire it into CI with TAF receipts so the report is part of the record, not a one-off:
faf taf setup --write # create .github/workflows/taf.yml (test receipts) faf score --json # deterministic score snapshot for the receipt
Quick checklist (before release)
- Signal Integrity audited (SI โฅ 85%)
- Brake tests pass - zero tolerance
- Edges + error handling tested
- Tyre: behaves under load / concurrency
-
faf wjttc --strictgreen - every test tiered - Regression (Pit) suite passes
- WJTTC report filed in
./wjttc-reports/ - Pass rate โฅ 85% (โ Bronze, production-ready)
Resources
- Website: https://faf.one ยท Skills Site: https://skills.faf.one
- faf-cli: https://github.com/Wolfe-Jam/faf-cli
- Sibling skill: wjttc-builder (plan + generate the suite)
Made with ๐งก by wolfejam.dev - "We break things so others never have to know they were broken."
Limitations
- Use this skill only when the task clearly matches its upstream source and local project context.
- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
FAQ
Common questions
Discussion
Questions & comments ยท 0
Sign In Sign in to leave a comment.