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

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