workflow-ai 1.0.68 → 1.2.1

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 (585) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +105 -7
  3. package/configs/pipeline.yaml +23 -2
  4. package/package.json +44 -41
  5. package/src/lib/operations/plans.mjs +85 -0
  6. package/src/lib/operations/skills.mjs +124 -0
  7. package/src/lib/operations/tickets.mjs +430 -0
  8. package/src/lib/utils.mjs +286 -286
  9. package/src/runner.mjs +314 -34
  10. package/src/scripts/check-conditions.js +2 -2
  11. package/src/scripts/get-next-id.js +8 -31
  12. package/src/scripts/pick-next-task.js +3 -9
  13. package/src/skills/coach/SKILL.md +1 -1
  14. package/src/skills/manual-testing/SKILL.md +2 -0
  15. package/src/skills/review-result/SKILL.md +1 -0
  16. package/src/scripts/tests/timeout-cascade.test.js +0 -28
  17. package/src/skills/analyze-report/README.md +0 -44
  18. package/src/skills/analyze-report/algorithms/progress-assessment.md +0 -108
  19. package/src/skills/analyze-report/knowledge/analysis-frameworks.md +0 -66
  20. package/src/skills/analyze-report/knowledge/report-structure.md +0 -61
  21. package/src/skills/analyze-report/scripts/calc-plan-metrics.js +0 -234
  22. package/src/skills/analyze-report/templates/analysis-report.md +0 -80
  23. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/claude-sonnet/trial-1.md +0 -69
  24. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/claude-sonnet/trial-2.md +0 -103
  25. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/claude-sonnet/trial-3.md +0 -99
  26. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/judge.json +0 -163
  27. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-deepseek/trial-1.md +0 -89
  28. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-deepseek/trial-2.md +0 -88
  29. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-deepseek/trial-3.md +0 -100
  30. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-glm/trial-1.md +0 -77
  31. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-glm/trial-2.md +0 -64
  32. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-glm/trial-3.md +0 -110
  33. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-minimax/trial-1.md +0 -74
  34. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-minimax/trial-2.md +0 -38
  35. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-minimax/trial-3.md +0 -61
  36. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/meta.json +0 -115
  37. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001-evidence-from-log.yaml +0 -60
  38. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/claude-sonnet/trial-1.md +0 -90
  39. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/claude-sonnet/trial-2.md +0 -89
  40. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/claude-sonnet/trial-3.md +0 -77
  41. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/judge.json +0 -163
  42. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-deepseek/trial-1.md +0 -84
  43. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-deepseek/trial-2.md +0 -77
  44. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-deepseek/trial-3.md +0 -89
  45. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-glm/trial-1.md +0 -103
  46. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-glm/trial-2.md +0 -103
  47. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-glm/trial-3.md +0 -103
  48. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-minimax/trial-1.md +0 -93
  49. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-minimax/trial-2.md +0 -93
  50. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-minimax/trial-3.md +0 -86
  51. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/meta.json +0 -115
  52. package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002-result-block-format.yaml +0 -44
  53. package/src/skills/analyze-report/tests/fixtures/REPORT-002-incorrect-attribution.md +0 -27
  54. package/src/skills/analyze-report/tests/fixtures/pipeline-2026-04-06_qa-001-skip.log +0 -32
  55. package/src/skills/analyze-report/tests/index.yaml +0 -25
  56. package/src/skills/analyze-report/tests/rubrics/evidence-from-log.md +0 -22
  57. package/src/skills/analyze-report/tests/rubrics/result-block-format.md +0 -22
  58. package/src/skills/analyze-report/workflows/progress.md +0 -158
  59. package/src/skills/analyze-report/workflows/retrospective.md +0 -143
  60. package/src/skills/coach/README.md +0 -43
  61. package/src/skills/coach/SKILL.md.legacy +0 -157
  62. package/src/skills/coach/algorithms/gap-analysis.md +0 -69
  63. package/src/skills/coach/algorithms/improvement-prioritization.md +0 -62
  64. package/src/skills/coach/algorithms/skill-scoring.md +0 -80
  65. package/src/skills/coach/knowledge/audit-applied-changes-clean.txt +0 -11
  66. package/src/skills/coach/knowledge/backlog-management.md +0 -67
  67. package/src/skills/coach/knowledge/backlog-management.md.legacy +0 -90
  68. package/src/skills/coach/knowledge/common-antipatterns.md +0 -76
  69. package/src/skills/coach/knowledge/prompt-engineering.md +0 -45
  70. package/src/skills/coach/knowledge/shared-knowledge-guide.md +0 -44
  71. package/src/skills/coach/knowledge/skill-anatomy.md +0 -49
  72. package/src/skills/coach/knowledge/test-authorship.md +0 -141
  73. package/src/skills/coach/templates/audit-report.md +0 -39
  74. package/src/skills/coach/templates/coach-backlog-init.yaml +0 -14
  75. package/src/skills/coach/templates/coach-backlog-init.yaml.legacy +0 -10
  76. package/src/skills/coach/templates/improvement-plan.md +0 -42
  77. package/src/skills/coach/templates/new-skill.md +0 -95
  78. package/src/skills/coach/tests/cases/TC-COACH-001/current/claude-sonnet/trial-1.md +0 -58
  79. package/src/skills/coach/tests/cases/TC-COACH-001/current/claude-sonnet/trial-2.md +0 -65
  80. package/src/skills/coach/tests/cases/TC-COACH-001/current/claude-sonnet/trial-3.md +0 -58
  81. package/src/skills/coach/tests/cases/TC-COACH-001/current/judge.json +0 -151
  82. package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-deepseek/trial-1.md +0 -46
  83. package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-deepseek/trial-2.md +0 -0
  84. package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-deepseek/trial-3.md +0 -75
  85. package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-glm/trial-1.md +0 -81
  86. package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-glm/trial-2.md +0 -101
  87. package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-glm/trial-3.md +0 -91
  88. package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-minimax/trial-1.md +0 -48
  89. package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-minimax/trial-2.md +0 -30
  90. package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-minimax/trial-3.md +0 -55
  91. package/src/skills/coach/tests/cases/TC-COACH-001/current/meta.json +0 -94
  92. package/src/skills/coach/tests/cases/TC-COACH-001-evidence-based-temporal-diagram.yaml +0 -53
  93. package/src/skills/coach/tests/cases/TC-COACH-002/current/claude-sonnet/trial-1.md +0 -46
  94. package/src/skills/coach/tests/cases/TC-COACH-002/current/claude-sonnet/trial-2.md +0 -50
  95. package/src/skills/coach/tests/cases/TC-COACH-002/current/claude-sonnet/trial-3.md +0 -48
  96. package/src/skills/coach/tests/cases/TC-COACH-002/current/judge.json +0 -151
  97. package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-deepseek/trial-1.md +0 -0
  98. package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-deepseek/trial-2.md +0 -37
  99. package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-deepseek/trial-3.md +0 -30
  100. package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-glm/trial-1.md +0 -23
  101. package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-glm/trial-2.md +0 -29
  102. package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-glm/trial-3.md +0 -35
  103. package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-minimax/trial-1.md +0 -13
  104. package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-minimax/trial-2.md +0 -19
  105. package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-minimax/trial-3.md +0 -33
  106. package/src/skills/coach/tests/cases/TC-COACH-002/current/meta.json +0 -94
  107. package/src/skills/coach/tests/cases/TC-COACH-002-root-cause-first.yaml +0 -57
  108. package/src/skills/coach/tests/fixtures/pipeline-2026-04-06_id-collision.log +0 -77
  109. package/src/skills/coach/tests/index.yaml +0 -29
  110. package/src/skills/coach/tests/rubrics/calibration/evidence-based-bad.md +0 -13
  111. package/src/skills/coach/tests/rubrics/calibration/evidence-based-good.md +0 -29
  112. package/src/skills/coach/tests/rubrics/evidence-based.md +0 -26
  113. package/src/skills/coach/tests/rubrics/root-cause-first.md +0 -21
  114. package/src/skills/coach/workflows/analyze.md +0 -79
  115. package/src/skills/coach/workflows/analyze.md.legacy +0 -64
  116. package/src/skills/coach/workflows/audit.md +0 -74
  117. package/src/skills/coach/workflows/audit.md.legacy +0 -59
  118. package/src/skills/coach/workflows/create.md +0 -80
  119. package/src/skills/coach/workflows/create.md.legacy +0 -67
  120. package/src/skills/coach/workflows/improve.md +0 -71
  121. package/src/skills/coach/workflows/improve.md.legacy +0 -60
  122. package/src/skills/coach/workflows/research.md +0 -55
  123. package/src/skills/coach/workflows/review.md +0 -52
  124. package/src/skills/coach/workflows/review.md.legacy +0 -48
  125. package/src/skills/coach/workflows/test.md +0 -97
  126. package/src/skills/create-plan/README.md +0 -39
  127. package/src/skills/create-plan/algorithms/risk-assessment.md +0 -73
  128. package/src/skills/create-plan/knowledge/plan-completeness.md +0 -67
  129. package/src/skills/create-plan/knowledge/plan-lifecycle.md +0 -33
  130. package/src/skills/create-plan/knowledge/task-verification-pairs.md +0 -151
  131. package/src/skills/create-plan/knowledge/test-hygiene.md +0 -47
  132. package/src/skills/create-plan/scripts/validate-completeness.js +0 -182
  133. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/claude-sonnet/trial-1.md +0 -5
  134. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/claude-sonnet/trial-2.md +0 -39
  135. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/claude-sonnet/trial-3.md +0 -35
  136. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/judge.json +0 -167
  137. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-deepseek/trial-1.md +0 -5
  138. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-deepseek/trial-2.md +0 -10
  139. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-deepseek/trial-3.md +0 -5
  140. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-glm/trial-1.md +0 -26
  141. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-glm/trial-2.md +0 -86
  142. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-glm/trial-3.md +0 -5
  143. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-minimax/trial-1.md +0 -11
  144. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-minimax/trial-2.md +0 -15
  145. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-minimax/trial-3.md +0 -14
  146. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/meta.json +0 -119
  147. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001-validate-completeness.yaml +0 -41
  148. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/claude-sonnet/trial-1.md +0 -25
  149. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/claude-sonnet/trial-2.md +0 -30
  150. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/claude-sonnet/trial-3.md +0 -37
  151. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/judge.json +0 -164
  152. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-deepseek/trial-1.md +0 -3
  153. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-deepseek/trial-2.md +0 -11
  154. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-deepseek/trial-3.md +0 -13
  155. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-glm/trial-1.md +0 -44
  156. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-glm/trial-2.md +0 -5
  157. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-glm/trial-3.md +0 -49
  158. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-minimax/trial-1.md +0 -6
  159. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-minimax/trial-2.md +0 -11
  160. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-minimax/trial-3.md +0 -16
  161. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/meta.json +0 -116
  162. package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002-task-granularity.yaml +0 -39
  163. package/src/skills/create-plan/tests/index.yaml +0 -25
  164. package/src/skills/create-plan/tests/rubrics/task-granularity.md +0 -21
  165. package/src/skills/create-plan/tests/rubrics/validate-completeness.md +0 -21
  166. package/src/skills/create-plan/workflows/create.md +0 -136
  167. package/src/skills/create-report/README.md +0 -40
  168. package/src/skills/create-report/algorithms/metric-calculation.md +0 -93
  169. package/src/skills/create-report/knowledge/report-metrics.md +0 -82
  170. package/src/skills/create-report/scripts/calc-metrics.js +0 -383
  171. package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/claude-sonnet/trial-1.md +0 -25
  172. package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/claude-sonnet/trial-2.md +0 -26
  173. package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/claude-sonnet/trial-3.md +0 -28
  174. package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/judge.json +0 -163
  175. package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-deepseek/trial-1.md +0 -4
  176. package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-deepseek/trial-2.md +0 -3
  177. package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-deepseek/trial-3.md +0 -6
  178. package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-glm/trial-1.md +0 -8
  179. package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-glm/trial-2.md +0 -12
  180. package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-glm/trial-3.md +0 -7
  181. package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-minimax/trial-1.md +0 -12
  182. package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-minimax/trial-2.md +0 -22
  183. package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-minimax/trial-3.md +0 -13
  184. package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/meta.json +0 -115
  185. package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001-root-cause-attribution.yaml +0 -57
  186. package/src/skills/create-report/tests/index.yaml +0 -20
  187. package/src/skills/create-report/tests/rubrics/root-cause-attribution.md +0 -21
  188. package/src/skills/create-report/workflows/standard.md +0 -175
  189. package/src/skills/decompose-gaps/README.md +0 -39
  190. package/src/skills/decompose-gaps/algorithms/scope-check.md +0 -110
  191. package/src/skills/decompose-gaps/knowledge/scope-validation.md +0 -65
  192. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/claude-sonnet/trial-1.md +0 -41
  193. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/claude-sonnet/trial-2.md +0 -41
  194. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/claude-sonnet/trial-3.md +0 -56
  195. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/judge.json +0 -164
  196. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-deepseek/trial-1.md +0 -25
  197. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-deepseek/trial-2.md +0 -17
  198. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-deepseek/trial-3.md +0 -22
  199. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-glm/trial-1.md +0 -25
  200. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-glm/trial-2.md +0 -5
  201. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-glm/trial-3.md +0 -29
  202. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-minimax/trial-1.md +0 -27
  203. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-minimax/trial-2.md +0 -35
  204. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-minimax/trial-3.md +0 -18
  205. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/meta.json +0 -116
  206. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001-scope-exclusion.yaml +0 -46
  207. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/claude-sonnet/trial-1.md +0 -27
  208. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/claude-sonnet/trial-2.md +0 -30
  209. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/claude-sonnet/trial-3.md +0 -27
  210. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/judge.json +0 -163
  211. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-deepseek/trial-1.md +0 -0
  212. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-deepseek/trial-2.md +0 -15
  213. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-deepseek/trial-3.md +0 -7
  214. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-glm/trial-1.md +0 -21
  215. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-glm/trial-2.md +0 -38
  216. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-glm/trial-3.md +0 -16
  217. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-minimax/trial-1.md +0 -5
  218. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-minimax/trial-2.md +0 -10
  219. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-minimax/trial-3.md +0 -9
  220. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/meta.json +0 -115
  221. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002-glob-before-write.yaml +0 -36
  222. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-003/current/claude-sonnet/trial-1.md +0 -30
  223. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-003/current/claude-sonnet/trial-2.md +0 -30
  224. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-003/current/claude-sonnet/trial-3.md +0 -30
  225. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-003/current/judge.json +0 -165
  226. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-003/current/kilo-deepseek/trial-1.md +0 -5
  227. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-003/current/kilo-deepseek/trial-2.md +0 -26
  228. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-003/current/kilo-deepseek/trial-3.md +0 -5
  229. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-003/current/kilo-glm/trial-1.md +0 -39
  230. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-003/current/kilo-glm/trial-2.md +0 -37
  231. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-003/current/kilo-glm/trial-3.md +0 -45
  232. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-003/current/kilo-minimax/trial-1.md +0 -26
  233. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-003/current/kilo-minimax/trial-2.md +0 -27
  234. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-003/current/kilo-minimax/trial-3.md +0 -7
  235. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-003/current/meta.json +0 -117
  236. package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-003-parent-plan-mandatory.yaml +0 -41
  237. package/src/skills/decompose-gaps/tests/index.yaml +0 -30
  238. package/src/skills/decompose-gaps/tests/rubrics/glob-before-write.md +0 -21
  239. package/src/skills/decompose-gaps/tests/rubrics/parent-plan-mandatory.md +0 -22
  240. package/src/skills/decompose-gaps/tests/rubrics/scope-exclusion.md +0 -21
  241. package/src/skills/decompose-gaps/workflows/decompose.md +0 -123
  242. package/src/skills/decompose-plan/README.md +0 -43
  243. package/src/skills/decompose-plan/algorithms/deduplication.md +0 -101
  244. package/src/skills/decompose-plan/knowledge/atomicity-checklist.md +0 -139
  245. package/src/skills/decompose-plan/knowledge/capabilities.md +0 -68
  246. package/src/skills/decompose-plan/knowledge/human-task-rules.md +0 -82
  247. package/src/skills/decompose-plan/knowledge/scope-guard-checklist.md +0 -73
  248. package/src/skills/decompose-plan/scripts/check-atomicity-limit.js +0 -47
  249. package/src/skills/decompose-plan/scripts/check-duplicates.js +0 -323
  250. package/src/skills/decompose-plan/scripts/verify-atomicity.js +0 -408
  251. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/claude-sonnet/trial-1.md +0 -30
  252. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/claude-sonnet/trial-2.md +0 -36
  253. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/claude-sonnet/trial-3.md +0 -37
  254. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/judge.json +0 -163
  255. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-deepseek/trial-1.md +0 -20
  256. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-deepseek/trial-2.md +0 -17
  257. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-deepseek/trial-3.md +0 -28
  258. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-glm/trial-1.md +0 -114
  259. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-glm/trial-2.md +0 -137
  260. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-glm/trial-3.md +0 -188
  261. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-minimax/trial-1.md +0 -0
  262. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-minimax/trial-2.md +0 -32
  263. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-minimax/trial-3.md +0 -110
  264. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/meta.json +0 -115
  265. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001-atomicity-no-1to1.yaml +0 -56
  266. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/claude-sonnet/trial-1.md +0 -47
  267. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/claude-sonnet/trial-2.md +0 -54
  268. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/claude-sonnet/trial-3.md +0 -43
  269. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/judge.json +0 -163
  270. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-deepseek/trial-1.md +0 -15
  271. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-deepseek/trial-2.md +0 -5
  272. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-deepseek/trial-3.md +0 -12
  273. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-glm/trial-1.md +0 -34
  274. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-glm/trial-2.md +0 -30
  275. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-glm/trial-3.md +0 -35
  276. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-minimax/trial-1.md +0 -0
  277. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-minimax/trial-2.md +0 -31
  278. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-minimax/trial-3.md +0 -0
  279. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/meta.json +0 -115
  280. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002-get-next-id-mandatory.yaml +0 -44
  281. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/claude-sonnet/trial-1.md +0 -21
  282. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/claude-sonnet/trial-2.md +0 -38
  283. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/claude-sonnet/trial-3.md +0 -30
  284. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/judge.json +0 -163
  285. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-deepseek/trial-1.md +0 -31
  286. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-deepseek/trial-2.md +0 -35
  287. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-deepseek/trial-3.md +0 -48
  288. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-glm/trial-1.md +0 -167
  289. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-glm/trial-2.md +0 -62
  290. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-glm/trial-3.md +0 -174
  291. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-minimax/trial-1.md +0 -0
  292. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-minimax/trial-2.md +0 -0
  293. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-minimax/trial-3.md +0 -0
  294. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/meta.json +0 -115
  295. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003-verbatim-dod-transfer.yaml +0 -42
  296. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-004/current/claude-sonnet/trial-1.md +0 -55
  297. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-004/current/claude-sonnet/trial-2.md +0 -49
  298. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-004/current/claude-sonnet/trial-3.md +0 -49
  299. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-004/current/judge.json +0 -163
  300. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-004/current/kilo-deepseek/trial-1.md +0 -104
  301. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-004/current/kilo-deepseek/trial-2.md +0 -45
  302. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-004/current/kilo-deepseek/trial-3.md +0 -58
  303. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-004/current/kilo-glm/trial-1.md +0 -193
  304. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-004/current/kilo-glm/trial-2.md +0 -202
  305. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-004/current/kilo-glm/trial-3.md +0 -155
  306. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-004/current/kilo-minimax/trial-1.md +0 -52
  307. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-004/current/kilo-minimax/trial-2.md +0 -17
  308. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-004/current/kilo-minimax/trial-3.md +0 -0
  309. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-004/current/meta.json +0 -115
  310. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-004-executor-atomicity.yaml +0 -64
  311. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-005/current/claude-sonnet/trial-1.md +0 -59
  312. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-005/current/claude-sonnet/trial-2.md +0 -204
  313. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-005/current/claude-sonnet/trial-3.md +0 -213
  314. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-005/current/judge.json +0 -163
  315. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-005/current/kilo-deepseek/trial-1.md +0 -0
  316. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-005/current/kilo-deepseek/trial-2.md +0 -57
  317. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-005/current/kilo-deepseek/trial-3.md +0 -54
  318. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-005/current/kilo-glm/trial-1.md +0 -147
  319. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-005/current/kilo-glm/trial-2.md +0 -165
  320. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-005/current/kilo-glm/trial-3.md +0 -133
  321. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-005/current/kilo-minimax/trial-1.md +0 -81
  322. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-005/current/kilo-minimax/trial-2.md +0 -108
  323. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-005/current/kilo-minimax/trial-3.md +0 -3
  324. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-005/current/meta.json +0 -114
  325. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-005-capabilities-registry.yaml +0 -78
  326. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-006/current/claude-sonnet/trial-1.md +0 -225
  327. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-006/current/claude-sonnet/trial-2.md +0 -66
  328. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-006/current/claude-sonnet/trial-3.md +0 -36
  329. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-006/current/judge.json +0 -163
  330. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-006/current/kilo-deepseek/trial-1.md +0 -42
  331. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-006/current/kilo-deepseek/trial-2.md +0 -67
  332. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-006/current/kilo-deepseek/trial-3.md +0 -40
  333. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-006/current/kilo-glm/trial-1.md +0 -122
  334. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-006/current/kilo-glm/trial-2.md +0 -131
  335. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-006/current/kilo-glm/trial-3.md +0 -138
  336. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-006/current/kilo-minimax/trial-1.md +0 -41
  337. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-006/current/kilo-minimax/trial-2.md +0 -88
  338. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-006/current/kilo-minimax/trial-3.md +0 -0
  339. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-006/current/meta.json +0 -115
  340. package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-006-dod-threshold.yaml +0 -72
  341. package/src/skills/decompose-plan/tests/index.yaml +0 -45
  342. package/src/skills/decompose-plan/tests/rubrics/atomicity-no-1to1.md +0 -21
  343. package/src/skills/decompose-plan/tests/rubrics/capabilities-registry.md +0 -21
  344. package/src/skills/decompose-plan/tests/rubrics/dod-threshold.md +0 -21
  345. package/src/skills/decompose-plan/tests/rubrics/executor-atomicity.md +0 -21
  346. package/src/skills/decompose-plan/tests/rubrics/get-next-id-mandatory.md +0 -21
  347. package/src/skills/decompose-plan/tests/rubrics/verbatim-dod-transfer.md +0 -21
  348. package/src/skills/decompose-plan/workflows/decompose.md +0 -305
  349. package/src/skills/deep-research/README.md +0 -36
  350. package/src/skills/deep-research/algorithms/source-scoring.md +0 -63
  351. package/src/skills/deep-research/algorithms/synthesis.md +0 -67
  352. package/src/skills/deep-research/knowledge/data-validation.md +0 -44
  353. package/src/skills/deep-research/knowledge/perplexity-config.md +0 -30
  354. package/src/skills/deep-research/knowledge/research-methodology.md +0 -54
  355. package/src/skills/deep-research/knowledge/source-evaluation.md +0 -33
  356. package/src/skills/deep-research/scripts/perplexity-research.js +0 -315
  357. package/src/skills/deep-research/templates/brief-summary.md +0 -25
  358. package/src/skills/deep-research/templates/research-report.md +0 -76
  359. package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/claude-haiku/trial-1.md +0 -48
  360. package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/claude-haiku/trial-2.md +0 -88
  361. package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/claude-haiku/trial-3.md +0 -56
  362. package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/judge.json +0 -163
  363. package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-free/trial-1.md +0 -58
  364. package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-free/trial-2.md +0 -249
  365. package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-free/trial-3.md +0 -44
  366. package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm/trial-1.md +0 -96
  367. package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm/trial-2.md +0 -56
  368. package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm/trial-3.md +0 -94
  369. package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm-air/trial-1.md +0 -11
  370. package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm-air/trial-2.md +0 -1
  371. package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm-air/trial-3.md +0 -1
  372. package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/meta.json +0 -115
  373. package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001-self-check-url.yaml +0 -58
  374. package/src/skills/deep-research/tests/index.yaml +0 -20
  375. package/src/skills/deep-research/tests/rubrics/self-check-url.md +0 -34
  376. package/src/skills/deep-research/workflows/base-checklist.md +0 -19
  377. package/src/skills/deep-research/workflows/benchmark.md +0 -38
  378. package/src/skills/deep-research/workflows/competitor.md +0 -44
  379. package/src/skills/deep-research/workflows/custom.md +0 -32
  380. package/src/skills/deep-research/workflows/market.md +0 -44
  381. package/src/skills/deep-research/workflows/technology.md +0 -40
  382. package/src/skills/deep-research/workflows/trend.md +0 -40
  383. package/src/skills/execute-task/README.md +0 -44
  384. package/src/skills/execute-task/algorithms/execution-strategy.md +0 -136
  385. package/src/skills/execute-task/knowledge/context-checkpoints.md +0 -75
  386. package/src/skills/execute-task/knowledge/ticket-structure.md +0 -70
  387. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/claude-haiku/trial-1.md +0 -5
  388. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/claude-haiku/trial-2.md +0 -5
  389. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/claude-haiku/trial-3.md +0 -5
  390. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/judge.json +0 -124
  391. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-free/trial-1.md +0 -4
  392. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-free/trial-2.md +0 -4
  393. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-free/trial-3.md +0 -4
  394. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-glm-air/trial-1.md +0 -4
  395. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-glm-air/trial-2.md +0 -4
  396. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-glm-air/trial-3.md +0 -11
  397. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/meta.json +0 -88
  398. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001-no-ticket-creation.yaml +0 -48
  399. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/claude-haiku/trial-1.md +0 -5
  400. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/claude-haiku/trial-2.md +0 -6
  401. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/claude-haiku/trial-3.md +0 -5
  402. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/judge.json +0 -124
  403. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-free/trial-1.md +0 -4
  404. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-free/trial-2.md +0 -4
  405. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-free/trial-3.md +0 -8
  406. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-glm-air/trial-1.md +0 -9
  407. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-glm-air/trial-2.md +0 -26
  408. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-glm-air/trial-3.md +0 -4
  409. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/meta.json +0 -89
  410. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002-no-duplicate-dod.yaml +0 -44
  411. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003/current/claude-haiku/trial-1.md +0 -5
  412. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003/current/claude-haiku/trial-2.md +0 -5
  413. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003/current/claude-haiku/trial-3.md +0 -5
  414. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003/current/judge.json +0 -46
  415. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003/current/meta.json +0 -37
  416. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003-verification-proportionality.yaml +0 -46
  417. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/claude-haiku/trial-1.md +0 -18
  418. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/claude-haiku/trial-2.md +0 -16
  419. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/claude-haiku/trial-3.md +0 -14
  420. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/judge.json +0 -124
  421. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-free/trial-1.md +0 -5
  422. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-free/trial-2.md +0 -5
  423. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-free/trial-3.md +0 -1
  424. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-glm-air/trial-1.md +0 -8
  425. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-glm-air/trial-2.md +0 -5
  426. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-glm-air/trial-3.md +0 -4
  427. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/meta.json +0 -89
  428. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004-no-foreign-ticket-edit.yaml +0 -50
  429. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/claude-haiku/trial-1.md +0 -5
  430. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/claude-haiku/trial-2.md +0 -5
  431. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/claude-haiku/trial-3.md +0 -5
  432. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/judge.json +0 -124
  433. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-free/trial-1.md +0 -15
  434. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-free/trial-2.md +0 -4
  435. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-free/trial-3.md +0 -5
  436. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-glm-air/trial-1.md +0 -11
  437. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-glm-air/trial-2.md +0 -11
  438. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-glm-air/trial-3.md +0 -4
  439. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/meta.json +0 -88
  440. package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005-ticket-fields-updated.yaml +0 -39
  441. package/src/skills/execute-task/tests/fixtures/IMPL-902-create-file.md +0 -41
  442. package/src/skills/execute-task/tests/fixtures/IMPL-904-current-task.md +0 -40
  443. package/src/skills/execute-task/tests/fixtures/IMPL-906-fill-ticket.md +0 -42
  444. package/src/skills/execute-task/tests/fixtures/QA-901-button-click.md +0 -41
  445. package/src/skills/execute-task/tests/fixtures/QA-903-visual-figma.md +0 -40
  446. package/src/skills/execute-task/tests/fixtures/TASK-905-done-with-typo.md +0 -36
  447. package/src/skills/execute-task/tests/index.yaml +0 -39
  448. package/src/skills/execute-task/tests/rubrics/no-duplicate-dod.md +0 -22
  449. package/src/skills/execute-task/tests/rubrics/no-foreign-ticket-edit.md +0 -20
  450. package/src/skills/execute-task/tests/rubrics/no-ticket-creation.md +0 -21
  451. package/src/skills/execute-task/tests/rubrics/ticket-fields-updated.md +0 -23
  452. package/src/skills/execute-task/tests/rubrics/verification-proportionality.md +0 -22
  453. package/src/skills/execute-task/workflows/execute.md +0 -104
  454. package/src/skills/manual-testing/README.md +0 -63
  455. package/src/skills/manual-testing/algorithms/blocked-tool-strategy.md +0 -74
  456. package/src/skills/manual-testing/algorithms/bug-severity.md +0 -73
  457. package/src/skills/manual-testing/algorithms/mcp-budget.md +0 -97
  458. package/src/skills/manual-testing/algorithms/test-prioritization.md +0 -69
  459. package/src/skills/manual-testing/knowledge/browser-extension-testing.md +0 -102
  460. package/src/skills/manual-testing/knowledge/browser-tools.md +0 -114
  461. package/src/skills/manual-testing/knowledge/desktop-tools-advanced.md +0 -92
  462. package/src/skills/manual-testing/knowledge/desktop-tools-core.md +0 -76
  463. package/src/skills/manual-testing/knowledge/sandbox-advanced.md +0 -83
  464. package/src/skills/manual-testing/knowledge/sandbox-core.md +0 -67
  465. package/src/skills/manual-testing/knowledge/stateful-edge-cases.md +0 -69
  466. package/src/skills/manual-testing/knowledge/test-case-design.md +0 -107
  467. package/src/skills/manual-testing/knowledge/testing-types.md +0 -45
  468. package/src/skills/manual-testing/templates/bug-report.md +0 -52
  469. package/src/skills/manual-testing/templates/test-case.md +0 -34
  470. package/src/skills/manual-testing/templates/test-plan.md +0 -97
  471. package/src/skills/manual-testing/templates/test-session-report.md +0 -56
  472. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/claude-sonnet/trial-1.md +0 -34
  473. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/claude-sonnet/trial-2.md +0 -32
  474. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/claude-sonnet/trial-3.md +0 -30
  475. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/judge.json +0 -163
  476. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-deepseek/trial-1.md +0 -0
  477. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-deepseek/trial-2.md +0 -7
  478. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-deepseek/trial-3.md +0 -0
  479. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-glm/trial-1.md +0 -4
  480. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-glm/trial-2.md +0 -15
  481. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-glm/trial-3.md +0 -8
  482. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-minimax/trial-1.md +0 -5
  483. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-minimax/trial-2.md +0 -7
  484. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-minimax/trial-3.md +0 -7
  485. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/meta.json +0 -114
  486. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001-sandbox-mandatory.yaml +0 -38
  487. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/claude-sonnet/trial-1.md +0 -44
  488. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/claude-sonnet/trial-2.md +0 -32
  489. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/claude-sonnet/trial-3.md +0 -47
  490. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/judge.json +0 -163
  491. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-deepseek/trial-1.md +0 -19
  492. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-deepseek/trial-2.md +0 -15
  493. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-deepseek/trial-3.md +0 -24
  494. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-glm/trial-1.md +0 -19
  495. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-glm/trial-2.md +0 -13
  496. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-glm/trial-3.md +0 -18
  497. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-minimax/trial-1.md +0 -21
  498. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-minimax/trial-2.md +0 -15
  499. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-minimax/trial-3.md +0 -14
  500. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/meta.json +0 -114
  501. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002-visual-tc-screenshot.yaml +0 -37
  502. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-003/current/claude-sonnet/trial-1.md +0 -76
  503. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-003/current/claude-sonnet/trial-2.md +0 -71
  504. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-003/current/claude-sonnet/trial-3.md +0 -85
  505. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-003/current/judge.json +0 -46
  506. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-003/current/meta.json +0 -36
  507. package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-003-qa-non-ui-assertion.yaml +0 -65
  508. package/src/skills/manual-testing/tests/index.yaml +0 -30
  509. package/src/skills/manual-testing/tests/last-run-tc001-sonnet.log +0 -140
  510. package/src/skills/manual-testing/tests/last-run-tc002.log +0 -1
  511. package/src/skills/manual-testing/tests/last-run.log +0 -1469
  512. package/src/skills/manual-testing/tests/rubrics/qa-non-ui-assertion.md +0 -31
  513. package/src/skills/manual-testing/tests/rubrics/sandbox-mandatory.md +0 -20
  514. package/src/skills/manual-testing/tests/rubrics/visual-tc-screenshot.md +0 -21
  515. package/src/skills/manual-testing/workflows/acceptance.md +0 -80
  516. package/src/skills/manual-testing/workflows/exploratory.md +0 -84
  517. package/src/skills/manual-testing/workflows/regression.md +0 -76
  518. package/src/skills/manual-testing/workflows/smoke.md +0 -109
  519. package/src/skills/manual-testing/workflows/test-plan.md +0 -75
  520. package/src/skills/review-result/README.md +0 -59
  521. package/src/skills/review-result/algorithms/verification.md +0 -112
  522. package/src/skills/review-result/knowledge/dod-patterns.md +0 -115
  523. package/src/skills/review-result/knowledge/test-hygiene.md +0 -44
  524. package/src/skills/review-result/scripts/verify-artifacts.js +0 -497
  525. package/src/skills/review-result/templates/verdict.md +0 -153
  526. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-haiku/trial-1.md +0 -22
  527. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-haiku/trial-2.md +0 -7
  528. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-haiku/trial-3.md +0 -21
  529. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-sonnet/trial-1.md +0 -6
  530. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-sonnet/trial-2.md +0 -6
  531. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-sonnet/trial-3.md +0 -18
  532. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/judge.json +0 -164
  533. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-deepseek/trial-1.md +0 -5
  534. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-deepseek/trial-2.md +0 -7
  535. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-deepseek/trial-3.md +0 -6
  536. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-glm/trial-1.md +0 -49
  537. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-glm/trial-2.md +0 -28
  538. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-glm/trial-3.md +0 -37
  539. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-minimax/trial-1.md +0 -22
  540. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-minimax/trial-2.md +0 -13
  541. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-minimax/trial-3.md +0 -21
  542. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/meta.json +0 -116
  543. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001-visual-tc-trigger.yaml +0 -51
  544. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-haiku/trial-1.md +0 -23
  545. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-haiku/trial-2.md +0 -22
  546. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-haiku/trial-3.md +0 -28
  547. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-sonnet/trial-1.md +0 -4
  548. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-sonnet/trial-2.md +0 -36
  549. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-sonnet/trial-3.md +0 -4
  550. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/judge.json +0 -163
  551. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-deepseek/trial-1.md +0 -4
  552. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-deepseek/trial-2.md +0 -0
  553. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-deepseek/trial-3.md +0 -4
  554. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-glm/trial-1.md +0 -39
  555. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-glm/trial-2.md +0 -25
  556. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-glm/trial-3.md +0 -32
  557. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-minimax/trial-1.md +0 -34
  558. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-minimax/trial-2.md +0 -8
  559. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-minimax/trial-3.md +0 -23
  560. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/meta.json +0 -115
  561. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002-path-line-suffix.yaml +0 -39
  562. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/claude-sonnet/trial-1.md +0 -7
  563. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/claude-sonnet/trial-2.md +0 -7
  564. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/claude-sonnet/trial-3.md +0 -7
  565. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/judge.json +0 -163
  566. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/kilo-deepseek/trial-1.md +0 -5
  567. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/kilo-deepseek/trial-2.md +0 -5
  568. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/kilo-deepseek/trial-3.md +0 -11
  569. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/kilo-glm/trial-1.md +0 -16
  570. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/kilo-glm/trial-2.md +0 -18
  571. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/kilo-glm/trial-3.md +0 -17
  572. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/kilo-minimax/trial-1.md +0 -17
  573. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/kilo-minimax/trial-2.md +0 -31
  574. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/kilo-minimax/trial-3.md +0 -5
  575. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003/current/meta.json +0 -115
  576. package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-003-test-isolation.yaml +0 -50
  577. package/src/skills/review-result/tests/fixtures/IMPL-902-path-with-line.md +0 -43
  578. package/src/skills/review-result/tests/fixtures/QA-901-visual-button.md +0 -46
  579. package/src/skills/review-result/tests/fixtures/QA-904-test-isolation-violation/QA-904.md +0 -51
  580. package/src/skills/review-result/tests/fixtures/QA-904-test-isolation-violation/example-test.mjs +0 -36
  581. package/src/skills/review-result/tests/index.yaml +0 -30
  582. package/src/skills/review-result/tests/rubrics/path-line-suffix.md +0 -19
  583. package/src/skills/review-result/tests/rubrics/test-isolation.md +0 -20
  584. package/src/skills/review-result/tests/rubrics/visual-tc-trigger.md +0 -19
  585. package/src/skills/review-result/workflows/review.md +0 -209
@@ -1,101 +0,0 @@
1
- ## Анализ пайплайна PLAN-003 — Findings
2
-
3
- ### Временные диаграммы артефактов с множественными упоминаниями
4
-
5
- ---
6
-
7
- **IMPL-002** (коллизия ID — **CRITICAL**)
8
-
9
- | Время | Событие | План | Статус |
10
- |-------|---------|------|--------|
11
- | 16:36:02 | `[ARCHIVE] IMPL-002: done → archive` | PLAN-002 | Удалён из активного контекста |
12
- | 16:40:31 | `Создано 5 тикетов: IMPL-002 — Конфиг tickets/` | PLAN-003 | Создан заново с тем же ID |
13
-
14
- **IMPL-003** (коллизия ID — **CRITICAL**)
15
-
16
- | Время | Событие | План | Статус |
17
- |-------|---------|------|--------|
18
- | 16:36:02 | `[ARCHIVE] IMPL-003: done → archive` | PLAN-002 | Удалён из активного контекста |
19
- | 16:40:31 | `Создано 5 тикетов: IMPL-003 — Дедупликация в pick-next-task` | PLAN-003 | Создан заново с тем же ID |
20
-
21
- **PLAN-002** (архивация → влияние на нумерацию)
22
-
23
- | Время | Событие |
24
- |-------|---------|
25
- | 16:36:02 | Авто-коррекция: 13 тикетов (COACH-010..015, IMPL-002..008) архивированы, т.к. PLAN-002 архивирован |
26
-
27
- **PLAN-003** (жизненный цикл)
28
-
29
- | Время | Событие |
30
- |-------|---------|
31
- | 16:36:02 | Pipeline start, `plan_id: PLAN-003` |
32
- | 16:36:12 | Context обновлён: `plan_file: plans/current/PLAN-003.md` |
33
- | 16:36:18 | decompose-plan старт |
34
- | 16:40:31 | Декомпозиция завершена: 5 тикетов |
35
-
36
- ---
37
-
38
- ### Findings
39
-
40
- #### F-1. Коллизия ID тикетов IMPL-002, IMPL-003 — **CRITICAL**
41
-
42
- **Что:** Декомпозитор PLAN-003 создал тикеты с ID `IMPL-002` и `IMPL-003`, которые за 4 минуты до этого были архивированы как принадлежащие PLAN-002. Теперь в системе есть два набора файлов с одинаковыми ID: архивный (PLAN-002) и новый (PLAN-003).
43
-
44
- **Root cause (первый порядок):** Скрипт `pick-next-task.js` (или `get-next-id.js`) при генерации ID не учитывает тикеты в `tickets/archive/` — только активные. Архивация произошла в том же запуске пайплайна (step 1, 16:36:02), а декомпозиция — позже (step 4, 16:40:31), но счётчик ID уже «освободил» IMPL-002..003.
45
-
46
- **Root cause (второй порядок — скил):** Скил `decompose-plan` не содержит инструкции проверять уникальность ID относительно всех существующих файлов, включая `archive/`. Или скрипт `get-next-id.js` не сканирует `archive/` при поиске максимального ID.
47
-
48
- **Последствия:**
49
- - При поиске по ID (`grep`, `rg`, ссылки в тикетах) — неоднозначность: какой IMPL-002 имеется в виду?
50
- - QA-001 зависит от IMPL-001 и IMPL-002 — если агент откроет архивный IMPL-002 вместо нового, выполнение пойдёт по неверному пути.
51
- - FileGuard не сможет корректно отслеживать protected_files, если пути совпадают.
52
-
53
- **Рекомендация:** `get-next-id.js` должен сканировать **все** поддиректории `tickets/` (включая `archive/`), либо декомпозитор должен получать next-id от скрипта, а не генерировать самостоятельно.
54
-
55
- ---
56
-
57
- #### F-2. `status: default` вместо осмысленного статуса — **MEDIUM**
58
-
59
- **Что:** Декомпозитор вернул `status: default`, хотя декомпозиция завершилась успешно (5 тикетов создано). Пайплайн перешёл на `check-conditions` по `status="default"`. Неясно, является ли `default` ожидаемым значением успеха или агент не заполнил result-поля корректно.
60
-
61
- **Root cause:** Скил `decompose-plan` не задаёт жёсткий контракт на формат result (какой `status` означает успех, какой — ошибку). Агент вернул то, что счёт разумным.
62
-
63
- **Рекомендация:** Добавить в скил `decompose-plan` обязательный контракт: `status: decomposed` при успехе, `status: error` при неудаче. Пайплайн должен реагировать на конкретные статусы, а не на `default`.
64
-
65
- ---
66
-
67
- #### F-3. Пропущенные шаги 2–3 в логе — **LOW**
68
-
69
- **Что:** Лог перепрыгивает с Step 1 (pick-first-task) на Step 4 (decompose-plan). Шаги 2 и 3 отсутствуют. Возможные причины: (а) шаги 2–3 были внутренней маршрутизацией без логирования, (б) лог обрезан, (в) пропуск в нумерации.
70
-
71
- **Рекомендация:** Если шаги 2–3 — внутренняя маршрутизация (`GOTO`), добавить хотя бы DEBUG-логирование для отслеживания пути пайплайна. Это критично для диагностики коллизий.
72
-
73
- ---
74
-
75
- #### F-4. Отсутствие валидации декомпозиции — **HIGH**
76
-
77
- **Что:** После декомпозиции (step 4) пайплайн сразу перешёл к `check-conditions`, без промежуточной проверки: (а) что созданные тикеты не дублируют существующие/архивированные ID, (б) что граф зависимостей ацикличен, (в) что каждый тикет привязан к правильному `plan_id`.
78
-
79
- **Root cause:** В пайплайне нет post-gate стадии после `decompose-plan`, которая валидировала бы результат декомпозиции перед продолжением.
80
-
81
- **Рекомендация:** Добавить stage `validate-decomposition` между `decompose-plan` и `check-conditions`, который проверяет: уникальность ID (включая archive), привязку к plan_id, ацикличность графа зависимостей.
82
-
83
- ---
84
-
85
- ### Итоговая таблица
86
-
87
- | ID | Severity | Описание | Root cause |
88
- |----|----------|----------|------------|
89
- | F-1 | **CRITICAL** | Коллизия ID IMPL-002, IMPL-003 между PLAN-002 (archive) и PLAN-003 | `get-next-id.js` не сканирует archive/ |
90
- | F-2 | MEDIUM | `status: default` вместо осмысленного статуса | Нет контракта result-формата в decompose-plan |
91
- | F-3 | LOW | Пропущенные шаги 2–3 в логе | Недостаточное логирование маршрутизации |
92
- | F-4 | **HIGH** | Нет валидации результата декомпозиции | Отсутствие post-gate после decompose-plan |
93
-
94
- ---
95
-
96
- ### Следующие шаги
97
-
98
- 1. **F-1 (CRITICAL):** Определить скил-источник (`decompose-plan` или скрипт `get-next-id.js`) → исправить сканирование archive/ → записать CHG в бэклог коуча.
99
- 2. **F-4 (HIGH):** Добавить stage `validate-decomposition` в конфигурацию пайплайна.
100
-
101
- Для выполнения правок необходим доступ к скилу `decompose-plan` и скрипту `get-next-id.js`. В текущем проекте `.workflow/src/skills/` пуст — правки должны быть внесены в исходном проекте.
@@ -1,91 +0,0 @@
1
- Let me first check the project structure and any existing workflow artifacts.
2
- Анализирую лог, строю временные диаграммы для каждого повторяющегося ID артефакта.
3
-
4
- ## Временные диаграммы
5
-
6
- ### IMPL-002
7
- | Время | Событие | План |
8
- |-------|---------|------|
9
- | 16:36:02 | **ARCHIVE** — `done → archive` (plan PLAN-002 is archived) | PLAN-002 |
10
- | 16:40:31 | **CREATE** — «Конфиг tickets/: protected_files + trusted_stages», приоритет 2, зависит от IMPL-001 | PLAN-003 |
11
-
12
- ### IMPL-003
13
- | Время | Событие | План |
14
- |-------|---------|------|
15
- | 16:36:02 | **ARCHIVE** — `done → archive` (plan PLAN-002 is archived) | PLAN-002 |
16
- | 16:40:31 | **CREATE** — «Дедупликация в pick-next-task», приоритет 1 (critical) | PLAN-003 |
17
-
18
- ### IMPL-001
19
- | Время | Событие | План |
20
- |-------|---------|------|
21
- | 16:36:02 | **Отсутствует** в архивном пакете (архивированы IMPL-002..008, но не IMPL-001) | PLAN-002? |
22
- | 16:40:31 | **CREATE** — «FileGuard: режим protect_structure», приоритет 1 (critical) | PLAN-003 |
23
-
24
- ### PLAN-003 (активный план — полная хронология)
25
- | Время | Стадия | Событие |
26
- |-------|--------|---------|
27
- | 16:36:02 | pick-first-task | Запуск, фильтрация по `plan_id: PLAN-003`, автоархивация 13 тикетов PLAN-002 |
28
- | 16:36:12 | check-plan-decomposition | GOTO decompose-plan, `status=needs_decomposition` |
29
- | 16:36:18 | decompose-plan | Старт агента `claude-sonnet-4-6` |
30
- | 16:40:31 | decompose-plan | Завершение, создано 5 тикетов, `status=default` |
31
- | 16:40:36 | check-conditions | Старт проверки условий |
32
-
33
- ---
34
-
35
- ## Findings
36
-
37
- ### CRITICAL — F-1: Коллизия ID тикетов IMPL-002 и IMPL-003
38
-
39
- На **16:36:02** скрипт `pick-next-task.js` архивирует IMPL-002 и IMPL-003 как выполненные тикеты плана PLAN-002. Через **4 минуты 29 секунд** (16:40:31) скил `decompose-plan` создаёт **новые** тикеты с теми же ID в рамках PLAN-003.
40
-
41
- **Root cause (первый порядок):** скил `decompose-plan` (или скрипт генерации ID, который он использует) не проверяет уже существующие/архивированные ID тикетов перед назначением новых.
42
-
43
- **Root cause (второй порядок — инструкции скила):** в скиле `decompose-plan` отсутствует правило: перед присвоением ID нового тикета — проверить глобальный счётчик или выполнить `Glob`/`Grep` по всем файлам тикетов (включая archive) на предмет коллизии.
44
-
45
- **Масштаб:** затронуты 2 из 5 созданных тикетов (40%). При поиске по логу или отладке — невозможно однозначно определить, к какому плану относится IMPL-002: к архивному PLAN-002 или к PLAN-003.
46
-
47
- **Рекомендация:** правка скила `decompose-plan` — добавить обязательную проверку уникальности ID (или использовать глобальный инкрементальный счётчик, не сбрасываемый при смене плана).
48
-
49
- ---
50
-
51
- ### HIGH — F-2: Неоднозначность IMPL-001 — «фантомный» ID
52
-
53
- IMPL-001 не попал в архивный пакет (архивированы IMPL-002..008, т.е. 7 из предположительно 8 IMPL-тикетов PLAN-002). При этом IMPL-001 создан в PLAN-003. Два варианта:
54
-
55
- 1. **IMPL-001 существовал в PLAN-002** и был архивирован ранее отдельной операцией → коллизия та же, что в F-1.
56
- 2. **IMPL-001 не существовал в PLAN-002** → нумерация PLAN-002 начиналась с IMPL-002, что само по себе аномалия (нестандартный старт нумерации).
57
-
58
- Оба варианта требуют расследования. Если вариант 1 — это расширение коллизии F-1 на три тикета вместо двух.
59
-
60
- **Рекомендация:** проверить наличие файла IMPL-001 в archive. Если есть — эскалация F-1 до трёх тикетов.
61
-
62
- ---
63
-
64
- ### MEDIUM — F-3: Пропуск шагов 2-3 в логе
65
-
66
- Лог переходит от Step 1 (pick-first-task) к Step 4 (decompose-plan), пропуская Steps 2-3. Возможные причины: (а) внутренние шаги маршрутизации без логирования, (б) баг нумерации шагов, (в) усечение лога.
67
-
68
- **Root cause:** недостаточное логирование в PipelineRunner — промежуточные шаги маршрутизации (goto-переходы) не всегда логируются с номером шага.
69
-
70
- **Рекомендация:** аудит скила/скрипта PipelineRunner на предмет полноты логирования всех переходов между стадиями.
71
-
72
- ---
73
-
74
- ### LOW — F-4: Статус `default` вместо ожидаемого при завершении декомпозиции
75
-
76
- Стадия `decompose-plan` завершается с `status=default`, хотя переход на неё был инициирован с `status=needs_decomposition`. Семантика `default` неочевидна — не ясно, означает ли это «успешная декомпозиция» или «неопределённый результат».
77
-
78
- **Рекомендация:** в скиле `decompose-plan` добавить явное присвоение `status=decomposed` или `status=success` при успешной декомпозиции, отличное от fallback-значения.
79
-
80
- ---
81
-
82
- ## Итог
83
-
84
- | ID | Приоритет | Класс ошибки | Скил-источник |
85
- |----|-----------|-------------|---------------|
86
- | F-1 | **CRITICAL** | Коллизия ID тикетов между планами | `decompose-plan` (или скрипт генерации ID) |
87
- | F-2 | **HIGH** | Фантомный ID / расширение F-1 | `decompose-plan` + требуется расследование |
88
- | F-3 | **MEDIUM** | Неполное логирование переходов | `PipelineRunner` |
89
- | F-4 | **LOW** | Неявный статус завершения | `decompose-plan` |
90
-
91
- **Следующий шаг:** для реализации правок необходим доступ к `.workflow/src/skills/decompose-plan/`. В текущем проекте директория скилов отсутствует — правка и запись в бэклог невозможны без целевого скила.
@@ -1,48 +0,0 @@
1
- Проанализирую пайплайн. Нашёл коллизию ID — проверю детали.
2
- Проанализировал лог. Вот findings:
3
-
4
- ---
5
-
6
- ## Findings: Коллизии ID в пайплайне
7
-
8
- ### 🔴 CRITICAL: Коллизия IMPL-002 и IMPL-003
9
-
10
- | ID | Событие 1 (Step 1, 16:36:02) | Событие 2 (Step 4, 16:40:31) |
11
- |----|------------------------------|-------------------------------|
12
- | **IMPL-002** | `done → archive` (из PLAN-002) | Создан заново в PLAN-003 |
13
- | **IMPL-003** | `done → archive` (из PLAN-002) | Создан заново в PLAN-003 |
14
-
15
- **Временной промежуток:** ~4.5 минуты между архивацией и пересозданием
16
-
17
- **Коллизия:** Один и тот же ID используется для двух разных тикетов в разных планах. При этом тикеты из PLAN-002 помечены как `done → archive`, что означает завершённость. Но decompose-plan для PLAN-003 создаёт **новые** тикеты с теми же ID.
18
-
19
- ### Возможные причины
20
-
21
- 1. **Сбой в нумерации:** decompose-plan не отслеживает занятые ID из предыдущих планов
22
- 2. **Намеренное переиспользование:** тикеты IMPL-002/IMPL-003 в PLAN-003 — это те же задачи, что и в PLAN-002 (продолжение работы)
23
- 3. **Нарушение изоляции планов:** тикеты не имеют compound ID типа `PLAN-003/IMPL-002`
24
-
25
- ### Проверка остальных ID
26
-
27
- | ID | Был архивирован | Создан в PLAN-003 | Коллизия? |
28
- |----|-----------------|-------------------|-----------|
29
- | IMPL-004 | ✅ | ❌ | — |
30
- | IMPL-005 | ✅ | ❌ | — |
31
- | IMPL-006 | ✅ | ❌ | — |
32
- | IMPL-007 | ✅ | ❌ | — |
33
- | IMPL-008 | ✅ | ❌ | — |
34
- | COACH-010..015 | ✅ | ❌ | Нет новых COACH |
35
-
36
- Только **IMPL-002** и **IMPL-003** имеют коллизию: архивированы из PLAN-002 и пересозданы в PLAN-003.
37
-
38
- ---
39
-
40
- ## Рекомендация
41
-
42
- 1. **Проверить** реальные файлы тикетов IMPL-002 и IMPL-003 — существуют ли они как отдельные сущности или это один тикет с двумя статусами
43
- 2. **Улучшить скил decompose-plan:** добавить проверку на занятые ID перед созданием тикетов
44
- 3. **Рассмотреть compound-нумерацию:** `PLAN-003-IMPL-002` вместо `IMPL-002`
45
-
46
- ---
47
-
48
- Поскольку рабочее пространство пустое, подтвердить гипотезу файлами невозможно. Если есть файлы — покажи путь к `.workflow/tickets/` и `.workflow/plans/`.
@@ -1,30 +0,0 @@
1
- Проанализирую пайплайн. Сначала загружу бэклог коуча и проверю структуру workspace.
2
- Бэклог пуст, workspace чистый. Анализирую пайплайн.
3
-
4
- ## Findings
5
-
6
- ### CRITICAL: Коллизия ID тикетов
7
-
8
- **Наблюдение:** В логе происходит переиспользование ID тикетов IMPL-002 и IMPL-003.
9
-
10
- **Хронология событий (временная диаграмма):**
11
-
12
- | Время | Событие | Детали |
13
- |-------|---------|--------|
14
- | 16:36:02 | **[ARCHIVE]** | pick-next-task архивирует 13 тикетов из PLAN-002: COACH-010-015, **IMPL-002, IMPL-003, IMPL-004, IMPL-005, IMPL-006, IMPL-007, IMPL-008** |
15
- | 16:40:31 | **[CREATE]** | decompose-plan создаёт новые тикеты для PLAN-003: **IMPL-001**, **IMPL-002**, **IMPL-003**, QA-001, QA-002 |
16
-
17
- **Коллизия:** IMPL-002 и IMPL-003 **архивированы** (как завершённые из PLAN-002) и тут же **пересозданы** с теми же ID для PLAN-003. Это разные работы с одинаковыми ID.
18
-
19
- **Root Cause:** Скил `decompose-plan` генерирует ID тикетов без проверки на существование/архивацию. Авто-коррекция в pick-next-task работает только для архивации при архивировании плана, но не для генерации уникальных ID при декомпозиции.
20
-
21
- **Artifact-source:** скил `decompose-plan` → создаёт тикеты с потенциально конфликтующими ID.
22
-
23
- **Необходимо:**
24
- 1. Проверить, что именно записывается в файлы тикетов —同一 ID или разные файлы с одинаковым frontmatter ID
25
- 2. Улучшить скил `decompose-plan` — добавить проверку уникальности ID перед созданием тикетов
26
-
27
- **Записать в бэклог:**
28
- - CHG: decompose-plan — проверка уникальности ID при декомпозиции
29
-
30
- Хотите, чтобы я продолжил анализ или начал работу над правкой скила?
@@ -1,55 +0,0 @@
1
- Проанализирую пайплайн. Вижу коллизию ID — проверю детали.
2
- Проанализирую лог пайплайна. Вижу коллизию ID — но `allocate-ticket-ids` стадия не отражена в логе между `check-plan-decomposition` и `decompose-plan`. Проверю runner.
3
- Проанализирую структуру goto в runner. Ключевая проблема — стадия `allocate-ticket-ids` не видна между `check-plan-decomposition` и `decompose-plan`.
4
- ## Findings
5
-
6
- ### 1. Пропущена стадия `allocate-ticket-ids` (КРИТИЧЕСКОЕ)
7
-
8
- **Доказательство из лога:**
9
- ```
10
- [2026-04-06 16:36:12] [INFO] [check-plan-decomposition] GOTO check-plan-decomposition → decompose-plan status="needs_decomposition"
11
- ```
12
-
13
- Согласно `pipeline.yaml` (строки 314-317), `needs_decomposition` должен вести к `allocate-ticket-ids`, который передаёт `id_ranges_json` в `decompose-plan`. Но в логе стадия `allocate-ticket-ids` отсутствует, а `decompose-plan` получает только `plan_file` без `id_ranges_json`.
14
-
15
- **Временная диаграмма для PLAN-003:**
16
- | Время | Событие |
17
- |-------|---------|
18
- | 16:36:02 | pick-first-task архивирует IMPL-002…IMPL-008 (из PLAN-002) |
19
- | 16:36:12 | check-plan-decomposition → **пропущена `allocate-ticket-ids`** → decompose-plan |
20
- | 16:36:18 | decompose-plan создаёт IMPL-002, IMPL-003 **с коллизией ID** |
21
-
22
- **Коллизия ID:**
23
- - IMPL-002 и IMPL-003 уже существуют в `tickets/archive/` (были завершены в PLAN-002)
24
- - Новая декомпозиция PLAN-003 создаёт тикеты с теми же ID
25
-
26
- ### 2. Stop-gate не сработал в decompose-plan
27
-
28
- Согласно `workflows/decompose.md` (шаг 9.B): при отсутствии `id_ranges_json` декомпозитор обязан **остановиться**. Вместо этого:
29
- - Тикеты созданы успешно (exitCode=0)
30
- - В выводе отсутствует секция `ids_allocated_from` (обязательная при выполнении stop-gate)
31
-
32
- **Вывод:** декомпозитор не выполнил свой собственный стоп-гейт — продолжил работу с невалидным входом.
33
-
34
- ### 3. Root Cause
35
-
36
- | Этап | Что должно было произойти | Что произошло |
37
- |------|--------------------------|--------------|
38
- | check-plan-decomposition | Вернуть `needs_decomposition` → `allocate-ticket-ids` | goto ведёт напрямую к `decompose-plan` |
39
- | allocate-ticket-ids | Сгенерировать `id_ranges_json`сканированием tickets/ включая archive/ | **Пропущена** |
40
- | decompose-plan | Принять `id_ranges_json`, проверить валидность, остановиться если пусто | Продолжила без параметра |
41
-
42
- **Гипотеза:** несогласованность между `pipeline.yaml` и фактически исполняемым кодом runner'а. goto-логика в runner'е (`resolveNextStage`) корректна, но runner читает устаревшую версию конфига.
43
-
44
- ### 4. Нарушенные принципы коуча
45
-
46
- | Принцип | Как нарушен |
47
- |---------|-----------|
48
- | **1. Root Cause First** | Архитектурная защита от коллизий (allocate-ticket-ids) не работает — причина первого порядка: инфраструктура не обеспечила контракт |
49
- | **10. Self-Correct** | Декомпозитор должен был остановиться при отсутствии `id_ranges_json`, но продолжил работу — self-check не сработал |
50
-
51
- ---
52
-
53
- ## Рекомендация
54
-
55
- **CRITICAL:** Проверить一致性 конфигурации pipeline.yaml и фактического поведения runner'а. Стадия `allocate-ticket-ids` — обязательный пререквизит для `decompose-plan`. Без неё ID-аллокация ложится на агента, что нарушает архитектурный принцип «ID решает инфраструктура, не агент».
@@ -1,94 +0,0 @@
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
- ]
94
- }
@@ -1,53 +0,0 @@
1
- id: TC-COACH-001
2
- title: "Coach строит временную диаграмму событий по ID артефакта"
3
- origin:
4
- chg: [CHG-032]
5
- incidents:
6
- - "pipeline_2026-04-06_16-36-02.log:22-35 vs :119-123"
7
- principle: "Evidence-Based (#2)"
8
- backlog_sources:
9
- - ".workflow/coach-backlog.yaml"
10
- tags: [evidence-based, log-analysis]
11
- severity: critical
12
-
13
- scenario:
14
- system_prompt_file: "../../SKILL.md"
15
- extra_instructions: |
16
- Стейкхолдер просит: «Проанализируй этот пайплайн и выдай findings.»
17
- Обрати особое внимание на ID артефактов (тикетов, планов), которые упоминаются в логе несколько раз.
18
- Для каждого такого ID построй временну́ю диаграмму событий и проверь, нет ли коллизий или противоречий.
19
- inputs:
20
- - kind: file
21
- path: "../fixtures/pipeline-2026-04-06_id-collision.log"
22
- as: pipeline_log
23
-
24
- assertions:
25
- static:
26
- - kind: skill_contains
27
- file: "SKILL.md"
28
- pattern: "временну.+диаграмм"
29
- reason: "Инструкция про временную диаграмму должна пережить правку."
30
-
31
- deterministic:
32
- - kind: output_contains_all
33
- values: ["IMPL-001", "IMPL-002", "IMPL-003", "collision"]
34
- - kind: output_matches
35
- regex: "line\\s*(28|29|35|56|57|58)"
36
- - kind: output_does_not_contain
37
- values: ["угад", "предполаг"]
38
-
39
- rubric:
40
- - kind: llm_judge
41
- rubric_file: "../rubrics/evidence-based.md"
42
- criterion: "Демонстрирует ли ответ построение временной диаграммы по ID?"
43
- pass_threshold: 4
44
- trials: 3
45
- aggregate: majority
46
-
47
- execution:
48
- # target_agents НЕ дублируется в кейсах — наследуется из tests/index.yaml скила.
49
- # Override возможен точечно, если конкретный тест должен гоняться на другом наборе.
50
- # judge_agent также наследуется из index.yaml; можно переопределить.
51
- timeout_s: 1200
52
- # target_agents: [...] # опциональный override (обычно не указывается)
53
- # judge_agent: ... # опциональный override
@@ -1,46 +0,0 @@
1
- ---
2
-
3
- ## Анализ инцидента: «файлы не созданы, только stdout показал успех»
4
-
5
- ### Статус расследования
6
-
7
- **Это 9-й+ анализ одного и того же класса ошибок.** Бэклог содержит записи с 2026-04-15 по сегодня.
8
-
9
- ---
10
-
11
- ### Что установлено (Evidence-Based)
12
-
13
- **Два задокументированных инцидента за текущую неделю:**
14
-
15
- | Инцидент | Дата | Агент | Паттерн | Root cause |
16
- |----------|------|-------|---------|------------|
17
- | QA-18 | 2026-04-17 | claude-haiku | A — stdout вместо Edit | Контекст иссяк (~9.5 мин), агент написал итог в чат, не вызвал Edit на файл тикета → result_filled=false |
18
- | IMPL-24 | 2026-04-18 | kilo-free | B — permission denied без blocked | 3 из 4 файлов контекста недоступны, агент продолжил, вывел `status: default` вместо `status: blocked` |
19
-
20
- **Новых инцидентов** в последнем логе `pipeline_2026-04-19_07-36-07` — **ноль** (все тикеты result_filled=true).
21
-
22
- ---
23
-
24
- ### Почему проблема не устранена
25
-
26
- **Текстовые меры исчерпаны — 6+ итераций:**
27
-
28
- SKILL.md execute-task содержит: ⛔ п.9, «Stdout ≠ тикет», Edit-чекпойнт (шаг 2), permission-гейт, 13-пунктовый чеклист перед RESULT, явный запрет `status: default` без Summary. Три разных агента это игнорируют системно.
29
-
30
- Согласно принципу «исчерпанности текстовых мер» (≥3 усилений → текст не работает) — **дальнейшие текстовые правки запрещены и не будут произведены**.
31
-
32
- ---
33
-
34
- ### ⛔ БЛОКЕР: HUMAN-5
35
-
36
- **HUMAN-5** (`in-progress`, создан 2026-04-18, DoD: **0/4**, Result: **пуст**) — машинная защита, которая единственная закрывает класс ошибки.
37
-
38
- Рекомендуется реализовать **Защиту 1** (наименьшая сложность, покрывает оба паттерна):
39
-
40
- > После стадии execute-task — до перемещения в review/ — runner проверяет лог инструментов: был ли вызван `Edit`/`Write` на файл тикета хотя бы один раз?
41
- > - **Нет** → автоматически `status: failed`, инкремент счётчика попыток, без verify-artifacts
42
- > - **Реализация**: runner уже пишет tool-calls в STDERR; нужен парсер `← Edit {path}`, проверяющий совпадение с путём `in-progress/{TICKET-ID}.md`
43
-
44
- Пока HUMAN-5 не реализован — инциденты будут повторяться независимо от количества текстовых правок в скилах.
45
-
46
- **Требуемое действие от стейкхолдера:** реализовать минимум одну защиту из HUMAN-5.
@@ -1,50 +0,0 @@
1
- Бэклог актуален. Даю финальный ответ стейкхолдеру.
2
-
3
- ---
4
-
5
- ## Диагноз — Evidence-Based
6
-
7
- ### Это не второй раз. Это 4-й подтверждённый инцидент.
8
-
9
- | Тикет | Дата | Агент | Паттерн |
10
- |-------|------|-------|---------|
11
- | QA-18 | 04-17 | claude-haiku | A: контекст иссяк → stdout вместо Edit |
12
- | IMPL-24 | 04-18 | kilo-free | B: permission denied × 3 → `default` вместо `blocked` |
13
- | DOCS-4 | 04-19 | — | C: Edit вызван, mtime обновился, но нужный **контент** не добавлен — verify-artifacts принял |
14
- | + ранние | 04-15 | ×2 | — |
15
-
16
- ---
17
-
18
- ### Корневая причина: машинная защита не реализована
19
-
20
- **HUMAN-5** (эскалация коуча от 2026-04-18) — **закрыт призрачно**:
21
- - `completed_at: 2026-04-19T09:57:46Z` — перенесён в `done/`
22
- - DoD: **0/4** (все чекбоксы пусты)
23
- - Секция Result: **полностью пуста**
24
- - Скрипты `validate-context-files.js`, пост-чек Edit-вызова: **отсутствуют** в `src/scripts/`
25
-
26
- Эскалационный тикет сам стал жертвой призрачного выполнения. Защита не введена → рецидивы продолжаются.
27
-
28
- ---
29
-
30
- ### Что нужно сделать (в порядке приоритета)
31
-
32
- **1. Вернуть HUMAN-5 в ready/** — он закрыт без выполнения DoD.
33
-
34
- **2. Реализовать Защита 1** из HUMAN-5 (наименьший объём работы, покрывает Паттерны A и B):
35
- ```
36
- После execute-task, перед move-to-review:
37
- runner проверяет STDERR-лог → был ли вызван Edit/Write на .workflow/tickets/in-progress/{ID}.md?
38
- Если нет → status: failed, тикет → ready/ с increment_attempts
39
- Реализация: парсер строк «← Edit» в STDERR-потоке runner'а
40
- ```
41
-
42
- **3. Выполнить FIX-7** (backlog): добавить `mtime > ticket.created_at` в `checkFilesExist()` `verify-artifacts.js` — покроет Паттерн C.
43
-
44
- ---
45
-
46
- ### Позиция коуча
47
-
48
- Текстовые меры в execute-task: **исчерпаны** (6+ усилений, Принцип исчерпанности). Новых правок в скилы не вношу.
49
-
50
- Устранение рецидивов возможно **только** через реализацию машинной защиты. Первый шаг — вернуть HUMAN-5 из done/ в ready/ и выполнить его.
@@ -1,48 +0,0 @@
1
- ---
2
-
3
- ## Анализ: «файлы не созданы — только stdout показал успех»
4
-
5
- ### Статус: БЛОКЕР не устранён
6
-
7
- Это **9-й анализ** одного и того же класса инцидентов за 5 дней (2026-04-15 → 2026-04-19).
8
-
9
- ---
10
-
11
- ### Что показывают данные
12
-
13
- **Последний лог** (`pipeline_2026-04-19_07-36-07`):
14
- - Все тикеты завершились с `result_filled: true`
15
- - Новых ghost execution нет
16
-
17
- **Документированные инциденты стейкхолдера:**
18
- | Инцидент | Дата | Агент | Паттерн |
19
- |----------|------|-------|---------|
20
- | QA-18 | 2026-04-17 | claude-haiku | Context exhaustion → stdout вместо Edit |
21
- | IMPL-24 | 2026-04-18 | kilo-free | Permission denied × 3 → не распознан как blocked |
22
-
23
- ---
24
-
25
- ### Что сделано и почему не работает
26
-
27
- **Текстовые меры (6+ итераций, 2026-04-15 → 2026-04-19):**
28
- - `⛔ Stdout ≠ тикет` в SKILL.md шаг 5
29
- - Пункт 9 «Призрачное выполнение» в КРИТИЧЕСКИЕ ОГРАНИЧЕНИЯ
30
- - Permission-гейт в execution-strategy.md шаг 3
31
- - Чеклист перед RESULT
32
- - Два паттерна с примерами в algorithms/
33
-
34
- **Итог:** агент, который не прочитал/проигнорировал инструкцию, не прочитает её в 7-й раз. **Текстовые меры признаны исчерпанными согласно принципу 1.**
35
-
36
- ---
37
-
38
- ### Единственный путь к устранению: **HUMAN-5**
39
-
40
- **HUMAN-5** (`tickets/in-progress/HUMAN-5.md`) — эскалация на машинную защиту:
41
- - Создан: 2026-04-18
42
- - Статус: `in-progress`
43
- - DoD выполнено: **0/4**
44
- - Result: **пуст** (не реализован)
45
-
46
- Тикет содержит три готовых варианта защиты. Рекомендована **Защита 1** — post-check: был ли вызван Edit на файл тикета. Реализация занимает 1-2 часа и закрывает оба паттерна без зависимости от дисциплины агентов.
47
-
48
- **Новых текстовых правок в скилы не вношу** — принцип 1 запрещает: 9-я правка не работает системно там, где 6 предыдущих не помогли.