Открыл спецификацию, которую сам писал в июне, и не смог объяснить, почему суммы там хранятся в копейках целым числом.
Я точно знаю, что это было осознанное решение. Помню даже смутный контекст: что-то про расхождения в отчёте. Но почему выбрали именно такой вариант, какие альтернативы рассматривали и что конкретно хотели этим закрыть — уже нет.
В спецификации от всей этой истории осталась одна строчка:
«система хранит сумму платежа»
И вот тут я поймал довольно неприятную вещь. Спецификация хорошо сохраняет что мы решили, но очень часто теряет почему мы так решили.
Таких микрорешений на нормальном проекте десятки. Пока документ читает человек, часть контекста ещё можно восстановить по переписке, памяти команды и сакральному «мы же это обсуждали». С агентом этот фокус работает гораздо хуже: если причины нет в контексте, он её не восстановит. Он просто достроит наиболее правдоподобную — и в следующий раз вполне может достроить другую.
Поэтому я завёл Decision Log. Девять полей, из них четыре обязательных, на запись обычно уходит около минуты. Файл лежит рядом с остальным контекстом проекта, а из спецификации на конкретные решения можно ссылаться по ID.
Получается довольно простое разделение: спецификация хранит, что система должна делать. Decision Log — почему мы решили делать именно так.
Скучная дисциплина на минуту сегодня, которая через три months экономит час археологии. А с агентами, кажется, становится вообще обязательной частью проектного контекста.
Шаблон, YAML-версия и заполненный пример:https://analystcraft.ru/blog/decision-log-analitika?utm_source=tg_spherical&utm_medium=social&utm_campaign=lm03_decision_log&utm_content=20260815-decision-log

Дискуссия