Сеть из трёх ломбардов в Украине, 2026. Спецификация готова, внедрение отложено.
Залоги в сети оформляются в PawnExpert: программа нужна для отчётности перед регулятором и остаётся основной. Остальной учёт по каждому отделению ведётся в Excel: касса, скупка металла, продажи, судьба изделий, которые клиент не выкупил. Сводку по сети владелец получает звонками сотрудникам. Куда ушло невыкупленное изделие, видно не сразу, а ручной учёт оставляет место для ошибок и злоупотреблений: расхождения в кассе, заниженный вес при скупке.
До проектирования разобраны выгрузки PawnExpert и таблицы Excel отделений: какие поля есть, где данные расходятся, чего не хватает для сводки. Сразу выяснилось главное ограничение: API у PawnExpert нет, новая система может только читать его экспорт. Правил, которых нет в данных, хватило на девять вопросов владельцу, среди них лимит суммы залога к оценке, бонусы сотрудников и диапазоны цен скупки.
Спецификация написана по стандарту ANSS. Система дополняет PawnExpert: Telegram-бот присылает владельцу сводку по сети в 9:00, алерты по срокам и кнопки, которыми он решает судьбу невыкупленного изделия; веб-приложение даёт сотрудникам с телефона кассу, скупку, учёт изделий и смены. Границы записаны явно: PawnExpert не заменяется, архив из Excel не переносится.
Пять инвариантов держат то, ради чего система нужна владельцу. Без фото изделие не принимается. Один договор нельзя завести дважды. Операции не удаляются, только помечаются с указанием, кто и почему. Маршрут невыкупленного изделия выбирает только владелец. Цена скупки за грамм вне диапазона ждёт его подтверждения. У каждого требования есть критерии приёмки.
Перед разработкой спецификацию прочитал агент Claude Code с правилом: больше трёх проблем, код не пишется. Агент остановился и выдал около 15 замечаний, четыре из них блокирующие: нет реального файла PawnExpert для разбора, в схеме базы не хватает таблиц, на которые уже ссылаются связи, нет формулы расчётного остатка кассы, не описано, что делать с залогом, который пропал из выгрузки. В коде каждое из них обошлось бы переделкой. Обезличенная спецификация и ответ агента опубликованы как пример в репозитории ANSS.
Готовы разбор данных, спецификация с проверкой агентом, прототип экрана сотрудника и предложение по этапам. Внедрение владелец отложил. Система не строилась, замеров нет.
Когда учёт держится на программе без API, обследование начинается с вопроса, какие данные из неё можно получить и в каком виде. Инварианты фиксируют то, что система не должна позволять ни при каких условиях. Проверка спецификации агентом до кода находит ошибки, пока их правка стоит одну строку текста.