A QA Pipeline Your AI Agent Can't Fake
Forty green AI-written tests shipped a bug and nobody could say what they proved. Five questions to ask any AI test pipeline, and the route stlc takes from docs to a verdict, where a feature's state is computed from the files each step wrote.
Key takeaways
- An AI agent writes tests fast, but without traceability, evidence and rules for fixes, a green run proves nothing.
- Ask five questions of any AI test pipeline: can tests be traced to requirements, is the evidence kept, can red be turned green by editing, is anything judging the cases, does a file decide shipping.
- stlc takes one feature from raw docs to a report with a verdict, one command per step, each step writing a file the next one reads.
- Two checks can stop the route: a REVISE FIRST case review blocks scripting once a review is on file, and the environment check marks each test type READY, NOT READY or BLOCKED.
- Every project-specific value lives in one file, PROJECT-PROFILE.md, and the state of a feature, such as 6 of 12 cases passed, is read from files, never from the agent's summary.
Contents
FAQ
Does stlc change my application code?
No. It reads product code to ground its cases and never edits it. Unit and mobile tests are staged in its own folder and handed to developers through a HANDOFF.md, landing in your repo only when your profile says apply.
Which test types does stlc cover?
Nine: unit, API, integration, end-to-end, security, performance, accessibility, visual and layout UI, and mobile. Mobile is off by default, and security and performance run only on environments your profile authorizes.
Sources
Only you and the owner see your answer and rating. Send private feedback
Enjoyed it? Support fx-blog with a coffee.
Related posts
The QA Board and the Release Gate
"May it ship?" should not be answered in a chat. The stlc board on orders checkout, and a QA release gate: a report verdict derived from its gate rows, rejected by lint if it disagrees, which the dev deploy step reads before checkout ships.
When a Test Goes Red: Triage, the Heal Guard and Quarantine
The cheapest fix for a red AI test is to hide it. On checkout a red test is labelled, not fixed: four triage labels, a heal guard that diffs every fix, quarantine that expires in 30 days, and a defect that closes only on a newer passing run.
Your First stlc Run: Checkout From Docs to Scripts
You cannot tell whether AI-written tests cover the spec. The first stlc run on orders checkout: requirement ids, a traceability table created with zero rows where each column has one writing step, a case review, and ten scripts.
Comments
Oldest firstNo comments yet. Start the conversation.
You ask an AI agent to "write tests for checkout". A minute later you have forty green tests. A week later a customer reports that orders with three lines round the total wrong. None of the forty builds a three-line order, and nobody can say which requirement any of them was meant to prove.
The agent was fast. Nobody asked it for proof.
This series, in four parts:
Five questions to ask any AI test pipeline
I built stlc around these five. Put them to any tool, stlc too.
How stlc works, step by step
Inside Claude Code, each step is one slash command that writes a file the next one reads.
/qa-analyze orders docs/orders-spec.mdwrites REQ-001 to REQ-005. Stops: tests written from the code, not the spec./qa-plan orderswrites a traceability table with zero rows. Stops: a pre-filled coverage number./qa-env uat, then/qa-run orders --env uat. Stops: guessing whether uat is ready, and a quiet fix of a red test.See where checkout stands
The numbers in this series come from Sample Orders App, the fixture of stlc's VS Code board (the installer adds it unless you pass
--no-addons). Checkout ends the series at 6 of 12 cases passed, 2 failing, 2 blocked, 2 not run.The board only reads files, so every number traces to a case, a run or a report. Getting that derivation right took me more than one try. My first draft read the estimate file as the test plan and guessed quarantine from the case id. Each of those mistakes is now a test that fails if it comes back.
Try it
Then fill
.claude/PROJECT-PROFILE.mdand start with one small feature. Part 2, Your First stlc Run: Checkout From Docs to Scripts, fills the traceability table column by column.Read this with your AI