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

124 lines
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Карта ролей 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-..`) как системный промпт.