Repository navigation
Mayak 1.1.0
Mayak стал компактнее, а обязательные локальные проверки теперь исполняют SQL в настоящем
PostgreSQL. В релиз входят извлечение образца из создаваемого проекта, быстрый гейт при
редактировании, исправления конфигурации и агентных сценариев, защита логов и руководство
по обновлению существующих сервисов.
Насколько похудел шаблон
Одинаковый подсчёт Git-снимков v1.0.0 (f2f4b86) и кода перед релизом 2e2f0dc:
| Метрика | 1.0.0 | 1.1.0 | Изменение |
|---|---|---|---|
| Непустые строки Python во всём шаблоне | 38 350 | 29 226 | −23,79% |
| Исполняемые строки Python во всём шаблоне | 28 622 | 23 703 | −17,19% |
Исполняемая обвязка: scripts + ai_context + ai_query |
10 316 | 6 161 | −40,28% |
| Непустые строки Python в тестах | 18 575 | 14 957 | −19,48% |
Исполняемый runtime в project/ |
4 488 | 4 592 | +2,32% |
Главное сокращение — в инструментарии, навигационных слоях и обслуживании шаблона. Runtime
получил дополнительные проверки и исправления. Исполняемые строки считаются одним
validation_support.line_metrics.compute_module_metrics для обеих версий: комментарии,
docstrings и пустые строки не входят. Непустые строки считаются отдельно и включают документацию
в Python. Все пути берутся из Git; локальные окружения, кэши и результаты тестов не учитываются.
Версионный commit меняет manifest/lock и документацию, поэтому эти Python-счётчики не меняются.
Созданный из нового шаблона чистый проект наследует 21 382 непустые строки Python, включая
сохранённый scaffold; потолок — 22 000. Это метрика извлечённого проекта, её нельзя смешивать
с размером полного репозитория. Образец и тесты самого шаблона больше не остаются в runtime
сервиса после make init-project.
Сколько токенов удалось сэкономить
В завершённом мини-бенче сценария T1 — создание каркаса, вертикалей тренеров/залов и удаление
образца — новый пакет расходовал меньше токенов во всех пяти парах:
- −41,45% токенов по медиане пяти пар: считается ввод + вывод учтённых прогонов агента.
- −21,15% времени по медиане пяти пар: по полю
agy_secondsучтённых запусков; это не полный срок разработки. - Изменения токенов по отдельным парам: −41,45%, −27,06%, −51,79%, −47,78%, −2,41%.
Это сравнение f2f4b86 с проверявшимся пакетом 3dbf7b5, а не новый замер финального тега
1.1.0. Менялись вместе код, структура, пример вертикали, проверки и инструкции; экономию
нельзя приписать одной правке текста. Метрика не включает cache-read, отброшенные попытки,
проверяющих и общую денежную стоимость. В дополнительных сценариях T2/T3 устойчивый сигнал
экономии не получен. Корпус — 22 запуска: 5 пар T1, по 3 пары T2/T3.
Полная приёмка T1, включающая чувствительность тестов к поломкам: старый вариант 0/5,
новый 3/5. У двух новых продуктов контроль сломался на зависимости теста от локального
порта. Формальный вердикт предварительно заданного протокола по всем трём задачам остался
«не доказано». Поэтому измеренное сокращение токенов — результат конкретного T1;
универсальная экономия 41% для любого проекта не заявляется.
Счётчики и агрегаты измерений сохранены отдельно.
Что улучшилось
make gate-fastдаёт форматирование, lint, типы и архитектурные проверки во время работы;
make quality-gatesсохраняет полный контроль, включая настоящий PostgreSQL и миграции.- Образец автоматически переносится в scaffold при инициализации собственного проекта;
извлечение также убирает тесты/инструменты шаблона и ненужную ему CI job. История миграций
сохраняется, удаление таблицы добавляется отдельной миграцией. - Рекомендации для вертикалей требуют контрастных данных, проверки записанного результата,
защиты каждого пути записи и явного контекста для живой модели. Пример LLM-цикла исполняет
все tool calls из одного ответа; opt-out тестов сохраняется после форматирования Ruff. - PostgreSQL DSN сохраняет пробелы и спецсимволы реквизитов, имена баз и IPv6 через реальные
libpq/SQLAlchemy-парсеры. Слабый тест пароля заменён точным сравнением параметров. Также
исправлены OpenAPI 422, статус 500 в трассах, ловля malformed LLM replies, проверки startup
до миграций, сценарии lifecycle и достоверность mutation runner. - Обновлён urllib3 в lock; логи скрывают чувствительные значения. В
руководстве обновления перечислены адресные проверки и пути переноса
исправлений в существующие сервисы. Автоматического обновления чужой копии нет.
Проверка
На коде с финальными исправлениями PR #41: 1 202 теста прошли, один пропущен,
покрытие 90,38%; Docker e2e и извлечённый проект прошли. Все 18 GitHub-проверок PR #41
зелёные. Версионный commit 1.1.0 проходит проверки отдельно перед публикацией.
Дополнительно из main с локальным исправлением DSN собраны два самостоятельных сервиса:
RoomPilot и SupportPilot. Чистые Git-копии прошли 1 309 локальных тестов и 18 Docker e2e,
запросы к настоящей модели RouterAI и независимые проверки Sol. Эти продукты содержат
собственные бизнес-правила, бюджет времени и agent loop; их частные доработки не объявляются
автоматически частью шаблона. Эти результаты не заменяют сертификацию production-среды
или широкую оценку качества/доступности модели.
Обновление
Новый проект: используйте тег v1.1.0, выполните make init-project и замените его identity
по навыку initialize-project. Для существующего сервиса начните с
docs/upgrades.md: перенесите необходимые изменения, затем выполните
make quality-gates, а после endpoint/wiring/migration изменений — make test-e2e.