# Ledger Engine — Corpus Scorecard (LE-2)

Generated by `runLedgerCorpus()` over the LE-0 synthetic corpus (deterministic, seeded).
Regenerate: `pnpm --filter @tieout/engine eval:ledger`. Every relationship is planted
by construction, so these are exact precision/recall — not estimates.

**HARD GATE — false cross-account match rate = 0** (never net an unrelated transfer
pair or collapse an unrelated processor deposit). The Ledger analog of false-reconciled-0.

## Recall — did we find every planted relationship?

| tier     |   n | xfer | dup | proc | c/fwd | cover | falseCross |
|----------|----:|-----:|----:|-----:|------:|------:|-----------:|
| easy     | 100 | 100% | 100% | 100% | 100% | 100% |          0 |
| medium   | 100 | 100% | 100% | 100% | 100% | 100% |          0 |
| hard     | 100 | 100% | 100% | 100% | 100% | 100% |          0 |
|----------|-----|------|-----|------|-------|-------|------------|
| ALL      | 300 | 100% | 100% | 100% | 100% | 100% |          0 |

## Precision — did we invent any relationship we shouldn't have?

| tier     |   n | xfer | dup | proc | c/fwd | cover |
|----------|----:|-----:|----:|-----:|------:|------:|
| easy     | 100 | 100% | 100% | 100% | 100% | 100% |
| medium   | 100 | 100% | 100% | 100% | 100% | 100% |
| hard     | 100 | 100% | 100% | 100% | 100% | 100% |
|----------|-----|------|-----|------|-------|-------|
| ALL      | 300 | 100% | 100% | 100% | 100% | 100% |

## Confidence banding (transfers)

- Recovered transfers: **1400/1400** (100% (1400/1400)).
- Of those, **1400** clear the HIGH bar (≥ 0.7) → auto-propose; the rest go to the review queue.
- HIGH-confidence share of recovered transfers: **100%**.

## Totals

- Engagements scored: **300** across 100 easy, 100 medium, 100 hard.
- Real distractor rows (precision stress): **38,346**.
- Transfer recall: 100% (1400/1400) · precision: 100% (1400/1400).
- Duplicate recall: 100% (600/600) · precision: 100% (600/600).
- Processor recall: 100% (300/300) · precision: 100% (300/300).
- Carry-forward break recall: 100% (200/200) · Coverage-gap recall: 100% (100/100).
- **False cross-account matches: 0** (gate: 0). False continuity flags: 0.

