qa-core-heal
Self-healing for Playwright locators.
Deterministic. No LLM, no API key.
$ npm install -D qa-core-healThree steps. One of them is refusing.
Run
It runs your Playwright tests and classifies every failure: locator, assertion, app, or environment.
Heal
Only failing locators get healed, using evidence from the failure page and trace.
Refuse
When evidence is not near-certain, it refuses and explains what broke, instead of guessing.
Built to never guess
A wrong heal is worse than no heal.
qa-core-heal only rewrites a locator when the evidence is near-certain. Everything else gets a refusal with a teaching message that tells you what changed and why it will not auto-fix it.
If a heal does not make the test pass, it reverts automatically.
Designed for zero wrong heals: it refuses rather than guesses. Deterministic: no LLM, no API key, no network calls to any AI service.
What it does
Tested against real public apps in our internal harness.
- Failure classification before any healing
- Shadow DOM support (open and nested roots; closed roots detected and reported)
- Automatic revert when a heal does not fix the test
- Auth support: storage state or a login function via qa-core.config.json
- --json output for CI pipelines, meaningful exit codes
- Works on macOS, Linux, and Windows
- MIT licensed, source public on GitHub