// claims-engine.ts
const anthropic = wrapAnthropic ( new Anthropic ());
const policiesCol = wrapCollection (db. collection ( 'policies' ));
async function assessClaim (claim : ClaimRequest ) {
// db span recorded automatically
const policy = await policiesCol. findOne ({ id: claim.policyId });
// llm span recorded automatically
const assessment = await anthropic.messages. create ({
model: 'claude-opus-4-8' ,
messages: [{ role: 'user' , content: buildPrompt (claim, policy) }],
});
if (claim.amount > 10_000 ) {
because. addMessage (
'High-value claim' ,
`Claim of ${ claim . amount . toLocaleString () } exceeds the $10,000 threshold - flagged for manual review before payout.` ,
{ level: 'warn' },
);
}
const items = parseAssessment (assessment, policy);
because. addSpan ( 'table' , 'Damage breakdown' , {
output: because. table ( 'Items assessed' )
. fromRecords (items)
. highlightRows (r => r.excluded ? 'danger' : null)
. appendRow ([because. spanCell ( 'Approved: $14,300' , 3 )], 'success' )
. build (),
});
return { approved: items.approved, rejected: items.rejected };
} Water damage claim Claim ID CLM-8821 Type WATER_DAMAGE Claimed $18,500
Fetch policy AI assessment Flag review Damage items
AI assessment anthropic · claude-opus-4-8 840msClaim of $18,500 exceeds the $10,000 threshold - flagged for manual review before payout.
Items assessed
Item Claimed Approved Structural $12,400 $10,200 Contents $4,100 $4,100 Accommodation $2,000 $0 Approved: $14,300