Execution memory
Turn successful runs into reviewable, evidence-backed memory that makes every future run faster.
agent-qa
The self-improving QA agent for your software factory.
Give your coding agents a QA agent that learns your app. Run natural-language tests across web and mobile, build memory with every run, and catch regressions before you ship.
Turn successful runs into reviewable, evidence-backed memory that makes every future run faster.
Run the same natural-language flow across web, Android, and iOS with Playwright or Appium.
Humans and agents author the same reviewable YAML, backed by your repository, skills, and MCP.
agent-qa diagnoses each run, learns only from valid evidence, and proves every lesson before using it.
When an action fails, agent-qa re-observes the screen and finds another route to the same outcome.
Reuse validated actions while the screen still matches, cutting tokens and runtime without generating scripts.
2,600 Manual testing hours saved
Tests, knowledge, and rules stay as reviewable files shared by teammates, agents, and CI.
Run Node, Bun, Python, or Bash hooks in isolated containers and pass structured results back into the test.
Switch providers, endpoints, or models in config without rewriting a single test.
Switch between real agent-qa runs and inspect the evidence directly.
Yes. Give it the complete setup prompt and it can initialize a workspace without menus, configure an authorized model, write a meaningful test, run it through CLI or local MCP, and inspect the evidence. Your agent may need your help with a model credential or subscription sign-in. The same tests and results remain available to humans in the repository and local dashboard.
No. There is no generated script and no selector file. Every run reads the live screen and works out what to do from there, which sounds like repeating yourself and is not: no run is wasted, because each one feeds what it learned back in and the agent gets more accurate about your product over time. A validated action plan is cached and replayed while the screen still matches, which can reduce planning work on repeat runs, and the moment the interface changes under it the stale plan is purged and that step is worked out again. Measure the runtime and token savings on your own suite, and none of that speed comes from freezing it into a recording.
What it learned about your product, written to disk as markdown under a memory root in your repository and organised by product, suite and test. It is not hidden model state. You read it in a pull request like any other file, and a new observation has to hold up against past runs before a planner is allowed to use it.
Yes, which is the point of describing behaviour instead of selectors. You name the control the way you would say it out loud, the Checkout button or the issues table, and agent-qa resolves it against whatever is in front of it. Web runs use browser runtimes it installs and manages, leaving the browsers you already have alone. Android and iOS run through Appium drivers and the usual platform tooling, against an emulator, a simulator or a device on your desk.
Any OpenAI-compatible or Anthropic-compatible endpoint, Gemini, or a local model served through something like Ollama or LM Studio. Codex and Claude Code subscriptions work too, through the optional subscription auth package. Pick a multimodal one: runs read screenshots, so text-only models are a poor fit for visual QA.
Yes. It is free to install and free to run, the source is public, and no feature is held back behind a paid tier. The tests you write and the memory it builds are ordinary files in your own repository. There is no license fee for FSL-permitted use. You supply the execution infrastructure and pay any model inference costs, which the cache can help reduce.