58 lines
2.1 KiB
Markdown
58 lines
2.1 KiB
Markdown
# Версионирование
|
|
|
|
## Проект: 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 файле (`<!-- checksum: ... -->`)
|
|
3. Не совпал → авто-бамп patch → запись в `CHANGELOG/agents/<name>.md` → обновление checksum
|
|
4. EvolutionAgent управляет minor/major бампами
|
|
|
|
### Changelog агента
|
|
|
|
```markdown
|
|
# audit_agent Changelog
|
|
<!-- checksum: e3b0c44298fc1c149afbf4c8996fb924 -->
|
|
|
|
## 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/<name>.md` |
|