workflow-ai 1.0.63 → 1.0.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configs/config.yaml +134 -0
- package/configs/pipeline.yaml +884 -0
- package/configs/ticket-movement-rules.yaml +80 -0
- package/package.json +1 -1
- package/src/global-dir.mjs +25 -1
- package/src/scripts/run-skill-tests.js +348 -136
- package/src/skills/analyze-report/README.md +44 -0
- package/src/skills/analyze-report/SKILL.md +121 -0
- package/src/skills/analyze-report/algorithms/progress-assessment.md +108 -0
- package/src/skills/analyze-report/knowledge/analysis-frameworks.md +66 -0
- package/src/skills/analyze-report/knowledge/report-structure.md +61 -0
- package/src/skills/analyze-report/scripts/calc-plan-metrics.js +234 -0
- package/src/skills/analyze-report/templates/analysis-report.md +80 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/claude-sonnet/trial-1.md +69 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/claude-sonnet/trial-2.md +103 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/claude-sonnet/trial-3.md +99 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/judge.json +163 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-deepseek/trial-1.md +89 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-deepseek/trial-2.md +88 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-deepseek/trial-3.md +100 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-glm/trial-1.md +77 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-glm/trial-2.md +64 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-glm/trial-3.md +110 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-minimax/trial-1.md +74 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-minimax/trial-2.md +38 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/kilo-minimax/trial-3.md +61 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001/current/meta.json +115 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-001-evidence-from-log.yaml +60 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/claude-sonnet/trial-1.md +90 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/claude-sonnet/trial-2.md +89 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/claude-sonnet/trial-3.md +77 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/judge.json +163 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-deepseek/trial-1.md +84 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-deepseek/trial-2.md +77 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-deepseek/trial-3.md +89 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-glm/trial-1.md +103 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-glm/trial-2.md +103 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-glm/trial-3.md +103 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-minimax/trial-1.md +93 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-minimax/trial-2.md +93 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/kilo-minimax/trial-3.md +86 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002/current/meta.json +115 -0
- package/src/skills/analyze-report/tests/cases/TC-ANALYZE-REPORT-002-result-block-format.yaml +44 -0
- package/src/skills/analyze-report/tests/fixtures/REPORT-002-incorrect-attribution.md +27 -0
- package/src/skills/analyze-report/tests/fixtures/pipeline-2026-04-06_qa-001-skip.log +32 -0
- package/src/skills/analyze-report/tests/index.yaml +25 -0
- package/src/skills/analyze-report/tests/rubrics/evidence-from-log.md +22 -0
- package/src/skills/analyze-report/tests/rubrics/result-block-format.md +22 -0
- package/src/skills/analyze-report/workflows/progress.md +158 -0
- package/src/skills/analyze-report/workflows/retrospective.md +143 -0
- package/src/skills/coach/README.md +43 -0
- package/src/skills/coach/SKILL.md +166 -0
- package/src/skills/coach/SKILL.md.legacy +157 -0
- package/src/skills/coach/algorithms/gap-analysis.md +69 -0
- package/src/skills/coach/algorithms/improvement-prioritization.md +62 -0
- package/src/skills/coach/algorithms/skill-scoring.md +80 -0
- package/src/skills/coach/knowledge/audit-applied-changes-clean.txt +11 -0
- package/src/skills/coach/knowledge/backlog-management.md +67 -0
- package/src/skills/coach/knowledge/backlog-management.md.legacy +90 -0
- package/src/skills/coach/knowledge/common-antipatterns.md +76 -0
- package/src/skills/coach/knowledge/prompt-engineering.md +45 -0
- package/src/skills/coach/knowledge/shared-knowledge-guide.md +44 -0
- package/src/skills/coach/knowledge/skill-anatomy.md +49 -0
- package/src/skills/coach/knowledge/test-authorship.md +141 -0
- package/src/skills/coach/templates/audit-report.md +39 -0
- package/src/skills/coach/templates/coach-backlog-init.yaml +14 -0
- package/src/skills/coach/templates/coach-backlog-init.yaml.legacy +10 -0
- package/src/skills/coach/templates/improvement-plan.md +42 -0
- package/src/skills/coach/templates/new-skill.md +95 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/claude-sonnet/trial-1.md +58 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/claude-sonnet/trial-2.md +65 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/claude-sonnet/trial-3.md +58 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/judge.json +151 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-deepseek/trial-1.md +46 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-deepseek/trial-2.md +0 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-deepseek/trial-3.md +75 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-glm/trial-1.md +81 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-glm/trial-2.md +101 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-glm/trial-3.md +91 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-minimax/trial-1.md +48 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-minimax/trial-2.md +30 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/kilo-minimax/trial-3.md +55 -0
- package/src/skills/coach/tests/cases/TC-COACH-001/current/meta.json +95 -0
- package/src/skills/coach/tests/cases/TC-COACH-001-evidence-based-temporal-diagram.yaml +53 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/claude-sonnet/trial-1.md +46 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/claude-sonnet/trial-2.md +50 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/claude-sonnet/trial-3.md +48 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/judge.json +151 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-deepseek/trial-1.md +0 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-deepseek/trial-2.md +37 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-deepseek/trial-3.md +30 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-glm/trial-1.md +23 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-glm/trial-2.md +29 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-glm/trial-3.md +35 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-minimax/trial-1.md +13 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-minimax/trial-2.md +19 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/kilo-minimax/trial-3.md +33 -0
- package/src/skills/coach/tests/cases/TC-COACH-002/current/meta.json +95 -0
- package/src/skills/coach/tests/cases/TC-COACH-002-root-cause-first.yaml +57 -0
- package/src/skills/coach/tests/fixtures/pipeline-2026-04-06_id-collision.log +77 -0
- package/src/skills/coach/tests/index.yaml +29 -0
- package/src/skills/coach/tests/rubrics/calibration/evidence-based-bad.md +13 -0
- package/src/skills/coach/tests/rubrics/calibration/evidence-based-good.md +29 -0
- package/src/skills/coach/tests/rubrics/evidence-based.md +26 -0
- package/src/skills/coach/tests/rubrics/root-cause-first.md +21 -0
- package/src/skills/coach/workflows/analyze.md +79 -0
- package/src/skills/coach/workflows/analyze.md.legacy +64 -0
- package/src/skills/coach/workflows/audit.md +74 -0
- package/src/skills/coach/workflows/audit.md.legacy +59 -0
- package/src/skills/coach/workflows/create.md +80 -0
- package/src/skills/coach/workflows/create.md.legacy +67 -0
- package/src/skills/coach/workflows/improve.md +71 -0
- package/src/skills/coach/workflows/improve.md.legacy +60 -0
- package/src/skills/coach/workflows/research.md +55 -0
- package/src/skills/coach/workflows/review.md +52 -0
- package/src/skills/coach/workflows/review.md.legacy +48 -0
- package/src/skills/coach/workflows/test.md +97 -0
- package/src/skills/create-plan/README.md +39 -0
- package/src/skills/create-plan/SKILL.md +104 -0
- package/src/skills/create-plan/algorithms/risk-assessment.md +73 -0
- package/src/skills/create-plan/knowledge/plan-completeness.md +67 -0
- package/src/skills/create-plan/knowledge/plan-lifecycle.md +33 -0
- package/src/skills/create-plan/knowledge/task-verification-pairs.md +151 -0
- package/src/skills/create-plan/scripts/validate-completeness.js +182 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/claude-sonnet/trial-1.md +5 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/claude-sonnet/trial-2.md +39 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/claude-sonnet/trial-3.md +35 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/judge.json +167 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-deepseek/trial-1.md +5 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-deepseek/trial-2.md +10 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-deepseek/trial-3.md +5 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-glm/trial-1.md +26 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-glm/trial-2.md +86 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-glm/trial-3.md +5 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-minimax/trial-1.md +11 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-minimax/trial-2.md +15 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/kilo-minimax/trial-3.md +14 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001/current/meta.json +119 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-001-validate-completeness.yaml +41 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/claude-sonnet/trial-1.md +25 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/claude-sonnet/trial-2.md +30 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/claude-sonnet/trial-3.md +37 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/judge.json +164 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-deepseek/trial-1.md +3 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-deepseek/trial-2.md +11 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-deepseek/trial-3.md +13 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-glm/trial-1.md +44 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-glm/trial-2.md +5 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-glm/trial-3.md +49 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-minimax/trial-1.md +6 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-minimax/trial-2.md +11 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/kilo-minimax/trial-3.md +16 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002/current/meta.json +116 -0
- package/src/skills/create-plan/tests/cases/TC-CREATE-PLAN-002-task-granularity.yaml +39 -0
- package/src/skills/create-plan/tests/index.yaml +25 -0
- package/src/skills/create-plan/tests/rubrics/task-granularity.md +21 -0
- package/src/skills/create-plan/tests/rubrics/validate-completeness.md +21 -0
- package/src/skills/create-plan/workflows/create.md +136 -0
- package/src/skills/create-report/README.md +40 -0
- package/src/skills/create-report/SKILL.md +73 -0
- package/src/skills/create-report/algorithms/metric-calculation.md +93 -0
- package/src/skills/create-report/knowledge/report-metrics.md +82 -0
- package/src/skills/create-report/scripts/calc-metrics.js +383 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/claude-sonnet/trial-1.md +25 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/claude-sonnet/trial-2.md +26 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/claude-sonnet/trial-3.md +28 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/judge.json +163 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-deepseek/trial-1.md +4 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-deepseek/trial-2.md +3 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-deepseek/trial-3.md +6 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-glm/trial-1.md +8 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-glm/trial-2.md +12 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-glm/trial-3.md +7 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-minimax/trial-1.md +12 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-minimax/trial-2.md +22 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/kilo-minimax/trial-3.md +13 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001/current/meta.json +115 -0
- package/src/skills/create-report/tests/cases/TC-CREATE-REPORT-001-root-cause-attribution.yaml +57 -0
- package/src/skills/create-report/tests/index.yaml +20 -0
- package/src/skills/create-report/tests/rubrics/root-cause-attribution.md +21 -0
- package/src/skills/create-report/workflows/standard.md +175 -0
- package/src/skills/decompose-gaps/README.md +39 -0
- package/src/skills/decompose-gaps/SKILL.md +78 -0
- package/src/skills/decompose-gaps/algorithms/scope-check.md +110 -0
- package/src/skills/decompose-gaps/knowledge/scope-validation.md +65 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/claude-sonnet/trial-1.md +49 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/claude-sonnet/trial-2.md +56 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/claude-sonnet/trial-3.md +39 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/judge.json +164 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-deepseek/trial-1.md +25 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-deepseek/trial-2.md +11 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-deepseek/trial-3.md +26 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-glm/trial-1.md +19 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-glm/trial-2.md +5 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-glm/trial-3.md +28 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-minimax/trial-1.md +23 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-minimax/trial-2.md +27 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-minimax/trial-3.md +25 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/meta.json +116 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001-scope-exclusion.yaml +46 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/claude-sonnet/trial-1.md +32 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/claude-sonnet/trial-2.md +20 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/claude-sonnet/trial-3.md +26 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/judge.json +164 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-deepseek/trial-1.md +7 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-deepseek/trial-2.md +16 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-deepseek/trial-3.md +7 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-glm/trial-1.md +5 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-glm/trial-2.md +11 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-glm/trial-3.md +13 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-minimax/trial-1.md +13 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-minimax/trial-2.md +12 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/kilo-minimax/trial-3.md +5 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002/current/meta.json +116 -0
- package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-002-glob-before-write.yaml +36 -0
- package/src/skills/decompose-gaps/tests/index.yaml +25 -0
- package/src/skills/decompose-gaps/tests/rubrics/glob-before-write.md +21 -0
- package/src/skills/decompose-gaps/tests/rubrics/scope-exclusion.md +21 -0
- package/src/skills/decompose-gaps/workflows/decompose.md +120 -0
- package/src/skills/decompose-plan/README.md +43 -0
- package/src/skills/decompose-plan/SKILL.md +87 -0
- package/src/skills/decompose-plan/algorithms/deduplication.md +101 -0
- package/src/skills/decompose-plan/knowledge/atomicity-checklist.md +113 -0
- package/src/skills/decompose-plan/knowledge/capabilities.md +44 -0
- package/src/skills/decompose-plan/knowledge/human-task-rules.md +67 -0
- package/src/skills/decompose-plan/knowledge/scope-guard-checklist.md +73 -0
- package/src/skills/decompose-plan/scripts/check-atomicity-limit.js +47 -0
- package/src/skills/decompose-plan/scripts/check-duplicates.js +323 -0
- package/src/skills/decompose-plan/scripts/verify-atomicity.js +408 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/claude-sonnet/trial-1.md +30 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/claude-sonnet/trial-2.md +36 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/claude-sonnet/trial-3.md +37 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/judge.json +163 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-deepseek/trial-1.md +20 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-deepseek/trial-2.md +17 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-deepseek/trial-3.md +28 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-glm/trial-1.md +114 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-glm/trial-2.md +137 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-glm/trial-3.md +188 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-minimax/trial-1.md +0 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-minimax/trial-2.md +32 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/kilo-minimax/trial-3.md +110 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001/current/meta.json +115 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-001-atomicity-no-1to1.yaml +56 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/claude-sonnet/trial-1.md +47 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/claude-sonnet/trial-2.md +54 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/claude-sonnet/trial-3.md +43 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/judge.json +163 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-deepseek/trial-1.md +15 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-deepseek/trial-2.md +5 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-deepseek/trial-3.md +12 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-glm/trial-1.md +34 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-glm/trial-2.md +30 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-glm/trial-3.md +35 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-minimax/trial-1.md +0 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-minimax/trial-2.md +31 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/kilo-minimax/trial-3.md +0 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002/current/meta.json +115 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-002-get-next-id-mandatory.yaml +44 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/claude-sonnet/trial-1.md +21 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/claude-sonnet/trial-2.md +38 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/claude-sonnet/trial-3.md +30 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/judge.json +163 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-deepseek/trial-1.md +31 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-deepseek/trial-2.md +35 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-deepseek/trial-3.md +48 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-glm/trial-1.md +167 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-glm/trial-2.md +62 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-glm/trial-3.md +174 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-minimax/trial-1.md +0 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-minimax/trial-2.md +0 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/kilo-minimax/trial-3.md +0 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003/current/meta.json +115 -0
- package/src/skills/decompose-plan/tests/cases/TC-DECOMPOSE-PLAN-003-verbatim-dod-transfer.yaml +42 -0
- package/src/skills/decompose-plan/tests/index.yaml +30 -0
- package/src/skills/decompose-plan/tests/rubrics/atomicity-no-1to1.md +21 -0
- package/src/skills/decompose-plan/tests/rubrics/get-next-id-mandatory.md +21 -0
- package/src/skills/decompose-plan/tests/rubrics/verbatim-dod-transfer.md +21 -0
- package/src/skills/decompose-plan/workflows/decompose.md +272 -0
- package/src/skills/deep-research/README.md +36 -0
- package/src/skills/deep-research/SKILL.md +106 -0
- package/src/skills/deep-research/algorithms/source-scoring.md +63 -0
- package/src/skills/deep-research/algorithms/synthesis.md +67 -0
- package/src/skills/deep-research/knowledge/data-validation.md +44 -0
- package/src/skills/deep-research/knowledge/perplexity-config.md +30 -0
- package/src/skills/deep-research/knowledge/research-methodology.md +54 -0
- package/src/skills/deep-research/knowledge/source-evaluation.md +33 -0
- package/src/skills/deep-research/scripts/perplexity-research.js +315 -0
- package/src/skills/deep-research/templates/brief-summary.md +25 -0
- package/src/skills/deep-research/templates/research-report.md +76 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/claude-haiku/trial-1.md +48 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/claude-haiku/trial-2.md +88 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/claude-haiku/trial-3.md +56 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/judge.json +163 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-free/trial-1.md +58 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-free/trial-2.md +249 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-free/trial-3.md +44 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm/trial-1.md +96 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm/trial-2.md +56 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm/trial-3.md +94 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm-air/trial-1.md +11 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm-air/trial-2.md +1 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/kilo-glm-air/trial-3.md +1 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001/current/meta.json +115 -0
- package/src/skills/deep-research/tests/cases/TC-DEEP-RESEARCH-001-self-check-url.yaml +58 -0
- package/src/skills/deep-research/tests/index.yaml +20 -0
- package/src/skills/deep-research/tests/rubrics/self-check-url.md +34 -0
- package/src/skills/deep-research/workflows/base-checklist.md +19 -0
- package/src/skills/deep-research/workflows/benchmark.md +38 -0
- package/src/skills/deep-research/workflows/competitor.md +44 -0
- package/src/skills/deep-research/workflows/custom.md +32 -0
- package/src/skills/deep-research/workflows/market.md +44 -0
- package/src/skills/deep-research/workflows/technology.md +40 -0
- package/src/skills/deep-research/workflows/trend.md +40 -0
- package/src/skills/execute-task/README.md +44 -0
- package/src/skills/execute-task/SKILL.md +292 -0
- package/src/skills/execute-task/algorithms/execution-strategy.md +136 -0
- package/src/skills/execute-task/knowledge/context-checkpoints.md +75 -0
- package/src/skills/execute-task/knowledge/ticket-structure.md +70 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/claude-haiku/trial-1.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/claude-haiku/trial-2.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/claude-haiku/trial-3.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/judge.json +124 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-free/trial-1.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-free/trial-2.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-free/trial-3.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-glm-air/trial-1.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-glm-air/trial-2.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/kilo-glm-air/trial-3.md +11 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001/current/meta.json +89 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-001-no-ticket-creation.yaml +48 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/claude-haiku/trial-1.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/claude-haiku/trial-2.md +6 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/claude-haiku/trial-3.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/judge.json +124 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-free/trial-1.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-free/trial-2.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-free/trial-3.md +8 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-glm-air/trial-1.md +9 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-glm-air/trial-2.md +26 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/kilo-glm-air/trial-3.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002/current/meta.json +89 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-002-no-duplicate-dod.yaml +44 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003/current/claude-haiku/trial-1.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003/current/claude-haiku/trial-2.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003/current/claude-haiku/trial-3.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003/current/judge.json +46 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003/current/meta.json +37 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-003-verification-proportionality.yaml +46 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/claude-haiku/trial-1.md +18 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/claude-haiku/trial-2.md +16 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/claude-haiku/trial-3.md +14 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/judge.json +124 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-free/trial-1.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-free/trial-2.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-free/trial-3.md +1 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-glm-air/trial-1.md +8 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-glm-air/trial-2.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/kilo-glm-air/trial-3.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004/current/meta.json +89 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-004-no-foreign-ticket-edit.yaml +50 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/claude-haiku/trial-1.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/claude-haiku/trial-2.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/claude-haiku/trial-3.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/judge.json +124 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-free/trial-1.md +15 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-free/trial-2.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-free/trial-3.md +5 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-glm-air/trial-1.md +11 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-glm-air/trial-2.md +11 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/kilo-glm-air/trial-3.md +4 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005/current/meta.json +89 -0
- package/src/skills/execute-task/tests/cases/TC-EXECUTE-TASK-005-ticket-fields-updated.yaml +39 -0
- package/src/skills/execute-task/tests/fixtures/IMPL-902-create-file.md +41 -0
- package/src/skills/execute-task/tests/fixtures/IMPL-904-current-task.md +40 -0
- package/src/skills/execute-task/tests/fixtures/IMPL-906-fill-ticket.md +42 -0
- package/src/skills/execute-task/tests/fixtures/QA-901-button-click.md +41 -0
- package/src/skills/execute-task/tests/fixtures/QA-903-visual-figma.md +40 -0
- package/src/skills/execute-task/tests/fixtures/TASK-905-done-with-typo.md +36 -0
- package/src/skills/execute-task/tests/index.yaml +39 -0
- package/src/skills/execute-task/tests/rubrics/no-duplicate-dod.md +22 -0
- package/src/skills/execute-task/tests/rubrics/no-foreign-ticket-edit.md +20 -0
- package/src/skills/execute-task/tests/rubrics/no-ticket-creation.md +21 -0
- package/src/skills/execute-task/tests/rubrics/ticket-fields-updated.md +23 -0
- package/src/skills/execute-task/tests/rubrics/verification-proportionality.md +22 -0
- package/src/skills/execute-task/workflows/execute.md +104 -0
- package/src/skills/manual-testing/README.md +63 -0
- package/src/skills/manual-testing/SKILL.md +174 -0
- package/src/skills/manual-testing/algorithms/blocked-tool-strategy.md +74 -0
- package/src/skills/manual-testing/algorithms/bug-severity.md +73 -0
- package/src/skills/manual-testing/algorithms/mcp-budget.md +97 -0
- package/src/skills/manual-testing/algorithms/test-prioritization.md +69 -0
- package/src/skills/manual-testing/knowledge/browser-extension-testing.md +102 -0
- package/src/skills/manual-testing/knowledge/browser-tools.md +114 -0
- package/src/skills/manual-testing/knowledge/desktop-tools-advanced.md +92 -0
- package/src/skills/manual-testing/knowledge/desktop-tools-core.md +76 -0
- package/src/skills/manual-testing/knowledge/sandbox-advanced.md +83 -0
- package/src/skills/manual-testing/knowledge/sandbox-core.md +67 -0
- package/src/skills/manual-testing/knowledge/stateful-edge-cases.md +69 -0
- package/src/skills/manual-testing/knowledge/test-case-design.md +107 -0
- package/src/skills/manual-testing/knowledge/testing-types.md +45 -0
- package/src/skills/manual-testing/templates/bug-report.md +52 -0
- package/src/skills/manual-testing/templates/test-case.md +34 -0
- package/src/skills/manual-testing/templates/test-plan.md +97 -0
- package/src/skills/manual-testing/templates/test-session-report.md +56 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/claude-sonnet/trial-1.md +21 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/claude-sonnet/trial-2.md +65 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/claude-sonnet/trial-3.md +35 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/judge.json +163 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-deepseek/trial-1.md +0 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-deepseek/trial-2.md +7 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-deepseek/trial-3.md +0 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-glm/trial-1.md +4 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-glm/trial-2.md +15 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-glm/trial-3.md +8 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-minimax/trial-1.md +5 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-minimax/trial-2.md +7 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/kilo-minimax/trial-3.md +7 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001/current/meta.json +114 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-001-sandbox-mandatory.yaml +38 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/claude-sonnet/trial-1.md +47 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/claude-sonnet/trial-2.md +39 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/claude-sonnet/trial-3.md +40 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/judge.json +163 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-deepseek/trial-1.md +19 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-deepseek/trial-2.md +15 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-deepseek/trial-3.md +24 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-glm/trial-1.md +19 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-glm/trial-2.md +13 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-glm/trial-3.md +18 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-minimax/trial-1.md +21 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-minimax/trial-2.md +15 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/kilo-minimax/trial-3.md +14 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002/current/meta.json +114 -0
- package/src/skills/manual-testing/tests/cases/TC-MANUAL-TESTING-002-visual-tc-screenshot.yaml +37 -0
- package/src/skills/manual-testing/tests/index.yaml +25 -0
- package/src/skills/manual-testing/tests/last-run-tc001-sonnet.log +140 -0
- package/src/skills/manual-testing/tests/last-run-tc002.log +1 -0
- package/src/skills/manual-testing/tests/last-run.log +1469 -0
- package/src/skills/manual-testing/tests/rubrics/sandbox-mandatory.md +20 -0
- package/src/skills/manual-testing/tests/rubrics/visual-tc-screenshot.md +21 -0
- package/src/skills/manual-testing/workflows/acceptance.md +80 -0
- package/src/skills/manual-testing/workflows/exploratory.md +84 -0
- package/src/skills/manual-testing/workflows/regression.md +76 -0
- package/src/skills/manual-testing/workflows/smoke.md +109 -0
- package/src/skills/manual-testing/workflows/test-plan.md +75 -0
- package/src/skills/review-result/README.md +59 -0
- package/src/skills/review-result/SKILL.md +138 -0
- package/src/skills/review-result/algorithms/verification.md +112 -0
- package/src/skills/review-result/knowledge/dod-patterns.md +115 -0
- package/src/skills/review-result/scripts/verify-artifacts.js +354 -0
- package/src/skills/review-result/templates/verdict.md +153 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-haiku/trial-1.md +22 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-haiku/trial-2.md +7 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-haiku/trial-3.md +21 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-sonnet/trial-1.md +6 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-sonnet/trial-2.md +6 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/claude-sonnet/trial-3.md +18 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/judge.json +164 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-deepseek/trial-1.md +5 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-deepseek/trial-2.md +7 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-deepseek/trial-3.md +6 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-glm/trial-1.md +49 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-glm/trial-2.md +28 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-glm/trial-3.md +37 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-minimax/trial-1.md +22 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-minimax/trial-2.md +13 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/kilo-minimax/trial-3.md +21 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001/current/meta.json +116 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-001-visual-tc-trigger.yaml +51 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-haiku/trial-1.md +23 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-haiku/trial-2.md +22 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-haiku/trial-3.md +28 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-sonnet/trial-1.md +4 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-sonnet/trial-2.md +36 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/claude-sonnet/trial-3.md +4 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/judge.json +163 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-deepseek/trial-1.md +4 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-deepseek/trial-2.md +0 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-deepseek/trial-3.md +4 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-glm/trial-1.md +39 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-glm/trial-2.md +25 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-glm/trial-3.md +32 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-minimax/trial-1.md +34 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-minimax/trial-2.md +8 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/kilo-minimax/trial-3.md +23 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002/current/meta.json +115 -0
- package/src/skills/review-result/tests/cases/TC-REVIEW-RESULT-002-path-line-suffix.yaml +39 -0
- package/src/skills/review-result/tests/fixtures/IMPL-902-path-with-line.md +43 -0
- package/src/skills/review-result/tests/fixtures/QA-901-visual-button.md +46 -0
- package/src/skills/review-result/tests/index.yaml +25 -0
- package/src/skills/review-result/tests/rubrics/path-line-suffix.md +19 -0
- package/src/skills/review-result/tests/rubrics/visual-tc-trigger.md +19 -0
- package/src/skills/review-result/workflows/review.md +209 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Алгоритм: Проверка scope gap
|
|
2
|
+
|
|
3
|
+
Формализованный алгоритм определения, входит ли gap в scope декомпозиции.
|
|
4
|
+
|
|
5
|
+
## Вход
|
|
6
|
+
|
|
7
|
+
| Параметр | Тип | Описание |
|
|
8
|
+
|----------|-----|----------|
|
|
9
|
+
| `gap` | string | Описание одного конкретного пробела |
|
|
10
|
+
| `report` | file | Содержимое отчёта REPORT-{id}.md |
|
|
11
|
+
| `plan` | file | Содержимое исходного плана PLAN-{id}.md |
|
|
12
|
+
|
|
13
|
+
## Выход
|
|
14
|
+
|
|
15
|
+
| Параметр | Тип | Описание |
|
|
16
|
+
|----------|-----|----------|
|
|
17
|
+
| `in_scope` | boolean | true — создавать тикет, false — записать в «Новые требования» |
|
|
18
|
+
| `reason` | string | Обоснование решения |
|
|
19
|
+
| `check_failed` | string | Номер проверки, на которой gap был отклонён (если отклонён) |
|
|
20
|
+
|
|
21
|
+
## Алгоритм
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
FUNCTION check_scope(gap, report, plan) → {in_scope, reason, check_failed}
|
|
25
|
+
|
|
26
|
+
# Шаг 1: Проверка источника
|
|
27
|
+
source_section = найти секцию отчёта, откуда извлечён gap
|
|
28
|
+
|
|
29
|
+
IF source_section IN [
|
|
30
|
+
"Рекомендации для Architect",
|
|
31
|
+
"План на следующий период",
|
|
32
|
+
"Потенциальные риски",
|
|
33
|
+
"Следующие шаги"
|
|
34
|
+
]:
|
|
35
|
+
RETURN {false, "Gap из секции '{source_section}' — не является пробелом", "1"}
|
|
36
|
+
|
|
37
|
+
IF source_section NOT IN [
|
|
38
|
+
"Выполненные задачи",
|
|
39
|
+
"Заблокированные задачи",
|
|
40
|
+
"Риски и проблемы"
|
|
41
|
+
]:
|
|
42
|
+
RETURN {false, "Gap из неизвестной секции '{source_section}'", "1"}
|
|
43
|
+
|
|
44
|
+
# Шаг 2: Проверка принадлежности к плану
|
|
45
|
+
matching_task = найти задачу в plan, которой соответствует gap
|
|
46
|
+
|
|
47
|
+
IF matching_task == NULL:
|
|
48
|
+
RETURN {false, "Нет соответствующей задачи в исходном плане", "2"}
|
|
49
|
+
|
|
50
|
+
# Шаг 2a: Проверка exclusions из scope плана
|
|
51
|
+
plan_exclusions = извлечь секцию «Исключено из scope» / «Excluded from scope» из plan
|
|
52
|
+
|
|
53
|
+
IF plan_exclusions != NULL:
|
|
54
|
+
FOR EACH exclusion IN plan_exclusions:
|
|
55
|
+
IF gap описывает работу, подпадающую под exclusion:
|
|
56
|
+
RETURN {false, "Gap подпадает под исключение из scope плана: '{exclusion}'", "2a"}
|
|
57
|
+
|
|
58
|
+
IF gap описывает расширение scope (новый функционал, не заявленный в плане):
|
|
59
|
+
RETURN {false, "Расширение scope за рамки плана", "2"}
|
|
60
|
+
|
|
61
|
+
IF gap — deliverable другого тикета (создан как часть DoD):
|
|
62
|
+
RETURN {false, "Deliverable другого тикета, не gap", "2"}
|
|
63
|
+
|
|
64
|
+
# Шаг 3: Проверка статуса плана
|
|
65
|
+
plan_status = извлечь status из plan
|
|
66
|
+
|
|
67
|
+
IF plan_status == "completed":
|
|
68
|
+
RETURN {false, "План завершён — gaps = новые инициативы", "3"}
|
|
69
|
+
|
|
70
|
+
IF все ключевые задачи плана выполнены:
|
|
71
|
+
RETURN {false, "Все ключевые задачи выполнены", "3"}
|
|
72
|
+
|
|
73
|
+
# Шаг 4: Проверка workflow-управления
|
|
74
|
+
IF gap содержит действия:
|
|
75
|
+
- перемещение тикетов
|
|
76
|
+
- изменение статуса других тикетов
|
|
77
|
+
- запуск workflow-скриптов
|
|
78
|
+
- операции с .workflow/tickets/, .workflow/plans/, .workflow/reports/
|
|
79
|
+
:
|
|
80
|
+
RETURN {false, "Содержит инструкции по workflow-управлению", "4"}
|
|
81
|
+
|
|
82
|
+
# Все проверки пройдены
|
|
83
|
+
RETURN {true, "Gap в scope: соответствует задаче '{matching_task}' плана", NULL}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Пример применения
|
|
87
|
+
|
|
88
|
+
**Вход:**
|
|
89
|
+
- gap: "Не реализована валидация входных данных в модуле обработки"
|
|
90
|
+
- report: REPORT-003 (секция «Выполненные задачи», статус задачи: partial)
|
|
91
|
+
- plan: PLAN-006 (задача #3: "Реализовать валидацию входных данных", status: in_progress)
|
|
92
|
+
|
|
93
|
+
**Прохождение:**
|
|
94
|
+
1. Источник: «Выполненные задачи» → ✅ валидный источник
|
|
95
|
+
2. Принадлежность: задача #3 плана → ✅ есть в плане
|
|
96
|
+
3. Статус: plan status = in_progress → ✅ план не завершён
|
|
97
|
+
4. Workflow: нет управляющих инструкций → ✅
|
|
98
|
+
|
|
99
|
+
**Выход:** `{true, "Gap в scope: соответствует задаче #3 плана", NULL}`
|
|
100
|
+
|
|
101
|
+
## Граничные случаи
|
|
102
|
+
|
|
103
|
+
| Случай | Решение |
|
|
104
|
+
|--------|---------|
|
|
105
|
+
| Gap на стыке двух задач плана | Создать один тикет, ссылаясь на обе задачи |
|
|
106
|
+
| Gap частично в scope, частично нет | Разделить: in-scope часть → тикет, out-of-scope → «Новые требования» |
|
|
107
|
+
| Заблокированная задача по внешней зависимости | Не gap — внешние зависимости не контролируются скилом |
|
|
108
|
+
| Gap описывает «улучшить» вместо «исправить» | Проверить, было ли в DoD плана — если нет, out of scope |
|
|
109
|
+
|
|
110
|
+
<!-- РАСШИРЕНИЕ: добавляй новые граничные случаи ниже -->
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Валидация scope для gaps
|
|
2
|
+
|
|
3
|
+
Критерии определения, какие gaps входят в scope декомпозиции, а какие — нет.
|
|
4
|
+
|
|
5
|
+
## Проверка 1: Источник gap
|
|
6
|
+
|
|
7
|
+
Gap — это исключительно то, что **не выполнено или выполнено некорректно** из явного списка задач плана.
|
|
8
|
+
|
|
9
|
+
### Валидные источники gaps
|
|
10
|
+
|
|
11
|
+
| Секция отчёта | Что является gap |
|
|
12
|
+
|---------------|-----------------|
|
|
13
|
+
| «Выполненные задачи» | Задачи со статусом failed/skipped, где DoD не выполнен |
|
|
14
|
+
| «Заблокированные задачи» | Задачи, заблокированные по техническим причинам (не по внешним зависимостям) |
|
|
15
|
+
| «Риски и проблемы» | Только конкретные сбои в выполненных задачах |
|
|
16
|
+
|
|
17
|
+
### НЕ являются источником gaps
|
|
18
|
+
|
|
19
|
+
| Секция отчёта | Почему не gap |
|
|
20
|
+
|---------------|--------------|
|
|
21
|
+
| «Рекомендации для Architect» | Советы, не пробелы |
|
|
22
|
+
| «План на следующий период» | Новые инициативы, не пробелы |
|
|
23
|
+
| «Потенциальные риски» | Гипотезы, не пробелы |
|
|
24
|
+
| Упоминания будущих задач (XXX-005 и т.п.) | Планируемая работа, не текущие пробелы |
|
|
25
|
+
|
|
26
|
+
## Проверка 2: Принадлежность к scope исходного плана
|
|
27
|
+
|
|
28
|
+
### Gap в scope (создавать тикет)
|
|
29
|
+
|
|
30
|
+
- Задача была в исходном плане, но не выполнена или выполнена некорректно
|
|
31
|
+
- Доработка существующего результата, который не соответствует DoD плана
|
|
32
|
+
- Исправление ошибки в уже сделанной работе по плану
|
|
33
|
+
|
|
34
|
+
### Gap вне scope (НЕ создавать тикет)
|
|
35
|
+
|
|
36
|
+
- Новая работа, которой не было в исходном плане
|
|
37
|
+
- Расширение scope за рамки первоначальных требований
|
|
38
|
+
- Задачи, созданные другими тикетами как часть их DoD (deliverables, не gaps)
|
|
39
|
+
- Задачи из секций «Рекомендации», «План на следующий период», «Следующие шаги»
|
|
40
|
+
- Работа, явно исключённая в секции «Исключено из scope» плана (например, план тестирования может исключать исправление найденных дефектов — тогда создание fix-тикетов вне scope, даже если дефект найден задачей плана)
|
|
41
|
+
|
|
42
|
+
## Проверка 3: Статус плана
|
|
43
|
+
|
|
44
|
+
| Статус плана | Действие |
|
|
45
|
+
|-------------|----------|
|
|
46
|
+
| `in_progress` | Декомпозировать gaps нормально |
|
|
47
|
+
| `completed` | **НЕ создавать тикеты** — gaps в завершённом плане = новые инициативы для следующего плана |
|
|
48
|
+
| Все ключевые задачи выполнены | **НЕ создавать тикеты** — аналогично completed |
|
|
49
|
+
|
|
50
|
+
## Проверка 4: Запрет на workflow-управление
|
|
51
|
+
|
|
52
|
+
**⛔ КРИТИЧЕСКИ ВАЖНО:** Тикеты **НИКОГДА** не должны содержать инструкции по управлению workflow-артефактами.
|
|
53
|
+
|
|
54
|
+
### Запрещено создавать тикеты на:
|
|
55
|
+
|
|
56
|
+
- Перемещение других тикетов между папками (backlog → ready → done)
|
|
57
|
+
- Изменение статуса или метаданных других тикетов
|
|
58
|
+
- Запуск workflow-скриптов (`move-ticket.js`, `pick-next-task.js` и т.п.)
|
|
59
|
+
- Любые операции с `.workflow/tickets/`, `.workflow/plans/`, `.workflow/reports/`
|
|
60
|
+
|
|
61
|
+
### Если обнаружен «застрявший» тикет:
|
|
62
|
+
|
|
63
|
+
Это инфраструктурная проблема → записать в «Новые требования (вне scope)» для ручного разбора.
|
|
64
|
+
|
|
65
|
+
<!-- РАСШИРЕНИЕ: добавляй новые правила валидации scope ниже -->
|
package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/claude-sonnet/trial-1.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
## Анализ gap: «Нужно исправить дефект маппинга полей»
|
|
2
|
+
|
|
3
|
+
### Применение алгоритма scope-check
|
|
4
|
+
|
|
5
|
+
**Шаг 2a — Проверка раздела «Исключено из scope»:**
|
|
6
|
+
|
|
7
|
+
Из контекста задачи:
|
|
8
|
+
|
|
9
|
+
| Параметр | Значение |
|
|
10
|
+
|----------|----------|
|
|
11
|
+
| Gap | «Нужно исправить дефект маппинга полей» |
|
|
12
|
+
| Секция плана | «Исключено из scope: исправление дефектов» |
|
|
13
|
+
|
|
14
|
+
**Проверка:**
|
|
15
|
+
- `plan_exclusions` = `["исправление дефектов"]`
|
|
16
|
+
- Gap описывает исправление дефекта (дефект маппинга полей)
|
|
17
|
+
- Gap **прямо подпадает** под исключение
|
|
18
|
+
|
|
19
|
+
**Результат алгоритма:**
|
|
20
|
+
```
|
|
21
|
+
{
|
|
22
|
+
in_scope: false,
|
|
23
|
+
reason: "Gap подпадает под исключение из scope плана: 'исправление дефектов'",
|
|
24
|
+
check_failed: "2a"
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Новые требования (вне scope)
|
|
31
|
+
|
|
32
|
+
Следующий gap **исключён** и не конвертируется в тикет:
|
|
33
|
+
|
|
34
|
+
> **Gap:** «Нужно исправить дефект маппинга полей»
|
|
35
|
+
>
|
|
36
|
+
> **Причина отклонения:** Gap scope-исключён — план явно содержит раздел «Исключено из scope: исправление дефектов». Данная работа выходит за рамки текущего плана.
|
|
37
|
+
>
|
|
38
|
+
> **Проверка:** 2a (exclusion check)
|
|
39
|
+
>
|
|
40
|
+
> **Рекомендация:** Оформить как отдельную инициативу или новый план, если исправление дефекта маппинга полей признаётся приоритетным.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## ---RESULT---
|
|
45
|
+
|
|
46
|
+
**Тикеты созданы:** 0
|
|
47
|
+
|
|
48
|
+
**Gaps, отклонённых как вне scope:** 1
|
|
49
|
+
- «Нужно исправить дефект маппинга полей» — scope-исключён (проверка 2a: «Исключено из scope: исправление дефектов»)
|
package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/claude-sonnet/trial-2.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
## Декомпозиция gaps
|
|
2
|
+
|
|
3
|
+
### Анализ входных данных
|
|
4
|
+
|
|
5
|
+
| Параметр | Значение |
|
|
6
|
+
|----------|----------|
|
|
7
|
+
| Gap | «Нужно исправить дефект маппинга полей» |
|
|
8
|
+
| Контекст плана | Секция «Исключено из scope: исправление дефектов» |
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
### Проверка scope (алгоритм scope-check.md)
|
|
13
|
+
|
|
14
|
+
**Шаг 2a — Проверка исключений из scope плана:**
|
|
15
|
+
|
|
16
|
+
Из плана извлечена секция исключений:
|
|
17
|
+
> *«Исключено из scope: исправление дефектов»*
|
|
18
|
+
|
|
19
|
+
Gap «Нужно исправить дефект маппинга полей» — это буквально «исправление дефекта». Он **прямо подпадает** под исключение из scope плана.
|
|
20
|
+
|
|
21
|
+
**Результат проверки:**
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
check_scope(gap) → {
|
|
25
|
+
in_scope: false,
|
|
26
|
+
reason: "Gap подпадает под исключение из scope плана: 'исправление дефектов'",
|
|
27
|
+
check_failed: "2a"
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Gap **отклонён на шаге 2a**. Дальнейшие проверки (3, 4) не применяются.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
### Созданные тикеты
|
|
36
|
+
|
|
37
|
+
*(нет — ни один gap не прошёл scope-валидацию)*
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
### Новые требования (вне scope)
|
|
42
|
+
|
|
43
|
+
| Gap | Причина отклонения |
|
|
44
|
+
|-----|--------------------|
|
|
45
|
+
| «Нужно исправить дефект маппинга полей» | Исключено из scope плана: «исправление дефектов» (проверка 2a) |
|
|
46
|
+
|
|
47
|
+
Этот gap следует передать архитектору или PM для включения в **отдельный план** — если исправление дефекта признано приоритетным, оно должно появиться как явная задача в следующем плане, а не как доработка текущего.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
**---RESULT---**
|
|
52
|
+
|
|
53
|
+
Тикетов создано: **0**
|
|
54
|
+
|
|
55
|
+
Gaps отклонено (вне scope): **1**
|
|
56
|
+
- «Нужно исправить дефект маппинга полей» → отклонён по проверке 2a (явно исключено из scope плана)
|
package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/claude-sonnet/trial-3.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
## Анализ gap: проверка scope
|
|
2
|
+
|
|
3
|
+
### Gap: «Нужно исправить дефект маппинга полей»
|
|
4
|
+
|
|
5
|
+
Применяю алгоритм `scope-check.md`:
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
**Шаг 1 — Проверка источника:** источник не указан явно, продолжаю.
|
|
10
|
+
|
|
11
|
+
**Шаг 2 — Принадлежность к плану:** план содержит секцию **«Исключено из scope: исправление дефектов»**.
|
|
12
|
+
|
|
13
|
+
**Шаг 2a — Проверка exclusions:**
|
|
14
|
+
- `plan_exclusions` = `["исправление дефектов"]`
|
|
15
|
+
- Gap «исправить дефект маппинга полей» → описывает исправление дефекта
|
|
16
|
+
- Совпадение найдено
|
|
17
|
+
|
|
18
|
+
**Результат:** `{in_scope: false, reason: "Gap подпадает под исключение из scope плана: 'исправление дефектов'", check_failed: "2a"}`
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
**Тикет не создаётся.**
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Новые требования (вне scope)
|
|
27
|
+
|
|
28
|
+
| Gap | Причина отклонения | Рекомендация |
|
|
29
|
+
|-----|--------------------|--------------|
|
|
30
|
+
| Исправить дефект маппинга полей | Явно исключено из scope плана: «исправление дефектов» | Создать отдельную задачу в новом плане или обратиться к Architect для принятия решения о приоритизации |
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
---RESULT---
|
|
36
|
+
Тикеты созданы: 0
|
|
37
|
+
Gaps вне scope: 1
|
|
38
|
+
- «Нужно исправить дефект маппинга полей» → исключено из scope плана (Проверка 2a)
|
|
39
|
+
```
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
{
|
|
2
|
+
"per_model": {
|
|
3
|
+
"claude-sonnet": {
|
|
4
|
+
"pass_count": 3,
|
|
5
|
+
"total": 3,
|
|
6
|
+
"trials": [
|
|
7
|
+
{
|
|
8
|
+
"trial": 1,
|
|
9
|
+
"score": 5,
|
|
10
|
+
"passed": true
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"trial": 2,
|
|
14
|
+
"score": 5,
|
|
15
|
+
"passed": true
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"trial": 3,
|
|
19
|
+
"score": 5,
|
|
20
|
+
"passed": true
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"kilo-glm": {
|
|
25
|
+
"pass_count": 2,
|
|
26
|
+
"total": 3,
|
|
27
|
+
"trials": [
|
|
28
|
+
{
|
|
29
|
+
"trial": 1,
|
|
30
|
+
"score": 5,
|
|
31
|
+
"passed": true
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"trial": 2,
|
|
35
|
+
"score": null,
|
|
36
|
+
"passed": false
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"trial": 3,
|
|
40
|
+
"score": 5,
|
|
41
|
+
"passed": true
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"kilo-minimax": {
|
|
46
|
+
"pass_count": 3,
|
|
47
|
+
"total": 3,
|
|
48
|
+
"trials": [
|
|
49
|
+
{
|
|
50
|
+
"trial": 1,
|
|
51
|
+
"score": 5,
|
|
52
|
+
"passed": true
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"trial": 2,
|
|
56
|
+
"score": 5,
|
|
57
|
+
"passed": true
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"trial": 3,
|
|
61
|
+
"score": 5,
|
|
62
|
+
"passed": true
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
"kilo-deepseek": {
|
|
67
|
+
"pass_count": 3,
|
|
68
|
+
"total": 3,
|
|
69
|
+
"trials": [
|
|
70
|
+
{
|
|
71
|
+
"trial": 1,
|
|
72
|
+
"score": 5,
|
|
73
|
+
"passed": true
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"trial": 2,
|
|
77
|
+
"score": 5,
|
|
78
|
+
"passed": true
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"trial": 3,
|
|
82
|
+
"score": 5,
|
|
83
|
+
"passed": true
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"rubric_scores": [
|
|
89
|
+
{
|
|
90
|
+
"agentId": "claude-sonnet",
|
|
91
|
+
"trial": 1,
|
|
92
|
+
"score": 5,
|
|
93
|
+
"errored": false
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"agentId": "claude-sonnet",
|
|
97
|
+
"trial": 2,
|
|
98
|
+
"score": 5,
|
|
99
|
+
"errored": false
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"agentId": "claude-sonnet",
|
|
103
|
+
"trial": 3,
|
|
104
|
+
"score": 5,
|
|
105
|
+
"errored": false
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"agentId": "kilo-deepseek",
|
|
109
|
+
"trial": 1,
|
|
110
|
+
"score": 5,
|
|
111
|
+
"errored": false
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"agentId": "kilo-deepseek",
|
|
115
|
+
"trial": 2,
|
|
116
|
+
"score": 5,
|
|
117
|
+
"errored": false
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"agentId": "kilo-deepseek",
|
|
121
|
+
"trial": 3,
|
|
122
|
+
"score": 5,
|
|
123
|
+
"errored": false
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"agentId": "kilo-glm",
|
|
127
|
+
"trial": 1,
|
|
128
|
+
"score": 5,
|
|
129
|
+
"errored": false
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"agentId": "kilo-glm",
|
|
133
|
+
"trial": 2,
|
|
134
|
+
"score": null,
|
|
135
|
+
"errored": true,
|
|
136
|
+
"error": "Stage \"TC-DECOMPOSE-GAPS-001-kilo-glm-trial-2\" timed out after 2400s"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"agentId": "kilo-glm",
|
|
140
|
+
"trial": 3,
|
|
141
|
+
"score": 5,
|
|
142
|
+
"errored": false
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"agentId": "kilo-minimax",
|
|
146
|
+
"trial": 1,
|
|
147
|
+
"score": 5,
|
|
148
|
+
"errored": false
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"agentId": "kilo-minimax",
|
|
152
|
+
"trial": 2,
|
|
153
|
+
"score": 5,
|
|
154
|
+
"errored": false
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"agentId": "kilo-minimax",
|
|
158
|
+
"trial": 3,
|
|
159
|
+
"score": 5,
|
|
160
|
+
"errored": false
|
|
161
|
+
}
|
|
162
|
+
],
|
|
163
|
+
"timestamp": "2026-04-20T11:07:05.170Z"
|
|
164
|
+
}
|
package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-deepseek/trial-1.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
**Анализ scope gap**
|
|
2
|
+
|
|
3
|
+
Gap: «Нужно исправить дефект маппинга полей».
|
|
4
|
+
|
|
5
|
+
Проверка по алгоритму `scope-check`:
|
|
6
|
+
1. **Проверка источника** – источник не указан, но допустим, что gap взят из валидной секции отчёта.
|
|
7
|
+
2. **Проверка принадлежности к плану** – план содержит явное исключение: «Исключено из scope: исправление дефектов». Описываемая работа (исправление дефекта) подпадает под это исключение.
|
|
8
|
+
3. **Проверка статуса плана** – статус плана неизвестен, но даже при `in_progress` исключение из scope остаётся в силе.
|
|
9
|
+
4. **Проверка workflow-управления** – gap не содержит инструкций по управлению workflow.
|
|
10
|
+
|
|
11
|
+
**Результат проверки:** gap **вне scope** декомпозиции.
|
|
12
|
+
Причина: «Gap подпадает под исключение из scope плана: “исправление дефектов”».
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
### Новые требования (вне scope плана)
|
|
17
|
+
|
|
18
|
+
- **«Нужно исправить дефект маппинга полей»** – причина: Gap подпадает под исключение из scope плана: «Исключено из scope: исправление дефектов».
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
---RESULT---
|
|
23
|
+
status: default
|
|
24
|
+
created_tickets:
|
|
25
|
+
---RESULT---
|
package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-deepseek/trial-2.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
**Результат декомпозиции gaps**
|
|
2
|
+
|
|
3
|
+
### Новые требования (вне scope плана)
|
|
4
|
+
- «Нужно исправить дефект маппинга полей» — причина: Gap подпадает под исключение из scope плана: «Исключено из scope: исправление дефектов». Работа по исправлению дефектов явно исключена из scope исходного плана, поэтому создание тикета не требуется.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
---RESULT---
|
|
9
|
+
status: default
|
|
10
|
+
created_tickets:
|
|
11
|
+
---RESULT---
|
package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-deepseek/trial-3.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
**Проверка scope для gap**
|
|
2
|
+
|
|
3
|
+
Gap: «Нужно исправить дефект маппинга полей».
|
|
4
|
+
|
|
5
|
+
**Проверка 1 (Источник)** – предположительно из секции «Выполненные задачи» или «Риски и проблемы» – источник валиден.
|
|
6
|
+
|
|
7
|
+
**Проверка 2a (Исключения scope плана)** – план содержит явное исключение: «Исключено из scope: исправление дефектов». Gap описывает исправление дефекта, что полностью подпадает под это исключение.
|
|
8
|
+
|
|
9
|
+
→ **Gap вне scope декомпозиции.**
|
|
10
|
+
Причина: «Gap подпадает под исключение из scope плана: 'исправление дефектов'» (проверка 2a).
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
**Новые требования (вне scope)**
|
|
15
|
+
|
|
16
|
+
| Gap | Причина отклонения |
|
|
17
|
+
|-----|-------------------|
|
|
18
|
+
| «Нужно исправить дефект маппинга полей» | Gap подпадает под исключение из scope плана: «Исключено из scope: исправление дефектов». Работа является новым требованием, не входящим в текущий план. |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
**---RESULT---**
|
|
23
|
+
|
|
24
|
+
Создано тикетов: 0
|
|
25
|
+
|
|
26
|
+
Отклонённых gaps (вне scope): 1
|
package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-glm/trial-1.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
## Результат scope-проверки
|
|
2
|
+
|
|
3
|
+
**Проверка 2a (исключения из scope):** Gap «Нужно исправить дефект маппинга полей» семантически подпадает под исключение «Исключено из scope: исправление дефектов». Ключевое слово «дефект» в формулировке gap напрямую соответствует пункту исключения.
|
|
4
|
+
|
|
5
|
+
**Решение:** `in_scope: false` — тикет **не создаётся**.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
### Новые требования (вне scope плана)
|
|
10
|
+
|
|
11
|
+
- «Нужно исправить дефект маппинга полей» — причина: gap подпадает под исключение из scope плана: «исправление дефектов» (проверка 2a)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
---RESULT---
|
|
16
|
+
status: default
|
|
17
|
+
created_tickets: (нет)
|
|
18
|
+
rejected_gaps: 1
|
|
19
|
+
---RESULT---
|
package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-glm/trial-3.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
Now I understand the test case. The gap "Нужно исправить дефект маппинга полей" falls under the plan's explicit exclusion "Исключено из scope: исправление дефектов". Per scope check 2a, this gap must be rejected.
|
|
2
|
+
|
|
3
|
+
## Результат scope-проверки
|
|
4
|
+
|
|
5
|
+
**Gap:** «Нужно исправить дефект маппинга полей»
|
|
6
|
+
|
|
7
|
+
**Проверка scope — шаг 2a:** План содержит секцию «Исключено из scope: исправление дефектов». Gap семантически подпадает под это исключение — «исправить дефект» = «исправление дефектов».
|
|
8
|
+
|
|
9
|
+
**Решение:** `in_scope: false`
|
|
10
|
+
|
|
11
|
+
**Причина:** Gap подпадает под исключение из scope плана: «исправление дефектов» (проверка 2a).
|
|
12
|
+
|
|
13
|
+
**Тикет НЕ создаётся.**
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
### Новые требования (вне scope)
|
|
18
|
+
|
|
19
|
+
| Gap | Причина отклонения |
|
|
20
|
+
|-----|-------------------|
|
|
21
|
+
| «Нужно исправить дефект маппинга полей» | Подпадает под исключение плана: «Исключено из scope: исправление дефектов» (проверка 2a). Является новой инициативой, не предусмотренной текущим планом. |
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
---RESULT---
|
|
26
|
+
- Создано тикетов: 0
|
|
27
|
+
- Отклонено (вне scope): 1
|
|
28
|
+
- «Исправить дефект маппинга полей» → исключение плана «исправление дефектов»
|
package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-minimax/trial-1.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
По алгоритму `scope-check.md` (шаг 2a):
|
|
2
|
+
|
|
3
|
+
**Анализ gap:**
|
|
4
|
+
- Gap: «Нужно исправить дефект маппинга полей»
|
|
5
|
+
- План содержит секцию: «Исключено из scope: исправление дефектов»
|
|
6
|
+
|
|
7
|
+
**Результат проверки scope:**
|
|
8
|
+
- `in_scope: false`
|
|
9
|
+
- `reason: Gap подпадает под исключение из scope плана: 'исправление дефектов'`
|
|
10
|
+
- `check_failed: 2a`
|
|
11
|
+
|
|
12
|
+
Gap **вне scope** — план явно исключает исправление дефектов.
|
|
13
|
+
|
|
14
|
+
---RESULT---
|
|
15
|
+
status: has_gaps
|
|
16
|
+
created_tickets: []
|
|
17
|
+
rejected_gaps: 1
|
|
18
|
+
gaps_out_of_scope:
|
|
19
|
+
- gap: "Нужно исправить дефект маппинга полей"
|
|
20
|
+
reason: "Gap подпадает под исключение из scope плана: 'исправление дефектов'"
|
|
21
|
+
check_failed: "2a"
|
|
22
|
+
new_requirements: []
|
|
23
|
+
---RESULT---
|
package/src/skills/decompose-gaps/tests/cases/TC-DECOMPOSE-GAPS-001/current/kilo-minimax/trial-2.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
Согласно алгоритму проверки scope и документу `scope-validation.md`:
|
|
2
|
+
|
|
3
|
+
**Gap «Нужно исправить дефект маппинга полей»** попадает под проверку 2a (exclusions).
|
|
4
|
+
|
|
5
|
+
**Шаг 2a:** План содержит секцию «Исключено из scope: исправление дефектов». Gap напрямую описывает исправление дефекта → попадает под исключение.
|
|
6
|
+
|
|
7
|
+
**Результат:** Gap вне scope — тикет НЕ создаётся.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Результат декомпозиции
|
|
12
|
+
|
|
13
|
+
### Новые требования (вне scope)
|
|
14
|
+
|
|
15
|
+
| Gap | Причина отклонения | Проверка |
|
|
16
|
+
|-----|---------------------|----------|
|
|
17
|
+
| «Нужно исправить дефект маппинга полей» | Gap подпадает под исключение из scope плана: «Исключено из scope: исправление дефектов» | 2a |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
---RESULT---
|
|
22
|
+
**Созданные тикеты:** 0
|
|
23
|
+
**Отклонённые gaps:** 1
|
|
24
|
+
|
|
25
|
+
**Отклонённые gaps:**
|
|
26
|
+
1. Gap «Нужно исправить дефект маппинга полей» → Gap подпадает под исключение из scope плана: «Исключено из scope: исправление дефектов» (проверка 2a). Рекомендация: записать в «Новые требования» для следующего плана.
|
|
27
|
+
---
|