# Finding: seizure records attributed to the wrong species

**Status:** corrected in the rebuild. Retained rows show the taxon name the
source reported, so attribution can be checked rather than trusted.

## Precedent

Reviewer 1 found that reference lists were identical across species pages. That
class of defect, content bound to the wrong species identifier, was then
hunted in the seizure table, where the same pattern was present and had never
been reported.

## What was wrong

Seizure rows were filed under a species based on a genus-level or otherwise
loose match. The reported taxon name on the row often named a different species
from the one the row was attributed to.

## Arithmetic (three different numbers)

| | |
|---|---|
| Rows in the source CSV | 919 |
| Kept: reported taxon matches the attributed species | 225 |
| Rejected: reported taxon is a different species | 694 |

225 + 694 = 919.

The previous live table showed 742 rows. That figure was built by a different
path (a 2025-10 hotfix corrected polar bear contamination only). The drop from
that earlier live count to the retained set of 225 is 517. That delta answers a
pipeline question. It is not the same quantity as the source rows rejected for
naming a different taxon (see the 694 in the table above). Those two figures
must not be narrated as one arithmetic.

## What the rebuild does

Only rows whose reported taxon matches the attributed binomial, a subspecies of
it, or a frozen alias are retained. Each retained record displays
`reported_taxon_name`. Quantities in the source are unitless, so no seizure
total is offered: a count of records is the only honest aggregate.

## Related

- Application: `/changes#illegal-trade`
- Deposit: `tables/illegal_trade_seizures.csv` (225 rows)
- Loader evidence: `illegal_trade_decontamination.json` in the API repository
