workflow-ai 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.
- package/README.md +76 -0
- package/agent-templates/CLAUDE.md.tpl +42 -0
- package/agent-templates/QWEN.md.tpl +34 -0
- package/bin/workflow.mjs +3 -0
- package/configs/config.yaml +117 -0
- package/configs/pipeline.yaml +422 -0
- package/package.json +24 -0
- package/src/cli.mjs +131 -0
- package/src/init.mjs +441 -0
- package/src/lib/find-root.mjs +33 -0
- package/src/lib/utils.mjs +66 -0
- package/src/runner.mjs +1466 -0
- package/src/scripts/check-anomalies.js +161 -0
- package/src/scripts/move-ticket.js +228 -0
- package/src/scripts/move-to-ready.js +110 -0
- package/src/scripts/move-to-review.js +88 -0
- package/src/scripts/pick-next-task.js +345 -0
- package/src/skills/analyze-report/SKILL.md +110 -0
- package/src/skills/check-conditions/SKILL.md +140 -0
- package/src/skills/create-plan/SKILL.md +98 -0
- package/src/skills/create-report/SKILL.md +156 -0
- package/src/skills/decompose-gaps/SKILL.md +122 -0
- package/src/skills/decompose-plan/SKILL.md +109 -0
- package/src/skills/execute-task/SKILL.md +117 -0
- package/src/skills/review-result/SKILL.md +274 -0
- package/templates/plan-template.md +116 -0
- package/templates/report-template.md +178 -0
- package/templates/ticket-template.md +103 -0
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review-result
|
|
3
|
+
description: Проверить результат выполнения задачи на соответствие Definition of Done. Используется после execute-task для валидации качества работы.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Проверка результата (Review Result)
|
|
7
|
+
|
|
8
|
+
Этот skill проверяет результат выполнения задачи на соответствие критериям готовности (Definition of Done) из тикета.
|
|
9
|
+
|
|
10
|
+
## Когда использовать
|
|
11
|
+
|
|
12
|
+
- Задача выполнена и тикет перемещён в `review/`
|
|
13
|
+
- Требуется валидация качества перед перемещением в `done/`
|
|
14
|
+
- Retry-логика пайплайна: определить status для goto-перехода
|
|
15
|
+
|
|
16
|
+
## Шаги проверки
|
|
17
|
+
|
|
18
|
+
### 0. Проверить наличие предыдущего успешного ревью
|
|
19
|
+
|
|
20
|
+
**До любых проверок** найди в тикете секцию `## Ревью`.
|
|
21
|
+
|
|
22
|
+
Если секция существует и содержит запись со статусом `passed` (в виде `✅ passed` или просто `passed`) — ревью уже пройдено успешно ранее. Немедленно верни результат без выполнения дальнейших проверок:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
---RESULT---
|
|
26
|
+
status: passed
|
|
27
|
+
issues: []
|
|
28
|
+
---RESULT---
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
> Логика: повторная проверка уже прошедшего ревью — лишняя работа. Если задача была одобрена — она одобрена.
|
|
32
|
+
|
|
33
|
+
Только если ни одной успешной записи нет — переходи к шагу 1.
|
|
34
|
+
|
|
35
|
+
### 1. Прочитать тикет
|
|
36
|
+
|
|
37
|
+
ID тикета передаётся в промпте как `ticket_id` в секции Context.
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
Путь: .workflow/tickets/review/{TICKET-ID}.md
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Важно:** НЕ перемещай тикет — перемещение выполняется отдельным stage пайплайна по результату этого skill.
|
|
44
|
+
|
|
45
|
+
Извлечь:
|
|
46
|
+
- Definition of Done (DoD) — чеклист критериев готовности
|
|
47
|
+
- Детали задачи — требования к реализации
|
|
48
|
+
- Результат выполнения (секция Result) — что сделано
|
|
49
|
+
|
|
50
|
+
### 2. Проверить каждый пункт DoD
|
|
51
|
+
|
|
52
|
+
Для каждого критерия из Definition of Done:
|
|
53
|
+
|
|
54
|
+
| Тип проверки | Описание |
|
|
55
|
+
|--------------|----------|
|
|
56
|
+
| `file_exists` | Файл существует по указанному пути |
|
|
57
|
+
| `compilation` | Код компилируется / линтер проходит |
|
|
58
|
+
| `tests` | Тесты проходят |
|
|
59
|
+
| `text` | Текстовый критерий выполнен (содержимое, структура) |
|
|
60
|
+
| `structure` | Структура соответствует шаблону |
|
|
61
|
+
|
|
62
|
+
### 3. Сверить результат с требованиями
|
|
63
|
+
|
|
64
|
+
Сравнить секцию «Результат выполнения» с «Деталями задачи»:
|
|
65
|
+
- Все ли требования учтены
|
|
66
|
+
- Соответствует ли реализация описанию
|
|
67
|
+
- Нет ли расхождений
|
|
68
|
+
|
|
69
|
+
### 4. Сформировать вердикт
|
|
70
|
+
|
|
71
|
+
Возвращать структурированный результат строго в одном из двух форматов:
|
|
72
|
+
|
|
73
|
+
> **КРИТИЧНО**: `status` принимает ТОЛЬКО два значения: `passed` или `failed`.
|
|
74
|
+
> Любой другой вывод (`default`, `ok`, `done`, `complete`, `yes`, и т.д.) — **ОШИБКА**.
|
|
75
|
+
> Пайплайн не продолжится корректно, если статус не распознан.
|
|
76
|
+
|
|
77
|
+
Если **все** пункты DoD выполнены:
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
---RESULT---
|
|
81
|
+
status: passed
|
|
82
|
+
issues: []
|
|
83
|
+
---RESULT---
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Если **хотя бы один** пункт DoD не выполнен:
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
---RESULT---
|
|
90
|
+
status: failed
|
|
91
|
+
issues:
|
|
92
|
+
- "Пункт DoD X не выполнен: ожидалось Y, получено Z"
|
|
93
|
+
- "Файл X не создан"
|
|
94
|
+
- "Тест Y не прошёл"
|
|
95
|
+
---RESULT---
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
> Блок `---RESULT---` должен быть в выводе **ровно один раз**, в самом конце ответа.
|
|
99
|
+
|
|
100
|
+
### 5. При `failed`: детализировать замечания
|
|
101
|
+
|
|
102
|
+
Для каждого невыполненного пункта:
|
|
103
|
+
- Описать что ожидалось
|
|
104
|
+
- Описать что получено
|
|
105
|
+
- Указать файл/строку если применимо
|
|
106
|
+
|
|
107
|
+
## Алгоритм проверки
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
0. Быстрый выход:
|
|
111
|
+
- Прочитать тикет
|
|
112
|
+
- Найти секцию "## Ревью"
|
|
113
|
+
- Если есть запись с "passed" → вернуть status: passed, остановиться
|
|
114
|
+
|
|
115
|
+
1. Парсинг тикета:
|
|
116
|
+
- Извлечь DoD (список критериев)
|
|
117
|
+
- Извлечь Result (что сделано)
|
|
118
|
+
- Извлечь Детали задачи (требования)
|
|
119
|
+
|
|
120
|
+
2. Для каждого пункта DoD:
|
|
121
|
+
- Определить тип проверки (file/compilation/tests/text)
|
|
122
|
+
- Выполнить проверку
|
|
123
|
+
- Записать результат (pass/fail + комментарий)
|
|
124
|
+
|
|
125
|
+
3. Сверка Result ↔ Детали задачи:
|
|
126
|
+
- Все ли файлы созданы
|
|
127
|
+
- Соответствует ли структура
|
|
128
|
+
- Нет ли расхождений
|
|
129
|
+
|
|
130
|
+
4. Формирование вердикта:
|
|
131
|
+
- Если все пункты pass → status: passed
|
|
132
|
+
- Если есть fail → status: failed + список issues
|
|
133
|
+
|
|
134
|
+
5. Вывод результата в формате ---RESULT---
|
|
135
|
+
|
|
136
|
+
6. Пометка тикета о результате ревью:
|
|
137
|
+
- Добавить/обновить секцию `## Ревью` в тикете
|
|
138
|
+
- Указать:
|
|
139
|
+
- Дата ревью
|
|
140
|
+
- Статус: passed/failed
|
|
141
|
+
- Краткий самари (если failed — что не так)
|
|
142
|
+
- Сохранить тикет в той же директории
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Типы проверок
|
|
146
|
+
|
|
147
|
+
### file_exists
|
|
148
|
+
|
|
149
|
+
Проверка существования файла:
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
Критерий: "[ ] Файл `src/logger.py` создан"
|
|
153
|
+
Проверка: os.path.exists("src/logger.py")
|
|
154
|
+
Результат: pass/fail
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### compilation
|
|
158
|
+
|
|
159
|
+
Проверка компиляции / линта:
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
Критерий: "[ ] Код проходит линтер"
|
|
163
|
+
Проверка: npm run lint / ruff check / etc.
|
|
164
|
+
Результат: pass/fail + вывод
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### tests
|
|
168
|
+
|
|
169
|
+
Проверка тестов:
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
Критерий: "[ ] Тесты проходят"
|
|
173
|
+
Проверка: npm test / pytest / etc.
|
|
174
|
+
Результат: pass/fail + вывод
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### text
|
|
178
|
+
|
|
179
|
+
Текстовая проверка:
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
Критерий: "[ ] Описан алгоритм проверки DoD"
|
|
183
|
+
Проверка: Поиск раздела "Алгоритм" в файле
|
|
184
|
+
Результат: pass/fail
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### structure
|
|
188
|
+
|
|
189
|
+
Проверка структуры:
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
Критерий: "[ ] Структура аналогична существующим skills"
|
|
193
|
+
Проверка: Сравнение с шаблоном
|
|
194
|
+
Результат: pass/fail + замечания
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Пример использования
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
Проверь результат IMPL-006 на соответствие DoD.
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
```
|
|
204
|
+
review-result .workflow/tickets/in-progress/IMPL-006.md
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## Пример вывода
|
|
208
|
+
|
|
209
|
+
### Успешная проверка
|
|
210
|
+
|
|
211
|
+
```markdown
|
|
212
|
+
---RESULT---
|
|
213
|
+
status: passed
|
|
214
|
+
issues: []
|
|
215
|
+
---RESULT---
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Неуспешная проверка
|
|
219
|
+
|
|
220
|
+
```markdown
|
|
221
|
+
---RESULT---
|
|
222
|
+
status: failed
|
|
223
|
+
issues:
|
|
224
|
+
- "Пункт DoD 'Файл .workflow/src/skills/review-result/SKILL.md создан' не выполнен: файл не найден"
|
|
225
|
+
- "Пункт DoD 'Описан алгоритм проверки DoD' не выполнен: раздел 'Алгоритм' отсутствует"
|
|
226
|
+
- "Тесты не прошли: 2 failed, 5 passed"
|
|
227
|
+
---RESULT---
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
## Формат секции ревью в тикете
|
|
231
|
+
|
|
232
|
+
После проверки skill добавляет в тикет секцию:
|
|
233
|
+
|
|
234
|
+
```markdown
|
|
235
|
+
## Ревью
|
|
236
|
+
|
|
237
|
+
| Дата | Статус | Самари |
|
|
238
|
+
|------|--------|--------|
|
|
239
|
+
| 2026-03-03 14:30 | ✅ passed | Все критерии DoD выполнены |
|
|
240
|
+
| 2026-03-03 15:45 | ❌ failed | Не пройдены тесты, отсутствует файл logger.py |
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
Или в текстовом формате:
|
|
244
|
+
|
|
245
|
+
```markdown
|
|
246
|
+
## Ревью
|
|
247
|
+
|
|
248
|
+
**Дата:** 2026-03-03 14:30
|
|
249
|
+
**Статус:** passed/failed
|
|
250
|
+
**Самари:** Краткое описание результата (что не так, если failed)
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
## Интеграция с пайплайном
|
|
254
|
+
|
|
255
|
+
В retry-логике пайплайна:
|
|
256
|
+
|
|
257
|
+
1. `execute-task` выполняет задачу
|
|
258
|
+
2. `review-result` проверяет результат
|
|
259
|
+
3. По `status` определяется goto-переход:
|
|
260
|
+
- `passed` → следующий stage
|
|
261
|
+
- `failed` → retry или blocked
|
|
262
|
+
|
|
263
|
+
## Результат
|
|
264
|
+
|
|
265
|
+
- Структурированный вердикт (passed/failed)
|
|
266
|
+
- Список замечаний (если есть)
|
|
267
|
+
- **Тикет помечен секцией `## Ревью`** с датой, статусом и кратким самари
|
|
268
|
+
- Готово для использования в goto-логике
|
|
269
|
+
|
|
270
|
+
## Связанные skills
|
|
271
|
+
|
|
272
|
+
- `execute-task` — выполнение задачи перед проверкой
|
|
273
|
+
- `move-ticket` — перемещение по результатам проверки
|
|
274
|
+
- `check-conditions` — проверка условий для зависимых задач
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Шаблон плана для системы Kilo Code Agent Workflow
|
|
3
|
+
|
|
4
|
+
id: "PLAN-{NNN}"
|
|
5
|
+
title: "Название плана"
|
|
6
|
+
status: draft # draft | active | completed | archived
|
|
7
|
+
author: architect
|
|
8
|
+
|
|
9
|
+
created_at: "" # ISO 8601
|
|
10
|
+
updated_at: ""
|
|
11
|
+
completed_at: ""
|
|
12
|
+
|
|
13
|
+
# Связь с предыдущим планом (если есть)
|
|
14
|
+
previous_plan: ""
|
|
15
|
+
# Связанные отчёты
|
|
16
|
+
related_reports: []
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# План: {Название}
|
|
20
|
+
|
|
21
|
+
## Цель
|
|
22
|
+
|
|
23
|
+
<!-- Чего хотим достичь. Конкретная, измеримая цель. -->
|
|
24
|
+
|
|
25
|
+
## Контекст
|
|
26
|
+
|
|
27
|
+
<!--
|
|
28
|
+
Почему это важно:
|
|
29
|
+
- Какая предыстория
|
|
30
|
+
- Какие проблемы решаем
|
|
31
|
+
- Что будет если не сделать
|
|
32
|
+
-->
|
|
33
|
+
|
|
34
|
+
## Scope (Границы)
|
|
35
|
+
|
|
36
|
+
### Включено в scope
|
|
37
|
+
|
|
38
|
+
- Пункт 1
|
|
39
|
+
- Пункт 2
|
|
40
|
+
- Пункт 3
|
|
41
|
+
|
|
42
|
+
### Исключено из scope
|
|
43
|
+
|
|
44
|
+
- Пункт 1
|
|
45
|
+
- Пункт 2
|
|
46
|
+
|
|
47
|
+
## Высокоуровневые задачи
|
|
48
|
+
|
|
49
|
+
<!--
|
|
50
|
+
Каждая задача будет декомпозирована Administrator'ом на тикеты.
|
|
51
|
+
Указывайте приоритет и зависимости.
|
|
52
|
+
-->
|
|
53
|
+
|
|
54
|
+
### 1. Задача 1
|
|
55
|
+
|
|
56
|
+
**Приоритет:** Высокий
|
|
57
|
+
**Зависимости:** Нет
|
|
58
|
+
**Описание:** Что нужно сделать
|
|
59
|
+
|
|
60
|
+
### 2. Задача 2
|
|
61
|
+
|
|
62
|
+
**Приоритет:** Средний
|
|
63
|
+
**Зависимости:** Задача 1
|
|
64
|
+
**Описание:** Что нужно сделать
|
|
65
|
+
|
|
66
|
+
### 3. Задача 3
|
|
67
|
+
|
|
68
|
+
**Приоритет:** Низкий
|
|
69
|
+
**Зависимости:** Задачи 1, 2
|
|
70
|
+
**Описание:** Что нужно сделать
|
|
71
|
+
|
|
72
|
+
## Технические решения
|
|
73
|
+
|
|
74
|
+
<!--
|
|
75
|
+
Ключевые архитектурные и технические решения.
|
|
76
|
+
Почему выбрали именно такой подход.
|
|
77
|
+
-->
|
|
78
|
+
|
|
79
|
+
## Риски и зависимости
|
|
80
|
+
|
|
81
|
+
| Риск | Вероятность | Влияние | Митигация |
|
|
82
|
+
|------|-------------|---------|-----------|
|
|
83
|
+
| Риск 1 | Высокая | Высокое | Как будем предотвращать/решать |
|
|
84
|
+
| Риск 2 | Средняя | Среднее | Как будем предотвращать/решать |
|
|
85
|
+
|
|
86
|
+
## Внешние зависимости
|
|
87
|
+
|
|
88
|
+
<!-- Зависимости от внешних систем, команд, ресурсов -->
|
|
89
|
+
|
|
90
|
+
- Зависимость 1
|
|
91
|
+
- Зависимость 2
|
|
92
|
+
|
|
93
|
+
## Критерии успеха
|
|
94
|
+
|
|
95
|
+
<!-- Как поймём, что план выполнен успешно -->
|
|
96
|
+
|
|
97
|
+
- [ ] Критерий 1
|
|
98
|
+
- [ ] Критерий 2
|
|
99
|
+
- [ ] Критерий 3
|
|
100
|
+
|
|
101
|
+
## Метрики
|
|
102
|
+
|
|
103
|
+
<!-- Что будем измерять для оценки успешности -->
|
|
104
|
+
|
|
105
|
+
| Метрика | Текущее значение | Целевое значение |
|
|
106
|
+
|---------|-----------------|------------------|
|
|
107
|
+
| Метрика 1 | X | Y |
|
|
108
|
+
| Метрика 2 | X | Y |
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## История изменений
|
|
113
|
+
|
|
114
|
+
| Дата | Автор | Изменение |
|
|
115
|
+
|------|-------|-----------|
|
|
116
|
+
| YYYY-MM-DD | Architect | Создан план |
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Шаблон отчёта для системы Kilo Code Agent Workflow
|
|
3
|
+
|
|
4
|
+
id: "REPORT-{NNN}"
|
|
5
|
+
type: daily # daily | sprint | milestone
|
|
6
|
+
period_start: "" # ISO 8601
|
|
7
|
+
period_end: ""
|
|
8
|
+
author: administrator
|
|
9
|
+
|
|
10
|
+
created_at: ""
|
|
11
|
+
related_plan: "" # ID или путь к плану
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Отчёт: {Тип} за {Период}
|
|
15
|
+
|
|
16
|
+
**Дата создания:** YYYY-MM-DD
|
|
17
|
+
**Период:** YYYY-MM-DD — YYYY-MM-DD
|
|
18
|
+
**Связанный план:** {ссылка на план}
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Сводка
|
|
23
|
+
|
|
24
|
+
<!-- Краткое резюме периода в 2-3 предложениях -->
|
|
25
|
+
|
|
26
|
+
| Метрика | Значение |
|
|
27
|
+
|---------|----------|
|
|
28
|
+
| Выполнено задач | X |
|
|
29
|
+
| В работе | Y |
|
|
30
|
+
| Заблокировано | Z |
|
|
31
|
+
| Новых задач | N |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Выполненные задачи
|
|
36
|
+
|
|
37
|
+
| ID | Задача | Роль | Результат | Время |
|
|
38
|
+
|----|--------|------|-----------|-------|
|
|
39
|
+
| CODE-001 | Название | code | Успешно | 2h |
|
|
40
|
+
| ARCH-002 | Название | architect | Успешно | 1h |
|
|
41
|
+
|
|
42
|
+
### Детали выполненных задач
|
|
43
|
+
|
|
44
|
+
#### CODE-001: Название задачи
|
|
45
|
+
|
|
46
|
+
**Summary:** Краткое описание результата
|
|
47
|
+
|
|
48
|
+
**Ключевые изменения:**
|
|
49
|
+
- Изменение 1
|
|
50
|
+
- Изменение 2
|
|
51
|
+
|
|
52
|
+
**Изменённые файлы:**
|
|
53
|
+
- `path/to/file1.ts`
|
|
54
|
+
- `path/to/file2.ts`
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Задачи в работе
|
|
59
|
+
|
|
60
|
+
| ID | Задача | Статус | Исполнитель | Прогресс |
|
|
61
|
+
|----|--------|--------|-------------|----------|
|
|
62
|
+
| CODE-003 | Название | in-progress | code | 50% |
|
|
63
|
+
|
|
64
|
+
### Заметки по задачам в работе
|
|
65
|
+
|
|
66
|
+
<!-- Важная информация о ходе выполнения -->
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Заблокированные задачи
|
|
71
|
+
|
|
72
|
+
| ID | Задача | Причина блокировки | Требуется |
|
|
73
|
+
|----|--------|-------------------|-----------|
|
|
74
|
+
| DEBUG-001 | Название | Описание проблемы | Решение архитектора |
|
|
75
|
+
|
|
76
|
+
### Анализ блокировок
|
|
77
|
+
|
|
78
|
+
<!--
|
|
79
|
+
Детальный анализ причин блокировок и рекомендации по их устранению
|
|
80
|
+
-->
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Метрики производительности
|
|
85
|
+
|
|
86
|
+
### Velocity
|
|
87
|
+
|
|
88
|
+
- **Выполнено задач:** X
|
|
89
|
+
- **Story points (если используются):** Y
|
|
90
|
+
- **Среднее время на задачу:** Z часов
|
|
91
|
+
|
|
92
|
+
### Распределение по ролям
|
|
93
|
+
|
|
94
|
+
| Роль | Задач | % от общего |
|
|
95
|
+
|------|-------|-------------|
|
|
96
|
+
| code | X | X% |
|
|
97
|
+
| debug | Y | Y% |
|
|
98
|
+
| architect | Z | Z% |
|
|
99
|
+
|
|
100
|
+
### Распределение по приоритетам
|
|
101
|
+
|
|
102
|
+
| Приоритет | Выполнено | В работе | Заблокировано |
|
|
103
|
+
|-----------|-----------|----------|---------------|
|
|
104
|
+
| Critical | X | X | X |
|
|
105
|
+
| High | X | X | X |
|
|
106
|
+
| Medium | X | X | X |
|
|
107
|
+
| Low | X | X | X |
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Риски и проблемы
|
|
112
|
+
|
|
113
|
+
### Выявленные проблемы
|
|
114
|
+
|
|
115
|
+
1. **Проблема 1**
|
|
116
|
+
- Описание
|
|
117
|
+
- Влияние
|
|
118
|
+
- Предлагаемое решение
|
|
119
|
+
|
|
120
|
+
### Потенциальные риски
|
|
121
|
+
|
|
122
|
+
1. **Риск 1**
|
|
123
|
+
- Вероятность: Высокая/Средняя/Низкая
|
|
124
|
+
- Влияние: Высокое/Среднее/Низкое
|
|
125
|
+
- Митигация: Как предотвратить
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Рекомендации для Architect
|
|
130
|
+
|
|
131
|
+
<!--
|
|
132
|
+
Выводы и предложения на основе анализа выполненных задач.
|
|
133
|
+
Что требует решения или изменения в плане.
|
|
134
|
+
-->
|
|
135
|
+
|
|
136
|
+
### Требуют решения
|
|
137
|
+
|
|
138
|
+
1. Вопрос/проблема 1
|
|
139
|
+
2. Вопрос/проблема 2
|
|
140
|
+
|
|
141
|
+
### Предложения по оптимизации
|
|
142
|
+
|
|
143
|
+
1. Предложение 1
|
|
144
|
+
2. Предложение 2
|
|
145
|
+
|
|
146
|
+
### Готовность к следующему этапу
|
|
147
|
+
|
|
148
|
+
<!--
|
|
149
|
+
Оценка готовности к переходу к следующей фазе плана.
|
|
150
|
+
Что ещё нужно сделать.
|
|
151
|
+
-->
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## План на следующий период
|
|
156
|
+
|
|
157
|
+
### Приоритетные задачи
|
|
158
|
+
|
|
159
|
+
1. Задача 1 (из backlog)
|
|
160
|
+
2. Задача 2 (из backlog)
|
|
161
|
+
|
|
162
|
+
### Ожидаемые deliverables
|
|
163
|
+
|
|
164
|
+
- Deliverable 1
|
|
165
|
+
- Deliverable 2
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Приложения
|
|
170
|
+
|
|
171
|
+
### Ссылки на артефакты
|
|
172
|
+
|
|
173
|
+
- Ссылка 1
|
|
174
|
+
- Ссылка 2
|
|
175
|
+
|
|
176
|
+
### Дополнительные материалы
|
|
177
|
+
|
|
178
|
+
<!-- Графики, диаграммы, скриншоты если нужны -->
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Шаблон тикета для универсальной системы координации агентов
|
|
3
|
+
# Скопируйте этот файл и заполните поля
|
|
4
|
+
|
|
5
|
+
id: "{TYPE}-{NNN}" # IMPL-001, FIX-015, PLAN-003
|
|
6
|
+
title: "Название задачи"
|
|
7
|
+
status: backlog # backlog | ready | in-progress | blocked | review | done
|
|
8
|
+
priority: 3 # 1-критический, 2-высокий, 3-средний, 4-низкий, 5-когда-нибудь
|
|
9
|
+
|
|
10
|
+
# Тип задачи
|
|
11
|
+
type: implementation # planning | implementation | bugfix | review | documentation | admin
|
|
12
|
+
|
|
13
|
+
# Требования к агенту-исполнителю (для выбора подходящего инструмента)
|
|
14
|
+
required_capabilities: []
|
|
15
|
+
# - code_generation # Генерация кода
|
|
16
|
+
# - code_editing # Редактирование кода
|
|
17
|
+
# - file_operations # Работа с файлами
|
|
18
|
+
# - debugging # Отладка
|
|
19
|
+
# - code_analysis # Анализ кода
|
|
20
|
+
# - documentation # Написание документации
|
|
21
|
+
# - strategic_thinking # Стратегическое планирование
|
|
22
|
+
# - typescript # Знание TypeScript
|
|
23
|
+
# - python # Знание Python
|
|
24
|
+
|
|
25
|
+
created_at: "" # ISO 8601: 2026-02-28T12:00:00Z
|
|
26
|
+
updated_at: "" # Обновляется при изменении
|
|
27
|
+
completed_at: "" # Заполняется при завершении
|
|
28
|
+
|
|
29
|
+
parent_plan: "" # Путь к плану: plans/current/plan-001.md
|
|
30
|
+
parent_task: "" # ID родительской задачи для подзадач
|
|
31
|
+
|
|
32
|
+
# Зависимости - задачи, которые должны быть выполнены ДО этой
|
|
33
|
+
dependencies: []
|
|
34
|
+
# - IMPL-001
|
|
35
|
+
# - PLAN-002
|
|
36
|
+
|
|
37
|
+
# Условия выполнения - все должны быть истинны для начала работы
|
|
38
|
+
conditions: []
|
|
39
|
+
# - type: tasks_completed # Все зависимости выполнены
|
|
40
|
+
# - type: date_after # После определённой даты
|
|
41
|
+
# value: "2026-03-01"
|
|
42
|
+
# - type: file_exists # Файл должен существовать
|
|
43
|
+
# value: "src/config.ts"
|
|
44
|
+
# - type: manual_approval # Требует ручного подтверждения
|
|
45
|
+
|
|
46
|
+
# Контекст - информация для агента-исполнителя
|
|
47
|
+
context:
|
|
48
|
+
files: [] # Файлы для работы
|
|
49
|
+
# - src/api/routes.ts
|
|
50
|
+
# - docs/api-spec.md
|
|
51
|
+
references: [] # Ссылки на документацию
|
|
52
|
+
# - https://docs.example.com/api
|
|
53
|
+
notes: "" # Дополнительные заметки
|
|
54
|
+
|
|
55
|
+
# Оценка сложности
|
|
56
|
+
complexity: medium # simple | medium | complex
|
|
57
|
+
|
|
58
|
+
tags: []
|
|
59
|
+
# - backend
|
|
60
|
+
# - api
|
|
61
|
+
# - refactoring
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Описание
|
|
65
|
+
|
|
66
|
+
<!-- Краткое описание того, что нужно сделать -->
|
|
67
|
+
|
|
68
|
+
## Детали задачи
|
|
69
|
+
|
|
70
|
+
<!-- Подробное описание с техническими деталями -->
|
|
71
|
+
|
|
72
|
+
## Критерии готовности (Definition of Done)
|
|
73
|
+
|
|
74
|
+
- [ ] Критерий 1
|
|
75
|
+
- [ ] Критерий 2
|
|
76
|
+
- [ ] Критерий 3
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Результат выполнения
|
|
81
|
+
|
|
82
|
+
<!-- Заполняется агентом-исполнителем после выполнения -->
|
|
83
|
+
|
|
84
|
+
### Summary
|
|
85
|
+
|
|
86
|
+
<!-- Краткое описание того, что было сделано -->
|
|
87
|
+
|
|
88
|
+
### Изменённые файлы
|
|
89
|
+
|
|
90
|
+
<!--
|
|
91
|
+
- `path/to/file1.ts` - описание изменений
|
|
92
|
+
- `path/to/file2.ts` - описание изменений
|
|
93
|
+
-->
|
|
94
|
+
|
|
95
|
+
### Заметки для следующих задач
|
|
96
|
+
|
|
97
|
+
<!-- Важная информация для связанных задач -->
|
|
98
|
+
|
|
99
|
+
### Время выполнения
|
|
100
|
+
|
|
101
|
+
- Started:
|
|
102
|
+
- Completed:
|
|
103
|
+
- Agent used: <!-- Какой агент/инструмент использовался -->
|