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