---
name: archgate
description: Оценка архитектурного решения по 7 характеристикам ЭМОГССБ (v3 — профиль без агрегатного балла, conjunctive screening). Используй когда пользователь предлагает архитектурное решение, новый инструмент или системное изменение.
argument-hint: "[описание решения]"
---

# АрхГейт v3 — оценка архитектурного решения

Выполни оценку решения: $ARGUMENTS

## Шаг 0. Принципы (ДО оценки)

Сверь решение с принципами 2-го уровня (DP.ARCH.001 §7). Если решение нарушает принцип — сообщи и предложи исправление до подачи на оценку.

## Шаг 1. Два вопроса пользователю (БЛОКИРУЮЩЕЕ)

> **СТОП. Не переходи к шагу 2 без ответа пользователя на ОБА вопроса.**
> Не угадывай за пользователя. Не определяй сам. СПРОСИ и ДОЖДИСЬ ответа.

**Вопрос 1:** «Какие 1–2 характеристики критичны для этого решения?»
Примеры: «auth-компонент → Безопасность», «публичный API → Эволюционируемость + Безопасность».
Пометь ответ — ❌ в критических = немедленный СТОП (правило блокировки #1).

**Вопрос 2 (A.19 Lawful Comparison):** «Какие альтернативы рассматривались?»
- Ответ: ≥2 варианта → сравнительная таблица (шаг 2б).
- Ответ: «нет» / «только этот» → продолжай оценку, но отметь в вердикте (шаг 5): *«Оценка без сравнения — уверенность ниже.»*

**Задай оба вопроса одним сообщением. Дождись ответа. Только потом — шаг 2.**

## Шаг 2. Профиль ЭМОГССБ

Оцени решение по 7 характеристикам. **Без агрегатного балла — только профиль.**

Шкала:
- ✅ **Достаточно** — характеристика удовлетворена для данного контекста
- ⚠️ **Слабо** — риск присутствует, требует митигации или осознанного принятия
- ❌ **Блокер** — характеристика не выполнена на минимально допустимом уровне

| Характеристика | Вопрос | Статус | Обоснование |
|----------------|--------|--------|-------------|
| **Э**волюционируемость | Что сломается при изменении? Можно ли заменить компонент без каскада? | ✅/⚠️/❌ | [конкретно] |
| **М**асштабируемость | Что будет при 10x нагрузки? Где bottleneck? | ✅/⚠️/❌ | [конкретно] |
| **О**бучаемость | Сколько читать, чтобы начать? Экзоскелет или протез? | ✅/⚠️/❌ | [конкретно] |
| **Г**енеративность | Создаёт платформу? Работает в шаблоне экзокортекса? | ✅/⚠️/❌ | [конкретно] |
| **С**корость | Бот <3 сек, CLI <1 сек? Где latency? | ✅/⚠️/❌ | [конкретно] |
| **С**овременность | Как эту задачу решают лучшие? Что пропущено из SOTA? | ✅/⚠️/❌ | [конкретно] |
| **Б**езопасность | Какие угрозы? PII, секреты, injection surface? Lock-in? | ✅/⚠️/❌ | [конкретно] |

### 2б. Сравнительный режим (несколько вариантов)

Если передано ≥2 вариантов — строй сводную таблицу:

| Характеристика | Вариант A | Вариант B | ... |
|----------------|-----------|-----------|-----|
| Эволюционируемость | ✅/⚠️/❌ | ✅/⚠️/❌ | |
| Масштабируемость | ✅/⚠️/❌ | ✅/⚠️/❌ | |
| Обучаемость | ✅/⚠️/❌ | ✅/⚠️/❌ | |
| Генеративность | ✅/⚠️/❌ | ✅/⚠️/❌ | |
| Скорость | ✅/⚠️/❌ | ✅/⚠️/❌ | |
| Современность | ✅/⚠️/❌ | ✅/⚠️/❌ | |
| Безопасность | ✅/⚠️/❌ | ✅/⚠️/❌ | |
| **Вердикт** | ПРОХОДИТ/НЕТ | ПРОХОДИТ/НЕТ | |

Рекомендуемый вариант: наименьшее число ⚠️ при отсутствии ❌ в критических характеристиках.

### Coordination cost check (мультиагентные/мультисистемные решения)

Три условия для multi-agent: (1) context isolation, (2) parallelism gain, (3) tool specialization.
Все три НЕ выполнены → single-agent.

### Чеклист современности (§С)

Приоритетная тройка (всегда):
1. **Context Engineering** (DP.SOTA.002): Write/Select/Compress/Isolate — что в контексте агента?
2. **DDD Strategic** (DP.SOTA.001): BC определён? UL консистентен? Context Map есть?
3. **Coupling Model** (DP.SOTA.011): knowledge/distance/volatility coupling оценены?

Полный справочник: `memory/sota-reference.md`.

## Шаг 3. Вето-фильтр (conjunctive screening)

> Принцип: non-compensatory. Высокий статус по одной характеристике НЕ компенсирует блокер по другой.

Проверь каждое правило явно и выведи результат по каждому отдельно:

**Правило 1. Критические характеристики.**
Перечисли характеристики, помеченные как критические в Шаге 1, и их статус из Шага 2.
Пример: «Безопасность (критическая) → ⚠️ — правило не сработало».
→ Вывод: сработало / не сработало.

**Правило 2. Количество блокеров (❌).**
Перечисли все характеристики со статусом ❌ из Шага 2 (с названиями).
Пример: «❌ не найдено» или «❌ Безопасность, ❌ Эволюционируемость — итого 2».
→ Вывод: [N] блокеров — сработало (N≥2) / не сработало (N<2).

**Правило 3. Соотношение ⚠️ и ✅.**
Перечисли все ⚠️ и все ✅ из Шага 2 (с названиями).
Пример: «⚠️ Эволюционируемость, Современность, Безопасность (3 шт.) | ✅ Масштабируемость, Обучаемость, Генеративность, Скорость (4 шт.)».
→ Вывод: сработало (≥4⚠️ и 0✅) / не сработало.

**Итоговый вердикт:**
- Хотя бы одно правило сработало → **СТОП.**
  > «Решение НЕ проходит АрхГейт. Блокирующие условия: [список]. Рекомендация: [что исправить].»
  Перейди к шагу 5 и завершай.
- Ни одно не сработало → **Решение проходит вето-фильтр** → шаг 4.

## Шаг 4. Доменные расширения (L2)

> L2 = информативный (не блокирующий до обкатки). Полное описание: DP.M.005 §9.

**4a. Определи триггеры:**

| Триггер | L2-характеристика |
|---------|-------------------|
| Формат хранения user-data, схема данных, зависимость от вендора/API | **Переносимость данных** (L2.1) |
| ИИ-система (Зона А), Intervention Loop, недетерминированный компонент | **Наблюдаемость** (L2.2) |
| ИИ-оценка пользователя (квалификация, прогресс, рекомендация, обратная связь) | **Объяснимость** (L2.3) |
| Оценка/измерение (ЦД, метрики, stage, score) | **Воспроизводимость** (L2.4) |
| Автоматическое действие от имени пользователя | **Контролируемость** (L2.5) |
| Миграция данных, хранилище, схема ЦД | **Сохранность знаний** (L2.6) |
| Внешняя интеграция, протокол обмена, MCP Registry | **Интероперабельность** (L2.7) |

Ни один триггер не сработал → пропусти L2, перейди к шагу 5.

**4b. Оцени сработавшие L2 (тоже ✅/⚠️/❌, без числовой шкалы):**

Чеклисты: DP.ARCH.001 §4.8–4.14. Формат:

```
Доменные расширения:
  Триггер: [компонент] → [L2-характеристика]

| [Характеристика] | Статус   | Обоснование |
|------------------|----------|-------------|
| Вопрос 1         | ✅/⚠️/❌ | ...         |
| Вопрос 2         | ✅/⚠️/❌ | ...         |
| Вопрос 3         | ✅/⚠️/❌ | ...         |
| **L2.N итог**    | ✅/⚠️/❌ | Информативно |
```

Вердикт L2: ✅ (нет ❌), ⚠️ (1–2 ❌), ❌ (≥3 ❌) — рекомендация, но не блокирует.

## Шаг 5. Обратная связь

**Если проходит:**
> «Решение проходит АрхГейт.»

Для каждой ⚠️ (L1) — запроси явное решение:
> «[Характеристика] ⚠️. Выбери: (а) принимаю риск — [обоснование]; (б) митигация — [что конкретно].»

Для каждой ⚠️/❌ (L1) → обратная связь по принципам:
- Посмотреть DP.ARCH.001 §7.1 (покрытие принципами)
- Принцип есть, решение противоречит → пересмотреть
- Принцип есть, слабый → усилить
- Принципа нет → предложить (уровень: 2-й = домен, 3-й = ADR)
