Validation failure messages appended on each failure.
Every message must include context so the LLM can locate the problem: which section/task, what is wrong, what to do. Caller checks issues == "" for success.