problems property

List<String> problems
final

What was wrong, each written for a person to read and fix.

Strings rather than structure, deliberately. Nobody has asked to branch on a problem's identity — the consumer prints them and counts them — and starting with strings makes a structured version an addition rather than a replacement. See dry-run-json.md.

Implementation

final List<String> problems;