integration-gate · diff
v1.0.0 to v1.0.0
3 added, 0 removed. Audit A to A.
---
name: integration-gate
description: "IntegrationGate — обязательный чеклист (4 шага) при проектировании нового инструмента, агента, детектора или системы. Загружать при триггерах: новый инструмент / агент / детектор / система / метод / интеграция."
version: 1.0.0
layer: L1
status: active
triggers:
slash: [/integration-gate]
phrases:
- "новый инструмент"
- "новый агент"
- "новая система"
- "новый детектор"
- "новый метод"
- "integration gate"
- "IntegrationGate"
related: [archgate]
---
# /integration-gate — IntegrationGate
> **Триггер:** новый инструмент / агент / детектор / система / метод
> **Приоритет:** БЛОКИРУЮЩЕЕ — пропуск фазы = паттерн P10 (DP.FM.010)
## Чеклист (4 шага — строго по порядку)
> Пропуск фазы → зафиксировать как инцидент: `DS-ecosystem-development/.../C2.3.Operations/Incidents/`
1. **Обещание (Service Clause).** Какое обещание инструмент даёт потребителю?
Создать/обновить `DP.SC.NNN` в `PACK-digital-platform/.../08-service-clauses/`.
Содержит: триггер · входы · выходы · время отклика · инвариант · режим отказа.
2. **Сценарии использования.** Кто запускает? Когда? Зачем? В каком контексте? Что делает с результатом?
Минимум 3 сценария с разными потребителями. Приложить к Service Clause.
3. **Роль.** Какую роль в системе играет инструмент?
Создать/обновить `DP.ROLE.NNN` в `PACK-digital-platform/.../02-domain-entities/`.
Содержит: обязанности · полномочия · связи · входы/выходы как артефакты.
Идентифицировать **Kind** (род) и **Owner Role** (кто владеет в надсистеме). Шаблон: DP.D.033.
4. **Реализация.** Только после (1)–(3).
Код · тесты · регистрация в hooks/config · smoke-test.
Заголовок реализации: `# see DP.SC.NNN, DP.ROLE.NNN`
## Исключения (IntegrationGate НЕ нужен)
- Правка существующего инструмента без изменения его обещания.
- Bugfix без изменения поведения снаружи.
- Рефакторинг (переименование, реорганизация) без функциональных изменений.
- Экспериментальный скрипт на один запуск (если запускается повторно — уже инструмент).
+ <!-- USER-SPACE -->
+ <!-- /USER-SPACE -->
+