Reconciliation exceptions are resolved by an agent that retrieves precedents from past resolutions. Every confirmed resolution is written back as a new precedent, so the corpus is authored by the system’s own operation — and autonomous resolution rate is the measurement, not the claim.
A payment from Coral Textiles. The bank credit is net of the processor’s fee; the invoice is gross. Those are two different comparisons, and collapsing them into one “matches / does not match” line is what makes reconciliation tools untrustworthy — the reviewer can no longer tell a genuine shortfall from a fee deduction.
| Payments captured, gross | 1,678.00 |
| processor fee | (39.60) |
| tax on the fee | (6.04) |
| Should have landed | 1,632.36 |
| Actually landed | 1,632.36 |
| Unexplained | 0.00 |
The credit ties out.
| Ledger expects, gross | 1,864.44 |
| Customer paid, gross | 1,678.00 |
| Kept back | 186.44 |
The customer withheld part of the invoice.
A LangGraph investigation with a verify → revise cycle. Two of these steps deliberately do not call a model.
Computed from the case, not asked of the model — naming the class before the evidence is gathered would anchor every step after it.
Searched with the computed observations rather than the whole record dump: the per-record boilerplate buries the few sentences that discriminate.
A tool loop capped at five calls in code, not asked of the model. The arithmetic tool is the same code that will check the answer, so a figure from it cannot disagree with the verifier.
Structured output, Pydantic-validated. A parse failure escalates rather than guessing.
Deterministic. A check performed by the model being checked samples the same distribution that produced the error.
The threshold is set from measured outcomes, not chosen: it gives up one case of coverage to remove ₹23,739 of false-resolution exposure.
Konark Logistics deducts a rebate negotiated with them. It is not a statutory rate, and nothing in the case says what it is — so the answer cannot be worked out from the evidence. It can only be remembered.
First time it saw them
corpus: 42 hand-written precedents, none about this customer
| Shortfall against the invoice | 2.65% |
| Matches a statutory band | no |
| Explained by fees or a refund | no |
Escalated at 0.65 confidence.
Correct behaviour: the evidence is genuinely insufficient. A guess here would close an invoice that was never settled.
After a reviewer resolved one
corpus: one precedent about Konark Logistics, written from that resolution
Situation. Payments from Konark Logistics arrive short of the invoice by 2.65 percent, a proportion matching no statutory withholding band, with no refund or fee explaining the gap.
Resolution. Konark settles under a negotiated rebate agreed in their supply contract. Reconstruct the invoice from the receipt and close it in full. This is not withholding tax: no tax credit arises.
Resolved as a negotiated rebate at 0.94, citing it.
Written generically — “this counterparty” rather than the name — the same knowledge resolved 1 case in 5. Naming them resolved 4 in 5. A customer name generalises to that customer’s future cases; a payment id generalises to nothing. That distinction is now in the deposit prompt, with the measurement attached.
A confirmed wrong resolution does not cost one record. It is written into the corpus and then retrieved to justify future wrong ones, which makes corpus poisoning the most serious failure mode in the system — and this screen the only thing standing between it and the corpus.
Confirming writes this into the corpus. It will be found and cited on future cases that look like this one. Decide on the figures and the precedents, not on the verdict.
| Confirmed | yes |
| Corrected | yes, at the corrected answer |
| Rejected | no |
| Unreviewed | never |
A corrected resolution is the higher-value precedent: it records a case the system got wrong.
| Confirmed | 66 |
| Corrected | 44 |
| Rejected | 24 |
| Precedents from 134 cases | 109 |
The curve above is measured this way — rejections included — so it is an estimate rather than a ceiling.
| Deposits | Corpus | Resolved | Control | Only-a-precedent cases | Escalated |
|---|---|---|---|---|---|
| 0 | 42 | 70.0% | 56.7% | 0.0% | 8.3% |
| 33 | 70 | 78.3% | 58.3% | 50.0% | 18.3% |
| 67 | 96 | 81.7% | 66.7% | 66.7% | 18.3% |
| 100 | 121 | 86.7% | 60.0% | 72.2% | 10.0% |
| 134 | 151 | 86.7% | 61.7% | 83.3% | 13.3% |
| Comparison | W–L | p | |
|---|---|---|---|
| headline | 15–5 | 0.04139 | significant |
| control | 10–7 | 0.62906 | not significant |
| counterparty | 15–0 | 0.00006 | significant |
The gain over answering with no precedents at all splits into an effect of having precedents and an effect of their relevance. Giving the agent investigation tools removes the first entirely.
| from having precedents | from their relevance | |
|---|---|---|
| single prompt | +14.2pp | +9.0pp |
| with an investigation graph | +0.0pp | +9.7pp |