workflow-ai 1.0.68 → 1.1.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 (44) hide show
  1. package/package.json +10 -7
  2. package/src/lib/operations/plans.mjs +85 -0
  3. package/src/lib/operations/skills.mjs +124 -0
  4. package/src/lib/operations/tickets.mjs +332 -0
  5. package/src/scripts/get-next-id.js +39 -165
  6. package/src/scripts/move-ticket.js +68 -225
  7. package/src/scripts/pick-next-task.js +93 -759
  8. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/claude-sonnet/trial-1.md +4 -68
  9. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/claude-sonnet/trial-2.md +53 -58
  10. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/claude-sonnet/trial-3.md +48 -48
  11. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/judge.json +15 -15
  12. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/meta.json +16 -16
  13. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/claude-sonnet/trial-3.md +4 -76
  14. package/src/skills/coach/tests/cases/TC-COACH-001/current/meta.json +93 -93
  15. package/src/skills/coach/tests/cases/TC-COACH-002/current/meta.json +93 -93
  16. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-005/current/meta.json +113 -113
  17. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/meta.json +87 -87
  18. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/meta.json +87 -87
  19. package/src/skills/review-result/SKILL.md +1 -0
  20. package/src/skills/review-result/knowledge/baseline-snapshot-validation.md +67 -0
  21. package/src/skills/review-result/knowledge/dod-patterns.md +1 -0
  22. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-sonnet/trial-1.md +2 -2
  23. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-sonnet/trial-2.md +2 -2
  24. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-sonnet/trial-3.md +2 -14
  25. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/judge.json +18 -18
  26. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/meta.json +20 -20
  27. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-sonnet/trial-2.md +2 -34
  28. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/judge.json +19 -19
  29. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/meta.json +21 -21
  30. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/claude-sonnet/trial-1.md +36 -3
  31. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/claude-sonnet/trial-2.md +11 -3
  32. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/claude-sonnet/trial-3.md +3 -3
  33. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/judge.json +18 -18
  34. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/meta.json +20 -20
  35. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-004/current/claude-sonnet/trial-1.md +5 -0
  36. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-004/current/claude-sonnet/trial-2.md +5 -0
  37. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-004/current/claude-sonnet/trial-3.md +6 -0
  38. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-004/current/judge.json +46 -0
  39. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-004/current/meta.json +37 -0
  40. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-004-baseline-snapshot.yaml +50 -0
  41. package/src/skills/review-result/tests/fixtures/QA-905-baseline-regex-instead-of-snapshot/QA-905.md +62 -0
  42. package/src/skills/review-result/tests/fixtures/QA-905-baseline-regex-instead-of-snapshot/baseline.test.mjs +124 -0
  43. package/src/skills/review-result/tests/index.yaml +5 -0
  44. package/src/skills/review-result/tests/rubrics/baseline-snapshot.md +20 -0
@@ -1,77 +1,5 @@
1
- Все директории данных пусты. Применяю ручной fallback согласно алгоритму.
1
+ # TRIAL ERRORED
2
2
 
3
- ---
4
-
5
- ## Анализ прогресса: PLAN-001
6
-
7
- ### Executive Summary
8
-
9
- Анализ прогресса плана PLAN-001 не может быть выполнен в полном объёме ввиду отсутствия исходных данных. Скрипт автоматического расчёта метрик завершился с ошибкой (пакет `workflow-ai` недоступен в тестовой среде). Ручной сбор данных также не дал результата: файл плана, отчёты, тикеты и логи пайплайна в директориях `.workflow/` отсутствуют — все директории пусты. По принципу evidence-based: нет данных — нет вывода. Статус плана не может быть определён без устранения этих пробелов.
10
-
11
- ---
12
-
13
- ### Метрики прогресса
14
-
15
- | Метрика | Значение | Источник |
16
- |---------|----------|---------|
17
- | Файл плана | ❌ Не найден | `.workflow/plans/current/` — пуст |
18
- | Тикеты done | — | `.workflow/tickets/done/` — пуст |
19
- | Тикеты in-progress | — | `.workflow/tickets/in-progress/` — пуст |
20
- | Тикеты ready | — | `.workflow/tickets/ready/` — пуст |
21
- | Тикеты backlog | — | `.workflow/tickets/backlog/` — пуст |
22
- | Отчёты | ❌ Не найдены | `.workflow/reports/` — пуст |
23
- | Логи пайплайна | ❌ Не найдены | `.workflow/logs/` — пуст |
24
- | Completion Rate | N/A | Нет данных |
25
- | Скрипт метрик | ❌ Ошибка | `ERR_MODULE_NOT_FOUND: workflow-ai` |
26
-
27
- ---
28
-
29
- ### Выявленные проблемы
30
-
31
- | # | Проблема | Уровень | Уверенность |
32
- |---|----------|---------|-------------|
33
- | 1 | Файл плана PLAN-001 отсутствует в `.workflow/plans/current/` и `.workflow/plans/archive/` | CRITICAL | LOW — нет evidence в логах |
34
- | 2 | Нет ни одного тикета плана ни в одной директории | CRITICAL | LOW — нет evidence в логах |
35
- | 3 | Директория `.workflow/reports/` пуста — источник данных для анализа недоступен | HIGH | LOW — нет evidence в логах |
36
- | 4 | Директория `.workflow/logs/` пуста — верификация атрибуции проблем невозможна | MEDIUM | LOW — нет evidence в логах |
37
-
38
- > **Примечание по уверенности:** Все findings помечены как `[LOW]` — логи пайплайна отсутствуют, независимая верификация через лог невозможна. Угадывание root cause запрещено.
39
-
40
- ---
41
-
42
- ### Рекомендации
43
-
44
- | Приоритет | Действие | Почему | Ожидаемый результат |
45
- |-----------|----------|--------|---------------------|
46
- | **CRITICAL** | Создать или восстановить файл плана PLAN-001 в `.workflow/plans/current/` | Без файла плана анализ прогресса невозможен — нет структуры для сравнения | Появится базис для расчёта метрик completion |
47
- | **CRITICAL** | Создать тикеты плана PLAN-001 в соответствующих директориях `.workflow/tickets/` | Без тикетов невозможно определить distribution, completion rate, block rate | Расчёт всех метрик прогресса станет возможным |
48
- | **HIGH** | Создать отчёт о выполненных задачах в `.workflow/reports/` | Анализ прогресса требует отчёта как источника данных | Анализ получит конкретные данные о выполненной работе |
49
- | **MEDIUM** | Убедиться в наличии логов пайплайна в `.workflow/logs/` | Верификация findings требует evidence из логов | Уровень уверенности findings повысится с LOW до HIGH |
50
-
51
- ---
52
-
53
- ### Статус плана
54
-
55
- **🔴 CRITICAL** — анализ не выполним: отсутствуют все источники данных (план, тикеты, отчёты, логи).
56
-
57
- ---
58
-
59
- ### За пределами скоупа
60
-
61
- Ошибка при запуске `calc-plan-metrics.js` (`ERR_MODULE_NOT_FOUND: workflow-ai`) указывает на проблему конфигурации окружения — пакет `workflow-ai` не установлен или не в PATH. Это отдельная техническая проблема, не связанная с анализом PLAN-001.
62
-
63
- ---
64
-
65
- ### Self-check перед завершением
66
-
67
- - [x] Секция **Result** заполнена
68
- - [x] Каждый вывод основан на конкретных данных (результаты проверки директорий, вывод команды)
69
- - [x] Findings без evidence помечены как `[LOW]`, угадывание отсутствует
70
- - [x] Рекомендации actionable (содержат конкретное действие, причину, ожидаемый результат)
71
- - [x] Статус `has_gaps` соответствует содержанию анализа (есть CRITICAL-проблемы, данных нет)
72
-
73
- ---RESULT---
74
- status: has_gaps
75
- report_id: PLAN-001
76
- gaps: "Файл плана PLAN-001 и все связанные тикеты отсутствуют в рабочей директории — директории .workflow/plans/, .workflow/tickets/, .workflow/reports/ пусты. Необходимо создать или восстановить файл плана и тикеты для возможности анализа прогресса."
77
- ---RESULT---
3
+ agent: claude-sonnet
4
+ trial: 3
5
+ error: Agent exited with code 143
@@ -1,94 +1,94 @@
1
- {
2
- "date": "2026-04-23T08:08:11.031Z",
3
- "skill_sha": "6df42d0",
4
- "status": "passed",
5
- "duration_ms": 2,
6
- "per_model": {
7
- "claude-sonnet": {
8
- "passed": true,
9
- "pass_count": 3,
10
- "total": 3,
11
- "threshold": 2
12
- },
13
- "kilo-deepseek": {
14
- "passed": true,
15
- "pass_count": 2,
16
- "total": 3,
17
- "threshold": 2
18
- },
19
- "kilo-minimax": {
20
- "passed": true,
21
- "pass_count": 2,
22
- "total": 3,
23
- "threshold": 2
24
- },
25
- "kilo-glm": {
26
- "passed": true,
27
- "pass_count": 3,
28
- "total": 3,
29
- "threshold": 2
30
- }
31
- },
32
- "rubric_scores": [
33
- {
34
- "agentId": "claude-sonnet",
35
- "trial": 1,
36
- "score": 5
37
- },
38
- {
39
- "agentId": "claude-sonnet",
40
- "trial": 2,
41
- "score": 5
42
- },
43
- {
44
- "agentId": "claude-sonnet",
45
- "trial": 3,
46
- "score": 5
47
- },
48
- {
49
- "agentId": "kilo-deepseek",
50
- "trial": 1,
51
- "score": 5
52
- },
53
- {
54
- "agentId": "kilo-deepseek",
55
- "trial": 2,
56
- "score": 1
57
- },
58
- {
59
- "agentId": "kilo-deepseek",
60
- "trial": 3,
61
- "score": 5
62
- },
63
- {
64
- "agentId": "kilo-glm",
65
- "trial": 1,
66
- "score": 5
67
- },
68
- {
69
- "agentId": "kilo-glm",
70
- "trial": 2,
71
- "score": 5
72
- },
73
- {
74
- "agentId": "kilo-glm",
75
- "trial": 3,
76
- "score": 5
77
- },
78
- {
79
- "agentId": "kilo-minimax",
80
- "trial": 1,
81
- "score": 3
82
- },
83
- {
84
- "agentId": "kilo-minimax",
85
- "trial": 2,
86
- "score": 5
87
- },
88
- {
89
- "agentId": "kilo-minimax",
90
- "trial": 3,
91
- "score": 5
92
- }
93
- ]
1
+ {
2
+ "date": "2026-04-25T11:54:44.038Z",
3
+ "skill_sha": "6df42d0",
4
+ "status": "passed",
5
+ "duration_ms": 2,
6
+ "per_model": {
7
+ "claude-sonnet": {
8
+ "passed": true,
9
+ "pass_count": 3,
10
+ "total": 3,
11
+ "threshold": 2
12
+ },
13
+ "kilo-deepseek": {
14
+ "passed": true,
15
+ "pass_count": 2,
16
+ "total": 3,
17
+ "threshold": 2
18
+ },
19
+ "kilo-minimax": {
20
+ "passed": true,
21
+ "pass_count": 2,
22
+ "total": 3,
23
+ "threshold": 2
24
+ },
25
+ "kilo-glm": {
26
+ "passed": true,
27
+ "pass_count": 3,
28
+ "total": 3,
29
+ "threshold": 2
30
+ }
31
+ },
32
+ "rubric_scores": [
33
+ {
34
+ "agentId": "claude-sonnet",
35
+ "trial": 1,
36
+ "score": 5
37
+ },
38
+ {
39
+ "agentId": "claude-sonnet",
40
+ "trial": 2,
41
+ "score": 5
42
+ },
43
+ {
44
+ "agentId": "claude-sonnet",
45
+ "trial": 3,
46
+ "score": 5
47
+ },
48
+ {
49
+ "agentId": "kilo-deepseek",
50
+ "trial": 1,
51
+ "score": 5
52
+ },
53
+ {
54
+ "agentId": "kilo-deepseek",
55
+ "trial": 2,
56
+ "score": 1
57
+ },
58
+ {
59
+ "agentId": "kilo-deepseek",
60
+ "trial": 3,
61
+ "score": 5
62
+ },
63
+ {
64
+ "agentId": "kilo-glm",
65
+ "trial": 1,
66
+ "score": 5
67
+ },
68
+ {
69
+ "agentId": "kilo-glm",
70
+ "trial": 2,
71
+ "score": 5
72
+ },
73
+ {
74
+ "agentId": "kilo-glm",
75
+ "trial": 3,
76
+ "score": 5
77
+ },
78
+ {
79
+ "agentId": "kilo-minimax",
80
+ "trial": 1,
81
+ "score": 3
82
+ },
83
+ {
84
+ "agentId": "kilo-minimax",
85
+ "trial": 2,
86
+ "score": 5
87
+ },
88
+ {
89
+ "agentId": "kilo-minimax",
90
+ "trial": 3,
91
+ "score": 5
92
+ }
93
+ ]
94
94
  }
@@ -1,94 +1,94 @@
1
- {
2
- "date": "2026-04-23T08:08:11.039Z",
3
- "skill_sha": "6df42d0",
4
- "status": "passed",
5
- "duration_ms": 2,
6
- "per_model": {
7
- "claude-sonnet": {
8
- "passed": true,
9
- "pass_count": 3,
10
- "total": 3,
11
- "threshold": 2
12
- },
13
- "kilo-deepseek": {
14
- "passed": true,
15
- "pass_count": 2,
16
- "total": 3,
17
- "threshold": 2
18
- },
19
- "kilo-minimax": {
20
- "passed": true,
21
- "pass_count": 3,
22
- "total": 3,
23
- "threshold": 2
24
- },
25
- "kilo-glm": {
26
- "passed": true,
27
- "pass_count": 3,
28
- "total": 3,
29
- "threshold": 2
30
- }
31
- },
32
- "rubric_scores": [
33
- {
34
- "agentId": "claude-sonnet",
35
- "trial": 1,
36
- "score": 5
37
- },
38
- {
39
- "agentId": "claude-sonnet",
40
- "trial": 2,
41
- "score": 5
42
- },
43
- {
44
- "agentId": "claude-sonnet",
45
- "trial": 3,
46
- "score": 5
47
- },
48
- {
49
- "agentId": "kilo-deepseek",
50
- "trial": 1,
51
- "score": 1
52
- },
53
- {
54
- "agentId": "kilo-deepseek",
55
- "trial": 2,
56
- "score": 5
57
- },
58
- {
59
- "agentId": "kilo-deepseek",
60
- "trial": 3,
61
- "score": 5
62
- },
63
- {
64
- "agentId": "kilo-minimax",
65
- "trial": 1,
66
- "score": 5
67
- },
68
- {
69
- "agentId": "kilo-minimax",
70
- "trial": 2,
71
- "score": 5
72
- },
73
- {
74
- "agentId": "kilo-minimax",
75
- "trial": 3,
76
- "score": 5
77
- },
78
- {
79
- "agentId": "kilo-glm",
80
- "trial": 1,
81
- "score": 5
82
- },
83
- {
84
- "agentId": "kilo-glm",
85
- "trial": 2,
86
- "score": 5
87
- },
88
- {
89
- "agentId": "kilo-glm",
90
- "trial": 3,
91
- "score": 5
92
- }
93
- ]
1
+ {
2
+ "date": "2026-04-25T11:54:44.043Z",
3
+ "skill_sha": "6df42d0",
4
+ "status": "passed",
5
+ "duration_ms": 2,
6
+ "per_model": {
7
+ "claude-sonnet": {
8
+ "passed": true,
9
+ "pass_count": 3,
10
+ "total": 3,
11
+ "threshold": 2
12
+ },
13
+ "kilo-deepseek": {
14
+ "passed": true,
15
+ "pass_count": 2,
16
+ "total": 3,
17
+ "threshold": 2
18
+ },
19
+ "kilo-minimax": {
20
+ "passed": true,
21
+ "pass_count": 3,
22
+ "total": 3,
23
+ "threshold": 2
24
+ },
25
+ "kilo-glm": {
26
+ "passed": true,
27
+ "pass_count": 3,
28
+ "total": 3,
29
+ "threshold": 2
30
+ }
31
+ },
32
+ "rubric_scores": [
33
+ {
34
+ "agentId": "claude-sonnet",
35
+ "trial": 1,
36
+ "score": 5
37
+ },
38
+ {
39
+ "agentId": "claude-sonnet",
40
+ "trial": 2,
41
+ "score": 5
42
+ },
43
+ {
44
+ "agentId": "claude-sonnet",
45
+ "trial": 3,
46
+ "score": 5
47
+ },
48
+ {
49
+ "agentId": "kilo-deepseek",
50
+ "trial": 1,
51
+ "score": 1
52
+ },
53
+ {
54
+ "agentId": "kilo-deepseek",
55
+ "trial": 2,
56
+ "score": 5
57
+ },
58
+ {
59
+ "agentId": "kilo-deepseek",
60
+ "trial": 3,
61
+ "score": 5
62
+ },
63
+ {
64
+ "agentId": "kilo-minimax",
65
+ "trial": 1,
66
+ "score": 5
67
+ },
68
+ {
69
+ "agentId": "kilo-minimax",
70
+ "trial": 2,
71
+ "score": 5
72
+ },
73
+ {
74
+ "agentId": "kilo-minimax",
75
+ "trial": 3,
76
+ "score": 5
77
+ },
78
+ {
79
+ "agentId": "kilo-glm",
80
+ "trial": 1,
81
+ "score": 5
82
+ },
83
+ {
84
+ "agentId": "kilo-glm",
85
+ "trial": 2,
86
+ "score": 5
87
+ },
88
+ {
89
+ "agentId": "kilo-glm",
90
+ "trial": 3,
91
+ "score": 5
92
+ }
93
+ ]
94
94
  }