specweave 0.30.16 → 0.30.17

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 (53) hide show
  1. package/CLAUDE.md +43 -0
  2. package/dist/src/cli/workers/living-docs-worker.js +80 -44
  3. package/dist/src/cli/workers/living-docs-worker.js.map +1 -1
  4. package/dist/src/core/living-docs/living-docs-sync.d.ts +26 -14
  5. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  6. package/dist/src/core/living-docs/living-docs-sync.js +137 -71
  7. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  8. package/dist/src/core/llm/index.d.ts +1 -0
  9. package/dist/src/core/llm/index.d.ts.map +1 -1
  10. package/dist/src/core/llm/index.js +2 -0
  11. package/dist/src/core/llm/index.js.map +1 -1
  12. package/dist/src/core/llm/providers/anthropic-provider.d.ts.map +1 -1
  13. package/dist/src/core/llm/providers/anthropic-provider.js +15 -26
  14. package/dist/src/core/llm/providers/anthropic-provider.js.map +1 -1
  15. package/dist/src/core/llm/providers/azure-openai-provider.d.ts.map +1 -1
  16. package/dist/src/core/llm/providers/azure-openai-provider.js +13 -5
  17. package/dist/src/core/llm/providers/azure-openai-provider.js.map +1 -1
  18. package/dist/src/core/llm/providers/bedrock-provider.d.ts.map +1 -1
  19. package/dist/src/core/llm/providers/bedrock-provider.js +12 -8
  20. package/dist/src/core/llm/providers/bedrock-provider.js.map +1 -1
  21. package/dist/src/core/llm/providers/claude-code-provider.d.ts.map +1 -1
  22. package/dist/src/core/llm/providers/claude-code-provider.js +15 -25
  23. package/dist/src/core/llm/providers/claude-code-provider.js.map +1 -1
  24. package/dist/src/core/llm/providers/ollama-provider.d.ts.map +1 -1
  25. package/dist/src/core/llm/providers/ollama-provider.js +12 -9
  26. package/dist/src/core/llm/providers/ollama-provider.js.map +1 -1
  27. package/dist/src/core/llm/providers/openai-provider.d.ts.map +1 -1
  28. package/dist/src/core/llm/providers/openai-provider.js +13 -6
  29. package/dist/src/core/llm/providers/openai-provider.js.map +1 -1
  30. package/dist/src/core/llm/providers/vertex-ai-provider.d.ts.map +1 -1
  31. package/dist/src/core/llm/providers/vertex-ai-provider.js +12 -8
  32. package/dist/src/core/llm/providers/vertex-ai-provider.js.map +1 -1
  33. package/dist/src/utils/llm-json-extractor.d.ts +105 -0
  34. package/dist/src/utils/llm-json-extractor.d.ts.map +1 -0
  35. package/dist/src/utils/llm-json-extractor.js +336 -0
  36. package/dist/src/utils/llm-json-extractor.js.map +1 -0
  37. package/dist/src/utils/structure-level-detector.d.ts +105 -0
  38. package/dist/src/utils/structure-level-detector.d.ts.map +1 -0
  39. package/dist/src/utils/structure-level-detector.js +388 -0
  40. package/dist/src/utils/structure-level-detector.js.map +1 -0
  41. package/package.json +1 -1
  42. package/plugins/specweave/commands/specweave-increment.md +57 -9
  43. package/plugins/specweave/commands/specweave-sync-specs.md +37 -6
  44. package/plugins/specweave/hooks/hooks.json +10 -0
  45. package/plugins/specweave/hooks/spec-project-validator.sh +111 -0
  46. package/plugins/specweave/skills/increment-planner/SKILL.md +109 -10
  47. package/plugins/specweave/skills/increment-planner/templates/spec-multi-project.md +2 -0
  48. package/plugins/specweave/skills/increment-planner/templates/spec-single-project.md +1 -0
  49. package/plugins/specweave/skills/multi-project-spec-mapper/SKILL.md +24 -1
  50. package/plugins/specweave/skills/spec-generator/SKILL.md +18 -0
  51. package/plugins/specweave/skills/specweave-framework/SKILL.md +25 -0
  52. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +14 -0
  53. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +21 -0
package/CLAUDE.md CHANGED
@@ -74,6 +74,43 @@ MetadataManager.updateStatus(incrementId, IncrementStatus.COMPLETED);
74
74
  // Only succeeds if current status is "ready_for_review"
75
75
  ```
76
76
 
77
+ ### 2c. spec.md MUST Have project: (and board: for 2-level) (v0.31.0+)
78
+
79
+ **Increment creation WITHOUT project context = SYNC FAILURE**
80
+
81
+ ```yaml
82
+ # 1-level structure (single project or multi-project):
83
+ ---
84
+ increment: 0001-feature-name
85
+ project: my-project # ← MANDATORY
86
+ ---
87
+
88
+ # 2-level structure (ADO area paths, JIRA boards):
89
+ ---
90
+ increment: 0001-feature-name
91
+ project: acme-corp # ← MANDATORY
92
+ board: digital-operations # ← MANDATORY for 2-level
93
+ ---
94
+ ```
95
+
96
+ **Detection**: Use `src/utils/structure-level-detector.ts`:
97
+ ```typescript
98
+ import { detectStructureLevel } from './utils/structure-level-detector.js';
99
+ const config = detectStructureLevel(projectRoot);
100
+ // config.level === 1 → project required
101
+ // config.level === 2 → project AND board required
102
+ ```
103
+
104
+ **VALIDATION RULES:**
105
+ ```
106
+ ❌ FORBIDDEN: Creating spec.md with project: {{PROJECT_ID}} (unresolved placeholder)
107
+ ❌ FORBIDDEN: Creating spec.md for 2-level without board: field
108
+ ❌ FORBIDDEN: Vague increments without knowing sync target
109
+ ✅ REQUIRED: Always select project (and board for 2-level) BEFORE generating spec.md
110
+ ```
111
+
112
+ **Pre-tool-use hook `spec-project-validator.sh` BLOCKS spec.md without required fields (2-level).**
113
+
77
114
  ### 3. Protected Directories
78
115
 
79
116
  **NEVER delete**: `.specweave/docs/`, `.specweave/increments/`
@@ -212,10 +249,16 @@ src/cli/helpers/init/
212
249
  ```yaml
213
250
  ---
214
251
  increment: 0001-feature-name # REQUIRED
252
+ project: my-project # REQUIRED (v0.31.0+)
253
+ board: digital-operations # REQUIRED for 2-level structures
215
254
  ---
216
255
  ```
217
256
  **NOTE**: `feature_id` is derived from increment number (0001 → FS-001), not stored
218
257
 
258
+ **Structure Level Detection**:
259
+ - 1-level: `project:` REQUIRED
260
+ - 2-level (ADO area paths, JIRA boards): `project:` AND `board:` REQUIRED
261
+
219
262
  ### ADR Naming
220
263
  **Format**: `XXXX-decision-title.md` (4-digit, NO `adr-` prefix)
221
264
  **Location**: `.specweave/docs/internal/architecture/adr/`
@@ -56,8 +56,14 @@ let generateEnterpriseReport;
56
56
  let getAvailabilityMessage;
57
57
  let formatAvailabilityMessage;
58
58
  let getSimpleErrorMessage;
59
+ // Robust JSON extraction from LLM responses
60
+ let extractJson;
61
+ let buildJsonPrompt;
59
62
  /**
60
63
  * AI-enhanced module analysis using Claude Code
64
+ *
65
+ * Uses robust JSON extraction with retry logic to handle common LLM
66
+ * output patterns like prose before JSON, markdown code blocks, etc.
61
67
  */
62
68
  async function runAIModuleAnalysis(moduleName, basicAnalysis, provider, log) {
63
69
  // Build context from basic analysis
@@ -69,9 +75,8 @@ async function runAIModuleAnalysis(moduleName, basicAnalysis, provider, log) {
69
75
  ?.slice(0, 10)
70
76
  .map((e) => `- ${e.name}: ${e.type}`)
71
77
  .join('\n') || 'No exports detected';
72
- const prompt = `Analyze this TypeScript module and provide structured insights.
73
-
74
- Module: ${moduleName}
78
+ // Build prompt using robust JSON prompt builder (instruction at START for prominence)
79
+ const context = `Module: ${moduleName}
75
80
  Files analyzed: ${basicAnalysis.filesAnalyzed.length}
76
81
  Total exports: ${basicAnalysis.totalExports}
77
82
 
@@ -79,50 +84,77 @@ Key files:
79
84
  ${filesSummary}
80
85
 
81
86
  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?```$/, '');
87
+ ${exportsSummary}`;
88
+ const schema = {
89
+ purpose: 'Brief description of what this module does (1-2 sentences)',
90
+ keyConcepts: '["concept1", "concept2", "concept3"]',
91
+ dependencies: '["dependency1", "dependency2"]',
92
+ complexity: 'low|medium|high',
93
+ suggestedDocs: '["doc1.md", "doc2.md"]',
94
+ architecturalNotes: 'Brief notes about patterns, concerns, or suggestions'
95
+ };
96
+ const prompt = buildJsonPrompt(context, schema, `Analyze this TypeScript/JavaScript module and provide structured insights about its purpose, complexity, and documentation needs.`);
97
+ const maxRetries = 2;
98
+ let lastResponse = '';
99
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
100
+ try {
101
+ const attemptLabel = attempt === 0 ? '' : ` (retry ${attempt}/${maxRetries})`;
102
+ log(` Sending to Claude Code Opus 4.5...${attemptLabel}`);
103
+ const currentPrompt = attempt === 0 ? prompt : generateCorrectionPrompt(prompt, lastResponse);
104
+ const result = await provider.analyze(currentPrompt);
105
+ if (!result || !result.content) {
106
+ log(` Empty response from AI`);
107
+ continue;
108
+ }
109
+ lastResponse = result.content;
110
+ // Use robust JSON extraction (dynamically loaded, no type args)
111
+ const extraction = extractJson(result.content, {
112
+ requiredFields: ['purpose', 'complexity']
113
+ });
114
+ if (extraction.success && extraction.data) {
115
+ if (attempt > 0) {
116
+ log(` JSON extraction succeeded on retry ${attempt}`);
117
+ }
118
+ return {
119
+ purpose: extraction.data.purpose,
120
+ keyConcepts: extraction.data.keyConcepts || [],
121
+ dependencies: extraction.data.dependencies || [],
122
+ complexity: extraction.data.complexity,
123
+ suggestedDocs: extraction.data.suggestedDocs || [],
124
+ architecturalNotes: extraction.data.architecturalNotes || ''
125
+ };
126
+ }
127
+ // Log extraction failure details for debugging
128
+ log(` JSON extraction failed (${extraction.extractionMethod}): ${extraction.error}`);
106
129
  }
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;
130
+ catch (err) {
131
+ log(` AI analysis error: ${err.message}`);
112
132
  }
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
133
  }
134
+ log(` AI analysis failed after ${maxRetries + 1} attempts, using fallback`);
135
+ return null;
136
+ }
137
+ /**
138
+ * Generate a correction prompt for retry after failed JSON extraction
139
+ */
140
+ function generateCorrectionPrompt(originalPrompt, failedResponse) {
141
+ const preview = failedResponse.slice(0, 200);
142
+ return `Your previous response was not valid JSON. I received:
143
+ "${preview}${failedResponse.length > 200 ? '...' : ''}"
144
+
145
+ CRITICAL: Respond with ONLY a JSON object. No explanations, no "Based on...", no markdown.
146
+
147
+ Required format (copy this structure exactly):
148
+ {
149
+ "purpose": "...",
150
+ "keyConcepts": ["..."],
151
+ "dependencies": ["..."],
152
+ "complexity": "low|medium|high",
153
+ "suggestedDocs": ["..."],
154
+ "architecturalNotes": "..."
155
+ }
156
+
157
+ ${originalPrompt.includes('Module:') ? originalPrompt.slice(originalPrompt.indexOf('Module:'), originalPrompt.indexOf('Module:') + 300) : ''}`;
126
158
  }
127
159
  /**
128
160
  * Main worker entry point
@@ -256,6 +288,10 @@ async function main() {
256
288
  getAvailabilityMessage = availabilityModule.getAvailabilityMessage;
257
289
  formatAvailabilityMessage = availabilityModule.formatAvailabilityMessage;
258
290
  getSimpleErrorMessage = availabilityModule.getSimpleErrorMessage;
291
+ // Load robust JSON extraction utility
292
+ const jsonExtractorModule = await import('../../utils/llm-json-extractor.js');
293
+ extractJson = jsonExtractorModule.extractJson;
294
+ buildJsonPrompt = jsonExtractorModule.buildJsonPrompt;
259
295
  log('Dependencies loaded successfully');
260
296
  log('');
261
297
  // Initialize LLM provider for AI-powered deep analysis
@@ -1 +1 @@
1
- {"version":3,"file":"living-docs-worker.js","sourceRoot":"","sources":["../../../../src/cli/workers/living-docs-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"living-docs-worker.js","sourceRoot":"","sources":["../../../../src/cli/workers/living-docs-worker.ts"],"names":[],"mappings":"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"}
@@ -70,32 +70,44 @@ export declare class LivingDocsSync {
70
70
  */
71
71
  private getFeatureIdForIncrement;
72
72
  /**
73
- * Extract project name from increment spec.md
73
+ * Extract project and board from increment spec.md YAML frontmatter
74
74
  *
75
- * Looks for the **Project**: field in spec.md (e.g., "**Project**: digital-operation-services")
75
+ * Priority:
76
+ * 1. YAML frontmatter `project:` field (v0.31.0+ - preferred)
77
+ * 2. Legacy **Project**: field in body (backward compatibility)
78
+ *
79
+ * For 2-level structures, also extracts `board:` field.
76
80
  *
77
- * SECURITY: Validates both incrementId and extracted project name to prevent path traversal
81
+ * SECURITY: Validates both incrementId and extracted names to prevent path traversal
78
82
  *
79
83
  * @param incrementId - Increment ID (e.g., "0002-test-anton-monitor")
80
- * @returns Project name or null if not specified or invalid
84
+ * @returns Object with project and board (null if not specified or invalid)
85
+ */
86
+ private extractProjectBoardFromSpec;
87
+ /**
88
+ * Validate and normalize a project/board name
89
+ *
90
+ * SECURITY: Prevents path traversal and validates format
91
+ */
92
+ private validateAndNormalizeName;
93
+ /**
94
+ * Extract project name from increment spec.md (legacy method - delegates to new method)
81
95
  */
82
96
  private extractProjectFromSpec;
83
97
  /**
84
- * Resolve the project path for an increment (SMART BOARD MATCHING - v0.31.0+)
98
+ * Resolve the project path for an increment (v0.31.0+ - SPEC.MD FRONTMATTER REQUIRED)
85
99
  *
86
- * For brownfield projects imported from ADO/JIRA, uses intelligent board matching
87
- * based on increment title, description, and configured keywords.
100
+ * For new increments (v0.31.0+), spec.md MUST have `project:` field in YAML frontmatter.
101
+ * For 2-level structures, spec.md MUST have BOTH `project:` and `board:` fields.
88
102
  *
89
103
  * Priority:
90
- * 1. Explicit **Project**: field in spec.md (always wins)
91
- * 2. Intelligent board matching using BoardMatcher (ADR-0178)
92
- * - High confidence (>80%): auto-assign
93
- * - Medium/Low confidence: ask user
94
- * 3. Existing folder match (hierarchical search)
95
- * 4. Default project ID (single-project fallback)
104
+ * 1. YAML frontmatter `project:` and `board:` fields (REQUIRED for v0.31.0+)
105
+ * 2. Legacy **Project**: field in body (backward compatibility only)
106
+ * 3. Fallback: intelligent board matching (deprecated - will warn)
96
107
  *
97
108
  * @param incrementId - Increment ID (e.g., "0002-test-anton-monitor")
98
- * @returns Project path (may be hierarchical like "org/project")
109
+ * @returns Project path (e.g., "my-project" or "acme-corp/digital-ops")
110
+ * @throws Error if required fields are missing in spec.md
99
111
  */
100
112
  private resolveProjectPath;
101
113
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"living-docs-sync.d.ts","sourceRoot":"","sources":["../../../../src/core/living-docs/living-docs-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,OAAO,EAAE,MAAM,EAAiB,MAAM,uBAAuB,CAAC;AAS9D,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAoBpB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,uBAAuB,EAAE,CAAC;AAE5F,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;gBAEd,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO;IASlE;;;;;;;OAOG;IACH,YAAY,IAAI,MAAM;IAItB;;;;;OAKG;YACW,mBAAmB;IASjC;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IA8JxF;;;;;;;;;;;;;;;;;;;;OAoBG;YACW,wBAAwB;IAiCtC;;;;;;;;;OASG;YACW,sBAAsB;IAgEpC;;;;;;;;;;;;;;;;OAgBG;YACW,kBAAkB;IAuEhC;;OAEG;YACW,uBAAuB;IAcrC;;OAEG;YACW,wBAAwB;IAmFtC;;;OAGG;YACW,sBAAsB;IAqGpC;;OAEG;YACW,iBAAiB;IA0C/B;;;;;;;;;;;OAWG;YACW,oBAAoB;IAwClC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,iBAAiB;IAwCzB;;OAEG;YACW,kBAAkB;IAmHhC;;;;OAIG;YACW,sBAAsB;IAkCpC;;OAEG;YACW,kBAAkB;IAmChC;;;;;;;OAOG;YACW,mBAAmB;IA8CjC;;;;;;OAMG;IACH;;;;;;;;;;;OAWG;YACW,mBAAmB;IAyIjC;;;;;;;;;OASG;YACW,YAAY;IA0F1B;;;;;;;;;;;;OAYG;YACW,UAAU;IAyFxB;;;;;;;;;;;;OAYG;YACW,SAAS;IAyFvB;;;;;;;;;OASG;YACW,4BAA4B;CAmB3C"}
1
+ {"version":3,"file":"living-docs-sync.d.ts","sourceRoot":"","sources":["../../../../src/core/living-docs/living-docs-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,OAAO,EAAE,MAAM,EAAiB,MAAM,uBAAuB,CAAC;AAS9D,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAoBpB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,uBAAuB,EAAE,CAAC;AAE5F,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;gBAEd,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO;IASlE;;;;;;;OAOG;IACH,YAAY,IAAI,MAAM;IAItB;;;;;OAKG;YACW,mBAAmB;IASjC;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IA8JxF;;;;;;;;;;;;;;;;;;;;OAoBG;YACW,wBAAwB;IAiCtC;;;;;;;;;;;;;OAaG;YACW,2BAA2B;IAkEzC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IA6BhC;;OAEG;YACW,sBAAsB;IAKpC;;;;;;;;;;;;;;OAcG;YACW,kBAAkB;IA6GhC;;OAEG;YACW,uBAAuB;IAcrC;;OAEG;YACW,wBAAwB;IAmFtC;;;OAGG;YACW,sBAAsB;IAqGpC;;OAEG;YACW,iBAAiB;IA0C/B;;;;;;;;;;;OAWG;YACW,oBAAoB;IAwClC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,iBAAiB;IAwCzB;;OAEG;YACW,kBAAkB;IAmHhC;;;;OAIG;YACW,sBAAsB;IAkCpC;;OAEG;YACW,kBAAkB;IAmChC;;;;;;;OAOG;YACW,mBAAmB;IA8CjC;;;;;;OAMG;IACH;;;;;;;;;;;OAWG;YACW,mBAAmB;IAyIjC;;;;;;;;;OASG;YACW,YAAY;IA0F1B;;;;;;;;;;;;OAYG;YACW,UAAU;IAyFxB;;;;;;;;;;;;OAYG;YACW,SAAS;IAyFvB;;;;;;;;;OASG;YACW,4BAA4B;CAmB3C"}