Позвольте модели заполнять данные, а не писать документ
Агент, которому поручено написать контракт, придумывает макет, пункты и иногда цифры. Дайте ему шаблон вместо этого: он запрашивает у шаблона необходимые поля, заполняет JSON‑скелет из ваших заметок, а движок рендерит документ.
Что нужно этому шаблону? Спросите его.
Большинство ошибок шаблона связаны с отсутствующим полем, незакрытым блоком или неправильным синтаксисом заполнителя. Агент, который сначала читает шаблон и получает ошибки, на которые можно реагировать, исправляет их за один проход вместо пяти.