# Insurance Rater Agent Challenge

Build an explainable agent that reads a motor insurance policy, resolves the matching insurer brokerage grid, and returns a defensible answer with exact source citations.

There is no deadline and no prescribed stack. Publish your work whenever it is ready and share the repository when you apply to Vaatun.

## The problem

Indian insurer brokerage grids arrive as spreadsheets, PDFs, circulars, and images. Their lookup rules vary by insurer and may depend on RTO or geographic zone, vehicle make and model, fuel, engine capacity, vehicle age, policy type, NCB, premium slabs, and footnotes.

Given a motor policy PDF and the supplied `raters/` corpus, your agent must:

1. Extract the policy facts that affect brokerage.
2. Select and traverse the relevant insurer grid deterministically.
3. Return the expected OD and TP brokerage rates.
4. Cite the exact source file and sheet, cell, row, or PDF page used.
5. Explain every transformation between the policy and the result.
6. Refuse to invent an answer when the supplied evidence is incomplete, ambiguous, declined, or outside the grid's coverage.

LLMs are welcome for document extraction. Grid resolution must be reproducible, testable, and explainable rather than a black-box LLM answer.

## Input

- A local motor policy PDF path.
- A path to the supplied `raters/` directory.

Supporting uploads or remote URLs is optional.

## Output

Return a structured result containing:

- Extracted insurer, make/model, fuel, RTO, engine capacity, manufacture year or vehicle age, policy type, NCB, and premium breakup.
- Separate OD and TP brokerage rates where applicable.
- Granular source citations for every lookup decision.
- A confidence level with a short explanation.
- An ordered, human-readable decision trace.
- A clear unsupported or ambiguous result when the evidence cannot determine a rate.

Your agent may ask a clarifying question when a required policy fact is genuinely ambiguous.

## Test corpus

Run the agent against all four synthetic policy fixtures in `sample-policies/`:

1. `pvt-car-comprehensive-hdfc-ergo.pdf`
2. `pvt-car-satp-go-digit.pdf`
3. `pvt-car-comprehensive-reliance.pdf`
4. `pvt-car-satp-tata-aig.pdf`

The policies have been de-identified while preserving the facts required for rate resolution. Treat the source rate cards as authoritative; do not hard-code answers for these four files.

## What to submit

Publish a repository containing:

- Source code and setup instructions.
- Meaningful automated tests.
- Sample structured outputs and decision traces for all four policies.
- A short note on architecture, assumptions, failure modes, and trade-offs.

Email your repository link to **[careers@vaatun.com](mailto:careers@vaatun.com?subject=Insurance%20Rater%20Agent%20Challenge%20Submission)** with the subject **Insurance Rater Agent Challenge Submission**. Include links to the four decision traces or a short demo if they are not already easy to find in the repository.

## Evaluation

- **Accuracy — 40%:** correct extraction and rate, or the correct evidence-backed refusal.
- **Traceability — 25%:** inspectable transformations and granular source citations.
- **Resilience — 20%:** missing fields, exclusions, footnotes, ambiguity, and unsupported segments.
- **Engineering — 15%:** readable code, useful tests, sensible boundaries, and clear documentation.

The strongest submission is not necessarily the one that always returns a number. Knowing when the evidence cannot support an answer is part of the problem.

## Privacy note

The supplied policies are metadata-clean synthetic fixtures. Customer names, contact details, addresses, policy identifiers, vehicle-registration suffixes, chassis and engine identifiers, and related personal fields have been replaced. City and RTO-level context, vehicle rating facts, policy type, NCB, and premium figures have deliberately been retained so the brokerage lookup remains solvable.
