montana/Монтана-Протокол/Агенты/КАРТА-РОЛЕЙ.md

124 lines
4.9 KiB
Markdown
Raw Permalink Normal View History

# Карта ролей Montana
**Версия:** v1.0.0
**Аудитория:** ИИ-агент. Помогает выбрать правильную роль для задачи.
---
## Дерево решений
```
Какая у тебя задача?
├── Изменить спецификацию протокола (Montana v35.23.0.md)?
│ ├── Дизайн нового механизма / расширение → 01-АРХИТЕКТОР-СПЕКИ.md
│ └── Найти проблемы в существующем дизайне → 02-КРИТИК-СПЕКИ.md
├── Изменить Rust код (Код/crates/)?
│ ├── Реализация / новый крейт / новая фича → 03-АРХИТЕКТОР-КОДА.md
│ └── Code review / security audit → 04-КРИТИК-КОДА.md
├── Реализовать Montana на другом языке (Go/TS/Swift)?
│ └── Green-field implementation → 05-РЕАЛИЗАТОР-ПОРТА.md
├── Внешний security audit perspective (NCC Group / ToB / Cure53)?
│ └── External auditor mindset → 06-АУДИТОР-ВНЕШНИЙ.md
└── Координация нескольких агентов?
└── КООРДИНАТОР.md (метароль)
```
---
## Цепочка работ (стандартный workflow)
### Изменение спеки
```
01-АРХИТЕКТОР-СПЕКИ изменяет спеку
02-КРИТИК-СПЕКИ ищет проблемы (≥3 prowls: cumulative, regression, premise)
01-АРХИТЕКТОР-СПЕКИ закрывает findings
bump версии (v35.X.0 → v35.Y.0)
переименование файла (Montana v35.X.0.md → Montana v35.Y.0.md)
git commit (формат: "Протокол: spec bump v35.X.0 → v35.Y.0 — описание")
03-АРХИТЕКТОР-КОДА реализует (если breaking)
04-КРИТИК-КОДА ревьюит
git commit + push
```
### Изменение кода (без спеки)
```
03-АРХИТЕКТОР-КОДА изменяет крейт
cargo test / clippy / fmt — local
04-КРИТИК-КОДА ревьюит
03-АРХИТЕКТОР-КОДА fixes
git commit (формат: "<crate>: описание")
post-commit test block (markdown ссылки + cargo test + git log)
push
```
### Green-field implementation на новом языке
```
05-РЕАЛИЗАТОР-ПОРТА читает спеку + KAT vectors из mt-conformance
реализует byte-exact на target языке
запускает все KAT vectors против своей реализации
если хоть один KAT fails — STOP, обращение к 02-КРИТИК-СПЕКИ для уточнения
external test против Rust mt-conformance (cross-implementation)
PR в новый repo (например, montana-go)
```
### External audit
```
06-АУДИТОР-ВНЕШНИЙ читает спеку + audit-checklist + код
формализует findings в формате audit firm
готовит scope для NCC Group / ToB / Cure53
докладывает координатору / автору
```
---
## Когда какую роль НЕ использовать
- **01-АРХИТЕКТОР-СПЕКИ** — НЕ для code changes (используй 03)
- **02-КРИТИК-СПЕКИ** — НЕ для code review (используй 04)
- **03-АРХИТЕКТОР-КОДА** — НЕ меняет спеку (только реализует)
- **04-КРИТИК-КОДА** — НЕ для дизайн-вопросов (это к критику спеки)
- **05-РЕАЛИЗАТОР-ПОРТА** — НЕ для модификаций Rust кода (используй 03)
- **06-АУДИТОР-ВНЕШНИЙ** — НЕ для internal review (используй 02 + 04)
---
## Параллельная работа
Несколько агентов могут работать параллельно если:
- ✅ они в разных файлах (например, 01 правит спеку, 03 правит крейт mt-net независимо)
- ❌ они в одном файле (race condition по тексту — координация обязательна)
- ❌ один агент редактирует, второй ревьюит — критик ждёт завершения архитектора
См. `КООРДИНАТОР.md` для подробного протокола взаимодействия.
---
**Следующий шаг:** загрузи нужную роль (`01-..` — `06-..`) как системный промпт.