@vfarcic/dot-ai 0.62.0 → 0.64.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.
@@ -1 +1 @@
1
- {"version":3,"file":"doc-testing-session.d.ts","sourceRoot":"","sources":["../../src/core/doc-testing-session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EACL,iBAAiB,EACjB,eAAe,EAEf,YAAY,EACZ,eAAe,EACf,aAAa,EAEb,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,wBAAwB;IAEnC;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,iBAAiB;IAyB7D;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,iBAAiB,GAAG,IAAI;IAiBnE;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IASxD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI;IAyC/F;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkCxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqD5B;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,iBAAiB,EAAE;IAyBjD,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAoDvB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAejG;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,eAAe,EAAE,GAAG,IAAI;IAMnE;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgFxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAShC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgC7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAsD/F;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IA4B/E;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuC7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmDhC;;OAEG;IACH,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,EACvC,WAAW,CAAC,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,GAAG,GACT,IAAI;IAoCP;;OAEG;IACH,iCAAiC,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;QACxC,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,EACF,IAAI,CAAC,EAAE,GAAG,GACT,IAAI;IA4CP;;OAEG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,WAAW,EAAE;CAqBrE"}
1
+ {"version":3,"file":"doc-testing-session.d.ts","sourceRoot":"","sources":["../../src/core/doc-testing-session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EACL,iBAAiB,EACjB,eAAe,EAEf,YAAY,EACZ,eAAe,EACf,aAAa,EAEb,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,wBAAwB;IAEnC;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,iBAAiB;IAyB7D;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,iBAAiB,GAAG,IAAI;IAiBnE;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IASxD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI;IAyC/F;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkCxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqD5B;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,iBAAiB,EAAE;IAyBjD,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAoDvB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAejG;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,eAAe,EAAE,GAAG,IAAI;IAMnE;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgFxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAShC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgC7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAmD/F;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IA4B/E;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuC7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAoChC;;OAEG;IACH,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,EACvC,WAAW,CAAC,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,GAAG,GACT,IAAI;IA2BP;;OAEG;IACH,iCAAiC,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;QACxC,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,EACF,IAAI,CAAC,EAAE,GAAG,GACT,IAAI;IAmCP;;OAEG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,WAAW,EAAE;CAmBrE"}
@@ -112,14 +112,14 @@ DOCUMENTATION TESTING WORKFLOW:
112
112
  RESULT SUBMISSION:
113
113
  - Always include the sessionId when submitting results
114
114
  - Include sectionId when testing individual sections
115
- - For section testing: use JSON format {"whatWasDone": "...", "issues": [...], "recommendations": [...]}
115
+ - For section testing: use JSON format {"whatWasDone": "...", "issues": [...]}
116
116
  - For scan results: use JSON format {"sections": ["Section 1", "Section 2", ...]}
117
117
  - After submitting, the system automatically provides the next step
118
118
 
119
119
  WORKFLOW PHASES:
120
120
  - scan: Identify testable sections → submit {"sections": [...]} JSON
121
- - test: Test individual sections → submit {"whatWasDone": "...", "issues": [...], "recommendations": [...]} JSON
122
- - analyze: Review all test results → submit analysis and recommendations
121
+ - test: Test individual sections → submit {"whatWasDone": "...", "issues": [...]} JSON
122
+ - analyze: Review all test results → submit analysis
123
123
  - fix: Apply fixes based on analysis → submit fix results
124
124
 
125
125
  The system manages session state and workflow progression automatically.`;
@@ -205,7 +205,7 @@ The system manages session state and workflow progression automatically.`;
205
205
  // Count all items by status
206
206
  const allItems = [];
207
207
  Object.values(session.sectionResults).forEach(result => {
208
- allItems.push(...result.issues, ...result.recommendations);
208
+ allItems.push(...result.issues);
209
209
  });
210
210
  if (allItems.length === 0) {
211
211
  return "✅ **No issues found** - Documentation appears to be in excellent condition!";
@@ -519,14 +519,11 @@ The system manages session state and workflow progression automatically.`;
519
519
  if (!Array.isArray(parsedResults.issues)) {
520
520
  throw new Error('Missing or invalid "issues" field - must be array');
521
521
  }
522
- if (!Array.isArray(parsedResults.recommendations)) {
523
- throw new Error('Missing or invalid "recommendations" field - must be array');
524
- }
525
- // Convert string arrays to FixableItem arrays if needed
522
+ // Convert string array to FixableItem array with tracking
523
+ // Note: Format consolidated in PRD #34 - issues now contain both problems and solutions
526
524
  const processedResults = {
527
525
  whatWasDone: parsedResults.whatWasDone,
528
- issues: this.convertToFixableItems(parsedResults.issues, session),
529
- recommendations: this.convertToFixableItems(parsedResults.recommendations, session)
526
+ issues: this.convertToFixableItems(parsedResults.issues, session)
530
527
  };
531
528
  parsedResults = processedResults;
532
529
  }
@@ -584,10 +581,10 @@ The system manages session state and workflow progression automatically.`;
584
581
  const allItems = [];
585
582
  // Collect all FixableItems from all sections
586
583
  Object.values(session.sectionResults).forEach(result => {
587
- allItems.push(...result.issues, ...result.recommendations);
584
+ allItems.push(...result.issues);
588
585
  });
589
586
  if (allItems.length === 0) {
590
- return "No issues or recommendations found during testing.";
587
+ return "No issues found during testing.";
591
588
  }
592
589
  // Count by status
593
590
  const statusCounts = {
@@ -618,33 +615,21 @@ The system manages session state and workflow progression automatically.`;
618
615
  return "No test results available.";
619
616
  }
620
617
  const pendingItems = [];
621
- const issues = [];
622
- const recommendations = [];
623
618
  // Collect all pending/failed items from all sections
619
+ // Note: Format consolidated in PRD #34 - all issues now include problems and solutions
624
620
  Object.values(session.sectionResults).forEach(result => {
625
621
  const pendingIssues = result.issues.filter(item => item.status === 'pending' || item.status === 'failed');
626
- const pendingRecs = result.recommendations.filter(item => item.status === 'pending' || item.status === 'failed');
627
- issues.push(...pendingIssues);
628
- recommendations.push(...pendingRecs);
629
- pendingItems.push(...pendingIssues, ...pendingRecs);
622
+ pendingItems.push(...pendingIssues);
630
623
  });
631
624
  if (pendingItems.length === 0) {
632
- return "No pending items - all issues and recommendations have been addressed!";
625
+ return "No pending items - all issues have been addressed!";
633
626
  }
634
627
  let output = "";
635
- // Format issues section
636
- if (issues.length > 0) {
637
- output += "### Issues Found (Items requiring fixes)\n";
638
- issues.forEach(item => {
639
- const statusIndicator = item.status === 'failed' ? ' ❌ [RETRY]' : '';
640
- output += `${item.id}. ${item.text}${statusIndicator}\n`;
641
- });
642
- output += "\n";
643
- }
644
- // Format recommendations section
645
- if (recommendations.length > 0) {
646
- output += "### Recommendations (Items suggesting improvements)\n";
647
- recommendations.forEach(item => {
628
+ // Format all pending items (consolidated format with problems and solutions)
629
+ if (pendingItems.length > 0) {
630
+ output += "### Items Requiring Attention\n";
631
+ output += "*Each item includes both the problem and its fix*\n\n";
632
+ pendingItems.forEach(item => {
648
633
  const statusIndicator = item.status === 'failed' ? ' ❌ [RETRY]' : '';
649
634
  output += `${item.id}. ${item.text}${statusIndicator}\n`;
650
635
  });
@@ -662,7 +647,7 @@ The system manages session state and workflow progression automatically.`;
662
647
  let itemFound = false;
663
648
  // Search through all sections to find the item with the specified ID
664
649
  Object.values(session.sectionResults).forEach(result => {
665
- // Check issues
650
+ // Check issues (consolidated format - all items are in issues array)
666
651
  const issueIndex = result.issues.findIndex(item => item.id === itemId);
667
652
  if (issueIndex !== -1) {
668
653
  result.issues[issueIndex].status = status;
@@ -671,15 +656,6 @@ The system manages session state and workflow progression automatically.`;
671
656
  itemFound = true;
672
657
  return;
673
658
  }
674
- // Check recommendations
675
- const recIndex = result.recommendations.findIndex(item => item.id === itemId);
676
- if (recIndex !== -1) {
677
- result.recommendations[recIndex].status = status;
678
- if (explanation)
679
- result.recommendations[recIndex].explanation = explanation;
680
- itemFound = true;
681
- return;
682
- }
683
659
  });
684
660
  if (!itemFound) {
685
661
  throw new Error(`FixableItem with ID ${itemId} not found in session ${sessionId}`);
@@ -699,7 +675,7 @@ The system manages session state and workflow progression automatically.`;
699
675
  updates.forEach(update => {
700
676
  let itemFound = false;
701
677
  Object.values(session.sectionResults).forEach(result => {
702
- // Check issues
678
+ // Check issues (consolidated format - all items are in issues array)
703
679
  const issueIndex = result.issues.findIndex(item => item.id === update.itemId);
704
680
  if (issueIndex !== -1) {
705
681
  result.issues[issueIndex].status = update.status;
@@ -708,15 +684,6 @@ The system manages session state and workflow progression automatically.`;
708
684
  itemFound = true;
709
685
  return;
710
686
  }
711
- // Check recommendations
712
- const recIndex = result.recommendations.findIndex(item => item.id === update.itemId);
713
- if (recIndex !== -1) {
714
- result.recommendations[recIndex].status = update.status;
715
- if (update.explanation)
716
- result.recommendations[recIndex].explanation = update.explanation;
717
- itemFound = true;
718
- return;
719
- }
720
687
  });
721
688
  if (!itemFound) {
722
689
  notFoundItems.push(update.itemId);
@@ -736,10 +703,10 @@ The system manages session state and workflow progression automatically.`;
736
703
  return [];
737
704
  }
738
705
  const pendingItems = [];
706
+ // Collect all pending/failed items (consolidated format)
739
707
  Object.values(session.sectionResults).forEach(result => {
740
708
  const pendingIssues = result.issues.filter(item => item.status === 'pending' || item.status === 'failed');
741
- const pendingRecs = result.recommendations.filter(item => item.status === 'pending' || item.status === 'failed');
742
- pendingItems.push(...pendingIssues, ...pendingRecs);
709
+ pendingItems.push(...pendingIssues);
743
710
  });
744
711
  return pendingItems.sort((a, b) => a.id - b.id); // Sort by ID for consistent ordering
745
712
  }
@@ -77,11 +77,13 @@ export interface FixableItem {
77
77
  }
78
78
  /**
79
79
  * Structured test results for a section (JSON format from client agent)
80
+ *
81
+ * Note: Format was consolidated in PRD #34 - issues now contain both problems and solutions
82
+ * in format "[Location]: [Problem]. Fix: [Solution]"
80
83
  */
81
84
  export interface SectionTestResult {
82
85
  whatWasDone: string;
83
86
  issues: FixableItem[];
84
- recommendations: FixableItem[];
85
87
  }
86
88
  /**
87
89
  * Workflow step returned by MCP interface to guide AI agents
@@ -1 +1 @@
1
- {"version":3,"file":"doc-testing-types.d.ts","sourceRoot":"","sources":["../../src/core/doc-testing-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doc-testing-types.d.ts","sourceRoot":"","sources":["../../src/core/doc-testing-types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vfarcic/dot-ai",
3
- "version": "0.62.0",
3
+ "version": "0.64.0",
4
4
  "description": "Universal Kubernetes application deployment agent with MCP interface",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -40,7 +40,7 @@ Your session data is stored at: `{sessionDir}/{sessionId}.json`
40
40
 
41
41
  This contains:
42
42
  - Complete test results for each section
43
- - Status of all issues and recommendations
43
+ - Status of all issues and their fixes
44
44
  - Timestamps and progress tracking
45
45
  - Applied fixes and user decisions
46
46
 
@@ -3,7 +3,7 @@
3
3
  You are testing a specific section of documentation to validate both functionality AND accuracy. You must verify that instructions work AND that the documentation text truthfully describes what actually happens.
4
4
 
5
5
  **Important**:
6
- - Skip content that has ignore comments containing "dotai-ignore" (e.g., `<!-- dotai-ignore -->`, `.. dotai-ignore`, `// dotai-ignore`). Do not generate issues or recommendations for ignored content.
6
+ - Skip content that has ignore comments containing "dotai-ignore" (e.g., `<!-- dotai-ignore -->`, `.. dotai-ignore`, `// dotai-ignore`). Do not generate issues for ignored content.
7
7
  - Look for testing hints in comments containing "dotai-test-hint" (e.g., `<!-- dotai-test-hint: use mcp__dot-ai__prompts to verify slash commands -->`, `.. dotai-test-hint: run command X to test claim Y`, `// dotai-test-hint: check actual behavior with tool Z`). Follow these hints when testing the associated content.
8
8
 
9
9
  ## CRITICAL MINDSET: User Behavior Simulation
@@ -124,12 +124,8 @@ Return your results as JSON in this exact format:
124
124
  {
125
125
  "whatWasDone": "Brief summary of what you tested and executed in this section",
126
126
  "issues": [
127
- "Specific problem or issue you found while testing",
128
- "Another issue that prevents users from succeeding"
129
- ],
130
- "recommendations": [
131
- "Specific actionable suggestion to fix an issue",
132
- "Improvement that would help users succeed"
127
+ "In 'Section Name': Specific problem or issue you found while testing. Fix: Specific actionable solution to resolve this issue",
128
+ "Under 'Code Example': Another issue that prevents users from succeeding. Fix: Detailed steps to correct this problem"
133
129
  ]
134
130
  }
135
131
  ```
@@ -138,13 +134,23 @@ Return your results as JSON in this exact format:
138
134
 
139
135
  **whatWasDone** (string): Concise summary covering BOTH functional testing AND semantic analysis - what commands/procedures you executed and what claims you analyzed.
140
136
 
141
- **issues** (array): CRITICAL PROBLEMS that prevent users from succeeding (broken functionality, incorrect information, missing required steps). Include precise location and explain user impact. Each issue must be ACTIONABLE - describe what needs to be changed/fixed.
137
+ **issues** (array): Each issue must contain BOTH the problem AND its solution in a single string using this exact format:
138
+ - **Location**: Start with precise location: "In 'Section Name':", "Under 'Heading':", "At line X:", etc.
139
+ - **Problem**: Clear description of what's wrong, broken, or prevents user success
140
+ - **Solution**: Follow with " Fix: " and provide specific actionable steps to resolve the issue
142
141
 
143
- **recommendations** (array): OPTIONAL IMPROVEMENTS that would enhance user experience (NOT critical problems). Must be genuinely optional - user can succeed without these changes. Each recommendation must be ACTIONABLE - describe a specific change to make. Do NOT include statements that validate existing content is correct (e.g., "The format matches actual behavior - this is accurate"). Only include suggestions for actual changes or additions. Do NOT repeat anything from issues array.
142
+ **Format Requirements:**
143
+ - **Include both critical problems AND optional improvements** - All actionable findings go in the issues array
144
+ - **Location specificity**: Every issue must identify exactly where the problem is found
145
+ - **Complete solutions**: Each fix must be detailed enough for implementation
146
+ - **User impact focus**: Emphasize how problems affect user success and how fixes improve experience
147
+ - **Consistent pattern**: "[Location]: [Problem description]. Fix: [Detailed solution]"
144
148
 
145
- **ACTIONABILITY REQUIREMENT**: Both issues and recommendations must suggest concrete changes. Avoid validation statements like "X is correct" or "Y matches expected behavior." If something is working correctly, don't mention it unless suggesting an enhancement.
149
+ **ACTIONABILITY REQUIREMENT**: Every issue must be actionable with a concrete fix. Avoid validation statements like "X is correct." If something is working correctly, don't mention it unless suggesting a specific enhancement.
146
150
 
147
- **ANTI-DUPLICATION RULES**: If something is broken/incorrect → issues only. If something could be enhanced but works fine → recommendations only. Never put the same concept in both arrays.
151
+ **Examples:**
152
+ - "In 'Installation' section: Missing kubectl prerequisite causes setup failure. Fix: Add 'kubectl installation required' note before cluster setup steps"
153
+ - "Under 'API Examples': Outdated endpoint URL returns 404 errors. Fix: Update endpoint from '/v1/api' to '/v2/api' throughout examples"
148
154
 
149
155
  ## Instructions
150
156