@dzhechkov/keysarium 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/README.md +289 -0
  2. package/bin/cli.js +5 -0
  3. package/package.json +43 -0
  4. package/src/cli.js +157 -0
  5. package/src/commands/doctor.js +469 -0
  6. package/src/commands/init.js +171 -0
  7. package/src/commands/list.js +147 -0
  8. package/src/commands/remove.js +197 -0
  9. package/src/commands/update.js +191 -0
  10. package/src/utils.js +274 -0
  11. package/templates/.claude/agents/cjm-variant-worker.md +60 -0
  12. package/templates/.claude/agents/discovery-worker.md +45 -0
  13. package/templates/.claude/agents/parallel-research-orchestrator.md +70 -0
  14. package/templates/.claude/agents/presentation-worker.md +55 -0
  15. package/templates/.claude/agents/research-worker.md +43 -0
  16. package/templates/.claude/commands/architecture-phase.md +37 -0
  17. package/templates/.claude/commands/casarium.md +163 -0
  18. package/templates/.claude/commands/cjm-prototype.md +42 -0
  19. package/templates/.claude/commands/discovery.md +34 -0
  20. package/templates/.claude/commands/explore-case.md +22 -0
  21. package/templates/.claude/commands/harvest.md +67 -0
  22. package/templates/.claude/commands/new-research.md +69 -0
  23. package/templates/.claude/commands/parallel-research.md +45 -0
  24. package/templates/.claude/commands/presentation.md +49 -0
  25. package/templates/.claude/commands/research.md +32 -0
  26. package/templates/.claude/commands/solve.md +36 -0
  27. package/templates/.claude/rules/agent-swarm.md +31 -0
  28. package/templates/.claude/rules/anti-patterns.md +19 -0
  29. package/templates/.claude/rules/checkpoint-protocol.md +23 -0
  30. package/templates/.claude/rules/domain-specific.md +32 -0
  31. package/templates/.claude/rules/file-conventions.md +38 -0
  32. package/templates/.claude/rules/modular-reuse.md +35 -0
  33. package/templates/.claude/rules/research-quality.md +20 -0
  34. package/templates/.claude/settings.json +37 -0
  35. package/templates/.claude/skills/explore/SKILL.md +215 -0
  36. package/templates/.claude/skills/explore/references/questioning-techniques.md +151 -0
  37. package/templates/.claude/skills/explore/references/task-brief-templates.md +355 -0
  38. package/templates/.claude/skills/frontend-design/LICENSE.txt +177 -0
  39. package/templates/.claude/skills/frontend-design/SKILL.md +42 -0
  40. package/templates/.claude/skills/goap-research-ed25519/SKILL.md +415 -0
  41. package/templates/.claude/skills/goap-research-ed25519/references/ed25519-verification.md +658 -0
  42. package/templates/.claude/skills/goap-research-ed25519/references/research-actions.md +544 -0
  43. package/templates/.claude/skills/goap-research-ed25519/references/source-evaluation.md +560 -0
  44. package/templates/.claude/skills/goap-research-ed25519/scripts/ed25519_verifier.py +662 -0
  45. package/templates/.claude/skills/goap-research-ed25519/scripts/goap_planner.py +720 -0
  46. package/templates/.claude/skills/presentation-storyteller/SKILL.md +371 -0
  47. package/templates/.claude/skills/presentation-storyteller/references/example-presentation.md +273 -0
  48. package/templates/.claude/skills/presentation-storyteller/references/slide-types.md +426 -0
  49. package/templates/.claude/skills/presentation-storyteller/references/sources-index-template.md +213 -0
  50. package/templates/.claude/skills/presentation-storyteller/references/speaker-script-patterns.md +324 -0
  51. package/templates/.claude/skills/presentation-storyteller/references/storytelling-frameworks.md +270 -0
  52. package/templates/.claude/skills/problem-solver-enhanced/SKILL.md +562 -0
  53. package/templates/.claude/skills/reverse-engineering-unicorn/SKILL.md +194 -0
  54. package/templates/.claude/skills/reverse-engineering-unicorn/examples/noom-cjm-example.md +100 -0
  55. package/templates/.claude/skills/reverse-engineering-unicorn/examples/noom-module1-example.md +88 -0
  56. package/templates/.claude/skills/reverse-engineering-unicorn/modules/01-intelligence.md +328 -0
  57. package/templates/.claude/skills/reverse-engineering-unicorn/modules/02-product-customers.md +221 -0
  58. package/templates/.claude/skills/reverse-engineering-unicorn/modules/025-cjm-prototype.md +206 -0
  59. package/templates/.claude/skills/reverse-engineering-unicorn/modules/03-market-competition.md +402 -0
  60. package/templates/.claude/skills/reverse-engineering-unicorn/modules/04-business-finance.md +287 -0
  61. package/templates/.claude/skills/reverse-engineering-unicorn/modules/05-growth-engine.md +290 -0
  62. package/templates/.claude/skills/reverse-engineering-unicorn/modules/06-playbook-synthesis.md +286 -0
  63. package/templates/.claude/skills/reverse-engineering-unicorn/references/blue-ocean-canvas.md +39 -0
  64. package/templates/.claude/skills/reverse-engineering-unicorn/references/industry-benchmarks.md +67 -0
  65. package/templates/.claude/skills/reverse-engineering-unicorn/references/jtbd-canvas.md +48 -0
  66. package/templates/CLAUDE.md +185 -0
  67. package/templates/TOOLKIT_HARVEST.md +29 -0
  68. package/templates/docs/keysarium/01-deployment-guide.md +768 -0
  69. package/templates/docs/keysarium/02-admin-guide.md +1170 -0
  70. package/templates/docs/keysarium/03-user-guide.md +884 -0
  71. package/templates/docs/keysarium/04-infrastructure-requirements.md +967 -0
  72. package/templates/docs/keysarium/05-architecture.md +706 -0
  73. package/templates/docs/keysarium/06-user-flows.md +925 -0
  74. package/templates/docs/skills-bto/01-deployment-guide.md +828 -0
  75. package/templates/docs/skills-bto/02-admin-guide.md +1052 -0
  76. package/templates/docs/skills-bto/03-user-guide.md +960 -0
  77. package/templates/docs/skills-bto/04-infrastructure-requirements.md +610 -0
  78. package/templates/docs/skills-bto/05-architecture.md +1112 -0
  79. package/templates/docs/skills-bto/06-user-flows.md +977 -0
  80. package/templates/lib/agent-patterns.md +115 -0
  81. package/templates/lib/domain-templates.md +172 -0
  82. package/templates/lib/phase-utils.md +107 -0
  83. package/templates/lib/skill-loader.md +78 -0
  84. package/templates/researches/.gitkeep +0 -0
@@ -0,0 +1,925 @@
1
+ # 06. Пользовательские и административные flow
2
+
3
+ ## Содержание
4
+
5
+ 1. [User Flow: Полный пайплайн (/casarium)](#user-flow-полный-пайплайн)
6
+ 2. [User Flow: Quick Mode (< 2 часов)](#user-flow-quick-mode)
7
+ 3. [User Flow: Параллельные исследования](#user-flow-параллельные-исследования)
8
+ 4. [User Flow: Отдельная фаза](#user-flow-отдельная-фаза)
9
+ 5. [User Flow: Harvest знаний](#user-flow-harvest-знаний)
10
+ 6. [Admin Flow: Добавление нового скилла](#admin-flow-добавление-нового-скилла)
11
+ 7. [Admin Flow: Создание новой команды](#admin-flow-создание-новой-команды)
12
+ 8. [Admin Flow: Настройка доменных правил](#admin-flow-настройка-доменных-правил)
13
+ 9. [Admin Flow: Расширение пайплайна новой фазой](#admin-flow-расширение-пайплайна-новой-фазой)
14
+ 10. [Admin Flow: Массовый harvest](#admin-flow-массовый-harvest)
15
+ 11. [Error Flows](#error-flows)
16
+
17
+ ---
18
+
19
+ ## User Flow: Полный пайплайн
20
+
21
+ ### Sequence Diagram
22
+
23
+ ```mermaid
24
+ sequenceDiagram
25
+ actor U as User
26
+ participant C as Claude (/casarium)
27
+ participant FS as File System
28
+ participant A as Agent Swarm
29
+
30
+ U->>C: /casarium [текст кейса]
31
+ C->>C: Определить CASE_NAME, тайминг, домен
32
+ C->>FS: mkdir researches/<slug>/
33
+ C->>FS: mkdir researches/<slug>/prototype/
34
+ C->>FS: mkdir researches/<slug>/diagrams/
35
+ C-->>U: Инициализация: 7 фаз, распределение времени
36
+
37
+ Note over C: ═══ Phase 0: Product Discovery ═══
38
+ C->>FS: Read .claude/skills/reverse-engineering-unicorn/SKILL.md
39
+ C->>A: Spawn 2 агента
40
+ A->>A: Agent 1: JTBD + Voice of Customer
41
+ A->>A: Agent 2: Конкуренты + Business Case
42
+ A-->>C: Результаты обоих агентов
43
+ C->>C: Синтез результатов
44
+ C->>FS: Write 00_product_discovery.md
45
+ C-->>U: Checkpoint 0: Discovery Complete
46
+ U->>C: "ок"
47
+
48
+ Note over C: ═══ Phase 1: Explore ═══
49
+ C->>FS: Read .claude/skills/explore/SKILL.md
50
+ C->>FS: Read 00_product_discovery.md
51
+ C->>C: 5 Whys, ограничения, success criteria
52
+ C->>FS: Write 01_case_brief.md
53
+ C-->>U: Checkpoint 1: Explore Complete
54
+ U->>C: "ок"
55
+
56
+ Note over C: ═══ Phase 2: Research ═══
57
+ C->>FS: Read .claude/skills/goap-research-ed25519/SKILL.md
58
+ C->>A: Spawn 3 агента (PARANOID mode)
59
+ A->>A: Agent 1: Аналоги + метрики
60
+ A->>A: Agent 2: Технологии + Anti-patterns
61
+ A->>A: Agent 3: Регуляторика + market data
62
+ A-->>C: Результаты трёх агентов
63
+ C->>C: Синтез + верификация
64
+ C->>FS: Write 02_research_findings.md
65
+ C-->>U: Checkpoint 2: Research Complete
66
+ U->>C: "ок"
67
+
68
+ Note over C: ═══ Phase 2.5: CJM Prototype ═══
69
+ C->>FS: Read .claude/skills/reverse-engineering-unicorn/SKILL.md
70
+ C->>FS: Read .claude/skills/frontend-design/SKILL.md
71
+ C->>A: Spawn 3 агента
72
+ A->>A: Agent 1: CJM Variant A
73
+ A->>A: Agent 2: CJM Variant B + C
74
+ A->>A: Agent 3: Trend Research (Variant D)
75
+ A-->>C: 4 варианта CJM
76
+ C->>FS: Write 02.5_trend_brief.md
77
+ C->>FS: Write prototype/cjm-prototype.jsx
78
+ C-->>U: Checkpoint 2.5: Выберите CJM (A/B/C/D)
79
+ U->>C: "выбираю B"
80
+ C->>C: Зафиксировать {CHOSEN_CJM} = Variant B
81
+
82
+ Note over C: ═══ Phase 3: Solve ═══
83
+ C->>FS: Read .claude/skills/problem-solver-enhanced/SKILL.md
84
+ C->>C: SCQA, Process Design, AI Pipeline (используя {CHOSEN_CJM})
85
+ C->>FS: Write 03_solution_strategy.md
86
+ C->>FS: Write diagrams/process-as-is.mermaid
87
+ C->>FS: Write diagrams/process-to-be.mermaid
88
+ C-->>U: Checkpoint 3: Solve Complete
89
+ U->>C: "ок"
90
+
91
+ Note over C: ═══ Phase 4: Architecture ═══
92
+ C->>C: C4 Architecture, AI Models, Data, Security (используя {CHOSEN_CJM})
93
+ C->>FS: Write 04_architecture.md
94
+ C->>FS: Write diagrams/architecture-c4.mermaid
95
+ C->>FS: Write diagrams/sequence-main-flow.mermaid
96
+ C-->>U: Checkpoint 4: Architecture Complete
97
+ U->>C: "ок"
98
+
99
+ Note over C: ═══ Phase 5: Presentation ═══
100
+ C->>FS: Read .claude/skills/presentation-storyteller/SKILL.md
101
+ C->>A: Spawn 3 агента (используя {CHOSEN_CJM})
102
+ A->>A: Agent 1: Контент презентации
103
+ A->>A: Agent 2: Speaker Script
104
+ A->>A: Agent 3: Q&A + Executive Summary
105
+ A-->>C: Результаты трёх агентов
106
+ C->>FS: Write 05_presentation_content.md
107
+ C->>FS: Write 06_speaker_script.md
108
+ C->>FS: Write 07_qa_preparation.md
109
+ C->>FS: Write 08_executive_summary.md
110
+ C-->>U: Checkpoint 5: Presentation Complete
111
+ U->>C: "ок"
112
+
113
+ Note over C: ═══ Phase 6: Packaging ═══
114
+ C->>C: Проверка всех артефактов
115
+ C->>FS: Write README.md
116
+ C-->>U: Полный архив исследования
117
+ ```
118
+
119
+ ### Step by Step
120
+
121
+ **Шаг 1. Запуск пайплайна**
122
+ ```
123
+ User: /casarium Кейс: Автоматизация контакт-центра банка с помощью AI.
124
+ Тайминг: 4 часа. Домен: Банковский.
125
+ ```
126
+
127
+ **Шаг 2. Инициализация**
128
+ - Claude определяет `CASE_NAME = bank_kc_automation`
129
+ - Создает `researches/bank_kc_automation/` со структурой
130
+ - Распределяет время: Phase 0 (36 мин) | Phase 1 (12 мин) | Phase 2 (36 мин) | Phase 2.5 (24 мин) | Phase 3 (36 мин) | Phase 4 (36 мин) | Phase 5 (48 мин) | Buffer (12 мин)
131
+ - Применяет доменные правила: банковский домен (on-premise LLM, ФЗ-152, HITL)
132
+
133
+ **Шаг 3. Phase 0 -- Product Discovery**
134
+ - Загружается скилл `reverse-engineering-unicorn`
135
+ - 2 агента параллельно: JTBD-анализ и конкурентный анализ
136
+ - Результат: `00_product_discovery.md`
137
+ - Checkpoint 0 -> пользователь подтверждает "ок"
138
+
139
+ **Шаг 4. Phase 1 -- Explore**
140
+ - Загружается скилл `explore`
141
+ - Декомпозиция проблемы, карта ограничений, success criteria
142
+ - Результат: `01_case_brief.md`
143
+ - Checkpoint 1 -> пользователь подтверждает "ок"
144
+
145
+ **Шаг 5. Phase 2 -- Research**
146
+ - Загружается скилл `goap-research-ed25519` в PARANOID mode
147
+ - 3 агента параллельно: аналоги, технологии, регуляторика
148
+ - Синтез с верификацией каждого утверждения
149
+ - Результат: `02_research_findings.md`
150
+ - Checkpoint 2 -> пользователь подтверждает "ок"
151
+
152
+ **Шаг 6. Phase 2.5 -- CJM Prototype (MANDATORY)**
153
+ - Загружаются скиллы `reverse-engineering-unicorn` + `frontend-design`
154
+ - 3 агента параллельно: Variant A, Variant B+C, Trend Research (D)
155
+ - Генерируется React-прототип с 4 вариантами CJM
156
+ - Результат: `02.5_trend_brief.md` + `prototype/cjm-prototype.jsx`
157
+ - Checkpoint 2.5 -> пользователь выбирает: "выбираю B"
158
+ - Фиксируется `{CHOSEN_CJM} = Variant B`
159
+
160
+ **Шаг 7. Phase 3 -- Solve**
161
+ - Загружается скилл `problem-solver-enhanced`
162
+ - Используется `{CHOSEN_CJM}` для проектирования решения
163
+ - SCQA, Process Design (As-Is -> To-Be), AI Pipeline, HITL, метрики, roadmap
164
+ - Результат: `03_solution_strategy.md` + Mermaid-диаграммы
165
+ - Checkpoint 3 -> пользователь подтверждает "ок"
166
+
167
+ **Шаг 8. Phase 4 -- Architecture**
168
+ - Встроенные шаблоны архитектуры + контекст Phase 0-3
169
+ - C4 Architecture, AI Models & Pipeline, Data Architecture, Security
170
+ - Результат: `04_architecture.md` + Mermaid-диаграммы
171
+ - Checkpoint 4 -> пользователь подтверждает "ок"
172
+
173
+ **Шаг 9. Phase 5 -- Presentation**
174
+ - Загружается скилл `presentation-storyteller`
175
+ - 3 агента параллельно: презентация, speaker script, Q&A + executive summary
176
+ - Результат: `05-08_*.md` (4 файла)
177
+ - Checkpoint 5 -> пользователь подтверждает "ок"
178
+
179
+ **Шаг 10. Phase 6 -- Packaging**
180
+ - Проверка наличия всех артефактов
181
+ - Генерация `README.md` с метаданными и оглавлением
182
+ - Финальный архив исследования готов
183
+
184
+ ### Команды пользователя во время пайплайна
185
+
186
+ | Команда | Действие | Когда доступна |
187
+ |---------|----------|----------------|
188
+ | `ок` | Переход к следующей фазе | На любом checkpoint |
189
+ | `углуби [раздел]` | Доработать конкретный раздел | На любом checkpoint |
190
+ | `превью [X]` | Посмотреть созданный документ | В любой момент |
191
+ | `время [N]` | Изменить тайминг | В начале или на checkpoint |
192
+ | `ускорь` | Quick Mode текущей фазы | На checkpoint |
193
+ | `wow` | Добавить нестандартный элемент | На checkpoint |
194
+ | `выбираю A/B/C/D` | Зафиксировать CJM | Только на Checkpoint 2.5 |
195
+ | `объедини A+D` | Создать гибрид CJM | Только на Checkpoint 2.5 |
196
+
197
+ ---
198
+
199
+ ## User Flow: Quick Mode
200
+
201
+ Quick Mode предназначен для ситуаций, когда тайминг кейса составляет менее 2 часов. Фазы выполняются в сокращенном формате.
202
+
203
+ ```mermaid
204
+ sequenceDiagram
205
+ actor U as User
206
+ participant C as Claude
207
+
208
+ U->>C: /casarium [кейс] время 1.5
209
+ C->>C: Quick Mode активирован (< 2ч)
210
+ C-->>U: Quick Mode: сокращенные фазы
211
+
212
+ Note over C: Phase 0+1 объединены (15 мин)
213
+ C->>C: Сокращенный Discovery + Explore
214
+ C-->>U: Checkpoint 0+1
215
+ U->>C: "ок"
216
+
217
+ Note over C: Phase 2 сокращена (10 мин)
218
+ C->>C: Только ключевые аналоги и технологии
219
+ C-->>U: Checkpoint 2
220
+ U->>C: "ок"
221
+
222
+ Note over C: Phase 2.5 упрощена (10 мин)
223
+ C->>C: 2 варианта CJM (вместо 4), базовый UI
224
+ C-->>U: Checkpoint 2.5
225
+ U->>C: "выбираю A"
226
+
227
+ Note over C: Phase 3+4 объединены (20 мин)
228
+ C->>C: Сокращенная стратегия + архитектура
229
+ C-->>U: Checkpoint 3+4
230
+ U->>C: "ок"
231
+
232
+ Note over C: Phase 5 сокращена (25 мин)
233
+ C->>C: 8 слайдов, краткий script, key Q&A
234
+ C-->>U: Checkpoint 5
235
+ U->>C: "ок"
236
+
237
+ C-->>U: Phase 6: Packaging
238
+ ```
239
+
240
+ ### Отличия от полного пайплайна
241
+
242
+ | Аспект | Полный (4ч) | Quick (< 2ч) |
243
+ |--------|-------------|--------------|
244
+ | Phase 0+1 | Раздельные | Объединены |
245
+ | Phase 2 | 3 агента, глубокий research | 1 агент, ключевые факты |
246
+ | Phase 2.5 | 4 варианта CJM | 2 варианта, базовый UI |
247
+ | Phase 3+4 | Раздельные | Объединены |
248
+ | Phase 5 | 10-12 слайдов, полный script | 8 слайдов, краткий script |
249
+ | Диаграммы | 4+ Mermaid | 2 Mermaid (минимум) |
250
+ | Executive Summary | Полная страница | Половина страницы |
251
+
252
+ ### Правила Quick Mode
253
+
254
+ - Phase 2.5 (CJM) все равно **не пропускается** -- упрощается до 2 вариантов
255
+ - `08_executive_summary.md` все равно **обязателен**
256
+ - PARANOID mode для research **сохраняется** (лучше меньше утверждений, но верифицированных)
257
+ - Checkpoints **сохраняются** (но можно пройти быстрее)
258
+
259
+ ---
260
+
261
+ ## User Flow: Параллельные исследования
262
+
263
+ ### Sequence Diagram
264
+
265
+ ```mermaid
266
+ sequenceDiagram
267
+ actor U as User
268
+ participant C as Claude (/parallel-research)
269
+ participant FS as File System
270
+ participant A1 as Agent 1
271
+ participant A2 as Agent 2
272
+ participant A3 as Agent 3
273
+
274
+ U->>C: /parallel-research case1: Описание | case2: Описание | case3: Описание
275
+ C->>C: Парсинг: разделить по "|"
276
+
277
+ C->>FS: mkdir researches/case1/
278
+ C->>FS: mkdir researches/case2/
279
+ C->>FS: mkdir researches/case3/
280
+
281
+ par Параллельное выполнение Phase 0
282
+ C->>A1: Phase 0 для case1
283
+ A1->>FS: Read reverse-engineering-unicorn SKILL.md
284
+ A1->>A1: JTBD, конкуренты, ROI
285
+ A1->>FS: Write researches/case1/00_product_discovery.md
286
+
287
+ C->>A2: Phase 0 для case2
288
+ A2->>FS: Read reverse-engineering-unicorn SKILL.md
289
+ A2->>A2: JTBD, конкуренты, ROI
290
+ A2->>FS: Write researches/case2/00_product_discovery.md
291
+
292
+ C->>A3: Phase 0 для case3
293
+ A3->>FS: Read reverse-engineering-unicorn SKILL.md
294
+ A3->>A3: JTBD, конкуренты, ROI
295
+ A3->>FS: Write researches/case3/00_product_discovery.md
296
+ end
297
+
298
+ A1-->>C: case1 Phase 0 complete
299
+ A2-->>C: case2 Phase 0 complete
300
+ A3-->>C: case3 Phase 0 complete
301
+
302
+ C->>C: Синтез: сводная таблица
303
+
304
+ C-->>U: Сводка результатов Phase 0 для всех кейсов
305
+ Note over U: Таблица: Кейс | Директория | Статус | Ключевые находки
306
+
307
+ U->>C: Продолжаю с case2
308
+ C-->>U: /casarium researches/case2/
309
+ ```
310
+
311
+ ### Step by Step
312
+
313
+ **Шаг 1. Запуск параллельных исследований**
314
+ ```
315
+ User: /parallel-research
316
+ AI для контакт-центра банка |
317
+ Персонализация в e-commerce |
318
+ Автоматизация документооборота
319
+ ```
320
+
321
+ **Шаг 2. Парсинг и инициализация**
322
+ - Claude разделяет аргумент по `|`
323
+ - Определяет slug для каждого: `bank_kc_ai`, `ecommerce_personalization`, `doc_automation`
324
+ - Создает 3 изолированные директории в `researches/`
325
+ - Инициализирует README.md в каждой
326
+
327
+ **Шаг 3. Параллельное выполнение Phase 0**
328
+ - Запускаются 3 агента одновременно
329
+ - Каждый агент загружает `reverse-engineering-unicorn` и выполняет Product Discovery
330
+ - Агенты работают изолированно -- каждый только в своей директории
331
+
332
+ **Шаг 4. Сводка результатов**
333
+ ```
334
+ ═══════════════════════════════════════════════════════
335
+ Параллельные исследования: Phase 0 Complete
336
+
337
+ | # | Кейс | Директория | Статус |
338
+ |---|-------------------------|---------------------------------|--------|
339
+ | 1 | AI для контакт-центра | researches/bank_kc_ai/ | Done |
340
+ | 2 | Персонализация e-com | researches/ecommerce_personal/ | Done |
341
+ | 3 | Автоматизация документов| researches/doc_automation/ | Done |
342
+
343
+ Для продолжения:
344
+ /casarium researches/bank_kc_ai/
345
+ /casarium researches/ecommerce_personal/
346
+ /casarium researches/doc_automation/
347
+ ═══════════════════════════════════════════════════════
348
+ ```
349
+
350
+ **Шаг 5. Пользователь выбирает кейс для продолжения**
351
+ - Можно продолжить один кейс через `/casarium`
352
+ - Можно продолжить несколько последовательно
353
+ - Phase 0 уже выполнена -- пайплайн продолжится с Phase 1
354
+
355
+ ### Ограничения
356
+
357
+ - Рекомендуется не более 3-4 параллельных исследований
358
+ - Phase 0 выполняется параллельно, остальные фазы -- последовательно для каждого кейса
359
+ - Каждый агент строго изолирован в своей директории
360
+
361
+ ---
362
+
363
+ ## User Flow: Отдельная фаза
364
+
365
+ Пользователь может запустить любую фазу отдельно, если уже есть подготовленная директория исследования с артефактами предыдущих фаз.
366
+
367
+ ### Sequence Diagram
368
+
369
+ ```mermaid
370
+ sequenceDiagram
371
+ actor U as User
372
+ participant C as Claude
373
+ participant FS as File System
374
+
375
+ U->>C: /research researches/bank_kc_ai/
376
+ C->>FS: Read researches/bank_kc_ai/00_product_discovery.md
377
+ C->>FS: Read researches/bank_kc_ai/01_case_brief.md
378
+ alt Файлы предыдущих фаз найдены
379
+ C->>FS: Read .claude/skills/goap-research-ed25519/SKILL.md
380
+ C->>C: Выполнить Phase 2 (Research)
381
+ C->>FS: Write researches/bank_kc_ai/02_research_findings.md
382
+ C-->>U: Checkpoint 2: Research Complete
383
+ else Файлы предыдущих фаз НЕ найдены
384
+ C-->>U: Предупреждение: необходимо сначала выполнить Phase 0 и Phase 1
385
+ end
386
+ ```
387
+
388
+ ### Step by Step
389
+
390
+ **Шаг 1. Запуск отдельной фазы**
391
+ ```
392
+ User: /research researches/bank_kc_ai/
393
+ ```
394
+
395
+ **Шаг 2. Проверка контекста**
396
+ - Claude проверяет наличие артефактов предыдущих фаз
397
+ - Если Phase 0 (`00_product_discovery.md`) и Phase 1 (`01_case_brief.md`) существуют -- продолжает
398
+ - Если нет -- предупреждает и предлагает сначала выполнить пропущенные фазы
399
+
400
+ **Шаг 3. Выполнение фазы**
401
+ - Загружается соответствующий скилл
402
+ - Фаза выполняется с учетом контекста предыдущих артефактов
403
+ - Создается артефакт в директории исследования
404
+
405
+ **Шаг 4. Checkpoint**
406
+ - Отображается checkpoint с результатами
407
+ - Пользователь может скорректировать или подтвердить
408
+
409
+ ### Таблица зависимостей фаз
410
+
411
+ | Фаза | Команда | Требует артефактов от |
412
+ |------|---------|----------------------|
413
+ | Phase 0 | `/discovery` | -- (начальная) |
414
+ | Phase 1 | `/explore-case` | Phase 0 |
415
+ | Phase 2 | `/research` | Phase 0, Phase 1 |
416
+ | Phase 2.5 | `/cjm-prototype` | Phase 0, Phase 1, Phase 2 |
417
+ | Phase 3 | `/solve` | Phase 0-2.5 + {CHOSEN_CJM} |
418
+ | Phase 4 | `/architecture-phase` | Phase 0-3 |
419
+ | Phase 5 | `/presentation` | Phase 0-4 |
420
+
421
+ ---
422
+
423
+ ## User Flow: Harvest знаний
424
+
425
+ ### Sequence Diagram
426
+
427
+ ```mermaid
428
+ sequenceDiagram
429
+ actor U as User
430
+ participant C as Claude (/harvest)
431
+ participant FS as File System
432
+
433
+ U->>C: /harvest researches/bank_kc_ai/
434
+
435
+ C->>FS: Read всех файлов в researches/bank_kc_ai/
436
+ C->>FS: Read TOOLKIT_HARVEST.md
437
+
438
+ Note over C: Шаг 1: Ревью проекта
439
+ C->>C: Поиск универсальных паттернов
440
+ C->>C: Поиск переиспользуемых скиллов/команд
441
+ C->>C: Поиск ошибок и workaround-ов
442
+ C->>C: Поиск удачных формулировок
443
+ C->>C: Поиск доменных инсайтов
444
+
445
+ Note over C: Шаг 2: Классификация
446
+ C->>C: skills/ | commands/ | rules/ | templates/ | patterns/ | snippets/
447
+
448
+ Note over C: Шаг 3: Деконтекстуализация
449
+ C->>C: Убрать привязки к конкретному проекту
450
+ C->>C: Добавить: когда использовать, предусловия
451
+ C->>C: Пометить Maturity + Changelog
452
+
453
+ Note over C: Шаг 4: Обновление трекера
454
+ C->>FS: Update TOOLKIT_HARVEST.md
455
+ C-->>U: Отчёт: N находок извлечено и классифицировано
456
+ ```
457
+
458
+ ### Step by Step
459
+
460
+ **Шаг 1. Запуск harvest**
461
+ ```
462
+ User: /harvest researches/bank_kc_ai/
463
+ ```
464
+
465
+ **Шаг 2. Ревью исследования**
466
+ - Claude читает все артефакты в указанной директории
467
+ - Читает текущий `TOOLKIT_HARVEST.md`
468
+ - Ищет паттерны, которые можно обобщить за пределами конкретного кейса
469
+
470
+ **Шаг 3. Классификация находок**
471
+ Каждая находка распределяется по категориям:
472
+
473
+ | Категория | Примеры находок |
474
+ |-----------|----------------|
475
+ | skills/ | Улучшенный подход к CJM-анализу для банков |
476
+ | commands/ | Новая фаза "Compliance Review" |
477
+ | rules/ | "В банковском домене всегда проверяй ФЗ-152" |
478
+ | templates/ | Обновленный шаблон executive summary |
479
+ | patterns/ | Event sourcing для AI pipeline в банках |
480
+ | snippets/ | Универсальный CJM renderer для React |
481
+
482
+ **Шаг 4. Деконтекстуализация**
483
+ - Убираются привязки к конкретному банку/кейсу
484
+ - Добавляется документация: когда применять, предусловия, ограничения
485
+ - Маркируется зрелость: Beta / Stable
486
+ - Добавляется changelog
487
+
488
+ **Шаг 5. Обновление TOOLKIT_HARVEST.md**
489
+ - Новые находки добавляются в трекер
490
+ - Указывается проект-источник и дата извлечения
491
+
492
+ ### Что НЕ извлекается
493
+
494
+ - Код, работающий только в контексте конкретного домена
495
+ - Паттерны, использованные один раз без уверенности в качестве
496
+ - Workaround-ы для конкретных багов библиотек (быстро устаревают)
497
+
498
+ ---
499
+
500
+ ## Admin Flow: Добавление нового скилла
501
+
502
+ ### Sequence Diagram
503
+
504
+ ```mermaid
505
+ flowchart TD
506
+ A["1. Создать директорию<br/>.claude/skills/new-skill/"] --> B["2. Создать SKILL.md<br/>(точка входа скилла)"]
507
+ B --> C["3. Добавить references/<br/>(справочные материалы)"]
508
+ C --> D{"Скилл сложный?"}
509
+ D -->|Да| E["4a. Добавить modules/<br/>(подмодули)"]
510
+ D -->|Нет| F["4b. Пропустить modules/"]
511
+ E --> G["5. Добавить examples/<br/>(примеры применения)"]
512
+ F --> G
513
+ G --> H["6. Протестировать:<br/>Read SKILL.md и проверить работу"]
514
+ H --> I["7. Обновить CLAUDE.md:<br/>добавить скилл в таблицу"]
515
+ I --> J["8. Обновить граф<br/>зависимостей скиллов"]
516
+ ```
517
+
518
+ ### Step by Step
519
+
520
+ **Шаг 1.** Создать директорию скилла:
521
+ ```bash
522
+ mkdir -p .claude/skills/new-skill/references/
523
+ ```
524
+
525
+ **Шаг 2.** Создать `SKILL.md` -- основной файл скилла. Обязательные секции:
526
+ ```markdown
527
+ # Название скилла
528
+
529
+ ## Роль
530
+ Описание, что делает скилл.
531
+
532
+ ## Когда использовать
533
+ Условия и контекст применения.
534
+
535
+ ## Инструкции
536
+ Пошаговый алгоритм работы.
537
+
538
+ ## Формат вывода
539
+ Ожидаемый формат результата.
540
+
541
+ ## Примеры
542
+ Ссылки на примеры или встроенные примеры.
543
+ ```
544
+
545
+ **Шаг 3.** Добавить справочные материалы в `references/` -- техники, шаблоны, best practices, которые скилл использует.
546
+
547
+ **Шаг 4.** Для сложных скиллов -- добавить `modules/` с нумерованными подмодулями.
548
+
549
+ **Шаг 5.** Добавить `examples/` с конкретными примерами применения скилла.
550
+
551
+ **Шаг 6.** Протестировать: в Claude Code выполнить `Read(".claude/skills/new-skill/SKILL.md")` и проверить, что скилл выдает ожидаемые результаты.
552
+
553
+ **Шаг 7.** Обновить CLAUDE.md: добавить скилл в таблицу скиллов и граф зависимостей.
554
+
555
+ **Шаг 8.** Если скилл используется другими скиллами или командами -- обновить граф зависимостей.
556
+
557
+ ### Принципы хорошего скилла
558
+
559
+ - **Domain-agnostic** -- скилл не должен быть привязан к конкретному домену
560
+ - **Самодостаточный** -- все необходимое содержится внутри директории скилла
561
+ - **Документированный** -- SKILL.md содержит полные инструкции для использования
562
+ - **Тестируемый** -- можно проверить работу скилла изолированно
563
+
564
+ ---
565
+
566
+ ## Admin Flow: Создание новой команды
567
+
568
+ ### Sequence Diagram
569
+
570
+ ```mermaid
571
+ flowchart TD
572
+ A["1. Определить назначение<br/>команды в пайплайне"] --> B["2. Создать файл<br/>.claude/commands/new-command.md"]
573
+ B --> C["3. Определить структуру:<br/>аргументы, действия, скиллы"]
574
+ C --> D["4. Привязать скилл(ы)<br/>через инструкцию Read SKILL.md"]
575
+ D --> E["5. Определить артефакт:<br/>какой файл создает команда"]
576
+ E --> F["6. Добавить формат<br/>checkpoint"]
577
+ F --> G{"Команда параллелизируема?"}
578
+ G -->|Да| H["7a. Определить Agent Swarm:<br/>сколько агентов, какие задачи"]
579
+ G -->|Нет| I["7b. Последовательное<br/>выполнение"]
580
+ H --> J["8. Обновить CLAUDE.md:<br/>таблица фаз и команд"]
581
+ I --> J
582
+ J --> K["9. Протестировать:<br/>/new-command [тестовый аргумент]"]
583
+ ```
584
+
585
+ ### Step by Step
586
+
587
+ **Шаг 1.** Определить место команды в пайплайне -- какая фаза, какие входные данные, какой результат.
588
+
589
+ **Шаг 2.** Создать файл `.claude/commands/new-command.md`. Обязательные секции:
590
+ ```markdown
591
+ # Название команды
592
+
593
+ ## Использование
594
+ /new-command [аргументы]
595
+
596
+ ## Аргумент
597
+ $ARGUMENTS
598
+
599
+ ## Действия
600
+ 1. Загрузи скилл: Read(".claude/skills/<skill>/SKILL.md")
601
+ 2. Прочитай контекст предыдущих фаз
602
+ 3. Выполни [описание действий]
603
+ 4. Создай файл [артефакт]
604
+ 5. Покажи Checkpoint N
605
+
606
+ ## Параллелизация (Agent Swarm)
607
+ [Если применимо]
608
+ ```
609
+
610
+ **Шаг 3.** Привязать скилл -- указать, какой SKILL.md загружать перед выполнением.
611
+
612
+ **Шаг 4.** Определить формат артефакта и имя файла в соответствии с `file-conventions` правилом.
613
+
614
+ **Шаг 5.** Добавить checkpoint в формате из `checkpoint-protocol` правила.
615
+
616
+ **Шаг 6.** Если команда поддерживает параллелизацию -- описать Agent Swarm: количество агентов, распределение задач, формат синтеза.
617
+
618
+ **Шаг 7.** Обновить CLAUDE.md: таблицу фаз и список команд.
619
+
620
+ **Шаг 8.** Протестировать команду с тестовым аргументом.
621
+
622
+ ---
623
+
624
+ ## Admin Flow: Настройка доменных правил
625
+
626
+ ### Sequence Diagram
627
+
628
+ ```mermaid
629
+ flowchart TD
630
+ A["1. Идентифицировать домен<br/>(банки, ритейл, healthcare, ...)"] --> B["2. Определить ограничения<br/>(регуляторика, compliance, SLA)"]
631
+ B --> C["3. Определить технические<br/>требования (on-premise, latency)"]
632
+ C --> D["4. Определить палитру<br/>и тон презентации"]
633
+ D --> E["5. Добавить в .claude/rules/<br/>domain-specific.md"]
634
+ E --> F["6. Определить сигналы<br/>автодетекции домена"]
635
+ F --> G["7. Обновить CLAUDE.md:<br/>секция Domain Templates"]
636
+ G --> H["8. Протестировать:<br/>запустить кейс в новом домене"]
637
+ ```
638
+
639
+ ### Step by Step
640
+
641
+ **Шаг 1.** Идентифицировать домен и его специфику.
642
+
643
+ **Шаг 2.** Определить ключевые ограничения домена:
644
+ ```markdown
645
+ ## Новый Домен
646
+ - Регуляторные требования: [ФЗ-..., стандарты]
647
+ - Compliance: [что обязательно]
648
+ - Технические ограничения: [latency, deployment model]
649
+ ```
650
+
651
+ **Шаг 3.** Добавить секцию в `.claude/rules/domain-specific.md`:
652
+ ```markdown
653
+ ## Новый Домен
654
+ - ALWAYS [обязательное действие]
655
+ - ALWAYS reference: [список нормативов]
656
+ - HITL [обязателен / рекомендован]
657
+ - Palette: [цвета]
658
+ - Tone: [стиль]
659
+ ```
660
+
661
+ **Шаг 4.** Определить ключевые слова для автодетекции домена (в секции "Detection").
662
+
663
+ **Шаг 5.** Обновить CLAUDE.md в секции "Domain Templates".
664
+
665
+ **Шаг 6.** Протестировать: запустить `/casarium` с кейсом в новом домене и проверить, что правила применяются.
666
+
667
+ ### Текущие доменные правила
668
+
669
+ | Домен | Ключевые правила | Палитра |
670
+ |-------|-----------------|---------|
671
+ | Банковский / FinTech | On-premise LLM, ФЗ-152, ЦБ, ФСТЭК, HITL обязателен | Blue/Navy/Silver |
672
+ | Ритейл / E-commerce | Latency < 200ms, A/B тестирование, privacy | Amber/Orange |
673
+ | Enterprise / B2B | Change Management, Legacy интеграции, SLA, ROI в FTE | Teal/Indigo |
674
+ | Healthcare | HITL для клинических решений, ФЗ-323, explainability | -- |
675
+
676
+ ---
677
+
678
+ ## Admin Flow: Расширение пайплайна новой фазой
679
+
680
+ ### Sequence Diagram
681
+
682
+ ```mermaid
683
+ flowchart TD
684
+ A["1. Определить место<br/>новой фазы в пайплайне"] --> B["2. Создать команду<br/>.claude/commands/new-phase.md"]
685
+ B --> C{"Нужен новый скилл?"}
686
+ C -->|Да| D["3a. Создать скилл<br/>.claude/skills/new-skill/"]
687
+ C -->|Нет| E["3b. Привязать<br/>существующий скилл"]
688
+ D --> F["4. Определить артефакт<br/>и его номер"]
689
+ E --> F
690
+ F --> G{"Фаза параллелизируема?"}
691
+ G -->|Да| H["5a. Добавить шаблон агента<br/>.claude/agents/"]
692
+ G -->|Нет| I["5b. Последовательное<br/>выполнение"]
693
+ H --> J["6. Обновить правила<br/>.claude/rules/"]
694
+ I --> J
695
+ J --> K["7. Обновить CLAUDE.md:<br/>пайплайн, таблица, проценты"]
696
+ K --> L["8. Обновить file-conventions:<br/>новый артефакт"]
697
+ L --> M["9. Обновить casarium.md:<br/>добавить фазу в pipeline"]
698
+ M --> N["10. Обновить docs/"]
699
+ N --> O["11. Протестировать полный<br/>пайплайн с новой фазой"]
700
+ ```
701
+
702
+ ### Step by Step
703
+
704
+ **Шаг 1.** Определить, где новая фаза находится в pipeline:
705
+ ```
706
+ Phase 0 → Phase 1 → Phase 2 → Phase 2.5 → [НОВАЯ ФАЗА] → Phase 3 → ...
707
+ ```
708
+
709
+ **Шаг 2.** Создать файл команды `.claude/commands/new-phase.md` (см. [Admin Flow: Создание новой команды](#admin-flow-создание-новой-команды)).
710
+
711
+ **Шаг 3.** Создать или привязать скилл.
712
+
713
+ **Шаг 4.** Определить артефакт: имя файла (с числовым префиксом) и его содержание.
714
+
715
+ **Шаг 5.** Если фаза поддерживает параллелизацию -- создать шаблон агентов.
716
+
717
+ **Шаг 6.** Обновить правила в `.claude/rules/`:
718
+ - `agent-swarm.md` -- если новая фаза параллелизируема
719
+ - `file-conventions.md` -- добавить новый артефакт в структуру
720
+ - `checkpoint-protocol.md` -- если нужен особый формат checkpoint
721
+
722
+ **Шаг 7.** Обновить CLAUDE.md:
723
+ - Таблицу фаз
724
+ - Pipeline-диаграмму
725
+ - Распределение процентов времени
726
+ - Tracker артефактов
727
+
728
+ **Шаг 8.** Обновить `/casarium` команду:
729
+ - Добавить новую фазу в pipeline
730
+ - Добавить артефакт в tracker
731
+
732
+ **Шаг 9.** Обновить документацию.
733
+
734
+ **Шаг 10.** Протестировать полный пайплайн с новой фазой.
735
+
736
+ ### Чеклист расширения
737
+
738
+ - [ ] Файл команды создан в `.claude/commands/`
739
+ - [ ] Скилл создан или привязан
740
+ - [ ] Артефакт определен и добавлен в file-conventions
741
+ - [ ] Agent Swarm настроен (если нужно)
742
+ - [ ] CLAUDE.md обновлен
743
+ - [ ] casarium.md обновлен
744
+ - [ ] Checkpoint формат определен
745
+ - [ ] Полный пайплайн протестирован
746
+
747
+ ---
748
+
749
+ ## Admin Flow: Массовый harvest
750
+
751
+ ### Sequence Diagram
752
+
753
+ ```mermaid
754
+ sequenceDiagram
755
+ actor U as User
756
+ participant C as Claude (/harvest)
757
+ participant FS as File System
758
+ participant A1 as Agent 1
759
+ participant A2 as Agent 2
760
+ participant A3 as Agent 3
761
+
762
+ U->>C: /harvest all
763
+ C->>FS: ls researches/
764
+ Note over C: Найдено: case1/, case2/, case3/
765
+
766
+ par Параллельный harvest
767
+ C->>A1: Harvest researches/case1/
768
+ A1->>FS: Read все артефакты case1
769
+ A1->>A1: Ревью, классификация, деконтекстуализация
770
+ A1-->>C: Находки из case1
771
+
772
+ C->>A2: Harvest researches/case2/
773
+ A2->>FS: Read все артефакты case2
774
+ A2->>A2: Ревью, классификация, деконтекстуализация
775
+ A2-->>C: Находки из case2
776
+
777
+ C->>A3: Harvest researches/case3/
778
+ A3->>FS: Read все артефакты case3
779
+ A3->>A3: Ревью, классификация, деконтекстуализация
780
+ A3-->>C: Находки из case3
781
+ end
782
+
783
+ C->>C: Синтез: объединить все находки
784
+ C->>C: Дедупликация: убрать повторяющиеся паттерны
785
+ C->>C: Приоритизация: Stable > Beta
786
+
787
+ C->>FS: Update TOOLKIT_HARVEST.md
788
+ C-->>U: Отчёт: N находок из M исследований
789
+ ```
790
+
791
+ ### Step by Step
792
+
793
+ **Шаг 1.** Запуск массового harvest:
794
+ ```
795
+ User: /harvest all
796
+ ```
797
+
798
+ **Шаг 2.** Claude сканирует `researches/` и находит все директории исследований.
799
+
800
+ **Шаг 3.** Для каждой директории запускается параллельный агент harvest:
801
+ - Каждый агент ревьюит своё исследование
802
+ - Ищет универсальные паттерны, скиллы, правила, шаблоны
803
+ - Классифицирует и деконтекстуализирует находки
804
+
805
+ **Шаг 4.** Оркестратор синтезирует результаты:
806
+ - Объединяет находки из всех исследований
807
+ - Дедуплицирует повторяющиеся паттерны
808
+ - Приоритизирует: если паттерн встречается в нескольких исследованиях -- повышает maturity
809
+
810
+ **Шаг 5.** Обновляет `TOOLKIT_HARVEST.md` с полным набором находок.
811
+
812
+ **Шаг 6.** Выводит отчет пользователю:
813
+ ```
814
+ ═══════════════════════════════════════════════════════
815
+ Harvest Complete: 3 исследования обработаны
816
+
817
+ | Категория | Найдено | Новых | Обновлено |
818
+ |-----------|---------|-------|-----------|
819
+ | skills/ | 2 | 1 | 1 |
820
+ | commands/ | 1 | 1 | 0 |
821
+ | rules/ | 3 | 2 | 1 |
822
+ | templates/ | 2 | 0 | 2 |
823
+ | patterns/ | 4 | 3 | 1 |
824
+ | snippets/ | 1 | 1 | 0 |
825
+
826
+ TOOLKIT_HARVEST.md обновлён
827
+ ═══════════════════════════════════════════════════════
828
+ ```
829
+
830
+ ---
831
+
832
+ ## Error Flows
833
+
834
+ ### Error Flow 1: Research не находит данных
835
+
836
+ ```mermaid
837
+ flowchart TD
838
+ A["Phase 2: Research запущена"] --> B["Agent выполняет поиск"]
839
+ B --> C{"Данные найдены?"}
840
+ C -->|Да| D["Нормальный flow:<br/>верификация, синтез"]
841
+ C -->|Частично| E["Маркировать пробелы<br/>как [DATA_GAP]"]
842
+ C -->|Нет| F["Расширить поисковый запрос"]
843
+ F --> G{"Данные найдены<br/>после расширения?"}
844
+ G -->|Да| D
845
+ G -->|Нет| H["Зафиксировать в артефакте:<br/>[NO_DATA] + объяснение"]
846
+ E --> I["Checkpoint 2:<br/>показать найденное + пробелы"]
847
+ H --> I
848
+ D --> I
849
+ I --> J["User решает:"]
850
+ J --> K["'ок' — продолжить<br/>с имеющимися данными"]
851
+ J --> L["'углуби [тему]' —<br/>доисследовать конкретную область"]
852
+ J --> M["'пропусти' — НЕЛЬЗЯ<br/>пропустить research"]
853
+ ```
854
+
855
+ **Принципы обработки:**
856
+ - Research **никогда не пропускается** -- даже при отсутствии данных фиксируется сам факт отсутствия
857
+ - PARANOID mode: лучше `[NO_DATA]`, чем непроверенное утверждение
858
+ - Пробелы маркируются явно -- это ценная информация для последующих фаз
859
+ - Пользователь всегда информируется о состоянии данных на checkpoint
860
+
861
+ ---
862
+
863
+ ### Error Flow 2: Пользователь пропускает CJM (блокировка)
864
+
865
+ ```mermaid
866
+ flowchart TD
867
+ A["Пайплайн достиг Phase 2.5"] --> B{"User пытается<br/>пропустить CJM?"}
868
+ B -->|Нет| C["Нормальный flow:<br/>CJM Prototype"]
869
+ B -->|Да: 'пропусти'| D["БЛОКИРОВКА"]
870
+ D --> E["Сообщение:<br/>'Phase 2.5 CJM Prototype<br/>ОБЯЗАТЕЛЬНА и не может<br/>быть пропущена'"]
871
+ E --> F{"Мало времени?"}
872
+ F -->|Да| G["Предложить Quick Mode:<br/>2 варианта CJM, базовый UI"]
873
+ F -->|Нет| H["Предложить выполнить<br/>полную Phase 2.5"]
874
+ G --> I["Упрощённый CJM<br/>(но НЕ пропуск)"]
875
+ H --> C
876
+ I --> J["Checkpoint 2.5:<br/>выбор CJM"]
877
+ ```
878
+
879
+ **Принципы обработки:**
880
+ - Phase 2.5 (CJM Prototype) -- **абсолютно обязательна**
881
+ - Правило `anti-patterns.md` автоматически блокирует попытку пропуска
882
+ - При нехватке времени предлагается Quick Mode: 2 варианта вместо 4, базовый UI
883
+ - `{CHOSEN_CJM}` **должен быть зафиксирован** перед Phase 3 -- без него последующие фазы не могут выполниться корректно
884
+
885
+ ---
886
+
887
+ ### Error Flow 3: Agent timeout
888
+
889
+ ```mermaid
890
+ flowchart TD
891
+ A["Orchestrator запускает<br/>N агентов параллельно"] --> B["Агенты работают..."]
892
+ B --> C{"Все завершились<br/>в пределах timeout?"}
893
+ C -->|Да| D["Нормальный flow:<br/>синтез результатов"]
894
+ C -->|Нет: timeout| E["Определить, какие<br/>агенты не завершились"]
895
+ E --> F{"Есть частичные<br/>результаты?"}
896
+ F -->|Да| G["Собрать частичные<br/>результаты"]
897
+ F -->|Нет| H["Зафиксировать<br/>[AGENT_TIMEOUT]"]
898
+ G --> I["Синтез из завершённых<br/>+ частичных результатов"]
899
+ H --> I
900
+ I --> J["Checkpoint: показать<br/>что получено + что пропущено"]
901
+ J --> K["User решает:"]
902
+ K --> L["'ок' — продолжить<br/>с имеющимися данными"]
903
+ K --> M["'повтори [агент]' —<br/>перезапустить упавшего агента"]
904
+ K --> N["'углуби [тему]' —<br/>доработать вручную"]
905
+ ```
906
+
907
+ **Принципы обработки:**
908
+ - Timeout одного агента **не блокирует** остальных -- завершившиеся агенты возвращают результаты
909
+ - Частичные результаты **используются** -- лучше часть данных, чем ничего
910
+ - Пользователь информируется, какие данные получены, а какие пропущены
911
+ - Возможен перезапуск конкретного упавшего агента
912
+ - Timeout маркируется в артефакте как `[AGENT_TIMEOUT: <описание>]`
913
+
914
+ ### Сводная таблица обработки ошибок
915
+
916
+ | Ошибка | Блокирует ли пайплайн | Действие |
917
+ |--------|----------------------|----------|
918
+ | Research не нашёл данных | Нет | `[NO_DATA]` + продолжить |
919
+ | Пропуск Phase 2.5 | Да | Блокировка, предложить Quick Mode |
920
+ | Пропуск Executive Summary | Да | Блокировка, обязательно создать |
921
+ | Agent timeout | Нет | Частичные результаты + уведомление |
922
+ | Нет артефактов предыдущих фаз | Да | Предложить выполнить пропущенные фазы |
923
+ | Anti-pattern обнаружен | Нет (предупреждение) | Флаг + автоматическое исправление |
924
+ | "Just add GPT" в решении | Нет (предупреждение) | Запросить конкретные модели + pipeline |
925
+ | Непроверенное утверждение | Нет (маркировка) | `[UNVERIFIED]` + флаг |