memidex
agent-qa's memory. It keeps what runs prove about your app as small records, checks them against later runs, and stores them as files you can review.
memidex is agent-qa's memory. After each run it keeps what the run proved about your app as small records: the button that places an order, the step that times out when the API is slow, the sign-in flow that always works. The next run gets the relevant records as hints, weighs them against what is on the screen, and adds evidence for or against them.
Every record is a plain file in agent-qa-knowledge/. You review what agent-qa learned with git diff, commit what you want to keep, and revert what you don't.
Review what agent-qa learned
Review what agent-qa has learned about this app and tell me whether it looks right. Read https://vostride.com/docs/agent-qa/memory/inspect.md first. 1. List the records with npx agent-qa knowledge bundles --json, or agent_qa_list_knowledge_bundles. 2. Show the recent changes: run git add --intent-to-add agent-qa-knowledge so new records appear, then git diff -- agent-qa-knowledge. 3. For anything surprising, open the record with npx agent-qa knowledge show <recordId> and look at the run it came from. 4. Sort what you find into records that look right, records that look wrong or out of date, and open questions (unknown records). Do not edit files under agent-qa-knowledge/ by hand and do not change any record yet. Report the three groups with record IDs, and recommend which records to forget and which runs to mark.
What it remembers
| Kind | What it holds |
|---|---|
| fact | Something true about the app, proven on screen: an element, a page, a navigation, a value. |
| caution | A known way a test goes wrong, such as a timeout, a flaky step or an environment problem. |
| procedure | A flow that passed end to end, with the actions that did it, so a later run can replay it. |
| unknown | An open question, such as a fact that keeps changing between runs. Unknowns are never served as hints. |
Alongside what it learns, memidex serves the policies you write: QA rules that apply word for word on every run.
How a record earns trust
A record does not store how much it is trusted. It keeps an append-only log of outcomes: each time a later run confirms it or contradicts it, a line is added. Trust is worked out from that log whenever the record is read, so it always reflects the evidence.
New records start as candidates. On a local run, a fact or caution with confirmed evidence is promoted to active straight away. CI runs only propose, so nothing learned in CI is trusted until a local run or a person confirms it. When the app changes, a record is superseded by a newer one or deprecated, and its history stays on disk.
How knowledge is learned covers every check a record passes.
How it reaches a run
Once per test, memidex builds a short brief: your policies first, then cautions, then facts ranked by trust. The model reads the brief as hints to weigh against the live screen, never as instructions. Models that can call tools may also search memory in the middle of a step. How knowledge reaches a run explains the ranking and the budget.
Where it lives
- agent-qa-knowledge
- memorythe learned shelf: written by agent-qa
- komazonone folder per product
- indexsearch index, rebuilt locally, not committed
- policiesthe authored shelf: written by you
- global.md
- quarantine.jsonlflaky tests set aside
- README.md
- AGENTS.mda guide for coding agents
The knowledge folder is committed. Its own .gitignore keeps out the search index, the curation queue, lock files and the screenshots records point to, which stay on your machine.
Review and commit
agent-qa never commits for you. After a run, its changes show up as uncommitted edits:
git add --intent-to-add agent-qa-knowledge
git diff -- agent-qa-knowledgeRead record.md for what agent-qa now believes and evidence/outcomes.jsonl for the evidence behind it. Commit what you want to keep. To change what it learned, mark the run or correct the record through agent-qa. Never edit the learned shelf by hand: a hand-edited record fails its integrity check and is no longer served.
Current limits
- No semantic search by default. agent-qa does not download its embedding model, so memidex matches on keywords and anchors. The dashboard notes this on each run, and
agent-qa doctorreports it in itsEmbedderandRetrieval rungrows. Architecture explains the levels. - Knowledge is served on the machine that learned it. On a fresh clone or a throwaway CI workspace, most committed records are not served yet, because the search index and the screenshots records point to stay out of git.
- Short IDs are local. An address such as
MEM-001is assigned on your machine. Share the full record ID instead.