specweave 0.30.11 → 0.30.12

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 (81) hide show
  1. package/dist/src/cli/commands/init.d.ts.map +1 -1
  2. package/dist/src/cli/commands/init.js +12 -2
  3. package/dist/src/cli/commands/init.js.map +1 -1
  4. package/dist/src/cli/helpers/init/living-docs-preflight.d.ts +5 -1
  5. package/dist/src/cli/helpers/init/living-docs-preflight.d.ts.map +1 -1
  6. package/dist/src/cli/helpers/init/living-docs-preflight.js +80 -28
  7. package/dist/src/cli/helpers/init/living-docs-preflight.js.map +1 -1
  8. package/dist/src/cli/workers/brownfield-worker.d.ts +13 -0
  9. package/dist/src/cli/workers/brownfield-worker.d.ts.map +1 -1
  10. package/dist/src/cli/workers/brownfield-worker.js +154 -0
  11. package/dist/src/cli/workers/brownfield-worker.js.map +1 -1
  12. package/dist/src/cli/workers/living-docs-worker.js +272 -11
  13. package/dist/src/cli/workers/living-docs-worker.js.map +1 -1
  14. package/dist/src/core/background/brownfield-launcher.d.ts +2 -1
  15. package/dist/src/core/background/brownfield-launcher.d.ts.map +1 -1
  16. package/dist/src/core/background/brownfield-launcher.js.map +1 -1
  17. package/dist/src/core/background/types.d.ts +10 -2
  18. package/dist/src/core/background/types.d.ts.map +1 -1
  19. package/dist/src/core/discrepancy/brownfield-types.d.ts +3 -1
  20. package/dist/src/core/discrepancy/brownfield-types.d.ts.map +1 -1
  21. package/dist/src/core/living-docs/feature-archiver.d.ts +39 -0
  22. package/dist/src/core/living-docs/feature-archiver.d.ts.map +1 -1
  23. package/dist/src/core/living-docs/feature-archiver.js +197 -0
  24. package/dist/src/core/living-docs/feature-archiver.js.map +1 -1
  25. package/dist/src/core/llm/availability-messages.d.ts +33 -0
  26. package/dist/src/core/llm/availability-messages.d.ts.map +1 -0
  27. package/dist/src/core/llm/availability-messages.js +170 -0
  28. package/dist/src/core/llm/availability-messages.js.map +1 -0
  29. package/dist/src/core/llm/index.d.ts +34 -0
  30. package/dist/src/core/llm/index.d.ts.map +1 -0
  31. package/dist/src/core/llm/index.js +35 -0
  32. package/dist/src/core/llm/index.js.map +1 -0
  33. package/dist/src/core/llm/provider-factory.d.ts +48 -0
  34. package/dist/src/core/llm/provider-factory.d.ts.map +1 -0
  35. package/dist/src/core/llm/provider-factory.js +274 -0
  36. package/dist/src/core/llm/provider-factory.js.map +1 -0
  37. package/dist/src/core/llm/providers/anthropic-provider.d.ts +66 -0
  38. package/dist/src/core/llm/providers/anthropic-provider.d.ts.map +1 -0
  39. package/dist/src/core/llm/providers/anthropic-provider.js +195 -0
  40. package/dist/src/core/llm/providers/anthropic-provider.js.map +1 -0
  41. package/dist/src/core/llm/providers/azure-openai-provider.d.ts +47 -0
  42. package/dist/src/core/llm/providers/azure-openai-provider.d.ts.map +1 -0
  43. package/dist/src/core/llm/providers/azure-openai-provider.js +116 -0
  44. package/dist/src/core/llm/providers/azure-openai-provider.js.map +1 -0
  45. package/dist/src/core/llm/providers/bedrock-provider.d.ts +44 -0
  46. package/dist/src/core/llm/providers/bedrock-provider.d.ts.map +1 -0
  47. package/dist/src/core/llm/providers/bedrock-provider.js +149 -0
  48. package/dist/src/core/llm/providers/bedrock-provider.js.map +1 -0
  49. package/dist/src/core/llm/providers/claude-code-provider.d.ts +115 -0
  50. package/dist/src/core/llm/providers/claude-code-provider.d.ts.map +1 -0
  51. package/dist/src/core/llm/providers/claude-code-provider.js +379 -0
  52. package/dist/src/core/llm/providers/claude-code-provider.js.map +1 -0
  53. package/dist/src/core/llm/providers/ollama-provider.d.ts +40 -0
  54. package/dist/src/core/llm/providers/ollama-provider.d.ts.map +1 -0
  55. package/dist/src/core/llm/providers/ollama-provider.js +116 -0
  56. package/dist/src/core/llm/providers/ollama-provider.js.map +1 -0
  57. package/dist/src/core/llm/providers/openai-provider.d.ts +44 -0
  58. package/dist/src/core/llm/providers/openai-provider.d.ts.map +1 -0
  59. package/dist/src/core/llm/providers/openai-provider.js +119 -0
  60. package/dist/src/core/llm/providers/openai-provider.js.map +1 -0
  61. package/dist/src/core/llm/providers/vertex-ai-provider.d.ts +46 -0
  62. package/dist/src/core/llm/providers/vertex-ai-provider.d.ts.map +1 -0
  63. package/dist/src/core/llm/providers/vertex-ai-provider.js +123 -0
  64. package/dist/src/core/llm/providers/vertex-ai-provider.js.map +1 -0
  65. package/dist/src/core/llm/types.d.ts +181 -0
  66. package/dist/src/core/llm/types.d.ts.map +1 -0
  67. package/dist/src/core/llm/types.js +56 -0
  68. package/dist/src/core/llm/types.js.map +1 -0
  69. package/dist/src/importers/item-converter.d.ts.map +1 -1
  70. package/dist/src/importers/item-converter.js +69 -12
  71. package/dist/src/importers/item-converter.js.map +1 -1
  72. package/dist/src/living-docs/enterprise-analyzer.d.ts +160 -0
  73. package/dist/src/living-docs/enterprise-analyzer.d.ts.map +1 -0
  74. package/dist/src/living-docs/enterprise-analyzer.js +836 -0
  75. package/dist/src/living-docs/enterprise-analyzer.js.map +1 -0
  76. package/dist/src/living-docs/fs-id-allocator.d.ts +5 -0
  77. package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
  78. package/dist/src/living-docs/fs-id-allocator.js +12 -5
  79. package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
  80. package/package.json +1 -1
  81. package/plugins/specweave/commands/specweave-archive.md +69 -2
@@ -15,6 +15,7 @@ import * as path from 'node:path';
15
15
  import { updateBrownfieldProgress, completeBrownfieldJob, failBrownfieldJob, } from '../../core/background/index.js';
16
16
  import { BrownfieldDiscrepancyManager, } from '../../core/discrepancy/index.js';
17
17
  import { consoleLogger } from '../../utils/logger.js';
18
+ import { createProvider } from '../../core/llm/provider-factory.js';
18
19
  /**
19
20
  * Brownfield Analysis Worker
20
21
  */
@@ -37,6 +38,41 @@ export class BrownfieldAnalysisWorker {
37
38
  docs: [],
38
39
  };
39
40
  }
41
+ /**
42
+ * Initialize LLM provider for deep analysis modes
43
+ */
44
+ async initLLMProvider() {
45
+ if (this.context.depth === 'deep-native') {
46
+ try {
47
+ this.llmProvider = await createProvider({
48
+ provider: 'claude-code',
49
+ model: 'opus', // Use Opus 4.5 for best analysis quality
50
+ }, { logger: this.logger });
51
+ this.logger.log('Initialized Claude Code native provider (using MAX subscription)');
52
+ }
53
+ catch (error) {
54
+ this.logger.warn('Claude Code not available, falling back to standard analysis');
55
+ this.context.depth = 'standard';
56
+ }
57
+ }
58
+ else if (this.context.depth === 'deep-api') {
59
+ // Try to load LLM config from project
60
+ const configPath = path.join(this.projectPath, '.specweave', 'config.json');
61
+ if (fs.existsSync(configPath)) {
62
+ try {
63
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
64
+ if (config.llm) {
65
+ this.llmProvider = await createProvider(config.llm, { logger: this.logger });
66
+ this.logger.log(`Initialized ${config.llm.provider} provider for deep analysis`);
67
+ }
68
+ }
69
+ catch (error) {
70
+ this.logger.warn('Failed to initialize LLM provider, falling back to standard analysis');
71
+ this.context.depth = 'standard';
72
+ }
73
+ }
74
+ }
75
+ }
40
76
  /**
41
77
  * Run the brownfield analysis
42
78
  */
@@ -48,6 +84,8 @@ export class BrownfieldAnalysisWorker {
48
84
  'discrepancy-detect',
49
85
  'reporting',
50
86
  ];
87
+ // Initialize LLM provider for deep analysis modes
88
+ await this.initLLMProvider();
51
89
  // Resume from checkpoint if exists
52
90
  const startPhaseIndex = this.config.checkpoint
53
91
  ? phases.indexOf(this.config.checkpoint.phase)
@@ -200,6 +238,12 @@ export class BrownfieldAnalysisWorker {
200
238
  lastChecked: new Date().toISOString(),
201
239
  });
202
240
  }
241
+ // AI-powered deep analysis (when provider available)
242
+ if (this.llmProvider && (this.context.depth === 'deep-native' || this.context.depth === 'deep-api')) {
243
+ this.logger.log('Running AI-powered deep analysis...');
244
+ const aiDiscrepancies = await this.runAIAnalysis();
245
+ discrepancies.push(...aiDiscrepancies);
246
+ }
203
247
  // Create discrepancies in batch
204
248
  if (discrepancies.length > 0) {
205
249
  await this.discrepancyManager.createBatch(discrepancies);
@@ -207,6 +251,116 @@ export class BrownfieldAnalysisWorker {
207
251
  this.logger.log(`Detected ${discrepancies.length} discrepancies`);
208
252
  return discrepancies.length;
209
253
  }
254
+ /**
255
+ * AI-powered deep analysis using Claude Code or configured LLM
256
+ */
257
+ async runAIAnalysis() {
258
+ if (!this.llmProvider)
259
+ return [];
260
+ const aiDiscrepancies = [];
261
+ // Analyze modules in batches to avoid context overflow
262
+ const BATCH_SIZE = 5;
263
+ const totalModules = this.context.modules.length;
264
+ for (let i = 0; i < totalModules; i += BATCH_SIZE) {
265
+ const batch = this.context.modules.slice(i, Math.min(i + BATCH_SIZE, totalModules));
266
+ this.logger.log(`AI analyzing modules ${i + 1}-${Math.min(i + BATCH_SIZE, totalModules)} of ${totalModules}...`);
267
+ for (const module of batch) {
268
+ try {
269
+ const moduleDiscrepancies = await this.analyzeModuleWithAI(module);
270
+ aiDiscrepancies.push(...moduleDiscrepancies);
271
+ }
272
+ catch (error) {
273
+ this.logger.warn(`AI analysis failed for module ${module.name}: ${error}`);
274
+ }
275
+ }
276
+ }
277
+ return aiDiscrepancies;
278
+ }
279
+ /**
280
+ * Analyze a single module with AI for semantic discrepancies
281
+ */
282
+ async analyzeModuleWithAI(module) {
283
+ if (!this.llmProvider)
284
+ return [];
285
+ // Read sample code from the module
286
+ const codeFiles = this.context.codeFiles.filter(f => f.relativePath.startsWith(module.path) || path.dirname(f.relativePath) === module.path);
287
+ if (codeFiles.length === 0)
288
+ return [];
289
+ // Read first file as sample (limit to 2000 chars)
290
+ let sampleCode = '';
291
+ try {
292
+ const firstFile = codeFiles[0];
293
+ const content = fs.readFileSync(firstFile.path, 'utf-8');
294
+ sampleCode = content.slice(0, 2000);
295
+ }
296
+ catch {
297
+ return [];
298
+ }
299
+ // Find related docs
300
+ const relatedDocs = this.context.docs.filter(d => d.relativePath.toLowerCase().includes(module.name.toLowerCase()) ||
301
+ d.topics.some(t => t.toLowerCase().includes(module.name.toLowerCase())));
302
+ const docSummary = relatedDocs.length > 0
303
+ ? relatedDocs.map(d => `${d.relativePath}: ${d.title || 'No title'}`).join('\n')
304
+ : 'No documentation found';
305
+ const prompt = `Analyze this code module for documentation quality:
306
+
307
+ MODULE: ${module.name}
308
+ EXPORTS: ${module.exports.slice(0, 10).map(e => `${e.name} (${e.type})`).join(', ')}
309
+
310
+ SAMPLE CODE:
311
+ \`\`\`typescript
312
+ ${sampleCode}
313
+ \`\`\`
314
+
315
+ RELATED DOCS:
316
+ ${docSummary}
317
+
318
+ Identify documentation issues. Return JSON array of issues:
319
+ [{"type": "missing-docs"|"stale-docs"|"incomplete-docs", "summary": "brief description", "details": "explanation", "priority": "critical"|"high"|"medium"|"low", "confidence": 0-100}]
320
+
321
+ Only include issues with confidence > 70. Return empty array [] if no issues found.`;
322
+ try {
323
+ const result = await this.llmProvider.analyzeStructured(prompt, {
324
+ schema: {
325
+ type: 'array',
326
+ items: {
327
+ type: 'object',
328
+ properties: {
329
+ type: { type: 'string' },
330
+ summary: { type: 'string' },
331
+ details: { type: 'string' },
332
+ priority: { type: 'string' },
333
+ confidence: { type: 'number' },
334
+ },
335
+ required: ['type', 'summary', 'details', 'priority', 'confidence'],
336
+ },
337
+ },
338
+ timeout: 60000,
339
+ });
340
+ // Convert AI results to discrepancies
341
+ return result.data
342
+ .filter(item => item.confidence > 70)
343
+ .map(item => ({
344
+ type: item.type,
345
+ module: module.name,
346
+ codeLocation: module.path,
347
+ summary: item.summary,
348
+ details: item.details,
349
+ evidence: { aiAnalyzed: true },
350
+ priority: item.priority,
351
+ confidence: item.confidence,
352
+ autoDetected: true,
353
+ status: 'pending',
354
+ detectedAt: new Date().toISOString(),
355
+ detectedBy: `ai-${this.llmProvider.name}`,
356
+ lastChecked: new Date().toISOString(),
357
+ }));
358
+ }
359
+ catch (error) {
360
+ this.logger.warn(`AI analysis failed for ${module.name}: ${error}`);
361
+ return [];
362
+ }
363
+ }
210
364
  /**
211
365
  * Phase 5: Reporting - Generate summary
212
366
  */
@@ -1 +1 @@
1
- {"version":3,"file":"brownfield-worker.js","sourceRoot":"","sources":["../../../../src/cli/workers/brownfield-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brownfield-worker.js","sourceRoot":"","sources":["../../../../src/cli/workers/brownfield-worker.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,86 @@ let recordError;
44
44
  let completeJob;
45
45
  let isPhaseCompleted;
46
46
  let getResumePoint;
47
+ // LLM Provider for AI-powered deep analysis
48
+ let createProvider;
49
+ let isClaudeCodeAvailable;
50
+ let getClaudeCodeStatus;
51
+ let llmProvider = null;
52
+ // Enterprise Documentation Analysis
53
+ let EnterpriseDocAnalyzer;
54
+ let generateEnterpriseReport;
55
+ // Claude Availability Messaging
56
+ let getAvailabilityMessage;
57
+ let formatAvailabilityMessage;
58
+ let getSimpleErrorMessage;
59
+ /**
60
+ * AI-enhanced module analysis using Claude Code
61
+ */
62
+ async function runAIModuleAnalysis(moduleName, basicAnalysis, provider, log) {
63
+ // Build context from basic analysis
64
+ const filesSummary = basicAnalysis.filesAnalyzed
65
+ .slice(0, 5) // Limit to top 5 files to avoid prompt explosion
66
+ .map((f) => `- ${f.path}: ${f.exports?.length || 0} exports`)
67
+ .join('\n');
68
+ const exportsSummary = basicAnalysis.keyExports
69
+ ?.slice(0, 10)
70
+ .map((e) => `- ${e.name}: ${e.type}`)
71
+ .join('\n') || 'No exports detected';
72
+ const prompt = `Analyze this TypeScript module and provide structured insights.
73
+
74
+ Module: ${moduleName}
75
+ Files analyzed: ${basicAnalysis.filesAnalyzed.length}
76
+ Total exports: ${basicAnalysis.totalExports}
77
+
78
+ Key files:
79
+ ${filesSummary}
80
+
81
+ Key exports:
82
+ ${exportsSummary}
83
+
84
+ Provide a JSON response with EXACTLY this structure (no markdown, no code blocks, just pure JSON):
85
+ {
86
+ "purpose": "Brief description of what this module does (1-2 sentences)",
87
+ "keyConcepts": ["concept1", "concept2", "concept3"],
88
+ "dependencies": ["likely internal or external dependencies"],
89
+ "complexity": "low|medium|high",
90
+ "suggestedDocs": ["doc1.md", "doc2.md"],
91
+ "architecturalNotes": "Brief notes about patterns, concerns, or suggestions"
92
+ }`;
93
+ try {
94
+ log(` Sending to Claude Code Opus 4.5...`);
95
+ const result = await provider.analyze(prompt);
96
+ if (!result || !result.content) {
97
+ log(` Empty response from AI`);
98
+ return null;
99
+ }
100
+ const response = result.content;
101
+ // Parse JSON response (Claude may wrap in code blocks)
102
+ let jsonStr = response.trim();
103
+ // Remove markdown code blocks if present
104
+ if (jsonStr.startsWith('```')) {
105
+ jsonStr = jsonStr.replace(/^```(?:json)?\n?/, '').replace(/\n?```$/, '');
106
+ }
107
+ const parsed = JSON.parse(jsonStr);
108
+ // Validate required fields
109
+ if (!parsed.purpose || !parsed.complexity) {
110
+ log(` Invalid AI response structure`);
111
+ return null;
112
+ }
113
+ return {
114
+ purpose: parsed.purpose,
115
+ keyConcepts: parsed.keyConcepts || [],
116
+ dependencies: parsed.dependencies || [],
117
+ complexity: parsed.complexity,
118
+ suggestedDocs: parsed.suggestedDocs || [],
119
+ architecturalNotes: parsed.architecturalNotes || ''
120
+ };
121
+ }
122
+ catch (err) {
123
+ log(` AI analysis error: ${err.message}`);
124
+ return null;
125
+ }
126
+ }
47
127
  /**
48
128
  * Main worker entry point
49
129
  */
@@ -167,10 +247,131 @@ async function main() {
167
247
  completeJob = checkpointModule.completeJob;
168
248
  isPhaseCompleted = checkpointModule.isPhaseCompleted;
169
249
  getResumePoint = checkpointModule.getResumePoint;
250
+ // Load enterprise analyzer
251
+ const enterpriseModule = await import('../../living-docs/enterprise-analyzer.js');
252
+ EnterpriseDocAnalyzer = enterpriseModule.EnterpriseDocAnalyzer;
253
+ generateEnterpriseReport = enterpriseModule.generateEnterpriseReport;
254
+ // Load availability messages
255
+ const availabilityModule = await import('../../core/llm/availability-messages.js');
256
+ getAvailabilityMessage = availabilityModule.getAvailabilityMessage;
257
+ formatAvailabilityMessage = availabilityModule.formatAvailabilityMessage;
258
+ getSimpleErrorMessage = availabilityModule.getSimpleErrorMessage;
170
259
  log('Dependencies loaded successfully');
171
260
  log('');
172
- // Get job manager and mark as running
261
+ // Initialize LLM provider for AI-powered deep analysis
262
+ const depth = jobConfig.userInputs.analysisDepth;
263
+ if (depth === 'deep-native' || depth === 'deep-api') {
264
+ log('Initializing AI provider for deep analysis...');
265
+ try {
266
+ const providerModule = await import('../../core/llm/provider-factory.js');
267
+ createProvider = providerModule.createProvider;
268
+ isClaudeCodeAvailable = providerModule.isClaudeCodeAvailable;
269
+ getClaudeCodeStatus = providerModule.getClaudeCodeStatus;
270
+ if (depth === 'deep-native') {
271
+ // Use Claude Code CLI with MAX subscription (FREE!)
272
+ const available = await isClaudeCodeAvailable();
273
+ if (available) {
274
+ llmProvider = await createProvider({
275
+ provider: 'claude-code',
276
+ model: 'opus', // Opus 4.5 for best quality
277
+ });
278
+ log(' ✓ Claude Code native provider initialized (using MAX subscription)');
279
+ log(' Model: Opus 4.5');
280
+ log(' Cost: FREE (included in MAX)');
281
+ }
282
+ else {
283
+ // Show detailed availability message with installation instructions
284
+ log(' ⚠ Claude Code CLI not available');
285
+ log('');
286
+ try {
287
+ const status = await getClaudeCodeStatus();
288
+ const availMsg = getAvailabilityMessage(status);
289
+ log(` ${availMsg.title}`);
290
+ log(` ${availMsg.message}`);
291
+ log('');
292
+ if (availMsg.instructions.length > 0) {
293
+ log(' Installation Instructions:');
294
+ for (const instruction of availMsg.instructions) {
295
+ log(` ${instruction}`);
296
+ }
297
+ log('');
298
+ }
299
+ if (availMsg.alternatives.length > 0) {
300
+ log(' Alternatives:');
301
+ for (const alt of availMsg.alternatives) {
302
+ log(` • ${alt}`);
303
+ }
304
+ log('');
305
+ }
306
+ log(` Learn more: ${availMsg.learnMore}`);
307
+ }
308
+ catch {
309
+ log(' Install Claude Code: npm install -g @anthropic-ai/claude-code');
310
+ log(' Then authenticate: claude login');
311
+ }
312
+ log('');
313
+ log(' Falling back to standard analysis (no AI insights)');
314
+ }
315
+ }
316
+ else if (depth === 'deep-api') {
317
+ // Load from project config
318
+ const llmConfig = providerModule.loadLLMConfig(projectPath);
319
+ if (llmConfig) {
320
+ llmProvider = await createProvider(llmConfig);
321
+ log(` ✓ ${llmConfig.provider} provider initialized`);
322
+ log(` Model: ${llmConfig.model}`);
323
+ }
324
+ else {
325
+ log(' ⚠ No LLM config found in .specweave/config.json, falling back to standard analysis');
326
+ }
327
+ }
328
+ }
329
+ catch (err) {
330
+ log(` ⚠ Failed to initialize AI provider: ${err.message}`);
331
+ log(' Falling back to standard analysis');
332
+ }
333
+ }
334
+ log('');
335
+ // Get job manager and ensure job is registered
173
336
  const jobManager = getJobManager(projectPath);
337
+ // Auto-register if job doesn't exist in background-jobs.json
338
+ // This handles cases where worker is launched directly (not via job-launcher)
339
+ if (!jobManager.getJob(jobId)) {
340
+ log('Job not registered, auto-registering...');
341
+ const stateFilePath = path.join(projectPath, '.specweave/state/background-jobs.json');
342
+ // Load existing state or create new one
343
+ let state = { jobs: [] };
344
+ try {
345
+ if (fs.existsSync(stateFilePath)) {
346
+ state = JSON.parse(fs.readFileSync(stateFilePath, 'utf-8').toString());
347
+ }
348
+ }
349
+ catch {
350
+ // Corrupted file - start fresh
351
+ }
352
+ state.jobs.push({
353
+ id: jobId,
354
+ type: 'living-docs-builder',
355
+ status: 'pending',
356
+ progress: {
357
+ current: 0,
358
+ total: 100,
359
+ percentage: 0,
360
+ itemsCompleted: [],
361
+ itemsFailed: []
362
+ },
363
+ startedAt: new Date().toISOString(),
364
+ updatedAt: new Date().toISOString(),
365
+ config: {
366
+ type: 'living-docs-builder',
367
+ projectPath,
368
+ userInputs: jobConfig.userInputs
369
+ }
370
+ });
371
+ fs.mkdirSync(path.dirname(stateFilePath), { recursive: true });
372
+ fs.writeFileSync(stateFilePath, JSON.stringify(state, null, 2));
373
+ log(' ✓ Job registered in background-jobs.json');
374
+ }
174
375
  jobManager.startJob(jobId);
175
376
  // Check for existing checkpoint (resume support)
176
377
  let checkpoint = loadCheckpoint(projectPath, jobId);
@@ -299,18 +500,23 @@ async function main() {
299
500
  // ═══════════════════════════════════════════════════════════════
300
501
  const moduleAnalyses = new Map();
301
502
  if (!isPhaseCompleted(checkpoint, 'deep-dive')) {
302
- log('PHASE: Deep Dive - Analyzing modules...');
503
+ const usingAI = llmProvider !== null;
504
+ log(`PHASE: Deep Dive - Analyzing modules...${usingAI ? ' (AI-POWERED)' : ''}`);
505
+ if (usingAI) {
506
+ log(' Using Claude Code Opus 4.5 for semantic analysis');
507
+ }
303
508
  // Determine which modules to analyze based on depth setting
304
509
  let modulesToAnalyze = [...discovery.modules];
305
- if (jobConfig.userInputs.analysisDepth === 'quick') {
510
+ const analysisDepth = jobConfig.userInputs.analysisDepth;
511
+ if (analysisDepth === 'quick') {
306
512
  // Only top 5 priority modules
307
513
  modulesToAnalyze = modulesToAnalyze.slice(0, 5);
308
514
  }
309
- else if (jobConfig.userInputs.analysisDepth === 'standard') {
515
+ else if (analysisDepth === 'standard') {
310
516
  // Top 10
311
517
  modulesToAnalyze = modulesToAnalyze.slice(0, 10);
312
518
  }
313
- // 'deep' = all modules
519
+ // deep-native, deep-interactive, deep-api = all modules
314
520
  // Check for resume point
315
521
  const resumePoint = getResumePoint(projectPath, jobId);
316
522
  let startIndex = 0;
@@ -330,9 +536,25 @@ async function main() {
330
536
  updateProgress('deep-dive', Math.round(((i + 1) / modulesToAnalyze.length) * 100), `Analyzing ${module.name}`);
331
537
  try {
332
538
  const workItemMatches = matchResult?.moduleMap?.get(module.name)?.matches || [];
539
+ // Basic Node.js analysis first
333
540
  const analysis = await analyzeModule(projectPath, module, discovery.samplingConfig, workItemMatches, (_moduleName, _fileIdx, _totalFiles) => {
334
541
  // File-level progress
335
542
  });
543
+ // AI-enhanced analysis when provider is available
544
+ if (llmProvider && analysis.filesAnalyzed.length > 0) {
545
+ log(` Running AI analysis on ${module.name}...`);
546
+ try {
547
+ const aiAnalysis = await runAIModuleAnalysis(module.name, analysis, llmProvider, log);
548
+ // Merge AI insights into analysis
549
+ if (aiAnalysis) {
550
+ analysis.aiInsights = aiAnalysis;
551
+ log(` AI insights generated`);
552
+ }
553
+ }
554
+ catch (aiErr) {
555
+ log(` AI analysis skipped: ${aiErr.message}`);
556
+ }
557
+ }
336
558
  moduleAnalyses.set(module.name, analysis);
337
559
  await saveModuleAnalysis(projectPath, analysis);
338
560
  updateModuleProgress(projectPath, jobId, module.name, remaining);
@@ -370,21 +592,60 @@ async function main() {
370
592
  throw err;
371
593
  }
372
594
  // ═══════════════════════════════════════════════════════════════
595
+ // PHASE 7: Enterprise Documentation Analysis
596
+ // ═══════════════════════════════════════════════════════════════
597
+ log('PHASE: Enterprise - Analyzing documentation health...');
598
+ updateProgress('enterprise', 0, 'Running enterprise documentation analysis');
599
+ try {
600
+ const analyzer = new EnterpriseDocAnalyzer({
601
+ projectPath,
602
+ logger: {
603
+ info: (msg) => log(` [INFO] ${msg}`),
604
+ warn: (msg) => log(` [WARN] ${msg}`),
605
+ error: (msg) => log(` [ERROR] ${msg}`),
606
+ debug: () => { }, // Suppress debug logs
607
+ verbose: () => { },
608
+ formatError: (err) => err.message,
609
+ },
610
+ includeArchived: false,
611
+ });
612
+ updateProgress('enterprise', 25, 'Scanning documentation categories');
613
+ const enterpriseReport = await analyzer.analyze();
614
+ updateProgress('enterprise', 75, 'Generating enterprise report');
615
+ // Generate and save the enterprise report
616
+ const reportContent = generateEnterpriseReport(enterpriseReport);
617
+ const enterpriseReportPath = path.join(projectPath, '.specweave/docs/ENTERPRISE-HEALTH.md');
618
+ fs.writeFileSync(enterpriseReportPath, reportContent);
619
+ log(` Created: ${enterpriseReportPath}`);
620
+ log(` Summary:`);
621
+ log(` - Documentation categories: ${enterpriseReport.categories.length}`);
622
+ log(` - Total documents: ${enterpriseReport.totalDocuments}`);
623
+ log(` - Health score: ${enterpriseReport.healthScore.overall}% (Grade: ${enterpriseReport.healthScore.grade})`);
624
+ log(` - Freshness: ${enterpriseReport.healthScore.freshness}%`);
625
+ log(` - Coverage: ${enterpriseReport.healthScore.coverage}%`);
626
+ log(` - Accuracy: ${enterpriseReport.healthScore.accuracy}%`);
627
+ log(` - Spec-code mismatches: ${enterpriseReport.mismatches.length}`);
628
+ log(` - Recommendations: ${enterpriseReport.recommendations.length}`);
629
+ updateProgress('enterprise', 100, 'Enterprise analysis complete');
630
+ }
631
+ catch (err) {
632
+ log(` WARNING: Enterprise analysis failed: ${err.message}`);
633
+ log(' Continuing without enterprise report...');
634
+ // Non-fatal - continue to completion
635
+ }
636
+ // ═══════════════════════════════════════════════════════════════
373
637
  // Complete
374
638
  // ═══════════════════════════════════════════════════════════════
375
639
  completeJob(projectPath, jobId);
376
- jobManager.completeJob(jobId, {
377
- completedAt: new Date().toISOString(),
378
- modulesAnalyzed: moduleAnalyses.size,
379
- suggestionsGenerated: true
380
- });
640
+ // Note: completeJob(jobId, optionalError?) - no error means success
641
+ jobManager.completeJob(jobId);
381
642
  updateProgress('complete', 100, 'Living docs generation complete');
382
643
  log('');
383
644
  log('════════════════════════════════════════════════════════════');
384
645
  log('LIVING DOCS BUILDER COMPLETED');
385
646
  log('════════════════════════════════════════════════════════════');
386
647
  log(`Completed at: ${new Date().toISOString()}`);
387
- log(`Output: .specweave/docs/SUGGESTIONS.md`);
648
+ log(`Output: .specweave/docs/SUGGESTIONS.md, .specweave/docs/ENTERPRISE-HEALTH.md`);
388
649
  }
389
650
  catch (err) {
390
651
  log(`FATAL ERROR: ${err.message}`);