Test anatomy
Each test is a single Markdown file inside youregma/tests/ folder. The file combines a YAML frontmatter block with prose sections that the simulator and grader read:
Field reference
Field reference
YAML frontmatter fields
Markdown sections
Mock tool overrides
Youregma/mock-tools.md file defines the global mocked world: how Egma answers your agent’s tool calls during simulations. This prevents tests from hitting your real backend and lets you control what branch the agent sees — an empty calendar, a failing service, a specific order state.
Test versioning
Every time you push a changed test to Egma, Egma mints a newversion_id (tstv_…) and writes it back into your file’s frontmatter. The previous version is never overwritten — it remains readable and is still referenced by any run that pinned it.
This versioning guarantee means: results from last week still say exactly what ran. A green run from before a test change is still green, and it still names the scenario and expected behaviors that were green.
egma push refuses to upload a test if Egma holds a newer version than your file knows about. Run egma pull first, review what changed, then push.Runs
A Run starts a batch of simulations. You name the connection to use and the exact test versions to execute. Egma creates the run, queues one simulation per test-version × persona combination, and begins dispatching them to the simulator.Starting a run
1
Push your tests
Make sure your local tests are uploaded and version IDs are in sync:
2
Start the run
From your repository folder:This pins the current version of every test, creates the run, and follows it live until the first verdict arrives.
3
Read your results
The terminal prints a
results_url you can open immediately. The run continues after the CLI exits — closing your terminal never stops a run.Simulation lifecycle
Each simulation inside a run moves through a defined set of states:Execution and grading are two distinct phases. A simulation can be
completed while judgment is still pending. The run results page shows both states separately so you always know which one you are waiting on.Verdicts
After a simulation finishes, the grader reads the conversation and writes one verdict per expected behavior. Each verdict is one of four values — and Egma never collapses them:passed
The agent did what the test expected. The behavior was observed in the conversation.
failed
The agent did not meet the expectation. Something in the agent’s behavior needs attention.
skipped
Nothing was judged. The test required a capability this connection does not have (for example, DTMF tones on a text connection), or the grader had nothing scoreable.
errored
The conversation could not be conducted — the agent was unreachable or Egma encountered a fault. The simulation attempted to run but did not complete successfully.
Recordings
Every voice simulation produces a dual-channel audio recording — the simulated caller on the left channel, your agent on the right. Recordings are stored in Egma’s object store and are accessible from the run results page. The recording player appears directly beside the conversation transcript, so when a turn looks wrong you can listen to exactly what was spoken and heard — and confirm whether the agent misbehaved or the transcription did.Chat simulations and calls that never connected produce no recording. The player is shown only where a recording exists.