# Версионирование ## Проект: SemVer ``` MAJOR.MINOR.PATCH ``` - **MAJOR**: несовместимые изменения API - **MINOR**: новая функциональность (обратно совместимо) - **PATCH**: исправления багов CHANGELOG: `CHANGELOG/v1.0.md`, `CHANGELOG/v1.1.md` и т.д. ## Агенты: независимое A.B.C + SHA256 Каждый агент версионируется независимо по схеме **A.B.C**. ### Правила бампа | Компонент | Когда меняется | Кто меняет | |-----------|---------------|------------| | **A (major)** | Breaking change в публичном интерфейсе | EvolutionAgent | | **B (minor)** | Новая capability (метод, роль, prompt) | EvolutionAgent | | **C (patch)** | Внутренние правки, без изменения поведения | Агент (авто) | ### Механика авто-детекта 1. Агент запускается → SHA256 своего `__file__` 2. Сравнивает с хранимым checksum в changelog файле (``) 3. Не совпал → авто-бамп patch → запись в `CHANGELOG/agents/.md` → обновление checksum 4. EvolutionAgent управляет minor/major бампами ### Changelog агента ```markdown # audit_agent Changelog ## 1.0.2 (2026-05-10) - Fixed: описание исправления ## 1.0.1 (2026-05-09) - Fixed: ещё одно исправление ## 1.0.0 (2026-05-08) - Initial version ``` ### Разделение ответственности | Аспект | Владелец | Где хранится | |--------|----------|--------------| | Версия проекта | SpecAgent / человек | `project.json`, `CHANGELOG/v*.md` | | Версия агента | EvolutionAgent | `AgentConfig.version` (БД) | | Changelog проекта | SpecAgent / человек | `CHANGELOG/v*.md` | | Changelog агента | EvolutionAgent | `CHANGELOG/agents/.md` |