Files
brain/docs/routing-off-phase.md
T

140 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Routing-аид: задача → off-phase узел
> **Назначение.** Quick-reference: триггер задачи → какой off-phase узел тулчейна
> взять (Tooling §4.11–§4.42). Закрывает пробел SYSTEM-аудита 18.05.2026 (Rec3):
> 30 off-phase инструментов регулировались плоским 3-блочным реестром PSR_v1 R10.1
> без матрицы «задача → узел».
>
> **Scope.** Только off-phase (#31#67 + ruflo, infrastructure). Активные фазовые
> инструменты (#1#29 + #30 Frontend Design) — карта CLAUDE.md §3.1/§3.2/§3.4.
> Superpowers-skills и hard-rules — Pravila §12.2 (не дублируется здесь).
>
> **Источник истины.** Tooling §4.X (детальное описание каждого узла), Pravila §13.2
> (категоризация off-phase), PSR_v1 R10.1 (3-блочный реестр ролей).
>
> **Версия.** 1.7 (14.06.2026 — research-tooling: +3 строки routing #87-#89 (классификация `research`) + связка L17 (research chain), ADR-019; узлы perplexity/exa/firecrawl, 20-я off-phase подкатегория). 1.6 (22.05.2026 — C1 marketing-tooling: +10 строк routing #74-#83 + связка L16 (marketing chain), ADR-015). 1.5 (21.05.2026 — A8 install-sync: #68 ZAP + #70 Ward установлены портативно → строки routing #68/#70 обновлены, статус pending install снят, setup-доки `docs/security/{zap,ward}-setup.md`). 1.4 (21.05.2026 — A8 infosec-tooling: +6 строк routing #68-#73 + связка L15 (security go-live chain), ADR-014; #69 Nuclei/#70 Ward — CLI (не MCP), #68 ZAP/#70 Ward pending install. 1.3 (20.05.2026) — A1 backend-tooling: +4 строки routing #64-#67 + связка L14 + scope §4.11→§4.42, ADR-013. v1.2 — finance-tooling: +3 строки routing #61-#63 + связка L13 + scope, ADR-012. v1.1 18.05.2026 вечер — аудит дисциплины R15: +строка «диагностика
> конверсии» → process-analysis #53 (M3); +note про UI-пул #31/#32 как делегирующие
> строки, не R15-routed (M1). v1.0 — Rec3 SYSTEM-аудита). Триггеры — формулировки
> заказчика или явные ключевые слова в промпте.
---
## Таблица routing
<!-- auto:routing-table:begin -->
<!-- This block is auto-generated from docs/registry/nodes.yaml. Do not edit by hand. -->
| Классификация | Рекомендуемый узел | Вес |
|---|---|---|
| `analysis` | #25 Semgrep + Semgrep MCP | 1 |
| `analysis` | #39 Trail of Bits Skills | 1 |
| `analysis` | #53 process-analysis | 1 |
| `bugfix` | #18 Pest 4 | 1 |
| `bugfix` | #34 Sentry MCP | 1 |
| `bugfix` | #19 Superpowers v5.1.0 | 0.8 |
| `cleanup` | #11 Laravel Pint | 1 |
| `cleanup` | #12 Larastan | 1 |
| `feature` | #19 Superpowers v5.1.0 | 1 |
| `knowledge_graph_query` | #86 graphifyy | 1 |
| `marketing` | #74 marketing | 1 |
| `marketing` | #75 marketingskills | 1 |
| `marketing` | #76 brand-voice | 1 |
| `marketing` | #77 marketing-ru | 1 |
| `marketing` | #78 Яндекс.Метрика MCP | 1 |
| `marketing` | #79 Яндекс.Директ+Wordstat MCP | 1 |
| `marketing` | #80 Telegram MCP | 1 |
| `marketing` | #81 Postiz | 1 |
| `normative_sync_needed` | #84 normative-sync | 1 |
| `planning` | #19 Superpowers v5.1.0 | 1 |
| `planning` | #41 CCPM | 1 |
| `planning` | #42 product-management | 1 |
| `prod_deploy_imminent` | #85 prod-deploy-validator | 1 |
| `refactor` | #11 Laravel Pint | 1 |
| `refactor` | #12 Larastan | 1 |
| `refactor` | #43 deptrac | 1 |
| `refactor` | #64 Rector | 1 |
| `refactor` | #65 PHP Insights | 1 |
| `refactor` | #19 Superpowers v5.1.0 | 0.8 |
| `research` | #87 perplexity MCP | 1 |
| `research` | #88 exa MCP | 1 |
| `research` | #89 firecrawl MCP | 1 |
| `security` | #68 OWASP ZAP | 1 |
| `security` | #69 Nuclei | 1 |
| `security` | #70 Ward | 1 |
| `security` | #71 pdn-152fz-audit | 1 |
| `security` | #72 threat-model | 1 |
| `security` | #73 security-go-live | 1 |
<!-- auto:routing-table:end -->
> **† UI-пул (#31 UPM / #32 21st) — делегирующие строки.** R15.6 явно: к UI-пулу R15
> не применяется — это UI-задачи по природе, их ведёт R14 pipeline. Строки выше —
> не off-phase routing, а указатель «иди в R14», включены для полноты единого
> reference. Фактический регламент UPM/21st — PSR_v1 R14.3/R14.4, не эта таблица.
---
## Канонические связки 2+ узлов
> Закрывает Rec4 SYSTEM-аудита 18.05.2026 («сводного списка рекомендованных комбо
> нет — синергия размазана по 125 полям `together` в NODE_DETAILS карты»).
> Здесь — 12 цепочек, где совместная работа узлов даёт эффект сильнее суммы. UI-рендер
> панели «🔗 Связки» на карте — отдельный future iter; данные ниже — основа для него.
| # | Цепочка | Зачем |
|---|---|---|
| L1 | `discovery-interview` (FEATURE) → `brainstorming``writing-plans``subagent-driven-development` | Полный цикл от боли заказчика до атомарных коммитов. Передаёт discovery-brief в brainstorming без re-asking; план потом исполняется параллельными субагентами. |
| L2 | `discovery-interview` (SYSTEM) + `audit-portal` | Ориентация по состоянию (где мы) + вердикт здоровья портала. Snapshot 18.05 — пример L2 в действии. |
| L3 | `process-analysis` (#53) ↔ `process-modeling` (#52) | As-is из кода ↔ to-be BPMN. Парная работа: #53 вскрывает узкое место, #52 моделирует целевую схему. Разрез по слою-источнику — ADR-009. |
| L4 | `mermaid-skill` (#37) ← `adr-kit` (#36) / `process-modeling` (#52) / `operations` (#51) | Mermaid рендерит C4 / BPMN / process-doc для трёх потребителей. Single source of truth для диаграмм. |
| L5 | `adr-kit` (#36) + `architecture-patterns` (#38) + `deptrac` (#43) | Архитектурный треугольник: решение → паттерн-обоснование → fitness-контроль (статический enforcement через lefthook job 10). |
| L6 | `Trail of Bits` (#39) + `Semgrep MCP` (#25) + `Security Guidance` (#40) + `/security-review` | Слоистый security: блокирующий PreToolUse-хук на правке → inline SAST → on-demand глубокий аудит → review всего бренча. TB1 / SG1 — границы. |
| L7 | `openapi-mcp-server` (#47) + `api-docs agent` + `Boost MCP` (#10) | Интеграционная разработка: спека-introspection + генератор спеки + Laravel API. Раздел A3 карты. |
| L8 | `systematic-debugging` + `Sentry MCP` (#34) + `Redis MCP` (#35) | Runtime-баги: ≥3 гипотезы → факты из production (Sentry) + factual из очередей/кэша (Redis). Snapshot указал как недоиспользуемую связку. |
| L9 | `CCPM` (#41) + `product-management` (#42) + `GitHub MCP` (#3) | PRD → эпики → GitHub issues. CCPM делает трассируемость; product-management — продуктовые церемонии; GitHub MCP — issue/PR-операции. |
| L10 | `promptfoo` (#48) + `Data Scientist skill` (#49) + `claude-api skill` (Sonnet 4.6 SDK) | LLM-фича: eval LLM-промптов + ML-воркфлоу + Anthropic SDK. ML1 — promptfoo только вручную/CI. |
| L11 | `skill-creator` (#56) + `hookify` (#58) + `plugin-dev` (#57) | Расширение Claude-инфраструктуры: ≥3 повторений workflow → новый скил / ошибка повторяется → новый хук (HK1 pre-check) / задача требует плагина → plugin-dev. |
| L12 | `claude-md-management` (#33) + `revise-claude-md` skill | Захват session-learnings → CLAUDE.md update. Единственный канал §5 п.10. |
| L13 | `billing-audit` (#62) + `Pest` (#18) + `Boost` (#10) + `Sentry`/`Redis` (#34/#35) → `ru-tax-accounting` (#63) | Финансовая цепочка: аудит денежных инвариантов кода (billing-audit) тестами (Pest) на моделях (Boost) с runtime-фактами (Sentry/Redis) → перевод выверенной выручки в учётно-налоговый контекст (ru-tax). C6→C7. Граница — ADR-012. |
| L14 | `Rector` (#64) → `PHP Insights` (#65) → `Larastan` (#12) → `deptrac` (#43) | backend-quality chain: авто-трансформация кода (Rector) → метрики сложности/архитектуры (PHP Insights) → типовой статанализ (Larastan) → fitness направления слоёв (deptrac). Все на одном PHP-коде, разные оси. Anti-pattern: Rector-автоправка и PHP Insights-метрика — разные фазы, не один блокирующий шаг (ADR-013). |
| L15 | `security-go-live` (#73) → статика (`gitleaks` #8 / `Semgrep` #25 / `Ward` #70 / `Trail of Bits` #39) → `pdn-152fz-audit` (#71) → `threat-model` (#72) → динамика (`Nuclei` #69 широта → `OWASP ZAP` #68 глубина, цель 127.0.0.1 IS8) | security go-live chain: единый прогон перед публикацией → вердикт GO/NO-GO. #73 оркеструет, не заменяет D3 (IS7). Anti-pattern: ZAP/Nuclei в pre-commit хук (тяжёлые, нужна запущенная цель); #73 ≠ audit-portal (полный 14-фазный аудит). ADR-014. |
| L16 | `brainstorming``marketing` (#74) → `marketing-ru` (#77) → каналы (#78 Метрика / #79 Wordstat / #80 Telegram / #81 Postiz) | marketing chain: entry-скил #74 оркеструет RU-заземлённую маркетинговую работу через специфику рынка (#77) и канальные MCP (#78-#81). Anti-pattern: #82 DataForSEO / #83 Unisender Go — DEFERRED, не использовать до Б-1. ADR-015. |
| L17 | `brainstorming``perplexity` (#87 ask/research) → `exa` (#88 discovery) → `firecrawl` (#89 deep-read) | research chain: разведка широты на крупных/абстрактных задачах — ранжированный ответ-с-источниками (perplexity) → семантическое обнаружение источников по смыслу (exa) → глубокое чтение/обход страниц (firecrawl). Anti-pattern: подмена context7 #60 (открытый веб vs SDK-доки) или graphify #86 (наружу vs внутренний граф проекта); платные API — без авто-расхода. ADR-019. |
**Anti-pattern связок** (не комбинировать в одной задаче):
- **UPM (#31) ↔ Frontend Design (#30) ↔ 21st (#32)** — PSR_v1 R14.5 запрещает параллельное использование UI-генераторов (один pipeline, один решатель).
- **ruflo Queen ↔ subagent-driven-development напрямую** — ruflo сейчас изолирован (Pravila §14.9 dormant). При реактивации связь снова работоспособна.
- **`mcp_figma` (DEFERRED) → Frontend Design code-gen** — ADR-006 FM1: extract-only для Figma; code-gen дублировал бы FD.
- **`Data Scientist skill` (#49) → решатель в коде** — knowledge-only, не пишет код за вас (R10.2 PSR_v1).
---
## Дисциплина выбора
1. **Не подменяй фазовые инструменты off-phase.** Если задача попадает под фазу
0/1/2/3 (Tooling §2–§5) — берём фазовый узел. Off-phase — резерв и специализация.
2. **DEFERRED-узлы (#44 Figma / #50 Jupyter / #54 n8n / #67 NightOwl)** — не использовать без явного
возобновления (нет аккаунта / нет Python ML / нет n8n в стеке / нет Linux с pcntl+posix).
Запрос «через Figma» или «через NightOwl» при текущем состоянии = эскалация заказчику.
3. **Изолированные узлы (ruflo на 18.05.2026)** — не маршрутизировать. Запрос
с `queen`/`королева` сейчас выполняется напрямую (§14 dormant). При запросе
реактивации — план в memory `feedback_ruflo_isolated.md`.
4. **UI-пул (#31 UPM / #32 21st)** — только через R14 pipeline. Никогда не решатель,
всегда материал; обязательны R6.0 фильтр + R6.1 hard-override Forest + FD адаптация.
5. **Hard-rules (Pravila §12 / §14 / §15)** перевешивают этот routing-аид при коллизии.
6. **Граничные случаи между похожими узлами** — кросс-ссылки в Tooling §4.X (например
#53 process-analysis ↔ #55 discovery-interview через слой-источник ADR-009;
#39 ToB ↔ #25 Semgrep MCP через scope TB1).
---
## Связано
- [docs/Tooling_v8_3.md](Tooling_v8_3.md) §4.11–§4.35 — детальные описания узлов.
- [docs/Pravila_raboty_Claude_v1_1.md](Pravila_raboty_Claude_v1_1.md) §13.2 — категоризация off-phase.
- [docs/Plugin_stack_rules_v1.md](Plugin_stack_rules_v1.md) R10.1 — 3-блочный реестр ролей; R14 — UI-пул pipeline.
- `CLAUDE.md` §3.3 — оперативная карта с командами установки.
- `docs/discovery/2026-05-18-system-audit-brain.md` Rec3 — источник решения.
- `docs/adr/*.md` — границы между категориями (ADR-003/004/005/006/007/008/009/010).