QA Memory
QA Memory is MaruCheck's record of failures that were actually confirmed. When code related to one of those failures changes again, MaruCheck recalls it and forces the matching regression test back into the verification plan — so a bug that has already been diagnosed once cannot quietly return in a later AI-authored change.
Why AI-authored changes need memory
A coding agent starts each task without the history of what previously broke. It can reintroduce an old defect in unfamiliar form and still produce a green suite, because the test that once caught the defect is not part of the change it reasoned about. QA Memory supplies that history deterministically instead of hoping the model remembers it.
Where memory is stored
Confirmed QA memory is stored under .maru/memory/ in the repository. It is reviewed content, so commit it alongside .maru/maru.yml and your approved contracts. Generated plans under .maru/generated/ and run artifacts under .maru/artifacts/ stay out of version control.
Search what the project already learned
Before writing a test for a risky area, check whether the failure mode is already recorded. Search returns the confirmed bugs and the regression tests linked to them.
npx --no-install maru memory search "authorization"How recall enters a verification plan
- DiffMaruCheck reads the changed paths in the real Git diff.
- MatchMemory entries related to those paths are recalled.
- PlanTheir linked regression tests are added to the verification plan, not left to reviewer discretion.
- RiskA recalled failure also raises the explainable risk score for the change.
Where memory comes from
Memory is created from failures your team confirms locally, and — when you connect the hosted console — from reviewed production feedback. That review path is deliberately strict: approval requires a confirmed root cause, a Vitest or Playwright adapter, a stable regression ID, and a project-relative test path. Rejecting a proposal creates no memory and no test link.
What memory does not do
- It does not change a Quality Contract or approve new behavior.
- It does not execute a proposed reproduction on its own.
- It does not replace contracts; contracts hold the promise, memory holds the failures that promise has already survived.
Last updated