Where to start it
Four places in the dashboard launch the same loop. What differs is where the failures come from.Insights — a failure category
A run or call detail page
A result's failure breakdown
Evaluators list — bulk action
Before you start
The agent is connected to Cekura
There is something to measure against
There is a real failure
What the loop does
Makes a private copy
Writes scenarios (production-call runs only)
Reproduces the failure (production-call runs only)
Measures a baseline
Proposes a change
Applies and re-tests
Repeats, then reports
What it is allowed to change
The loop edits the agent’s instructions and closely related configuration on the copy. Some things are permanently off-limits and are rejected before they reach your provider:- credentials and API keys
- webhook and server URLs
- phone numbers
- transfer and handoff destinations
- voice and account wiring
Reproducing the failure
A failure that happened in production doesn’t always happen in a test. When you start from production calls, the loop treats reproducing the problem as a precondition — not as an optional first attempt. It writes scenarios from the failing calls and runs each of them several times. The failure counts as reproduced when the metric that flagged those calls in production fails on a meaningful share of those conversations. That check is arithmetic, not a judgement call: conversations that were never scored — a timed-out call, a scoring error — count as neither evidence for nor against. If the failure doesn’t show up, the loop doesn’t give up on the first try. It:- Tries again with sharper scenarios. It’s told what it already tried and that it didn’t reproduce, then re-reads the transcripts to find what the real calls had that its tests didn’t.
- Tries to force the failure. If repeated attempts still can’t provoke it, the loop may deliberately weaken a safeguard on the private copy to make the latent problem surface every time. This is a testing device, never a suggestion.
Accepting the changes
Nothing reaches your live agent until you click Promote.- Promote applies the offered changes to your live agent. It re-checks first that the copy still matches what was measured and that your live agent hasn’t drifted since the run started; if either has changed, it refuses rather than overwriting work you did in the meantime.
- Discard copy deletes the private copy at your provider.
- Copies are cleaned up automatically after about a week, and immediately when a run ends with nothing to offer.
While it’s running
- Answer its questions. When the loop pauses on a business-rule question, reply in the thread and it picks up where it left off.
- Steer it. You can send guidance mid-run — context about your product, a constraint, a direction to try — and it’s folded into the next round.
- Stop it. Cancel at any point. The copy is cleaned up.
How it ends
Troubleshooting
The action doesn’t appear on an insight. That insight’s calls belong to an agent on a provider the loop can’t edit. Use Create scenario instead — it still turns those calls into evaluators you can run and fix by hand. It says my agent already passes everything. The scenarios it ran didn’t fail. If the failure is real but intermittent, that’s the reproduction problem described above; starting from the Insights category rather than a single call gives it more transcripts to work from. Most failures cluster on one metric whose explanations look subjective. The metric is probably miscalibrated, and improving the agent against a noisy metric chases noise. Hand off to the Metric Lab improvement flow first. Promote was refused. Either your live agent changed since the run started, or the copy no longer matches what was measured. Both mean the offered before/after no longer describes reality. Re-run rather than forcing it. The run is refused before it starts. Your project has no rubric rule and no metric enabled for simulations, so there’s nothing to score against. See Metrics.Self-hosted and custom agents
Agents that Cekura can’t edit through a provider API — self-hosted, websocket and custom integrations — aren’t supported by the loop above, because it depends on being able to copy the agent and change it. For those, ask the AI Assistant to improve your agent from a set of evaluators: it runs the same diagnose-and-retest reasoning and hands you the instruction changes to deploy yourself, then re-tests once you’ve deployed.Related
- Cekura Agent — connect an agent before optimizing it.
- Insights — where production failures get grouped into categories.
- Metric Lab — improve evaluator quality when failures cluster on a noisy metric.
- Auto-optimise Metrics — the equivalent recurring workflow for metric prompts.