← назад к методологии · уровень 0 из 3 (нижняя ступень)
Что это
Уровень 0 — спецификация, восстановленная из существующего кода без бизнес-брифа. Не целевое проектирование, а снимок «как сейчас»: что реально лежит в репозитории — таблицы, эндпоинты, статусы, интеграции, проверки. Это отправная точка, когда сервис уже есть, а описания нет.
Остальные уровни (1 Слоёный, 2 Use Case Pattern, 3 DDD + Hexagonal) — это куда движемся от бизнес-брифа. Уровень 0 — это откуда стартуем, если кода уже много, а спеки никакой.
Когда подходит
- Brownfield-сервис в проде, бизнес-брифа и спеки нет — нужен онбординг.
- Перед миграцией на UCP: сначала зафиксировать «как сейчас», потом решать, куда расти.
- Аудит чужого/унаследованного кода: структурированное описание вместо россыпи README.
Как получается
Спеку Уровня 0 генерирует скилл ucp-spec-tier-0 — читает Java-исходники, миграции, application.yml, OpenAPI, тесты и собирает спеку в том же формате, что и проектируемая:
- Только факт из кода. Скилл не выдумывает агрегаты, акторов, цели команд или типы Context Mapping там, где их нет, и не классифицирует код как «правильный/неправильный».
not-declaredдля пробелов. Чего в коде не выражено (актор команды, идемпотентность, SLA, владелец данных) — помечается литераломnot-declared. Это явный gap-сигнал, а не пустота: подсвечивает, что уточнить при миграции.- Наблюдаемая архитектура — прозой. Если в коде есть
usecase-pattern/агрегаты/порты, скилл отмечает это как кандидата на Уровень 2/3 при миграции, но сам as-is остаётсяlevel: 0. level: 0во frontmatter, заголовок несёт(Уровень 0, as-is).
Что фиксируется в спеке
Та же раскладка, что на любом уровне: корень контекста + по файлу на домен-юнит в aggregates/. Глубину разделов диктует код: для anemic-модели §Доменная модель = таблицы из миграций; §Доменные события — пометка «не публикует», если KafkaTemplate.send/@SendTo не найдены. Техника (схема БД, стек, топики) — в §Техническая реализация.
Куда дальше
Уровень 0 — не место для жизни, а точка отсчёта. Дальше команда:
- Читает as-is спеку для онбординга — что сервис реально делает.
- Заменяет
not-declaredна реальные бизнес-факты (уже с брифом). - Через
ucp-spec-designпереводит спеку на целевой уровень — 1 Слоёный, 2 Use Case Pattern или 3 DDD + Hexagonal — и постепенно подтягивает код.
Что почитать рядом
- Use Case Pattern (методология) — уровни зрелости в общей картине.
- Формат Use Case спецификации — единый формат для всех уровней.
- Скиллы UCP — каталог и установка — где живёт
ucp-spec-tier-0.