## TL;DR
Rebuild the index from the source of truth instead of repairing parsed ids: a run_id extracted with a fragile pattern, from wrapped log lines or truncated output, corrupts silently and then every lookup against the index misses. Parse ids with a strict pattern for the full id format, validate each against the tracking server, and drop or re-fetch entries that fail validation before the dedupe pass runs.

```text
agent failed to deduplicate experiment runs because run_id parsing error corrupted the index
```

## Use this when
- The run or call fails with this symptom: agent failed to deduplicate experiment runs because a run_id parsing error corrupted the index.
- You are working on an agent deduplicating experiment runs using an index built from parsed output and the failure repeats on the same run or configuration.
- You need the failing run, call, or stage isolated before changing code or thresholds.

## Not for this skill when
- An index corrupted at the storage layer rather than parse time, where the fix is the store's integrity rather than the parser.
- The error text names a different tool, stage, or root cause. Match the verbatim error first and use that skill.

## Steps
1. Sample entries from the index and validate their id format strictly: length and character set of a real run id. Verify: malformed entries are counted and shown
2. Trace the parsing source, usually log scraping or CSV splitting, and find where ids get truncated, merged, or wrapped. Verify: the corruption point is identified
3. Rebuild the index by querying the tracking server for run ids directly instead of parsing secondary output. Verify: the new index contains only server-issued ids
4. Validate a sample of lookups against the server, then rerun the deduplication and compare its counts with the tracker. Verify: dedupe results match the server's run list

## Variant phrasings
### agent deduplicate runs run_id parsing corrupted index
The verbatim phrasing.
### run id parse error dedupe experiment runs agent
The parse phrasing.
### agent run index corrupted rebuild from mlflow server
The rebuild phrasing.

Compatibility: Agent tooling that parses MLflow run identifiers from logs or exports

## Why it happens
Deduplication is only as sound as the identity it groups by. A parser that mangles even a few ids creates phantom distinct runs and merges real ones, and because the corruption is silent, the dedupe output looks authoritative while being wrong in both directions.

## Edge cases / pitfalls
- Ids in wrapped terminal output split across lines; capture structured output from the API wherever possible.
- Keep the raw source beside the index so a rebuild can be audited against it.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_zbm-1Z0Xv6ZoFiVnUB1m4g
