Короткий апдейт. Первая статья была про спеку и архитектуру до первой строчки кода — вот что произошло дальше.
В первой статье я пообещал: следующий пост — когда появится работающий код, вебхук ответит «Привет», событие запишется в базу. Обещание выполнено.
Что сделал агент, прежде чем писать код
Я написал «что дальше?» — и агент сам прочитал спеку, roadmap и GitHub Issues, сформулировал план итерации 0 и перешёл в режим реализации. Без «какой фреймворк выбрать?» и «куда класть файлы?»: он знал ответы, потому что они были в SPEC.md и vibepp.yaml.

Примерно через 30 минут: docker compose up --build, 17 шагов сборки, все сервисы поднялись.

Затем я поднял ngrok, зарегистрировал вебхук через npm run max:subscribe (скрипт, который агент написал чуть позже) — и нажал «Старт» в боте.


Мелочь, которую я чуть не пропустил
Pre-commit хук check-spec сработал ещё раньше — при коммите скрипта регистрации вебхука агент увидел в терминале INV=11, events=11, iterations=8 — OK и спокойно продолжил. Я не обращал внимания, пока специально не проверил.

Это именно то, ради чего мы писали скрипты check-spec.mjs и check-git-policy.mjs — агент сам проверяет, что не сломал инварианты спеки перед каждым коммитом.
Issue закрыт, PR смерджен


Следующая итерация — Event Core: полный контракт событий по vibepp, идемпотентность по max_update_id, property-based тесты на инварианты. Ветка feat/iter-1.
Репозиторий: github.com/Quantum-Insight-Lab/aeon_map_system
Первая статья (архитектура, event sourcing, зачем 700-строчный YAML): https://habr.com/ru/articles/1027210/