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