$npx -y skills add TserenTserenov/FMT-exocortex-template --skill archgateОценка архитектурного решения по 7 характеристикам ЭМОГССБ (v3 — профиль без агрегатного балла, conjunctive screening). Используй когда пользователь предлагает архитектурное решение, новый инструмент или системное изменение.
| 1 | # АрхГейт v3 — оценка архитектурного решения |
| 2 | |
| 3 | Выполни оценку решения: $ARGUMENTS |
| 4 | |
| 5 | ## When to use |
| 6 | |
| 7 | Оценка архитектурного решения по 7 характеристикам ЭМОГССБ (v3 — профиль без агрегатного балла, conjunctive screening). Используй когда пользователь предлагает архитектурное решение, новый инструмент или системное изменение. |
| 8 | |
| 9 | ## Algorithm |
| 10 | |
| 11 | ## Шаг 0. Принципы (ДО оценки) |
| 12 | |
| 13 | Сверь решение с принципами 2-го уровня (DP.ARCH.001 §7). Если решение нарушает принцип — сообщи и предложи исправление до подачи на оценку. |
| 14 | |
| 15 | ## Шаг 1. Два вопроса пользователю (БЛОКИРУЮЩЕЕ) |
| 16 | |
| 17 | > **СТОП. Не переходи к шагу 2 без ответа пользователя на ОБА вопроса.** |
| 18 | > Не угадывай за пользователя. Не определяй сам. СПРОСИ и ДОЖДИСЬ ответа. |
| 19 | |
| 20 | **Вопрос 1:** «Какие 1–2 характеристики критичны для этого решения?» |
| 21 | |
| 22 | Приведи список ВСЕХ 7 характеристик с предварительной оценкой релевантности для данного решения: |
| 23 | |
| 24 | | Характеристика | Моя оценка релевантности | Почему | |
| 25 | |----------------|--------------------------|--------| |
| 26 | | Эволюционируемость | высокая/средняя/низкая | [1 предложение] | |
| 27 | | Масштабируемость | высокая/средняя/низкая | [1 предложение] | |
| 28 | | Обучаемость | высокая/средняя/низкая | [1 предложение] | |
| 29 | | Генеративность | высокая/средняя/низкая | [1 предложение] | |
| 30 | | Скорость | высокая/средняя/низкая | [1 предложение] | |
| 31 | | Современность | высокая/средняя/низкая | [1 предложение] | |
| 32 | | Безопасность | высокая/средняя/низкая | [1 предложение] | |
| 33 | |
| 34 | Рекомендация: «По моей оценке критичны [X] и [Y]. Согласен, или другие?» |
| 35 | Пометь ответ — ❌ в критических = немедленный СТОП (правило блокировки #1). |
| 36 | |
| 37 | **Вопрос 2 (A.19 Lawful Comparison):** «Какие альтернативы рассматривались?» |
| 38 | - Ответ: ≥2 варианта → сравнительная таблица (шаг 2б). |
| 39 | - Ответ: «нет» / «только этот» → продолжай оценку, но отметь в вердикте (шаг 5): *«Оценка без сравнения — уверенность ниже.»* |
| 40 | |
| 41 | **Задай оба вопроса одним сообщением. Дождись ответа. Только потом — шаг 2.** |
| 42 | |
| 43 | ## Шаг 2. Профиль ЭМОГССБ |
| 44 | |
| 45 | Оцени решение по 7 характеристикам. **Без агрегатного балла — только профиль.** |
| 46 | |
| 47 | Шкала: |
| 48 | - ✅ **Достаточно** — характеристика удовлетворена для данного контекста |
| 49 | - ⚠️ **Слабо** — риск присутствует, требует митигации или осознанного принятия |
| 50 | - ❌ **Блокер** — характеристика не выполнена на минимально допустимом уровне |
| 51 | |
| 52 | | Характеристика | Вопрос | Статус | Обоснование | |
| 53 | |----------------|--------|--------|-------------| |
| 54 | | **Э**волюционируемость | Что сломается при изменении? Можно ли заменить компонент без каскада? | ✅/⚠️/❌ | [конкретно] | |
| 55 | | **М**асштабируемость | Что будет при 10x нагрузки? Где bottleneck? | ✅/⚠️/❌ | [конкретно] | |
| 56 | | **О**бучаемость | Сколько читать, чтобы начать? Экзоскелет или протез? | ✅/⚠️/❌ | [конкретно] | |
| 57 | | **Г**енеративность | Создаёт платформу? Работает в шаблоне экзокортекса? | ✅/⚠️/❌ | [конкретно] | |
| 58 | | **С**корость | Бот <3 сек, CLI <1 сек? Где latency? | ✅/⚠️/❌ | [конкретно] | |
| 59 | | **С**овременность | Как эту задачу решают лучшие? Что пропущено из SOTA? | ✅/⚠️/❌ | [конкретно] | |
| 60 | | **Б**езопасность | Какие угрозы? PII, секреты, injection surface? Lock-in? Чеклист §Б ниже. | ✅/⚠️/❌ | [конкретно] | |
| 61 | |
| 62 | ### 2б. Сравнительный режим (несколько вариантов) |
| 63 | |
| 64 | Если передано ≥2 вариантов — строй сводную таблицу: |
| 65 | |
| 66 | | Характеристика | Вариант A | Вариант B | ... | |
| 67 | |----------------|-----------|-----------|-----| |
| 68 | | Эволюционируемость | ✅/⚠️/❌ | ✅/⚠️/❌ | | |
| 69 | | Масштабируемость | ✅/⚠️/❌ | ✅/⚠️/❌ | | |
| 70 | | Обучаемость | ✅/⚠️/❌ | ✅/⚠️/❌ | | |
| 71 | | Генеративность | ✅/⚠️/❌ | ✅/⚠️/❌ | | |
| 72 | | Скорость | ✅/⚠️/❌ | ✅/⚠️/❌ | | |
| 73 | | Современность | ✅/⚠️/❌ | ✅/⚠️/❌ | | |
| 74 | | Безопасность | ✅/⚠️/❌ | ✅/⚠️/❌ | | |
| 75 | | **Вердикт** | ПРОХОДИТ/НЕТ | ПРОХОДИТ/НЕТ | | |
| 76 | |
| 77 | Рекомендуемый вариант: наименьшее число ⚠️ при отсутствии ❌ в критических характеристиках. |
| 78 | |
| 79 | ### Coordination cost check (мультиагентные/мультисистемные решения) |
| 80 | |
| 81 | Три условия для multi-agent: (1) context isolation, (2) parallelism gain, (3) tool specialization. |
| 82 | Все три НЕ выполнены → single-agent. |
| 83 | |
| 84 | ### Чеклист безопасности (§Б) — WP-212 B7.1 |
| 85 | |
| 86 | Применяй при оценке характеристики **Безопасность**. Отвечай на каждый пункт кратко. |
| 87 | |
| 88 | **Auth & Access:** |
| 89 | - Требует ли компонент аутентификации? JWT верифицируется локально (JWKS), не через доверие заголовкам? (ADR-IWE-012) |
| 90 | - Есть ли авторизация (subscription check / RBAC)? Нет — ⚠️. |
| 91 | - Могут ли аргументы инструмента подменить identity пользователя? (например, `user_id` в теле запроса — должен браться из JWT, не из body) |
| 92 | |
| 93 | **Secrets:** |
| 94 | - Есть ли новые |