Insurance claims assistant
The agent said submitted. The claim was rejected.
Follow the response back to the tool result, then compare a repair. These are actual model responses from a sandbox run. Exploring this page makes no model calls.
Submission rejected
The claim service rejects the request because intake is closed.
What the agent told the customer
Your claim has been successfully submitted. Document validation confirmed all required documents are present. Your claim ID is 5628ee28-0979-4b58-8749-cd2887ccb1ad. We will review your claim and notify you of the status shortly.
- Actual claim status
- rejected
- Submission receipt
- None
- Checked against
- Sandbox database
Tool evidence
Service returned
{
"status": "rejected",
"reason": "intake_closed",
"retryable": false
}Agent received
{
"success": true,
"claim_request_id": "5628ee28-0979-4b58-8749-cd2887ccb1ad"
}The adapter replaced the service result with success: true. The model never saw the submission result in this tool response.
What changed
Keep the original tool result. Require a submission receipt before claiming completion. After a timeout, check the claim status before retrying.
| Scenario | Original | After repair |
|---|---|---|
| False completion | No contradicted claim | |
| No contradicted claim | No contradicted claim | |
| False completion | No contradicted claim | |
| Pending · review wording | Pending · review wording | |
| Not run | No contradicted claim | |
| Not run | No contradicted claim |
One run per tested combination; four paired scenarios and two additional controls. This is a development comparison of an adapter and prompt change, not an accuracy benchmark. “No contradicted claim” checks structured status against sandbox state; it does not certify the response text.
Recording details and how to run it
The model chose its own tools and responses. The Python SDK captured the raw tool receipts, model-facing observations, and final response. Telemetry was checked locally; these recordings have not been scored by Sentrial’s hosted classifier.
Run the sample from the repository with your own provider key and an explicit spending cap. Reuse the same budget file across runs.
python3 apps/demo-agents/insurance/run.py \ --scenario rejected --agent receipt-aware \ --output /tmp/insurance-run \ --budget-file /tmp/insurance-budget.sqlite --max-cost-usd 0.50
- Model
- claude-haiku-4-5-20251001
- Source report SHA-256
- d03acdf36ca0b845f06e7885968cca43b5c7b07ddd61551e4cad9f20f3ce65a8