specweave 1.0.355 → 1.0.357

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 (169) hide show
  1. package/bin/specweave.js +21 -1
  2. package/dist/plugins/specweave-github/lib/duplicate-detector.d.ts.map +1 -1
  3. package/dist/plugins/specweave-github/lib/duplicate-detector.js +18 -2
  4. package/dist/plugins/specweave-github/lib/duplicate-detector.js.map +1 -1
  5. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +1 -1
  6. package/dist/plugins/specweave-github/lib/github-feature-sync.js +10 -0
  7. package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +1 -1
  8. package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts +17 -0
  9. package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts.map +1 -1
  10. package/dist/plugins/specweave-jira/lib/jira-status-sync.js +85 -0
  11. package/dist/plugins/specweave-jira/lib/jira-status-sync.js.map +1 -1
  12. package/dist/src/adapters/agents-md-generator.js +1 -1
  13. package/dist/src/adapters/agents-md-generator.js.map +1 -1
  14. package/dist/src/adapters/claude/adapter.d.ts +3 -4
  15. package/dist/src/adapters/claude/adapter.d.ts.map +1 -1
  16. package/dist/src/adapters/claude/adapter.js +3 -4
  17. package/dist/src/adapters/claude/adapter.js.map +1 -1
  18. package/dist/src/adapters/claude-md-generator.js +2 -2
  19. package/dist/src/adapters/claude-md-generator.js.map +1 -1
  20. package/dist/src/cli/commands/check-discipline.d.ts.map +1 -1
  21. package/dist/src/cli/commands/check-discipline.js +2 -1
  22. package/dist/src/cli/commands/check-discipline.js.map +1 -1
  23. package/dist/src/cli/commands/create-increment.d.ts.map +1 -1
  24. package/dist/src/cli/commands/create-increment.js +4 -1
  25. package/dist/src/cli/commands/create-increment.js.map +1 -1
  26. package/dist/src/cli/commands/health.d.ts +34 -0
  27. package/dist/src/cli/commands/health.d.ts.map +1 -0
  28. package/dist/src/cli/commands/health.js +349 -0
  29. package/dist/src/cli/commands/health.js.map +1 -0
  30. package/dist/src/cli/commands/migrate-to-umbrella.d.ts.map +1 -1
  31. package/dist/src/cli/commands/migrate-to-umbrella.js +38 -0
  32. package/dist/src/cli/commands/migrate-to-umbrella.js.map +1 -1
  33. package/dist/src/cli/commands/refresh-plugins.d.ts +3 -2
  34. package/dist/src/cli/commands/refresh-plugins.d.ts.map +1 -1
  35. package/dist/src/cli/commands/refresh-plugins.js +3 -8
  36. package/dist/src/cli/commands/refresh-plugins.js.map +1 -1
  37. package/dist/src/cli/commands/save.js +1 -1
  38. package/dist/src/cli/commands/save.js.map +1 -1
  39. package/dist/src/cli/commands/sync-living-docs.d.ts.map +1 -1
  40. package/dist/src/cli/commands/sync-living-docs.js +2 -1
  41. package/dist/src/cli/commands/sync-living-docs.js.map +1 -1
  42. package/dist/src/cli/commands/sync-progress.d.ts.map +1 -1
  43. package/dist/src/cli/commands/sync-progress.js +208 -8
  44. package/dist/src/cli/commands/sync-progress.js.map +1 -1
  45. package/dist/src/cli/commands/update.d.ts.map +1 -1
  46. package/dist/src/cli/commands/update.js +35 -4
  47. package/dist/src/cli/commands/update.js.map +1 -1
  48. package/dist/src/core/ac-progress-sync.d.ts.map +1 -1
  49. package/dist/src/core/ac-progress-sync.js +13 -4
  50. package/dist/src/core/ac-progress-sync.js.map +1 -1
  51. package/dist/src/core/config/types.d.ts +33 -0
  52. package/dist/src/core/config/types.d.ts.map +1 -1
  53. package/dist/src/core/config/types.js.map +1 -1
  54. package/dist/src/core/doctor/checkers/increments-checker.js +2 -2
  55. package/dist/src/core/doctor/checkers/increments-checker.js.map +1 -1
  56. package/dist/src/core/doctor/checkers/installation-health-checker.d.ts +14 -15
  57. package/dist/src/core/doctor/checkers/installation-health-checker.d.ts.map +1 -1
  58. package/dist/src/core/doctor/checkers/installation-health-checker.js +78 -148
  59. package/dist/src/core/doctor/checkers/installation-health-checker.js.map +1 -1
  60. package/dist/src/core/hooks/LifecycleHookDispatcher.d.ts.map +1 -1
  61. package/dist/src/core/hooks/LifecycleHookDispatcher.js +6 -1
  62. package/dist/src/core/hooks/LifecycleHookDispatcher.js.map +1 -1
  63. package/dist/src/core/increment/completion-validator.d.ts.map +1 -1
  64. package/dist/src/core/increment/completion-validator.js +8 -7
  65. package/dist/src/core/increment/completion-validator.js.map +1 -1
  66. package/dist/src/core/increment/increment-reopener.d.ts.map +1 -1
  67. package/dist/src/core/increment/increment-reopener.js +5 -4
  68. package/dist/src/core/increment/increment-reopener.js.map +1 -1
  69. package/dist/src/core/increment/metadata-manager.d.ts +5 -6
  70. package/dist/src/core/increment/metadata-manager.d.ts.map +1 -1
  71. package/dist/src/core/increment/metadata-manager.js +12 -13
  72. package/dist/src/core/increment/metadata-manager.js.map +1 -1
  73. package/dist/src/core/increment/spec-frontmatter-updater.d.ts.map +1 -1
  74. package/dist/src/core/increment/spec-frontmatter-updater.js +3 -2
  75. package/dist/src/core/increment/spec-frontmatter-updater.js.map +1 -1
  76. package/dist/src/core/increment/status-auto-transition.d.ts.map +1 -1
  77. package/dist/src/core/increment/status-auto-transition.js +5 -4
  78. package/dist/src/core/increment/status-auto-transition.js.map +1 -1
  79. package/dist/src/core/increment/status-change-sync-trigger.d.ts.map +1 -1
  80. package/dist/src/core/increment/status-change-sync-trigger.js +3 -2
  81. package/dist/src/core/increment/status-change-sync-trigger.js.map +1 -1
  82. package/dist/src/core/increment/status-commands.d.ts.map +1 -1
  83. package/dist/src/core/increment/status-commands.js +4 -3
  84. package/dist/src/core/increment/status-commands.js.map +1 -1
  85. package/dist/src/core/increment/template-creator.d.ts.map +1 -1
  86. package/dist/src/core/increment/template-creator.js +49 -5
  87. package/dist/src/core/increment/template-creator.js.map +1 -1
  88. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts +2 -2
  89. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts.map +1 -1
  90. package/dist/src/core/lazy-loading/llm-plugin-detector.js +32 -16
  91. package/dist/src/core/lazy-loading/llm-plugin-detector.js.map +1 -1
  92. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  93. package/dist/src/core/living-docs/living-docs-sync.js +16 -6
  94. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  95. package/dist/src/core/migration/consolidation-engine.d.ts +59 -0
  96. package/dist/src/core/migration/consolidation-engine.d.ts.map +1 -0
  97. package/dist/src/core/migration/consolidation-engine.js +177 -0
  98. package/dist/src/core/migration/consolidation-engine.js.map +1 -0
  99. package/dist/src/core/migration/types.d.ts +2 -0
  100. package/dist/src/core/migration/types.d.ts.map +1 -1
  101. package/dist/src/core/project/project-resolution.d.ts.map +1 -1
  102. package/dist/src/core/project/project-resolution.js +20 -2
  103. package/dist/src/core/project/project-resolution.js.map +1 -1
  104. package/dist/src/generators/spec/spec-parser.js +2 -2
  105. package/dist/src/generators/spec/spec-parser.js.map +1 -1
  106. package/dist/src/integrations/jira/jira-client.d.ts.map +1 -1
  107. package/dist/src/integrations/jira/jira-client.js +83 -30
  108. package/dist/src/integrations/jira/jira-client.js.map +1 -1
  109. package/dist/src/sync/external-issue-auto-creator.d.ts +6 -2
  110. package/dist/src/sync/external-issue-auto-creator.d.ts.map +1 -1
  111. package/dist/src/sync/external-issue-auto-creator.js +75 -19
  112. package/dist/src/sync/external-issue-auto-creator.js.map +1 -1
  113. package/dist/src/sync/sync-coordinator.d.ts.map +1 -1
  114. package/dist/src/sync/sync-coordinator.js +20 -4
  115. package/dist/src/sync/sync-coordinator.js.map +1 -1
  116. package/dist/src/sync/sync-target-resolver.d.ts +36 -0
  117. package/dist/src/sync/sync-target-resolver.d.ts.map +1 -0
  118. package/dist/src/sync/sync-target-resolver.js +72 -0
  119. package/dist/src/sync/sync-target-resolver.js.map +1 -0
  120. package/dist/src/utils/external-tool-drift-detector.js +4 -4
  121. package/dist/src/utils/external-tool-drift-detector.js.map +1 -1
  122. package/dist/src/utils/find-project-root.d.ts +26 -0
  123. package/dist/src/utils/find-project-root.d.ts.map +1 -1
  124. package/dist/src/utils/find-project-root.js +78 -0
  125. package/dist/src/utils/find-project-root.js.map +1 -1
  126. package/dist/src/utils/multi-project-detector.js +1 -1
  127. package/dist/src/utils/multi-project-detector.js.map +1 -1
  128. package/dist/src/utils/plugin-copier.d.ts +28 -47
  129. package/dist/src/utils/plugin-copier.d.ts.map +1 -1
  130. package/dist/src/utils/plugin-copier.js +85 -155
  131. package/dist/src/utils/plugin-copier.js.map +1 -1
  132. package/package.json +1 -1
  133. package/plugins/specweave/PLUGIN.md +1 -0
  134. package/plugins/specweave/hooks/stop-auto-v5.sh +26 -17
  135. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.d.ts +5 -6
  136. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js +12 -13
  137. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js.map +1 -1
  138. package/plugins/specweave/lib/vendor/core/increment/status-auto-transition.js +5 -4
  139. package/plugins/specweave/lib/vendor/core/increment/status-auto-transition.js.map +1 -1
  140. package/plugins/specweave/skills/auto/SKILL.md +15 -1
  141. package/plugins/specweave/skills/brainstorm/SKILL.md +619 -0
  142. package/plugins/specweave/skills/do/SKILL.md +3 -3
  143. package/plugins/specweave/skills/increment/SKILL.md +3 -3
  144. package/plugins/specweave/skills/team-build/SKILL.md +1 -1
  145. package/plugins/specweave/skills/team-lead/SKILL.md +7 -5
  146. package/plugins/specweave/skills/validate/SKILL.md +1 -1
  147. package/plugins/specweave-ado/lib/ado-multi-project-sync.js +1 -0
  148. package/plugins/specweave-docs/PLUGIN.md +1 -1
  149. package/plugins/specweave-github/lib/duplicate-detector.js +21 -1
  150. package/plugins/specweave-github/lib/duplicate-detector.ts +18 -2
  151. package/plugins/specweave-github/lib/github-feature-sync.js +17 -0
  152. package/plugins/specweave-github/lib/github-feature-sync.ts +11 -0
  153. package/plugins/specweave-jira/lib/jira-status-sync.js +75 -0
  154. package/plugins/specweave-jira/lib/jira-status-sync.ts +91 -1
  155. package/src/templates/CLAUDE.md.template +3 -1
  156. package/dist/src/utils/claude-plugin-cli.d.ts +0 -32
  157. package/dist/src/utils/claude-plugin-cli.d.ts.map +0 -1
  158. package/dist/src/utils/claude-plugin-cli.js +0 -74
  159. package/dist/src/utils/claude-plugin-cli.js.map +0 -1
  160. package/plugins/specweave/hooks/.specweave/logs/auto-iterations.log +0 -1
  161. package/plugins/specweave/hooks/.specweave/logs/auto-stop-reasons.log +0 -1
  162. package/plugins/specweave/skills/.specweave/logs/reflect/auto-reflect.log +0 -15
  163. package/plugins/specweave/skills/.specweave/logs/reflect/reflect.log +0 -3
  164. package/plugins/specweave/skills/.specweave/logs/stop-auto.log +0 -1
  165. package/plugins/specweave-ado/lib/enhanced-ado-sync.js +0 -180
  166. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +0 -1266
  167. package/plugins/specweave-github/lib/enhanced-github-sync.js +0 -249
  168. package/plugins/specweave-jira/lib/enhanced-jira-sync.js +0 -150
  169. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +0 -1260
@@ -1,13 +1,16 @@
1
1
  /**
2
- * Installation Health Checker - detects ghost commands, stale cache,
3
- * lockfile integrity issues, and namespace pollution in ~/.claude/
2
+ * Installation Health Checker - detects legacy commands dirs, stale cache,
3
+ * lockfile integrity issues, and plugin cache hook freshness in ~/.claude/
4
+ *
5
+ * @since 1.0.279
6
+ * @updated 1.0.356 - Migrated from commands-based to native plugin cache checks
4
7
  */
5
- import { existsSync, readdirSync, statSync, readFileSync, writeFileSync, unlinkSync, rmSync, copyFileSync, } from 'node:fs';
8
+ import { existsSync, readdirSync, statSync, readFileSync, writeFileSync, rmSync, copyFileSync, } from 'node:fs';
6
9
  import { join } from 'node:path';
7
10
  import { homedir } from 'node:os';
8
11
  import { execSync } from 'node:child_process';
9
12
  import { calculateOverallStatus } from '../types.js';
10
- import { shouldSkipFromCommands, computePluginHash, } from '../../../utils/plugin-copier.js';
13
+ import { computePluginHash } from '../../../utils/plugin-copier.js';
11
14
  export class InstallationHealthChecker {
12
15
  constructor(opts) {
13
16
  this.category = 'Installation Health';
@@ -17,10 +20,9 @@ export class InstallationHealthChecker {
17
20
  }
18
21
  async check(projectRoot, options) {
19
22
  const checks = [];
20
- checks.push(this.checkGhostCommands(options.fix ?? false));
23
+ checks.push(this.checkLegacyCommandsDirs(options.fix ?? false));
21
24
  checks.push(this.checkStaleCacheDirs(options.fix ?? false));
22
25
  checks.push(this.checkLockfileIntegrity(projectRoot, options.fix ?? false));
23
- checks.push(this.checkNamespacePollution(options.fix ?? false));
24
26
  checks.push(this.checkPluginCacheHookFreshness(options.fix ?? false));
25
27
  return {
26
28
  category: this.category,
@@ -29,55 +31,53 @@ export class InstallationHealthChecker {
29
31
  };
30
32
  }
31
33
  /**
32
- * Scan commands dir for ghost .md files that should have been filtered.
33
- * Ghost files = files that shouldSkipFromCommands() would exclude.
34
+ * Detect legacy ~/.claude/commands/<name>/ directories.
35
+ *
36
+ * Since 1.0.356, plugins are installed via Claude Code's native plugin system
37
+ * to ~/.claude/plugins/cache/. Any remaining dirs in ~/.claude/commands/ are
38
+ * legacy artifacts that should be removed to avoid duplicate slash commands.
34
39
  */
35
- checkGhostCommands(fix) {
40
+ checkLegacyCommandsDirs(fix) {
36
41
  if (!existsSync(this.commandsDir)) {
37
42
  return {
38
- name: 'Ghost slash commands',
43
+ name: 'Legacy commands directories',
39
44
  status: 'pass',
40
- message: 'commands directory not found (clean)',
45
+ message: 'no legacy commands directory (clean)',
41
46
  };
42
47
  }
43
- const ghosts = [];
44
- // Walk each plugin directory inside commands/
45
- for (const pluginName of this.listDirs(this.commandsDir)) {
46
- const pluginDir = join(this.commandsDir, pluginName);
47
- const mdFiles = this.walkMdFiles(pluginDir, '');
48
- for (const relPath of mdFiles) {
49
- if (shouldSkipFromCommands(relPath)) {
50
- ghosts.push(join(pluginName, relPath));
51
- }
52
- }
53
- }
54
- if (ghosts.length === 0) {
48
+ const legacyDirs = this.listDirs(this.commandsDir);
49
+ if (legacyDirs.length === 0) {
55
50
  return {
56
- name: 'Ghost slash commands',
51
+ name: 'Legacy commands directories',
57
52
  status: 'pass',
58
- message: 'no ghost commands found',
53
+ message: 'commands directory is empty',
59
54
  };
60
55
  }
61
56
  if (fix) {
62
- for (const ghost of ghosts) {
63
- const fullPath = join(this.commandsDir, ghost);
64
- if (existsSync(fullPath)) {
65
- unlinkSync(fullPath);
57
+ let removed = 0;
58
+ for (const dir of legacyDirs) {
59
+ const fullPath = join(this.commandsDir, dir);
60
+ try {
61
+ rmSync(fullPath, { recursive: true, force: true });
62
+ removed++;
63
+ }
64
+ catch {
65
+ // Best effort
66
66
  }
67
67
  }
68
68
  return {
69
- name: 'Ghost slash commands',
70
- status: 'warn',
71
- message: `${ghosts.length} ghost command(s) found and removed`,
72
- details: ghosts.map(g => `Ghost: ${g}`),
73
- fixSuggestion: `Deleted ${ghosts.length} ghost file(s)`,
69
+ name: 'Legacy commands directories',
70
+ status: removed === legacyDirs.length ? 'pass' : 'warn',
71
+ message: `${removed}/${legacyDirs.length} legacy dir(s) removed (migrated to native plugin cache)`,
72
+ details: legacyDirs.map(d => `Legacy: ~/.claude/commands/${d}`),
73
+ fixSuggestion: 'Restart Claude Code to use native plugin cache',
74
74
  };
75
75
  }
76
76
  return {
77
- name: 'Ghost slash commands',
77
+ name: 'Legacy commands directories',
78
78
  status: 'warn',
79
- message: `${ghosts.length} ghost command(s) detected`,
80
- details: ghosts.map(g => `Ghost: ${g}`),
79
+ message: `${legacyDirs.length} legacy commands dir(s) found (should use native plugin cache)`,
80
+ details: legacyDirs.map(d => `Legacy: ~/.claude/commands/${d}`),
81
81
  fixSuggestion: 'Run: specweave doctor --fix',
82
82
  };
83
83
  }
@@ -119,11 +119,13 @@ export class InstallationHealthChecker {
119
119
  };
120
120
  }
121
121
  if (fix) {
122
+ let removed = 0;
122
123
  for (const dir of tempDirs) {
123
124
  const fullPath = join(this.cacheDir, dir);
124
125
  try {
125
126
  if (existsSync(fullPath)) {
126
127
  rmSync(fullPath, { recursive: true, force: true });
128
+ removed++;
127
129
  }
128
130
  }
129
131
  catch {
@@ -132,10 +134,10 @@ export class InstallationHealthChecker {
132
134
  }
133
135
  return {
134
136
  name: 'Stale cache directories',
135
- status: 'warn',
136
- message: `${tempDirs.length} stale dir(s) found and removed`,
137
+ status: removed === tempDirs.length ? 'pass' : 'warn',
138
+ message: `${removed}/${tempDirs.length} stale dir(s) removed`,
137
139
  details,
138
- fixSuggestion: `Deleted ${tempDirs.length} temp_local dir(s)`,
140
+ fixSuggestion: `Deleted ${removed} temp_local dir(s)`,
139
141
  };
140
142
  }
141
143
  return {
@@ -147,7 +149,8 @@ export class InstallationHealthChecker {
147
149
  };
148
150
  }
149
151
  /**
150
- * Verify installed command hashes match vskill.lock entries.
152
+ * Verify installed plugin hashes match vskill.lock entries.
153
+ * Checks the native plugin cache (~/.claude/plugins/cache/specweave/<name>/).
151
154
  */
152
155
  checkLockfileIntegrity(projectRoot, fix) {
153
156
  const lockPath = join(projectRoot, 'vskill.lock');
@@ -180,13 +183,22 @@ export class InstallationHealthChecker {
180
183
  const mismatches = [];
181
184
  const missing = [];
182
185
  for (const [name, entry] of Object.entries(lockfile.skills)) {
183
- const skillDir = join(this.commandsDir, name);
184
- if (!existsSync(skillDir)) {
186
+ // Check native plugin cache first, fall back to legacy commands dir
187
+ const cachePluginDir = join(this.cacheDir, 'specweave', name);
188
+ const legacyPluginDir = join(this.commandsDir, name);
189
+ let pluginDir = null;
190
+ if (existsSync(cachePluginDir)) {
191
+ pluginDir = cachePluginDir;
192
+ }
193
+ else if (existsSync(legacyPluginDir)) {
194
+ pluginDir = legacyPluginDir;
195
+ }
196
+ if (!pluginDir) {
185
197
  missing.push(name);
186
198
  continue;
187
199
  }
188
200
  try {
189
- const currentHash = computePluginHash(skillDir);
201
+ const currentHash = computePluginHash(pluginDir);
190
202
  if (currentHash !== entry.sha) {
191
203
  mismatches.push(`${name}: expected ${entry.sha}, got ${currentHash}`);
192
204
  }
@@ -196,14 +208,21 @@ export class InstallationHealthChecker {
196
208
  }
197
209
  }
198
210
  if (missing.length > 0) {
211
+ const allDetails = [
212
+ ...missing.map(m => `Missing: ${m}`),
213
+ ...mismatches.map(m => `Mismatch: ${m}`),
214
+ ];
215
+ const mismatchNote = mismatches.length > 0
216
+ ? ` (also ${mismatches.length} hash mismatch(es))`
217
+ : '';
199
218
  if (fix) {
200
219
  try {
201
220
  execSync('specweave refresh-plugins', { stdio: 'pipe' });
202
221
  return {
203
222
  name: 'Lockfile integrity',
204
223
  status: 'warn',
205
- message: `${missing.length} skill(s) were missing, ran refresh-plugins`,
206
- details: missing.map(m => `Missing: ${m}`),
224
+ message: `${missing.length} skill(s) were missing${mismatchNote}, ran refresh-plugins`,
225
+ details: allDetails,
207
226
  fixSuggestion: 'Ran: specweave refresh-plugins',
208
227
  };
209
228
  }
@@ -212,6 +231,7 @@ export class InstallationHealthChecker {
212
231
  name: 'Lockfile integrity',
213
232
  status: 'fail',
214
233
  message: `refresh-plugins failed: ${err instanceof Error ? err.message : 'unknown error'}`,
234
+ details: allDetails,
215
235
  fixSuggestion: 'Run: specweave refresh-plugins',
216
236
  };
217
237
  }
@@ -219,8 +239,8 @@ export class InstallationHealthChecker {
219
239
  return {
220
240
  name: 'Lockfile integrity',
221
241
  status: 'fail',
222
- message: `${missing.length} skill(s) missing from commands dir`,
223
- details: missing.map(m => `Missing: ${m}`),
242
+ message: `${missing.length} skill(s) missing from plugin cache${mismatchNote}`,
243
+ details: allDetails,
224
244
  fixSuggestion: 'Run: specweave refresh-plugins',
225
245
  };
226
246
  }
@@ -230,10 +250,12 @@ export class InstallationHealthChecker {
230
250
  try {
231
251
  const updatedSkills = {};
232
252
  for (const [name, entry] of Object.entries(lockfile.skills)) {
233
- const skillDir = join(this.commandsDir, name);
234
- if (existsSync(skillDir)) {
253
+ const cachePluginDir = join(this.cacheDir, 'specweave', name);
254
+ const legacyDir = join(this.commandsDir, name);
255
+ const dir = existsSync(cachePluginDir) ? cachePluginDir : existsSync(legacyDir) ? legacyDir : null;
256
+ if (dir) {
235
257
  try {
236
- updatedSkills[name] = { ...entry, sha: computePluginHash(skillDir) };
258
+ updatedSkills[name] = { ...entry, sha: computePluginHash(dir) };
237
259
  }
238
260
  catch {
239
261
  updatedSkills[name] = entry;
@@ -243,7 +265,7 @@ export class InstallationHealthChecker {
243
265
  updatedSkills[name] = entry;
244
266
  }
245
267
  }
246
- writeFileSync(lockPath, JSON.stringify({ ...lockfile, skills: updatedSkills }, null, 2), 'utf-8');
268
+ writeFileSync(lockPath, JSON.stringify({ ...lockfile, skills: updatedSkills }, null, 2) + '\n', 'utf-8');
247
269
  return {
248
270
  name: 'Lockfile integrity',
249
271
  status: 'pass',
@@ -275,65 +297,6 @@ export class InstallationHealthChecker {
275
297
  message: 'all skill hashes match lockfile',
276
298
  };
277
299
  }
278
- /**
279
- * Detect .md files inside internal plugin directories that should not
280
- * be treated as slash commands by Claude Code.
281
- */
282
- checkNamespacePollution(fix) {
283
- if (!existsSync(this.commandsDir)) {
284
- return {
285
- name: 'Command namespace pollution',
286
- status: 'pass',
287
- message: 'commands directory not found (clean)',
288
- };
289
- }
290
- const pollutants = [];
291
- for (const pluginName of this.listDirs(this.commandsDir)) {
292
- const pluginDir = join(this.commandsDir, pluginName);
293
- const mdFiles = this.walkMdFiles(pluginDir, '');
294
- for (const relPath of mdFiles) {
295
- // Ghost commands (PLUGIN.md, README.md, FRESHNESS.md) are handled
296
- // by checkGhostCommands. Here we catch the remaining pollution:
297
- // files in internal dirs (knowledge-base/, lib/, templates/, etc.)
298
- const filename = relPath.split('/').pop() ?? '';
299
- const isGhostFile = filename === 'PLUGIN.md' ||
300
- filename === 'README.md' ||
301
- filename === 'FRESHNESS.md';
302
- if (!isGhostFile && shouldSkipFromCommands(relPath)) {
303
- pollutants.push(join(pluginName, relPath));
304
- }
305
- }
306
- }
307
- if (pollutants.length === 0) {
308
- return {
309
- name: 'Command namespace pollution',
310
- status: 'pass',
311
- message: 'no namespace pollution found',
312
- };
313
- }
314
- if (fix) {
315
- for (const p of pollutants) {
316
- const fullPath = join(this.commandsDir, p);
317
- if (existsSync(fullPath)) {
318
- unlinkSync(fullPath);
319
- }
320
- }
321
- return {
322
- name: 'Command namespace pollution',
323
- status: 'warn',
324
- message: `${pollutants.length} polluting file(s) found and removed`,
325
- details: pollutants.map(p => `Pollution: ${p}`),
326
- fixSuggestion: `Deleted ${pollutants.length} polluting file(s)`,
327
- };
328
- }
329
- return {
330
- name: 'Command namespace pollution',
331
- status: 'warn',
332
- message: `${pollutants.length} polluting file(s) detected`,
333
- details: pollutants.map(p => `Pollution: ${p}`),
334
- fixSuggestion: 'Run: specweave doctor --fix',
335
- };
336
- }
337
300
  /**
338
301
  * Detect stale hooks in ~/.claude/plugins/cache/specweave/.
339
302
  *
@@ -345,8 +308,7 @@ export class InstallationHealthChecker {
345
308
  * @since 1.0.306
346
309
  */
347
310
  checkPluginCacheHookFreshness(fix) {
348
- const home = homedir();
349
- const pluginCacheBase = join(home, '.claude', 'plugins', 'cache', 'specweave', 'sw');
311
+ const pluginCacheBase = join(this.cacheDir, 'specweave', 'sw');
350
312
  if (!existsSync(pluginCacheBase)) {
351
313
  return {
352
314
  name: 'Plugin cache hook freshness',
@@ -430,8 +392,7 @@ export class InstallationHealthChecker {
430
392
  * Resolution order:
431
393
  * 1. Walk up from __dirname to find package.json with name "specweave"
432
394
  * 2. Global npm install via `npm root -g`
433
- * 3. ~/.claude/commands/sw/hooks/ (installed by specweave refresh-plugins)
434
- * 4. ~/.claude/plugins/marketplaces/specweave/
395
+ * 3. ~/.claude/plugins/marketplaces/specweave/
435
396
  */
436
397
  findSourceHookPath() {
437
398
  const hookRelPath = join('plugins', 'specweave', 'hooks', 'user-prompt-submit.sh');
@@ -460,19 +421,14 @@ export class InstallationHealthChecker {
460
421
  catch { /* fallback */ }
461
422
  // 2. Global npm install
462
423
  try {
463
- const { execSync: exec } = require('node:child_process');
464
- const npmRoot = exec('npm root -g', { encoding: 'utf-8', timeout: 5000 }).trim();
424
+ const npmRoot = execSync('npm root -g', { encoding: 'utf-8', timeout: 5000 }).trim();
465
425
  const globalPath = join(npmRoot, 'specweave', hookRelPath);
466
426
  if (existsSync(globalPath))
467
427
  return globalPath;
468
428
  }
469
429
  catch { /* fallback */ }
470
- // 3. ~/.claude/commands/sw/hooks/ (installed by refresh-plugins)
430
+ // 3. Marketplace path
471
431
  const home = homedir();
472
- const commandsHookPath = join(home, '.claude', 'commands', 'sw', 'hooks', 'user-prompt-submit.sh');
473
- if (existsSync(commandsHookPath))
474
- return commandsHookPath;
475
- // 4. Marketplace path
476
432
  const marketplacePath = join(home, '.claude', 'plugins', 'marketplaces', 'specweave', hookRelPath);
477
433
  if (existsSync(marketplacePath))
478
434
  return marketplacePath;
@@ -495,31 +451,5 @@ export class InstallationHealthChecker {
495
451
  return [];
496
452
  }
497
453
  }
498
- /** Recursively collect all .md file relative paths under a directory. */
499
- walkMdFiles(dir, prefix) {
500
- const results = [];
501
- try {
502
- for (const entry of readdirSync(dir)) {
503
- const fullPath = join(dir, entry);
504
- const relPath = prefix ? `${prefix}/${entry}` : entry;
505
- try {
506
- const stat = statSync(fullPath);
507
- if (stat.isDirectory()) {
508
- results.push(...this.walkMdFiles(fullPath, relPath));
509
- }
510
- else if (stat.isFile() && entry.endsWith('.md')) {
511
- results.push(relPath);
512
- }
513
- }
514
- catch {
515
- // Skip unreadable entries
516
- }
517
- }
518
- }
519
- catch {
520
- // Skip unreadable directories
521
- }
522
- return results;
523
- }
524
454
  }
525
455
  //# sourceMappingURL=installation-health-checker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"installation-health-checker.js","sourceRoot":"","sources":["../../../../../src/core/doctor/checkers/installation-health-checker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installation-health-checker.js","sourceRoot":"","sources":["../../../../../src/core/doctor/checkers/installation-health-checker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LifecycleHookDispatcher.d.ts","sourceRoot":"","sources":["../../../../src/core/hooks/LifecycleHookDispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC;;;;;OAKG;WACU,kBAAkB,CAC7B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAwChB;;;;;;OAMG;WACU,eAAe,CAC1B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAqChB;;;;;;;;OAQG;WACU,eAAe,CAC1B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;IAsG/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAUzB;;OAEG;mBACkB,eAAe;IAQpC;;;;;;;;OAQG;mBACkB,eAAe;IA6EpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;CAOxB"}
1
+ {"version":3,"file":"LifecycleHookDispatcher.d.ts","sourceRoot":"","sources":["../../../../src/core/hooks/LifecycleHookDispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC;;;;;OAKG;WACU,kBAAkB,CAC7B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAwChB;;;;;;OAMG;WACU,eAAe,CAC1B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAqChB;;;;;;;;OAQG;WACU,eAAe,CAC1B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;IA2G/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAUzB;;OAEG;mBACkB,eAAe;IAQpC;;;;;;;;OAQG;mBACkB,eAAe;IA6EpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;CAOxB"}
@@ -122,7 +122,12 @@ export class LifecycleHookDispatcher {
122
122
  return result;
123
123
  const shouldSyncLivingDocs = doneConfig.sync_living_docs === true;
124
124
  const shouldSyncGitHubProject = doneConfig.sync_to_github_project === true;
125
- const shouldCloseIssue = doneConfig.close_github_issue === true;
125
+ // v1.0.357: Support closing issues for ALL providers (JIRA/ADO/GitHub)
126
+ // close_github_issue is the legacy flag; close_external_issue is the new generic one.
127
+ // SyncCoordinator handles ALL providers despite the legacy flag name.
128
+ const shouldCloseIssue = doneConfig.close_github_issue === true
129
+ || doneConfig.close_external_issue === true
130
+ || doneConfig.close_jira_issue === true;
126
131
  // STEP 1: Living docs sync MUST run first.
127
132
  // It updates living docs files AND chains to GitHub via syncToExternalTools().
128
133
  // GitHubFeatureSync has a 30s sync lock, so running GitHub sync in parallel
@@ -1 +1 @@
1
- {"version":3,"file":"LifecycleHookDispatcher.js","sourceRoot":"","sources":["../../../../src/core/hooks/LifecycleHookDispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LifecycleHookDispatcher.js","sourceRoot":"","sources":["../../../../src/core/hooks/LifecycleHookDispatcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"completion-validator.d.ts","sourceRoot":"","sources":["../../../../src/core/increment/completion-validator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAKpD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;GAMG;AACH,qBAAa,4BAA4B;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;WACU,kBAAkB,CAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAO,GAC5D,OAAO,CAAC,gBAAgB,CAAC;IAwL5B;;;;;;;;;;;;;;;OAeG;mBACkB,0BAA0B;IA4G/C;;;;;;;;;;;OAWG;mBACkB,kBAAkB;IAqEvC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAiDtC;;;;;;;OAOG;WACU,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAa/D;;;;;;;OAOG;WACU,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAarE"}
1
+ {"version":3,"file":"completion-validator.d.ts","sourceRoot":"","sources":["../../../../src/core/increment/completion-validator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAMpD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;GAMG;AACH,qBAAa,4BAA4B;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;WACU,kBAAkB,CAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAO,GAC5D,OAAO,CAAC,gBAAgB,CAAC;IAwL5B;;;;;;;;;;;;;;;OAeG;mBACkB,0BAA0B;IA4G/C;;;;;;;;;;;OAWG;mBACkB,kBAAkB;IAqEvC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAiDtC;;;;;;;OAOG;WACU,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAa/D;;;;;;;OAOG;WACU,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAarE"}
@@ -5,6 +5,7 @@ import { parseTasksWithUSLinks } from '../../generators/spec/task-parser.js';
5
5
  import { consoleLogger } from '../../utils/logger.js';
6
6
  import { ExternalToolDriftDetector } from '../../utils/external-tool-drift-detector.js';
7
7
  import { validateCoverage } from '../qa/coverage-validator.js';
8
+ import { resolveEffectiveRoot } from '../../utils/find-project-root.js';
8
9
  /**
9
10
  * Validates that an increment is ready for completion
10
11
  * by checking that all ACs are completed and all tasks are done.
@@ -50,7 +51,7 @@ export class IncrementCompletionValidator {
50
51
  const blockOnP0Orphans = options.blockOnP0Orphans ?? true; // Default: block for P0 orphans
51
52
  const errors = [];
52
53
  const warnings = [];
53
- const incrementPath = path.join(process.cwd(), '.specweave', 'increments', incrementId);
54
+ const incrementPath = path.join(resolveEffectiveRoot(), '.specweave', 'increments', incrementId);
54
55
  // Check that required files exist
55
56
  const specPath = path.join(incrementPath, 'spec.md');
56
57
  const tasksPath = path.join(incrementPath, 'tasks.md');
@@ -82,7 +83,7 @@ export class IncrementCompletionValidator {
82
83
  }
83
84
  // NEW (v0.23.0): Validate AC coverage
84
85
  try {
85
- const acManager = new ACStatusManager(process.cwd());
86
+ const acManager = new ACStatusManager(resolveEffectiveRoot());
86
87
  const coverageResult = await this.validateACCoverage(incrementId, specPath, tasksPath, acManager);
87
88
  // CRITICAL: Block closure if P0 ACs are orphaned
88
89
  if (blockOnP0Orphans && coverageResult.orphanedP0.length > 0) {
@@ -112,7 +113,7 @@ export class IncrementCompletionValidator {
112
113
  // This prevents "completed locally but external tools never updated" scenarios
113
114
  // See: ADR-0131 (External Tool Sync Context Detection)
114
115
  try {
115
- const driftDetector = new ExternalToolDriftDetector(process.cwd(), { logger });
116
+ const driftDetector = new ExternalToolDriftDetector(resolveEffectiveRoot(), { logger });
116
117
  const drift = await driftDetector.detectDrift(incrementId);
117
118
  if (drift.externalToolsConfigured && drift.hasDrift) {
118
119
  const hoursSince = drift.hoursSinceSync || 0;
@@ -164,7 +165,7 @@ export class IncrementCompletionValidator {
164
165
  // Only validate if coverage target is set and testMode is not 'none'
165
166
  if (coverageTarget > 0 && testMode !== 'none') {
166
167
  const coverageResult = await validateCoverage({
167
- projectRoot: process.cwd(),
168
+ projectRoot: resolveEffectiveRoot(),
168
169
  coverageTarget,
169
170
  testMode,
170
171
  });
@@ -225,7 +226,7 @@ export class IncrementCompletionValidator {
225
226
  let skipAll = false;
226
227
  let grillRequired = true;
227
228
  try {
228
- const configPath = path.join(process.cwd(), '.specweave', 'config.json');
229
+ const configPath = path.join(resolveEffectiveRoot(), '.specweave', 'config.json');
229
230
  if (await fs.pathExists(configPath)) {
230
231
  const config = JSON.parse(await fs.readFile(configPath, 'utf-8'));
231
232
  if (config.auto?.skipQualityGates === true) {
@@ -428,7 +429,7 @@ export class IncrementCompletionValidator {
428
429
  * @returns Number of open ACs
429
430
  */
430
431
  static async countOpenACs(incrementId) {
431
- const specPath = path.join(process.cwd(), '.specweave', 'increments', incrementId, 'spec.md');
432
+ const specPath = path.join(resolveEffectiveRoot(), '.specweave', 'increments', incrementId, 'spec.md');
432
433
  const content = await fs.readFile(specPath, 'utf-8');
433
434
  // Match unchecked ACs: - [ ] **AC-
434
435
  // Must be at start of line (^), followed by - [ ], then **AC-
@@ -445,7 +446,7 @@ export class IncrementCompletionValidator {
445
446
  * @returns Number of pending tasks
446
447
  */
447
448
  static async countPendingTasks(incrementId) {
448
- const tasksPath = path.join(process.cwd(), '.specweave', 'increments', incrementId, 'tasks.md');
449
+ const tasksPath = path.join(resolveEffectiveRoot(), '.specweave', 'increments', incrementId, 'tasks.md');
449
450
  const content = await fs.readFile(tasksPath, 'utf-8');
450
451
  // Match pending tasks: **Status**: [ ] pending
451
452
  // Case-insensitive, handles variations in whitespace