What problem does it solve? Build, lint, and test commands produce walls of output that agents must reread after every fix. diag runs the command under an enforced timeout, normalizes the output into a fixed diagnostic shape, persists the run, and diffs it against the previous run of the same command so you only see what is new and what got fixed. ## Core Features & Use Cases - Run-Parse-Persist-Diff Loop: Wrap any build/test/lint command in diag run -- and get new/fixed/unchanged counts instead of the full log on reruns. - Format Adapters: Auto-detects parsers for tsc, eslint JSON, node --test, pytest/ruff/flake8, and a generic path:line:col: severity shape, with an honest unparsed status when nothing matches. - Timeout Enforcement: Commands that hang (watchers, stuck tests) are killed after --timeout and reported as real failures instead of silence. - Use Case: After fixing a TypeScript error, rerun diag run -- npx tsc -p . --noEmit and read new: 0 fixed: 3 unchanged: 2 instead of scrolling the entire compiler output again. ## Quick Start Run my TypeScript check through diag so that on the next run I only see which diagnostics are new or fixed.