@boyingliu01/xp-gate 0.24.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/adapter-common.sh +51 -2
  2. package/adapters/python.sh +10 -2
  3. package/hooks/adapter-common.sh +51 -2
  4. package/hooks/lib/coverage-total.sh +20 -0
  5. package/hooks/lib/python-test-selection.sh +132 -0
  6. package/hooks/pre-commit +100 -11
  7. package/lib/__tests__/init-gitleaks-notice.test.js +57 -0
  8. package/lib/__tests__/issue-519-phase-transition-guard.test.js +233 -0
  9. package/lib/init.js +46 -1
  10. package/lib/mattpocock-license-verdict.json +1 -1
  11. package/lib/phase-transition.js +61 -0
  12. package/lib/sprint-state-manager.js +86 -39
  13. package/lib/sprint-state-migrator.js +60 -22
  14. package/mock-policy/AGENTS.md +2 -2
  15. package/mutation/AGENTS.md +2 -2
  16. package/mutation/__tests__/gremlins-runner.test.ts +167 -0
  17. package/mutation/__tests__/mutmut-runner.test.ts +20 -22
  18. package/mutation/__tests__/runners-index.test.ts +31 -3
  19. package/mutation/gate-m.ts +22 -4
  20. package/mutation/runners/gremlins-runner.ts +238 -0
  21. package/mutation/runners/index.ts +9 -1
  22. package/mutation/runners/mutmut-runner.ts +18 -12
  23. package/mutation/runners/types.ts +20 -0
  24. package/package.json +1 -1
  25. package/plugins/claude-code/.claude-plugin/plugin.json +1 -1
  26. package/plugins/claude-code/skills/delphi-review/AGENTS.md +2 -2
  27. package/plugins/claude-code/skills/sprint-flow/AGENTS.md +2 -2
  28. package/plugins/claude-code/skills/test-specification-alignment/AGENTS.md +2 -2
  29. package/plugins/dsh/package.json +1 -1
  30. package/plugins/dsh/skills/delphi-review/AGENTS.md +2 -2
  31. package/plugins/dsh/skills/sprint-flow/AGENTS.md +2 -2
  32. package/plugins/dsh/skills/test-specification-alignment/AGENTS.md +2 -2
  33. package/plugins/opencode/package.json +1 -1
  34. package/plugins/opencode/skills/delphi-review/AGENTS.md +2 -2
  35. package/plugins/opencode/skills/sprint-flow/AGENTS.md +2 -2
  36. package/plugins/opencode/skills/test-specification-alignment/AGENTS.md +2 -2
  37. package/plugins/qoder/plugin.json +1 -1
  38. package/plugins/qoder/skills/delphi-review/AGENTS.md +2 -2
  39. package/plugins/qoder/skills/sprint-flow/AGENTS.md +2 -2
  40. package/plugins/qoder/skills/test-specification-alignment/AGENTS.md +2 -2
  41. package/principles/AGENTS.md +2 -2
  42. package/skills/delphi-review/AGENTS.md +2 -2
  43. package/skills/sprint-flow/AGENTS.md +2 -2
  44. package/skills/test-specification-alignment/AGENTS.md +2 -2
@@ -33,25 +33,31 @@ export class MutmutRunner implements MutationRunner {
33
33
  constructor(private readonly platform: Platform = process.platform) {}
34
34
 
35
35
  async isAvailable(): Promise<boolean> {
36
- try {
37
- execSync('mutmut --version', { stdio: 'pipe', timeout: 5000 });
38
- this.route = 'native';
39
- return true;
40
- } catch {
41
- if (this.platform !== 'win32') {
42
- this.route = 'unavailable';
43
- return false;
44
- }
45
-
36
+ if (this.platform !== 'win32') {
46
37
  try {
47
- execSync('wsl mutmut --version', { stdio: 'pipe', timeout: 5000 });
48
- this.route = 'wsl';
38
+ execSync('mutmut --version', { stdio: 'pipe', timeout: 5000 });
39
+ this.route = 'native';
49
40
  return true;
50
41
  } catch {
51
42
  this.route = 'unavailable';
52
43
  return false;
53
44
  }
54
45
  }
46
+
47
+ // Windows: mutmut 3.x is fork()-based and can ONLY run under WSL. A native
48
+ // `mutmut --version` succeeding therefore proves nothing about `mutmut run`
49
+ // — reporting route='native' here is exactly the #410 deadlock: every push
50
+ // reached `mutmut run`, which exits 1 with "please use the WSL", and the
51
+ // gate blocked on a structurally unachievable check. The route is decided
52
+ // by the WSL probe alone so an unavailable WSL yields a clean SKIP.
53
+ try {
54
+ execSync('wsl mutmut --version', { stdio: 'pipe', timeout: 10000 });
55
+ this.route = 'wsl';
56
+ return true;
57
+ } catch {
58
+ this.route = 'unavailable';
59
+ return false;
60
+ }
55
61
  }
56
62
 
57
63
  async run(options: RunMutationOptions): Promise<MutationRunOutcome> {
@@ -90,6 +90,11 @@ export function registerRunner(runner: MutationRunner): void {
90
90
  /**
91
91
  * Resolve the correct runner for a given file extension.
92
92
  * Returns undefined if no runner supports this extension.
93
+ *
94
+ * Registration order decides the winner when several runners share an
95
+ * extension. This is a synchronous fast-path (used by file filtering); the
96
+ * availability-aware fallback that honors "first AVAILABLE runner" lives in
97
+ * {@link resolveRunners}.
93
98
  */
94
99
  export function resolveRunner(ext: string): MutationRunner | undefined {
95
100
  const normalized = ext.replace(/^\./, '');
@@ -98,3 +103,18 @@ export function resolveRunner(ext: string): MutationRunner | undefined {
98
103
  }
99
104
  return undefined;
100
105
  }
106
+
107
+ /**
108
+ * Resolve ALL runners supporting an extension, in registration (priority)
109
+ * order — e.g. for `.py` that is [pytest-gremlins, mutmut] (#410).
110
+ *
111
+ * The gate walks this list and uses the first runner whose `isAvailable()`
112
+ * returns true, so a pure-mutmut environment (no gremlins installed) still
113
+ * gets mutation testing instead of a silent SKIP. This is the actual
114
+ * implementation of the design contract "gremlins 可用 → GremlinsRunner,
115
+ * 否则 MutmutRunner".
116
+ */
117
+ export function resolveRunners(ext: string): MutationRunner[] {
118
+ const normalized = ext.replace(/^\./, '');
119
+ return Array.from(runnerRegistry.values()).filter(r => r.extensions.includes(normalized));
120
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@boyingliu01/xp-gate",
3
- "version": "0.24.0",
3
+ "version": "0.25.0",
4
4
  "description": "AI-driven development workflow: 6 quality gates + Delphi review + Sprint Flow",
5
5
  "bin": {
6
6
  "xp-gate": "./bin/xp-gate.js"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xp-gate",
3
- "version": "0.24.0",
3
+ "version": "0.25.0",
4
4
  "displayName": "XP-Gate",
5
5
  "description": "Extreme Programming quality gates + AI workflow skills for Claude Code. Includes 12 pre-commit gates (Gate 0-11), 8 pre-push gates, Sprint Flow (6 phases), and Delphi multi-expert review (>=90% consensus).",
6
6
  "author": {
@@ -1,9 +1,9 @@
1
1
  # SKILLS/DELPHI-REVIEW KNOWLEDGE BASE
2
2
 
3
3
  **Generated:** 2026-10-14
4
- **Commit:** e466ce16
4
+ **Commit:** a757d625
5
5
  **Branch:** main
6
- **Version:** 0.24.0.0
6
+ **Version:** 0.25.0.0
7
7
 
8
8
  ## OVERVIEW
9
9
  Delphi Consensus Review — multi-round anonymous expert review (≥90% threshold, exactly 3 experts with distinct executable model IDs). Supports design, requirements, and code-walkthrough modes.
@@ -1,9 +1,9 @@
1
1
  # SKILLS/SPRINT-FLOW KNOWLEDGE BASE
2
2
 
3
3
  **Generated:** 2026-10-14
4
- **Commit:** e466ce16
4
+ **Commit:** a757d625
5
5
  **Branch:** main
6
- **Version:** 0.24.0.0
6
+ **Version:** 0.25.0.0
7
7
 
8
8
  ## OVERVIEW
9
9
  **6-phase** development pipeline (v2.0 compact redesign, Issue #290): PREP → DESIGN → BUILD → VERIFY → SHIP → CLOSE. Phase 3/6 BUILD default build mode is **ralph-loop** (REQ-level iteration, 40-67% token savings vs parallel). HARD-GATE between DESIGN (2/6) and BUILD (3/6): design must pass Delphi review (≥90% consensus) before any coding.
@@ -1,9 +1,9 @@
1
1
  # SKILLS/TEST-SPECIFICATION-ALIGNMENT KNOWLEDGE BASE
2
2
 
3
3
  **Generated:** 2026-10-14
4
- **Commit:** e466ce16
4
+ **Commit:** a757d625
5
5
  **Branch:** main
6
- **Version:** 0.24.0.0
6
+ **Version:** 0.25.0.0
7
7
 
8
8
  ## OVERVIEW
9
9
  Test-Specification Alignment Engine — two-stage validation ensuring tests accurately reflect requirements and design specs.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@boyingliu01/dsh-plugin-xp-gate",
3
- "version": "0.24.0",
3
+ "version": "0.25.0",
4
4
  "description": "XP-Gate deterministic quality gates + AI workflow skills as a DeepSeek Harness (DSH) native plugin: gate-check / gate-principles / gate-arch tools + 12 SKILL.md skills",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -1,9 +1,9 @@
1
1
  # SKILLS/DELPHI-REVIEW KNOWLEDGE BASE
2
2
 
3
3
  **Generated:** 2026-10-14
4
- **Commit:** e466ce16
4
+ **Commit:** a757d625
5
5
  **Branch:** main
6
- **Version:** 0.24.0.0
6
+ **Version:** 0.25.0.0
7
7
 
8
8
  ## OVERVIEW
9
9
  Delphi Consensus Review — multi-round anonymous expert review (≥90% threshold, exactly 3 experts with distinct executable model IDs). Supports design, requirements, and code-walkthrough modes.
@@ -1,9 +1,9 @@
1
1
  # SKILLS/SPRINT-FLOW KNOWLEDGE BASE
2
2
 
3
3
  **Generated:** 2026-10-14
4
- **Commit:** e466ce16
4
+ **Commit:** a757d625
5
5
  **Branch:** main
6
- **Version:** 0.24.0.0
6
+ **Version:** 0.25.0.0
7
7
 
8
8
  ## OVERVIEW
9
9
  **6-phase** development pipeline (v2.0 compact redesign, Issue #290): PREP → DESIGN → BUILD → VERIFY → SHIP → CLOSE. Phase 3/6 BUILD default build mode is **ralph-loop** (REQ-level iteration, 40-67% token savings vs parallel). HARD-GATE between DESIGN (2/6) and BUILD (3/6): design must pass Delphi review (≥90% consensus) before any coding.
@@ -1,9 +1,9 @@
1
1
  # SKILLS/TEST-SPECIFICATION-ALIGNMENT KNOWLEDGE BASE
2
2
 
3
3
  **Generated:** 2026-10-14
4
- **Commit:** e466ce16
4
+ **Commit:** a757d625
5
5
  **Branch:** main
6
- **Version:** 0.24.0.0
6
+ **Version:** 0.25.0.0
7
7
 
8
8
  ## OVERVIEW
9
9
  Test-Specification Alignment Engine — two-stage validation ensuring tests accurately reflect requirements and design specs.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@boyingliu01/opencode-plugin",
3
- "version": "0.24.0",
3
+ "version": "0.25.0",
4
4
  "type": "module",
5
5
  "main": "index.ts",
6
6
  "description": "XP-Gate quality gates + AI workflow skills + Sprint Flow TUI sidebar for OpenCode",
@@ -1,9 +1,9 @@
1
1
  # SKILLS/DELPHI-REVIEW KNOWLEDGE BASE
2
2
 
3
3
  **Generated:** 2026-10-14
4
- **Commit:** e466ce16
4
+ **Commit:** a757d625
5
5
  **Branch:** main
6
- **Version:** 0.24.0.0
6
+ **Version:** 0.25.0.0
7
7
 
8
8
  ## OVERVIEW
9
9
  Delphi Consensus Review — multi-round anonymous expert review (≥90% threshold, exactly 3 experts with distinct executable model IDs). Supports design, requirements, and code-walkthrough modes.
@@ -1,9 +1,9 @@
1
1
  # SKILLS/SPRINT-FLOW KNOWLEDGE BASE
2
2
 
3
3
  **Generated:** 2026-10-14
4
- **Commit:** e466ce16
4
+ **Commit:** a757d625
5
5
  **Branch:** main
6
- **Version:** 0.24.0.0
6
+ **Version:** 0.25.0.0
7
7
 
8
8
  ## OVERVIEW
9
9
  **6-phase** development pipeline (v2.0 compact redesign, Issue #290): PREP → DESIGN → BUILD → VERIFY → SHIP → CLOSE. Phase 3/6 BUILD default build mode is **ralph-loop** (REQ-level iteration, 40-67% token savings vs parallel). HARD-GATE between DESIGN (2/6) and BUILD (3/6): design must pass Delphi review (≥90% consensus) before any coding.
@@ -1,9 +1,9 @@
1
1
  # SKILLS/TEST-SPECIFICATION-ALIGNMENT KNOWLEDGE BASE
2
2
 
3
3
  **Generated:** 2026-10-14
4
- **Commit:** e466ce16
4
+ **Commit:** a757d625
5
5
  **Branch:** main
6
- **Version:** 0.24.0.0
6
+ **Version:** 0.25.0.0
7
7
 
8
8
  ## OVERVIEW
9
9
  Test-Specification Alignment Engine — two-stage validation ensuring tests accurately reflect requirements and design specs.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xp-gate",
3
- "version": "0.24.0",
3
+ "version": "0.25.0",
4
4
  "displayName": "XP-Gate",
5
5
  "description": "Extreme Programming quality gates + AI workflow skills for Qoder. Includes 12 pre-commit gates (Gate 0-11), 8 pre-push gates, Sprint Flow (6 phases), and Delphi multi-expert review (>=90% consensus).",
6
6
  "author": {
@@ -1,9 +1,9 @@
1
1
  # SKILLS/DELPHI-REVIEW KNOWLEDGE BASE
2
2
 
3
3
  **Generated:** 2026-10-14
4
- **Commit:** e466ce16
4
+ **Commit:** a757d625
5
5
  **Branch:** main
6
- **Version:** 0.24.0.0
6
+ **Version:** 0.25.0.0
7
7
 
8
8
  ## OVERVIEW
9
9
  Delphi Consensus Review — multi-round anonymous expert review (≥90% threshold, exactly 3 experts with distinct executable model IDs). Supports design, requirements, and code-walkthrough modes.
@@ -1,9 +1,9 @@
1
1
  # SKILLS/SPRINT-FLOW KNOWLEDGE BASE
2
2
 
3
3
  **Generated:** 2026-10-14
4
- **Commit:** e466ce16
4
+ **Commit:** a757d625
5
5
  **Branch:** main
6
- **Version:** 0.24.0.0
6
+ **Version:** 0.25.0.0
7
7
 
8
8
  ## OVERVIEW
9
9
  **6-phase** development pipeline (v2.0 compact redesign, Issue #290): PREP → DESIGN → BUILD → VERIFY → SHIP → CLOSE. Phase 3/6 BUILD default build mode is **ralph-loop** (REQ-level iteration, 40-67% token savings vs parallel). HARD-GATE between DESIGN (2/6) and BUILD (3/6): design must pass Delphi review (≥90% consensus) before any coding.
@@ -1,9 +1,9 @@
1
1
  # SKILLS/TEST-SPECIFICATION-ALIGNMENT KNOWLEDGE BASE
2
2
 
3
3
  **Generated:** 2026-10-14
4
- **Commit:** e466ce16
4
+ **Commit:** a757d625
5
5
  **Branch:** main
6
- **Version:** 0.24.0.0
6
+ **Version:** 0.25.0.0
7
7
 
8
8
  ## OVERVIEW
9
9
  Test-Specification Alignment Engine — two-stage validation ensuring tests accurately reflect requirements and design specs.
@@ -1,9 +1,9 @@
1
1
  # PRINCIPLES CHECKER MODULE
2
2
 
3
3
  **Generated:** 2026-10-14
4
- **Commit:** e466ce16
4
+ **Commit:** a757d625
5
5
  **Branch:** main
6
- **Version:** 0.24.0.0
6
+ **Version:** 0.25.0.0
7
7
 
8
8
  ## OVERVIEW
9
9
  Clean Code & SOLID principles checker — **Gate 4** of pre-commit. 14 rules × 9 language adapters, SARIF 2.1.0 output. Houses the **Boy Scout Rule** enforcement engine (Gate 6) and warning-baseline storage.
@@ -1,9 +1,9 @@
1
1
  # SKILLS/DELPHI-REVIEW KNOWLEDGE BASE
2
2
 
3
3
  **Generated:** 2026-10-14
4
- **Commit:** e466ce16
4
+ **Commit:** a757d625
5
5
  **Branch:** main
6
- **Version:** 0.24.0.0
6
+ **Version:** 0.25.0.0
7
7
 
8
8
  ## OVERVIEW
9
9
  Delphi Consensus Review — multi-round anonymous expert review (≥90% threshold, exactly 3 experts with distinct executable model IDs). Supports design, requirements, and code-walkthrough modes.
@@ -1,9 +1,9 @@
1
1
  # SKILLS/SPRINT-FLOW KNOWLEDGE BASE
2
2
 
3
3
  **Generated:** 2026-10-14
4
- **Commit:** e466ce16
4
+ **Commit:** a757d625
5
5
  **Branch:** main
6
- **Version:** 0.24.0.0
6
+ **Version:** 0.25.0.0
7
7
 
8
8
  ## OVERVIEW
9
9
  **6-phase** development pipeline (v2.0 compact redesign, Issue #290): PREP → DESIGN → BUILD → VERIFY → SHIP → CLOSE. Phase 3/6 BUILD default build mode is **ralph-loop** (REQ-level iteration, 40-67% token savings vs parallel). HARD-GATE between DESIGN (2/6) and BUILD (3/6): design must pass Delphi review (≥90% consensus) before any coding.
@@ -1,9 +1,9 @@
1
1
  # SKILLS/TEST-SPECIFICATION-ALIGNMENT KNOWLEDGE BASE
2
2
 
3
3
  **Generated:** 2026-10-14
4
- **Commit:** e466ce16
4
+ **Commit:** a757d625
5
5
  **Branch:** main
6
- **Version:** 0.24.0.0
6
+ **Version:** 0.25.0.0
7
7
 
8
8
  ## OVERVIEW
9
9
  Test-Specification Alignment Engine — two-stage validation ensuring tests accurately reflect requirements and design specs.