## TL;DR
Restore the checkpoint before reading the log: a corrupted Delta transaction log checkpoint means the Parquet checkpoint file is damaged or truncated, so rebuild state from the JSON log files or restore the checkpoint from a backup, and never edit log files by hand. Delta reconstructs table state from the checkpoint plus the JSON entries after it. A bad checkpoint breaks every read even though the data files and the JSON log are intact.

```text
parser failed on delta lake transaction log with corrupted checkpoint error agent failed read
```

## Use this when
- The check or run fails with this symptom: a parser fails on a Delta Lake transaction log with a corrupted checkpoint.
- You are working on an agent or a reader opening a Delta table whose _delta_log checkpoint is damaged and the failure repeats on the same data or configuration.
- You need the failing rows, rule, or stage isolated before changing thresholds or code.

## Not for this skill when
- A table where JSON log entries after the checkpoint are also missing, which is a restore-from-backup case rather than a checkpoint rebuild.
- The error text names a different tool, stage, or root cause. Match the verbatim error first and use that skill.

## Steps
1. Identify the checkpoint version the reader failed on. Verify: the damaged checkpoint file is named
2. List the _delta_log contents and confirm JSON entries exist up to and beyond the checkpoint version. Verify: the rebuild inputs are present
3. Move the damaged checkpoint aside, keeping it for forensics, so readers rebuild state from the JSON entries. Verify: the table opens and returns the expected row count
4. Write a fresh checkpoint by running a Delta optimize or checkpoint operation where the engine supports it. Verify: a new valid checkpoint exists
5. Verify the table reads and a time travel query to an earlier version still works. Verify: history is intact after the repair

## Variant phrasings
### parser failed delta lake transaction log corrupted checkpoint
The shorter phrasing focused on the named failure.
### delta log checkpoint corrupted agent failed read
The symptom phrasing a searcher tries next.
### delta lake corrupted checkpoint repair fix
The variant naming the failing stage or tool directly.

Compatibility: Delta Lake _delta_log layout, Spark and standalone Delta readers

## Why it happens
Checkpoints are Parquet files written periodically to speed up log replay. A truncated write, a storage error, or an interrupted compaction can corrupt one, and because readers start from the checkpoint, one bad file blocks the whole table.

## Edge cases / pitfalls
- Never delete JSON log entries while repairing a checkpoint; they are the only full record of the table history.
- If the table is managed by a catalog or a platform, use its repair or restore path first; manual log surgery can conflict with platform metadata.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_lDSjDK6nM0a8mXnjZolepw
