Testim failure research
Dispatch the testim-researcher agent (agents/testim-researcher.md) — do not research inline in the main loop.
Preflight
- A Testim API key must be resolvable at call time from your secrets manager - see
testim-researcher"Setup / Auth". Never persist it tosettings.json, a shell profile, or any tracked file. If it cannot be resolved, stop and tell the user which read failed; the key comes from Testim → account settings → API keys, and EU orgs also needTESTIM_API_URL=https://api.eu.testim.io. - Extract from the user's message: the full Testim URL (or test/result IDs) plus any extra context they gave (e.g. "this started after X").
Dispatch
Pass the agent: the URL/IDs verbatim, and nothing about how to call the API (the agent knows the verified endpoint surface; extra instructions cause endpoint-probing regressions).
Output contract — enforce on relay
The agent returns a fixed 7-section report. Scope ends at section 6 (code hook):
- No root-cause analysis, no fullstack trace, no fix — if the user wants those next, that is a separate task starting from the code hook.
- If the agent's report contains causal analysis ("because", "most likely", backend tracing), trim it before relaying and note the scope.
- If the user wants to document a bug from this finding, feed the report into
identify-bug(Testim research is a valid input there, alongside JAM links). - If the traversed app URLs cross into an iframe-embedded app (e.g. a flow in
superco-consumerthat embedsmanagement-webapporfacility-rentals), the code hook may live in that embedded app's repo, not the host page's. Checkrepo-mapbefore relaying the code hook if the failing element looks like it's inside an iframe.
Notes
- Testim API quota is 2000 requests/month shared org-wide; a single research run uses ≤10. Don't re-dispatch for the same result — continue the same agent via SendMessage.
- Screenshot URLs in reports expire ~24h after fetch.