@dzhechkov/keysarium 1.2.0 → 1.3.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.
- package/README.md +7 -2
- package/package.json +2 -2
- package/templates/.claude/commands/brain-export.md +97 -20
- package/templates/.claude/commands/brain-import.md +75 -4
- package/templates/CLAUDE.md +20 -14
- package/templates/docs/feature-adr/01-architecture.md +750 -0
- package/templates/docs/feature-adr/02-functionality.md +712 -0
- package/templates/docs/feature-adr/03-deployment-guide.md +614 -0
- package/templates/docs/feature-adr/04-admin-guide.md +564 -0
- package/templates/docs/feature-adr/05-user-guide.md +508 -0
- package/templates/docs/feature-adr/06-user-flows.md +1101 -0
- package/templates/docs/keysarium-core/01-architecture.md +559 -0
- package/templates/docs/keysarium-core/02-functionality.md +953 -0
- package/templates/docs/keysarium-core/03-deployment-guide.md +625 -0
- package/templates/docs/keysarium-core/04-admin-guide.md +529 -0
- package/templates/docs/keysarium-core/05-user-guide.md +599 -0
- package/templates/docs/keysarium-core/06-user-flows.md +804 -0
- package/templates/lib/memory-protocol.md +127 -22
|
@@ -0,0 +1,508 @@
|
|
|
1
|
+
# Руководство пользователя @dzhechkov/skills-feature-adr
|
|
2
|
+
|
|
3
|
+
> Полное руководство по использованию адаптивного pipeline для разработки фич любой сложности.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Содержание
|
|
8
|
+
|
|
9
|
+
1. [Что такое Feature ADR?](#1-что-такое-feature-adr)
|
|
10
|
+
2. [Когда использовать Feature ADR?](#2-когда-использовать-feature-adr)
|
|
11
|
+
3. [Быстрый старт](#3-быстрый-старт)
|
|
12
|
+
4. [Понимание Complexity Tiers](#4-понимание-complexity-tiers)
|
|
13
|
+
5. [Работа с checkpoints](#5-работа-с-checkpoints)
|
|
14
|
+
6. [Понимание артефактов](#6-понимание-артефактов)
|
|
15
|
+
7. [Работа с ADR](#7-работа-с-adr)
|
|
16
|
+
8. [Работа с архитектурой](#8-работа-с-архитектурой)
|
|
17
|
+
9. [Работа с QE отчётом](#9-работа-с-qe-отчётом)
|
|
18
|
+
10. [Советы и best practices](#10-советы-и-best-practices)
|
|
19
|
+
11. [FAQ](#11-faq)
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 1. Что такое Feature ADR?
|
|
24
|
+
|
|
25
|
+
Feature ADR -- это **9-шаговый адаптивный pipeline** для разработки программных фич. Он берёт описание задачи на входе и проводит через полный цикл: от классификации сложности до написания кода и проверки качества.
|
|
26
|
+
|
|
27
|
+
### Ключевые возможности
|
|
28
|
+
|
|
29
|
+
- **Автоматическое масштабирование сложности (S/M/L/XL).** Complexity Router анализирует описание фичи по 6 измерениям и определяет оптимальный набор шагов. Простой баг-фикс на 2 файла не будет проходить через DDD-моделирование, а миграция на новый фреймворк не останется без архитектурных решений.
|
|
30
|
+
|
|
31
|
+
- **ADR-driven архитектурные решения.** Каждое значимое архитектурное решение фиксируется в Architecture Decision Record (ADR) с анализом альтернатив, матрицей принятия решений и описанием последствий. Решения не теряются и прослеживаются до кода.
|
|
32
|
+
|
|
33
|
+
- **Мульти-агентная проверка качества.** На XL-фичах Step 8 (QE) запускает панель из 3 параллельных ревьюеров: по корректности, безопасности и архитектуре. Каждый работает независимо, результаты синтезируются в единый отчёт.
|
|
34
|
+
|
|
35
|
+
- **Работает автономно или вместе с Keysarium.** Feature ADR -- самостоятельный pipeline. Он не зависит от исследовательского pipeline `/casarium`, но использует общие скиллы (`explore`, `problem-solver-enhanced`, `frontend-design`) и протоколы (checkpoints, promise tags).
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 2. Когда использовать Feature ADR?
|
|
40
|
+
|
|
41
|
+
| Ситуация | Команда | Почему |
|
|
42
|
+
|----------|---------|--------|
|
|
43
|
+
| Реализация программной фичи | `/feature-adr` | Полный цикл от требований до QE |
|
|
44
|
+
| Исследование AI-кейса для хакатона | `/casarium` | Другой pipeline: discovery, research, presentation |
|
|
45
|
+
| Решение сложной проблемы (без кода) | `/solve` | Фокус на анализе, без реализации |
|
|
46
|
+
| Проектирование архитектуры (без кода) | `/architecture-phase` | Только C4-диаграммы и sequence flows |
|
|
47
|
+
| Создание нового скилла или команды | `/bto-build` | Генерация + мульти-агентная оценка |
|
|
48
|
+
|
|
49
|
+
**Правило:** если результат вашей работы -- **работающий код в репозитории**, используйте `/feature-adr`. Если результат -- **документ, презентация или анализ** -- используйте соответствующую команду выше.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 3. Быстрый старт
|
|
54
|
+
|
|
55
|
+
Запустите команду с описанием фичи:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
/feature-adr Добавить систему уведомлений пользователей
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Pipeline запускается автоматически. Вот что происходит на каждом шаге:
|
|
62
|
+
|
|
63
|
+
### Шаг за шагом
|
|
64
|
+
|
|
65
|
+
**1. Complexity Router классифицирует фичу -- Checkpoint 0**
|
|
66
|
+
|
|
67
|
+
Система анализирует описание по 6 измерениям (файлы, домены, интеграции, breaking changes, модели данных, cross-cutting concerns) и определяет tier. Вы видите:
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
STEP 0/8: Complexity Router Complete
|
|
71
|
+
Tier: M | Active Steps: [0, 1, 3, 5, 6, 7, 8]
|
|
72
|
+
|
|
73
|
+
Feature classified as M based on: 8 files affected, 2 domains (Orders + Notifications)
|
|
74
|
+
Pipeline: 7 steps, estimated 45 min
|
|
75
|
+
|
|
76
|
+
* "ок" -- proceed with this tier
|
|
77
|
+
* "повысь" -- bump to next tier
|
|
78
|
+
* "понизь" -- drop to lower tier
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Вы подтверждаете tier или корректируете его.
|
|
82
|
+
|
|
83
|
+
**2. Requirements gathered -- Checkpoint 1**
|
|
84
|
+
|
|
85
|
+
Собраны функциональные и нефункциональные требования с критериями приёмки (acceptance criteria) для каждого.
|
|
86
|
+
|
|
87
|
+
**3. (если M+) ADR created -- Checkpoint 3**
|
|
88
|
+
|
|
89
|
+
Для каждого значимого архитектурного решения создан ADR с альтернативами и обоснованием выбора.
|
|
90
|
+
|
|
91
|
+
**4. (если M+) Architecture designed -- Checkpoint 5**
|
|
92
|
+
|
|
93
|
+
Созданы C4-диаграммы (компоненты, контейнеры) и описание API.
|
|
94
|
+
|
|
95
|
+
**5. Implementation plan -- Checkpoint 6**
|
|
96
|
+
|
|
97
|
+
Задачи декомпозированы с зависимостями и указанием файлов для каждой задачи.
|
|
98
|
+
|
|
99
|
+
**6. Code generated -- Checkpoint 7**
|
|
100
|
+
|
|
101
|
+
Код написан в репозитории. Все изменения задокументированы в `change_manifest.md`.
|
|
102
|
+
|
|
103
|
+
**7. QE completed -- Checkpoint 8**
|
|
104
|
+
|
|
105
|
+
Тесты запущены, код отревьюен, acceptance criteria проверены. Вердикт: READY / NEEDS FIXES / CONDITIONAL.
|
|
106
|
+
|
|
107
|
+
**8. Готово!**
|
|
108
|
+
|
|
109
|
+
Все артефакты лежат в `features/<slug>/`, код -- в вашем репозитории.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 4. Понимание Complexity Tiers
|
|
114
|
+
|
|
115
|
+
Tier определяется автоматически суммой баллов по 6 измерениям (от 6 до 24).
|
|
116
|
+
|
|
117
|
+
### Tier S -- Small (6-8 баллов, ~15 минут)
|
|
118
|
+
|
|
119
|
+
- **Масштаб:** 1-3 файла, 1 домен, нет новых интеграций
|
|
120
|
+
- **Активные шаги:** 0 -> 1 -> 6 -> 7 -> 8
|
|
121
|
+
- **Примеры:** баг-фикс, изменение конфигурации, утилитарная функция, добавление поля
|
|
122
|
+
- **Особенности:**
|
|
123
|
+
- Requirements -- 3-5 пунктов, без формального документа
|
|
124
|
+
- Implementation plan -- inline, без отдельного файла
|
|
125
|
+
- QE -- только smoke-тесты (компилируется? существующие тесты проходят?)
|
|
126
|
+
|
|
127
|
+
### Tier M -- Medium (9-13 баллов, ~45 минут)
|
|
128
|
+
|
|
129
|
+
- **Масштаб:** 4-10 файлов, 1-2 домена, 0-1 интеграция
|
|
130
|
+
- **Активные шаги:** 0 -> 1 -> 3 -> 5(light) -> 6 -> 7 -> 8
|
|
131
|
+
- **Примеры:** новый API-endpoint, UI-компонент, простая фича с фронтом и бэком
|
|
132
|
+
- **Особенности:**
|
|
133
|
+
- Один ADR для главного архитектурного решения
|
|
134
|
+
- Architecture light -- только component diagram, без полного C4
|
|
135
|
+
- QE -- unit-тесты + базовый code review
|
|
136
|
+
|
|
137
|
+
### Tier L -- Large (14-19 баллов, ~2 часа)
|
|
138
|
+
|
|
139
|
+
- **Масштаб:** 11-30 файлов, 2-4 домена, 1-3 интеграции
|
|
140
|
+
- **Активные шаги:** все, с параллельными парами [2 || 3], [4 || 5]
|
|
141
|
+
- **Примеры:** новый модуль, мульти-доменная фича, интеграция с внешним сервисом
|
|
142
|
+
- **Особенности:**
|
|
143
|
+
- Research: анализ паттернов в кодовой базе и внешних аналогов
|
|
144
|
+
- Несколько ADR для каждого значимого решения
|
|
145
|
+
- DDD: bounded contexts + ubiquitous language
|
|
146
|
+
- Полный C4 (Context + Container + Component)
|
|
147
|
+
- QE: unit + integration тесты + полный code review
|
|
148
|
+
|
|
149
|
+
### Tier XL -- Extra Large (20-24 баллов, 4+ часов)
|
|
150
|
+
|
|
151
|
+
- **Масштаб:** 30+ файлов, 4+ доменов, 3+ интеграций
|
|
152
|
+
- **Активные шаги:** все, максимальный параллелизм
|
|
153
|
+
- **Примеры:** новая подсистема, миграция фреймворка, major refactor
|
|
154
|
+
- **Особенности:**
|
|
155
|
+
- Все шаги на полной глубине
|
|
156
|
+
- Step 7: несколько параллельных агентов, по одному на модуль
|
|
157
|
+
- Step 8: полная QE -- unit + integration + e2e + security + performance review
|
|
158
|
+
- Мульти-агентная панель ревью (3 параллельных ревьюера)
|
|
159
|
+
|
|
160
|
+
### Правила переопределения
|
|
161
|
+
|
|
162
|
+
Complexity Router может скорректировать tier вверх:
|
|
163
|
+
|
|
164
|
+
- Если **любое одно измерение = XL (4 балла)** -- минимальный tier = L
|
|
165
|
+
- Если **breaking changes > 0** -- минимальный tier = M
|
|
166
|
+
- Слова "refactor", "migration", "redesign" в описании -- смещение к L/XL
|
|
167
|
+
- Вы можете **явно указать tier** на Checkpoint 0
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## 5. Работа с checkpoints
|
|
172
|
+
|
|
173
|
+
Каждый активный шаг завершается checkpoint -- точкой, где вы проверяете результат и принимаете решение.
|
|
174
|
+
|
|
175
|
+
### Формат checkpoint
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
STEP N/8: [Step Name] Complete
|
|
179
|
+
<promise>[PROMISE_TAG]</promise>
|
|
180
|
+
Tier: M | Active Steps: [0, 1, 3, 5, 6, 7, 8]
|
|
181
|
+
|
|
182
|
+
[Краткое описание: что сделано, 2-3 строки]
|
|
183
|
+
Artifacts: [список файлов]
|
|
184
|
+
|
|
185
|
+
* "ок" -- next step
|
|
186
|
+
* "углуби [section]" -- elaborate
|
|
187
|
+
* "[feedback]" -- adjust
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Ваши варианты ответа
|
|
191
|
+
|
|
192
|
+
| Ответ | Что произойдёт |
|
|
193
|
+
|-------|----------------|
|
|
194
|
+
| `ок` | Переход к следующему шагу |
|
|
195
|
+
| `углуби X` | Текущий шаг дорабатывается: раздел X расширяется |
|
|
196
|
+
| `переделай` | Текущий шаг выполняется заново |
|
|
197
|
+
| `повысь` / `понизь` (только Checkpoint 0) | Изменение tier |
|
|
198
|
+
| Конкретная обратная связь | Текущий шаг корректируется по вашим замечаниям |
|
|
199
|
+
|
|
200
|
+
### Важно
|
|
201
|
+
|
|
202
|
+
- Pipeline **не переходит** к следующему шагу без вашего подтверждения
|
|
203
|
+
- Вы можете давать обратную связь **несколько раз** на одном checkpoint
|
|
204
|
+
- На **Checkpoint 0** вы можете изменить tier, но после подтверждения tier фиксируется на весь pipeline
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## 6. Понимание артефактов
|
|
209
|
+
|
|
210
|
+
Все артефакты создаются в директории `features/<feature-slug>/`. Вот что содержит каждый файл:
|
|
211
|
+
|
|
212
|
+
### 00_complexity_assessment.md
|
|
213
|
+
**Создаётся:** всегда (Step 0)
|
|
214
|
+
|
|
215
|
+
Таблица с оценкой по 6 измерениям, итоговый балл, выбранный tier, список активных шагов и time budget. Позволяет понять, почему pipeline был настроен именно так.
|
|
216
|
+
|
|
217
|
+
### 01_requirements.md
|
|
218
|
+
**Создаётся:** всегда (Step 1, для S-tier -- в упрощённом виде)
|
|
219
|
+
|
|
220
|
+
Функциональные и нефункциональные требования. Каждое MUST-требование имеет acceptance criteria в формате Given/When/Then. Определяет scope (IN/OUT).
|
|
221
|
+
|
|
222
|
+
### 02_research.md
|
|
223
|
+
**Создаётся:** только L/XL (Step 2)
|
|
224
|
+
|
|
225
|
+
Анализ паттернов в кодовой базе проекта и внешних аналогов. Помогает принять обоснованные архитектурные решения на следующем шаге.
|
|
226
|
+
|
|
227
|
+
### 03_adr/*.md
|
|
228
|
+
**Создаётся:** M+ (Step 3). Для M -- один ADR, для L/XL -- несколько.
|
|
229
|
+
|
|
230
|
+
Architecture Decision Records. Каждый ADR -- отдельный файл в формате `001-<decision-slug>.md`. Подробнее -- в разделе [Работа с ADR](#7-работа-с-adr).
|
|
231
|
+
|
|
232
|
+
### 04_domain_model.md
|
|
233
|
+
**Создаётся:** только L/XL (Step 4)
|
|
234
|
+
|
|
235
|
+
Domain-Driven Design модель: bounded contexts, ubiquitous language, агрегаты, связи. Для XL -- полная карта доменов.
|
|
236
|
+
|
|
237
|
+
### 05_architecture.md
|
|
238
|
+
**Создаётся:** M+ (Step 5). Для M -- light version.
|
|
239
|
+
|
|
240
|
+
C4-диаграммы в Mermaid, описание API endpoints, sequence diagrams для ключевых flows. Подробнее -- в разделе [Работа с архитектурой](#8-работа-с-архитектурой).
|
|
241
|
+
|
|
242
|
+
### 06_implementation_plan.md
|
|
243
|
+
**Создаётся:** всегда (Step 6, для S-tier может быть inline)
|
|
244
|
+
|
|
245
|
+
Декомпозиция на задачи с зависимостями. Каждая задача указывает: файлы, зависимости, критерий проверки. Задачи группируются в параллельные блоки.
|
|
246
|
+
|
|
247
|
+
### 07_code_changes/change_manifest.md
|
|
248
|
+
**Создаётся:** всегда (Step 7)
|
|
249
|
+
|
|
250
|
+
Манифест всех изменённых файлов. Код пишется **непосредственно в репозитории**, а `change_manifest.md` описывает, что и где было изменено.
|
|
251
|
+
|
|
252
|
+
### 08_qe_report.md
|
|
253
|
+
**Создаётся:** всегда (Step 8)
|
|
254
|
+
|
|
255
|
+
Отчёт Quality Engineering: результаты тестов, находки ревью, статус acceptance criteria, финальный вердикт. Подробнее -- в разделе [Работа с QE отчётом](#9-работа-с-qe-отчётом).
|
|
256
|
+
|
|
257
|
+
### diagrams/
|
|
258
|
+
**Создаётся:** M+ (Step 5)
|
|
259
|
+
|
|
260
|
+
Mermaid-диаграммы: `architecture-c4.mermaid`, `sequence-*.mermaid`, `domain-model.mermaid` (L/XL).
|
|
261
|
+
|
|
262
|
+
### README.md
|
|
263
|
+
**Создаётся:** всегда (автоматически)
|
|
264
|
+
|
|
265
|
+
Сводка по фиче: что было реализовано, какой tier, какие решения приняты, ссылки на артефакты.
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## 7. Работа с ADR
|
|
270
|
+
|
|
271
|
+
### Что такое ADR?
|
|
272
|
+
|
|
273
|
+
**Architecture Decision Record** -- это документ, фиксирующий одно конкретное архитектурное решение. ADR отвечает на вопрос: "Почему мы выбрали именно этот подход, а не другой?"
|
|
274
|
+
|
|
275
|
+
ADR -- не описание архитектуры (для этого есть Step 5). ADR -- это **обоснование выбора** с анализом альтернатив.
|
|
276
|
+
|
|
277
|
+
### Структура ADR
|
|
278
|
+
|
|
279
|
+
Каждый ADR содержит 7 секций:
|
|
280
|
+
|
|
281
|
+
1. **Status** -- Proposed / Accepted / Deprecated / Superseded
|
|
282
|
+
2. **Context** -- Описание проблемы и сил, действующих на решение
|
|
283
|
+
3. **Decision Drivers** -- Факторы, определяющие выбор (техническая экспертиза команды, требования к latency, существующая инфраструктура)
|
|
284
|
+
4. **Considered Options** -- Минимум 2 альтернативы, каждая с плюсами и минусами
|
|
285
|
+
5. **Decision Matrix** -- Взвешенная таблица для нетривиальных решений
|
|
286
|
+
6. **Decision** -- Выбранный вариант с обоснованием в 1-2 предложениях
|
|
287
|
+
7. **Consequences** -- Позитивные, негативные последствия и риски с mitigation
|
|
288
|
+
|
|
289
|
+
### Пример
|
|
290
|
+
|
|
291
|
+
```
|
|
292
|
+
ADR-001: Notification Delivery Strategy
|
|
293
|
+
|
|
294
|
+
Context: Нужно доставлять уведомления email и in-app. Вопрос:
|
|
295
|
+
синхронно или асинхронно?
|
|
296
|
+
|
|
297
|
+
Option 1: Синхронная отправка
|
|
298
|
+
+ Простая реализация
|
|
299
|
+
- Замедляет обновление статуса заказа
|
|
300
|
+
- Сбой email блокирует запрос
|
|
301
|
+
|
|
302
|
+
Option 2: Асинхронная через job queue
|
|
303
|
+
+ Не блокирует обработку заказов
|
|
304
|
+
+ Retry при сбоях
|
|
305
|
+
+ Использует существующую Bull queue инфраструктуру
|
|
306
|
+
- Небольшая задержка (допустима по требованиям)
|
|
307
|
+
|
|
308
|
+
Decision: Option 2 -- соответствует event-driven архитектуре
|
|
309
|
+
и укладывается в SLA 5 минут.
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### Когда давать обратную связь на ADR
|
|
313
|
+
|
|
314
|
+
Проверяйте ADR внимательно -- они определяют всё, что будет дальше (архитектуру, код, тесты). Обращайте внимание:
|
|
315
|
+
|
|
316
|
+
- **Только 1 альтернатива?** -- Попросите добавить. Решение без альтернатив -- не решение.
|
|
317
|
+
- **Нет негативных последствий?** -- Не бывает решений без trade-offs. Попросите добавить.
|
|
318
|
+
- **Decision Drivers не релевантны?** -- Укажите правильные ограничения вашего проекта.
|
|
319
|
+
- **Контекст не учитывает реальность?** -- Дайте обратную связь о существующей инфраструктуре или ограничениях команды.
|
|
320
|
+
|
|
321
|
+
### ADR как живые документы
|
|
322
|
+
|
|
323
|
+
ADR могут быть заменены (`Superseded by ADR-002`), если контекст изменился. Старый ADR не удаляется -- он остаётся как историческая справка.
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## 8. Работа с архитектурой
|
|
328
|
+
|
|
329
|
+
### C4 модель
|
|
330
|
+
|
|
331
|
+
Step 5 использует C4-модель для описания архитектуры на нескольких уровнях абстракции:
|
|
332
|
+
|
|
333
|
+
| Уровень | Что показывает | Когда создаётся |
|
|
334
|
+
|---------|---------------|-----------------|
|
|
335
|
+
| **System Context** | Ваша система + внешние системы и пользователи | L/XL |
|
|
336
|
+
| **Container** | Приложения, базы данных, очереди внутри системы | L/XL |
|
|
337
|
+
| **Component** | Компоненты внутри одного контейнера | M+ |
|
|
338
|
+
|
|
339
|
+
Для **M-tier** создаётся только component diagram. Для **L/XL** -- полный C4.
|
|
340
|
+
|
|
341
|
+
### Чтение Mermaid-диаграмм
|
|
342
|
+
|
|
343
|
+
Все диаграммы создаются в формате Mermaid и сохраняются в `features/<slug>/diagrams/`. Для просмотра:
|
|
344
|
+
|
|
345
|
+
- В VS Code: установите расширение "Mermaid Preview"
|
|
346
|
+
- На GitHub: Mermaid рендерится автоматически в `.md` файлах
|
|
347
|
+
- Онлайн: вставьте код в [mermaid.live](https://mermaid.live)
|
|
348
|
+
|
|
349
|
+
### Sequence diagrams
|
|
350
|
+
|
|
351
|
+
Для ключевых пользовательских сценариев создаются sequence-диаграммы, показывающие взаимодействие компонентов во времени. Они помогают понять: кто вызывает кого, в каком порядке, и где могут возникнуть проблемы.
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
## 9. Работа с QE отчётом
|
|
356
|
+
|
|
357
|
+
QE (Quality Engineering) отчёт -- финальный артефакт pipeline. Он определяет, готова ли фича к merge.
|
|
358
|
+
|
|
359
|
+
### Уровни серьёзности находок
|
|
360
|
+
|
|
361
|
+
| Символ | Уровень | Значение | Действие |
|
|
362
|
+
|--------|---------|----------|----------|
|
|
363
|
+
| BLOCKER | Блокер | Нельзя мёржить | Обязательно исправить |
|
|
364
|
+
| WARNING | Предупреждение | Нужно исправить | Исправить до следующего релиза |
|
|
365
|
+
| SUGGESTION | Предложение | Хорошо бы сделать | Рассмотреть в будущем |
|
|
366
|
+
| PRAISE | Похвала | Хорошо сделано | Действий не требуется |
|
|
367
|
+
|
|
368
|
+
### Таблица acceptance criteria
|
|
369
|
+
|
|
370
|
+
Каждое требование из Step 1 проверяется:
|
|
371
|
+
|
|
372
|
+
| Статус | Значение |
|
|
373
|
+
|--------|----------|
|
|
374
|
+
| PASS | Требование выполнено, есть доказательство (тест, ручная проверка) |
|
|
375
|
+
| FAIL | Требование не выполнено |
|
|
376
|
+
| PARTIAL | Требование выполнено частично |
|
|
377
|
+
|
|
378
|
+
### Вердикты
|
|
379
|
+
|
|
380
|
+
| Вердикт | Что значит | Что делать |
|
|
381
|
+
|---------|-----------|-----------|
|
|
382
|
+
| **READY FOR MERGE** | Все MUST-требования пройдены, нет блокеров | Фича готова. Можно мёржить. |
|
|
383
|
+
| **NEEDS FIXES** | Есть блокеры или непройденные MUST-требования | Исправить указанные проблемы и перезапустить QE |
|
|
384
|
+
| **CONDITIONAL APPROVAL** | Нет блокеров, но есть warnings | Можно мёржить после исправления warnings |
|
|
385
|
+
|
|
386
|
+
### Глубина QE по tier
|
|
387
|
+
|
|
388
|
+
| Категория проверок | S | M | L | XL |
|
|
389
|
+
|-------------------|---|---|---|-----|
|
|
390
|
+
| Pre-implementation | -- | Частично | Полностью | Полностью |
|
|
391
|
+
| Correctness | Smoke | Unit | Unit + Integration | Full |
|
|
392
|
+
| Security | -- | Базовые | Полные | Full + Pentest |
|
|
393
|
+
| Performance | -- | -- | Базовые | Full + Load |
|
|
394
|
+
| Maintainability | -- | Базовые | Полные | Полные |
|
|
395
|
+
| Compatibility | Smoke | Базовые | Полные | Полные |
|
|
396
|
+
|
|
397
|
+
---
|
|
398
|
+
|
|
399
|
+
## 10. Советы и best practices
|
|
400
|
+
|
|
401
|
+
### Описание фичи
|
|
402
|
+
|
|
403
|
+
Чем точнее описание, тем лучше результат. Сравните:
|
|
404
|
+
|
|
405
|
+
```
|
|
406
|
+
/feature-adr Добавить уведомления
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
```
|
|
410
|
+
/feature-adr Добавить email и in-app уведомления при изменении
|
|
411
|
+
статуса заказа. Использовать существующий SendGrid и Bull queue.
|
|
412
|
+
Пользователь может настроить типы уведомлений в настройках.
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
Второй вариант даст Complexity Router больше контекста для точной классификации и лучшие requirements на Step 1.
|
|
416
|
+
|
|
417
|
+
### Доверяйте Complexity Router
|
|
418
|
+
|
|
419
|
+
Если Router определил tier L -- скорее всего, фича действительно сложнее, чем кажется на первый взгляд. Пропуск шагов (ADR, DDD, Research) для L/XL фич приводит к техническому долгу и переделкам.
|
|
420
|
+
|
|
421
|
+
Конечно, вы всегда можете скорректировать tier на Checkpoint 0, если у вас есть основания.
|
|
422
|
+
|
|
423
|
+
### Ревьюте ADR внимательно
|
|
424
|
+
|
|
425
|
+
ADR на Step 3 определяют направление для Steps 4-7. Если ADR содержит неверное решение, весь последующий код будет строиться на неверном фундаменте. Лучше потратить 5 минут на обратную связь по ADR, чем переделывать код.
|
|
426
|
+
|
|
427
|
+
### Используйте checkpoints активно
|
|
428
|
+
|
|
429
|
+
Checkpoints -- не просто формальность. Это ваш инструмент для управления качеством:
|
|
430
|
+
|
|
431
|
+
- Видите, что requirements неполные? Скажите "углуби requirements" и укажите, что упущено.
|
|
432
|
+
- Считаете, что архитектура переусложнена? Дайте обратную связь: "упрости, уберите отдельный сервис X".
|
|
433
|
+
- Хотите добавить интеграцию, которая не была учтена? Скажите об этом на Checkpoint 1 или 3.
|
|
434
|
+
|
|
435
|
+
### Сохраняйте features/ как документацию
|
|
436
|
+
|
|
437
|
+
Директория `features/<slug>/` -- это не мусор после генерации. Это **живая документация** вашей фичи:
|
|
438
|
+
|
|
439
|
+
- ADR объясняют "почему" для новых участников команды
|
|
440
|
+
- Architecture diagrams помогают при onboarding
|
|
441
|
+
- QE report показывает, что было проверено
|
|
442
|
+
- Implementation plan полезен при планировании аналогичных фич
|
|
443
|
+
|
|
444
|
+
---
|
|
445
|
+
|
|
446
|
+
## 11. FAQ
|
|
447
|
+
|
|
448
|
+
### Можно ли пропустить шаги?
|
|
449
|
+
|
|
450
|
+
Нет. Tier определяет, какие шаги активны, и вы не можете пропустить активный шаг. Если вам кажется, что шаг лишний -- скорее всего, нужен другой tier. Скорректируйте его на Checkpoint 0.
|
|
451
|
+
|
|
452
|
+
### Можно ли изменить tier в процессе?
|
|
453
|
+
|
|
454
|
+
Нет. Tier фиксируется после подтверждения на Checkpoint 0 и не меняется до конца pipeline. Если scope фичи существенно изменился -- перезапустите pipeline с обновлённым описанием.
|
|
455
|
+
|
|
456
|
+
### Куда попадают изменения кода?
|
|
457
|
+
|
|
458
|
+
Код пишется **непосредственно в вашем репозитории**, а не только в `features/`. Директория `features/<slug>/07_code_changes/change_manifest.md` содержит список всех изменённых файлов, но сами изменения -- в вашем рабочем дереве.
|
|
459
|
+
|
|
460
|
+
### Нужен ли @dzhechkov/keysarium-core?
|
|
461
|
+
|
|
462
|
+
Нет, Feature ADR работает автономно. Пакет `keysarium-core` предоставляет расширенные протоколы governance (witness chain, reward learning, dream engine), но они не обязательны для работы pipeline.
|
|
463
|
+
|
|
464
|
+
### Можно ли кастомизировать шаги?
|
|
465
|
+
|
|
466
|
+
Да. Каждый шаг определён в отдельном модуле (`modules/00-08`). Вы можете отредактировать их, чтобы адаптировать под свой workflow. Например:
|
|
467
|
+
|
|
468
|
+
- Добавить специфические проверки в Step 8 (QE)
|
|
469
|
+
- Изменить шаблон ADR в `references/adr-template.md`
|
|
470
|
+
- Настроить критерии классификации в `references/complexity-matrix.md`
|
|
471
|
+
|
|
472
|
+
### Как запускать несколько фич параллельно?
|
|
473
|
+
|
|
474
|
+
Запускайте отдельные вызовы `/feature-adr` -- каждый создаёт изолированную директорию `features/<slug>/`. Фичи не пересекаются и не конфликтуют на уровне артефактов. Конфликты в коде (Step 7) разрешаются стандартными средствами git.
|
|
475
|
+
|
|
476
|
+
### Чем Feature ADR отличается от /casarium?
|
|
477
|
+
|
|
478
|
+
`/casarium` -- это исследовательский pipeline для AI-кейсов на хакатонах (discovery, research, CJM-прототип, презентация). `/feature-adr` -- это pipeline разработки: от требований до кода и тестов. Они используют общие скиллы, но решают разные задачи.
|
|
479
|
+
|
|
480
|
+
| Свойство | /feature-adr | /casarium |
|
|
481
|
+
|----------|-------------|-----------|
|
|
482
|
+
| Результат | Код в репозитории | Презентация + документы |
|
|
483
|
+
| Артефакты | `features/<slug>/` | `researches/<slug>/` |
|
|
484
|
+
| Шаги | 9 (0-8) | 7 фаз (0-6) |
|
|
485
|
+
| CJM-прототип | Нет | Обязателен (Phase 2.5) |
|
|
486
|
+
| ADR | Да | Нет |
|
|
487
|
+
| QE | Да | Нет |
|
|
488
|
+
|
|
489
|
+
### Какие скиллы используются внутри?
|
|
490
|
+
|
|
491
|
+
| Скилл | Где используется | Назначение |
|
|
492
|
+
|-------|-----------------|-----------|
|
|
493
|
+
| `explore` | Step 1 | Кларификация и сбор требований |
|
|
494
|
+
| `problem-solver-enhanced` | Step 3 | Trade-off анализ для ADR (TRIZ + Game Theory) |
|
|
495
|
+
| `frontend-design` | Step 7 | UI-реализация (если фича имеет интерфейс) |
|
|
496
|
+
|
|
497
|
+
### Что такое promise tags?
|
|
498
|
+
|
|
499
|
+
Promise tags -- это машиночитаемые маркеры завершения шага. Они используются для формальной валидации: downstream-шаги проверяют, что upstream-шаги завершены. Вам не нужно взаимодействовать с ними напрямую -- система управляет ими автоматически.
|
|
500
|
+
|
|
501
|
+
| Шаг | Promise Tag |
|
|
502
|
+
|-----|-------------|
|
|
503
|
+
| 0 | `FEATURE_ADR_ROUTED` |
|
|
504
|
+
| 1 | `FEATURE_ADR_REQUIREMENTS_GATHERED` |
|
|
505
|
+
| 2-5 | `FEATURE_ADR_DESIGNED` |
|
|
506
|
+
| 6 | `FEATURE_ADR_PLANNED` |
|
|
507
|
+
| 7 | `FEATURE_ADR_IMPLEMENTED` |
|
|
508
|
+
| 8 | `FEATURE_ADR_VERIFIED` |
|