# Diagnosing

What is wrong, stated before you ask for it to be fixed.

## Across the two shapes

A verb is implemented once per shape, not once per format. That is why a CSV gets the same tools as a webhook payload: both collapse to one of two shapes before any verb runs.

How the shapes differ for lint: rules come from the adapter.

- document · JSON, YAML, XML
- records · NDJSON, CSV, TSV, Markdown table, Log

## Which formats lint beyond parsing

- JSON · extra diagnostics
- YAML · extra diagnostics
- XML · extra diagnostics
- NDJSON · parse errors only
- CSV · extra diagnostics
- TSV · extra diagnostics
- Markdown table · extra diagnostics
- Log · parse errors only

---

Canonical: https://unstringify.com/docs/lint
