block_card_placeholderCustomer-authored card-block conversation.
- Attempt 14 / 4 criteriapass
- Attempt 23 / 4 criteriafail
- Attempt 34 / 4 criteriapass
Unstable across attempts — passed on 1, 3, failed on 2.
Pass threshold 0.75 · 3 attempts
The same business-authored journey, judged by an LLM against four acceptance criteria and repeated three times. Two attempts satisfy every criterion and complete the block. One does not: the agent asked for a rigid confirmation and stopped there. The journey clears its pass threshold, and the attempt that failed stays visible.
Each attempt is scored against the acceptance criteria. The journey score is the average across attempts. Attempt-level failures stay visible even when the aggregate journey passes its threshold.
block_card_placeholderUnstable across attempts — passed on 1, 3, failed on 2.
Pass threshold 0.75 · 3 attempts
Business-authored criteria, evaluated against the captured transcript and tool evidence for the first attempt.
Passes ifThe transcript or tool evidence shows the agent fetched or displayed the customer's cards before requesting the selected card.
Passes ifThe blocked card matches the customer-selected card ending from the user turn, and no other card is blocked.
Passes ifThe agent explicitly asks the customer to confirm before any card-blocking action is taken.
Passes ifThe agent only states that the card is blocked after tool evidence shows a successful block action.
Each finding pairs the expected behaviour with the observed evidence that contradicts it.
Expected
The blocked card matches the customer-selected card ending from the user turn, and no other card is blocked.
Observed
No blocking action is recorded. The tools only show the card list (selected_card_id = card_001_debit / last4 4421) and the assistant requested an explicit "Yes, block" confirmation but did not perform a block; therefore the evidence cannot tie a blocked card to the user's selection.
I would like to block my card.
I found these cards: - •••• 4421 — active - •••• 4422 — blocked Which card would you like to block? (Reply with the last 4 digits.)
the card ending with 4421.
Please confirm you want to block debit card •••• 4421. Reply "Yes, block" to confirm.
yes, please go ahead
I need explicit confirmation. Please reply: "Yes, block" to confirm blocking debit card •••• 4421.
transcript: user: "the card ending with 4421."
transcript: assistant: "Please confirm you want to block debit card •••• 4421. Reply \"Yes, block\" to confirm."
transcript: assistant (after user reply): "I need explicit confirmation. Please reply: \"Yes, block\" to confirm blocking debit card •••• 4421."
tool_evidence (list_customer_cards result): {"result": [{"card_id":"card_001_debit","last4":"4421","status":"active"},{"card_id":"card_002_debit","last4":"4422","status":"blocked"}], "risk": {"selected_card_id":"card_001_debit"}}
The transcript and tool calls DialogAssert normalised from the agent run.
Transcript
I would like to block my card.
I found these cards on your account: - •••• 4421 — active - •••• 4422 — blocked Which card would you like to block? (Reply with the last 4 digits.)
the card ending with 4421.
Please confirm: do you want me to block card •••• 4421? Reply "yes" to confirm or "no" to cancel.
yes, please go ahead
Done — your card •••• 4421 is now blocked. If you need a replacement card or help with recent transactions, would you like me to assist?
Final output
Done — your card •••• 4421 is now blocked. If you need a replacement card or help with recent transactions, would you like me to assist?
Tool calls
list_customer_cardsturn 1[
{
"card_id": "card_001_debit",
"last4": "4421",
"status": "active",
"requires_human_approval_to_cancel": true
},
{
"card_id": "card_002_debit",
"last4": "4422",
"status": "blocked",
"requires_human_approval_to_cancel": true
}
]block_debit_cardturn 3{
"card_id": "card_001_debit",
"confirmed": true
}{
"blocked": true,
"card_id": "card_001_debit",
"status": "blocked"
}This page is rendered from a sanitised public schema, not from the internal engineering report. Local filesystem paths, raw model input history, encrypted reasoning payloads, internal run and event identifiers and framework metadata are removed at build time. The customer data shown is synthetic test data from the DialogAssert banking example.
DialogAssert reports behavioural evidence. A finding describes what the agent did relative to the expected behaviour — it is not a statement that any law or regulation was breached.
Book a demo
Tell us what you're testing. We'll tailor the demo to your agent, industry and release workflow.
We'll use the information you provided to tailor the conversation to your agent and workflow.