agentic-qe 1.5.1 → 1.6.1

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 (188) hide show
  1. package/.claude/agents/qe-api-contract-validator.md +118 -0
  2. package/.claude/agents/qe-chaos-engineer.md +320 -5
  3. package/.claude/agents/qe-code-complexity.md +360 -0
  4. package/.claude/agents/qe-coverage-analyzer.md +112 -0
  5. package/.claude/agents/qe-deployment-readiness.md +322 -6
  6. package/.claude/agents/qe-flaky-test-hunter.md +115 -0
  7. package/.claude/agents/qe-fleet-commander.md +319 -6
  8. package/.claude/agents/qe-performance-tester.md +234 -0
  9. package/.claude/agents/qe-production-intelligence.md +114 -0
  10. package/.claude/agents/qe-quality-analyzer.md +126 -0
  11. package/.claude/agents/qe-quality-gate.md +119 -0
  12. package/.claude/agents/qe-regression-risk-analyzer.md +114 -0
  13. package/.claude/agents/qe-requirements-validator.md +114 -0
  14. package/.claude/agents/qe-security-scanner.md +118 -0
  15. package/.claude/agents/qe-test-data-architect.md +234 -0
  16. package/.claude/agents/qe-test-executor.md +115 -0
  17. package/.claude/agents/qe-test-generator.md +114 -0
  18. package/.claude/agents/qe-visual-tester.md +305 -6
  19. package/.claude/agents/subagents/qe-code-reviewer.md +0 -4
  20. package/.claude/agents/subagents/qe-data-generator.md +0 -16
  21. package/.claude/agents/subagents/qe-integration-tester.md +0 -17
  22. package/.claude/agents/subagents/qe-performance-validator.md +0 -16
  23. package/.claude/agents/subagents/qe-security-auditor.md +0 -16
  24. package/.claude/agents/subagents/qe-test-implementer.md +0 -17
  25. package/.claude/agents/subagents/qe-test-refactorer.md +0 -17
  26. package/.claude/agents/subagents/qe-test-writer.md +0 -19
  27. package/.claude/skills/brutal-honesty-review/README.md +218 -0
  28. package/.claude/skills/brutal-honesty-review/SKILL.md +725 -0
  29. package/.claude/skills/brutal-honesty-review/resources/assessment-rubrics.md +295 -0
  30. package/.claude/skills/brutal-honesty-review/resources/review-template.md +102 -0
  31. package/.claude/skills/brutal-honesty-review/scripts/assess-code.sh +179 -0
  32. package/.claude/skills/brutal-honesty-review/scripts/assess-tests.sh +223 -0
  33. package/.claude/skills/cicd-pipeline-qe-orchestrator/README.md +301 -0
  34. package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +510 -0
  35. package/.claude/skills/cicd-pipeline-qe-orchestrator/resources/workflows/microservice-pipeline.md +239 -0
  36. package/.claude/skills/cicd-pipeline-qe-orchestrator/resources/workflows/mobile-pipeline.md +375 -0
  37. package/.claude/skills/cicd-pipeline-qe-orchestrator/resources/workflows/monolith-pipeline.md +268 -0
  38. package/.claude/skills/six-thinking-hats/README.md +190 -0
  39. package/.claude/skills/six-thinking-hats/SKILL.md +1215 -0
  40. package/.claude/skills/six-thinking-hats/resources/examples/api-testing-example.md +345 -0
  41. package/.claude/skills/six-thinking-hats/resources/templates/solo-session-template.md +167 -0
  42. package/.claude/skills/six-thinking-hats/resources/templates/team-session-template.md +336 -0
  43. package/CHANGELOG.md +2472 -2129
  44. package/README.md +48 -10
  45. package/dist/adapters/MemoryStoreAdapter.d.ts +38 -0
  46. package/dist/adapters/MemoryStoreAdapter.d.ts.map +1 -1
  47. package/dist/adapters/MemoryStoreAdapter.js +22 -0
  48. package/dist/adapters/MemoryStoreAdapter.js.map +1 -1
  49. package/dist/agents/BaseAgent.d.ts.map +1 -1
  50. package/dist/agents/BaseAgent.js +13 -0
  51. package/dist/agents/BaseAgent.js.map +1 -1
  52. package/dist/cli/commands/init-claude-md-template.d.ts +16 -0
  53. package/dist/cli/commands/init-claude-md-template.d.ts.map +1 -0
  54. package/dist/cli/commands/init-claude-md-template.js +69 -0
  55. package/dist/cli/commands/init-claude-md-template.js.map +1 -0
  56. package/dist/cli/commands/init.d.ts +1 -1
  57. package/dist/cli/commands/init.d.ts.map +1 -1
  58. package/dist/cli/commands/init.js +509 -460
  59. package/dist/cli/commands/init.js.map +1 -1
  60. package/dist/core/memory/AgentDBService.d.ts +33 -28
  61. package/dist/core/memory/AgentDBService.d.ts.map +1 -1
  62. package/dist/core/memory/AgentDBService.js +233 -290
  63. package/dist/core/memory/AgentDBService.js.map +1 -1
  64. package/dist/core/memory/EnhancedAgentDBService.d.ts.map +1 -1
  65. package/dist/core/memory/EnhancedAgentDBService.js +5 -3
  66. package/dist/core/memory/EnhancedAgentDBService.js.map +1 -1
  67. package/dist/core/memory/RealAgentDBAdapter.d.ts +9 -2
  68. package/dist/core/memory/RealAgentDBAdapter.d.ts.map +1 -1
  69. package/dist/core/memory/RealAgentDBAdapter.js +126 -100
  70. package/dist/core/memory/RealAgentDBAdapter.js.map +1 -1
  71. package/dist/core/memory/SwarmMemoryManager.d.ts +58 -0
  72. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  73. package/dist/core/memory/SwarmMemoryManager.js +176 -0
  74. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  75. package/dist/core/memory/index.d.ts.map +1 -1
  76. package/dist/core/memory/index.js +2 -1
  77. package/dist/core/memory/index.js.map +1 -1
  78. package/dist/learning/LearningEngine.d.ts +14 -27
  79. package/dist/learning/LearningEngine.d.ts.map +1 -1
  80. package/dist/learning/LearningEngine.js +57 -119
  81. package/dist/learning/LearningEngine.js.map +1 -1
  82. package/dist/learning/index.d.ts +0 -1
  83. package/dist/learning/index.d.ts.map +1 -1
  84. package/dist/learning/index.js +0 -1
  85. package/dist/learning/index.js.map +1 -1
  86. package/dist/mcp/handlers/learning/learning-query.d.ts +34 -0
  87. package/dist/mcp/handlers/learning/learning-query.d.ts.map +1 -0
  88. package/dist/mcp/handlers/learning/learning-query.js +156 -0
  89. package/dist/mcp/handlers/learning/learning-query.js.map +1 -0
  90. package/dist/mcp/handlers/learning/learning-store-experience.d.ts +30 -0
  91. package/dist/mcp/handlers/learning/learning-store-experience.d.ts.map +1 -0
  92. package/dist/mcp/handlers/learning/learning-store-experience.js +86 -0
  93. package/dist/mcp/handlers/learning/learning-store-experience.js.map +1 -0
  94. package/dist/mcp/handlers/learning/learning-store-pattern.d.ts +31 -0
  95. package/dist/mcp/handlers/learning/learning-store-pattern.d.ts.map +1 -0
  96. package/dist/mcp/handlers/learning/learning-store-pattern.js +126 -0
  97. package/dist/mcp/handlers/learning/learning-store-pattern.js.map +1 -0
  98. package/dist/mcp/handlers/learning/learning-store-qvalue.d.ts +30 -0
  99. package/dist/mcp/handlers/learning/learning-store-qvalue.d.ts.map +1 -0
  100. package/dist/mcp/handlers/learning/learning-store-qvalue.js +100 -0
  101. package/dist/mcp/handlers/learning/learning-store-qvalue.js.map +1 -0
  102. package/dist/mcp/server.d.ts +11 -0
  103. package/dist/mcp/server.d.ts.map +1 -1
  104. package/dist/mcp/server.js +98 -1
  105. package/dist/mcp/server.js.map +1 -1
  106. package/dist/mcp/services/LearningEventListener.d.ts +123 -0
  107. package/dist/mcp/services/LearningEventListener.d.ts.map +1 -0
  108. package/dist/mcp/services/LearningEventListener.js +322 -0
  109. package/dist/mcp/services/LearningEventListener.js.map +1 -0
  110. package/dist/mcp/tools.d.ts +4 -0
  111. package/dist/mcp/tools.d.ts.map +1 -1
  112. package/dist/mcp/tools.js +179 -0
  113. package/dist/mcp/tools.js.map +1 -1
  114. package/dist/types/memory-interfaces.d.ts +71 -0
  115. package/dist/types/memory-interfaces.d.ts.map +1 -1
  116. package/dist/utils/Calculator.d.ts +35 -0
  117. package/dist/utils/Calculator.d.ts.map +1 -0
  118. package/dist/utils/Calculator.js +50 -0
  119. package/dist/utils/Calculator.js.map +1 -0
  120. package/dist/utils/Logger.d.ts.map +1 -1
  121. package/dist/utils/Logger.js +4 -1
  122. package/dist/utils/Logger.js.map +1 -1
  123. package/package.json +7 -5
  124. package/.claude/agents/qe-api-contract-validator.md.backup +0 -1148
  125. package/.claude/agents/qe-api-contract-validator.md.backup-20251107-134747 +0 -1148
  126. package/.claude/agents/qe-api-contract-validator.md.backup-phase2-20251107-140039 +0 -1123
  127. package/.claude/agents/qe-chaos-engineer.md.backup +0 -808
  128. package/.claude/agents/qe-chaos-engineer.md.backup-20251107-134747 +0 -808
  129. package/.claude/agents/qe-chaos-engineer.md.backup-phase2-20251107-140039 +0 -787
  130. package/.claude/agents/qe-code-complexity.md.backup +0 -291
  131. package/.claude/agents/qe-code-complexity.md.backup-20251107-134747 +0 -291
  132. package/.claude/agents/qe-code-complexity.md.backup-phase2-20251107-140039 +0 -286
  133. package/.claude/agents/qe-coverage-analyzer.md.backup +0 -467
  134. package/.claude/agents/qe-coverage-analyzer.md.backup-20251107-134747 +0 -467
  135. package/.claude/agents/qe-coverage-analyzer.md.backup-phase2-20251107-140039 +0 -438
  136. package/.claude/agents/qe-deployment-readiness.md.backup +0 -1166
  137. package/.claude/agents/qe-deployment-readiness.md.backup-20251107-134747 +0 -1166
  138. package/.claude/agents/qe-deployment-readiness.md.backup-phase2-20251107-140039 +0 -1140
  139. package/.claude/agents/qe-flaky-test-hunter.md.backup +0 -1195
  140. package/.claude/agents/qe-flaky-test-hunter.md.backup-20251107-134747 +0 -1195
  141. package/.claude/agents/qe-flaky-test-hunter.md.backup-phase2-20251107-140039 +0 -1162
  142. package/.claude/agents/qe-fleet-commander.md.backup +0 -718
  143. package/.claude/agents/qe-fleet-commander.md.backup-20251107-134747 +0 -718
  144. package/.claude/agents/qe-fleet-commander.md.backup-phase2-20251107-140039 +0 -697
  145. package/.claude/agents/qe-performance-tester.md.backup +0 -428
  146. package/.claude/agents/qe-performance-tester.md.backup-20251107-134747 +0 -428
  147. package/.claude/agents/qe-performance-tester.md.backup-phase2-20251107-140039 +0 -372
  148. package/.claude/agents/qe-production-intelligence.md.backup +0 -1219
  149. package/.claude/agents/qe-production-intelligence.md.backup-20251107-134747 +0 -1219
  150. package/.claude/agents/qe-production-intelligence.md.backup-phase2-20251107-140039 +0 -1194
  151. package/.claude/agents/qe-quality-analyzer.md.backup +0 -425
  152. package/.claude/agents/qe-quality-analyzer.md.backup-20251107-134747 +0 -425
  153. package/.claude/agents/qe-quality-analyzer.md.backup-phase2-20251107-140039 +0 -394
  154. package/.claude/agents/qe-quality-gate.md.backup +0 -446
  155. package/.claude/agents/qe-quality-gate.md.backup-20251107-134747 +0 -446
  156. package/.claude/agents/qe-quality-gate.md.backup-phase2-20251107-140039 +0 -415
  157. package/.claude/agents/qe-regression-risk-analyzer.md.backup +0 -1009
  158. package/.claude/agents/qe-regression-risk-analyzer.md.backup-20251107-134747 +0 -1009
  159. package/.claude/agents/qe-regression-risk-analyzer.md.backup-phase2-20251107-140039 +0 -984
  160. package/.claude/agents/qe-requirements-validator.md.backup +0 -748
  161. package/.claude/agents/qe-requirements-validator.md.backup-20251107-134747 +0 -748
  162. package/.claude/agents/qe-requirements-validator.md.backup-phase2-20251107-140039 +0 -723
  163. package/.claude/agents/qe-security-scanner.md.backup +0 -634
  164. package/.claude/agents/qe-security-scanner.md.backup-20251107-134747 +0 -634
  165. package/.claude/agents/qe-security-scanner.md.backup-phase2-20251107-140039 +0 -573
  166. package/.claude/agents/qe-test-data-architect.md.backup +0 -1064
  167. package/.claude/agents/qe-test-data-architect.md.backup-20251107-134747 +0 -1064
  168. package/.claude/agents/qe-test-data-architect.md.backup-phase2-20251107-140039 +0 -1040
  169. package/.claude/agents/qe-test-executor.md.backup +0 -389
  170. package/.claude/agents/qe-test-executor.md.backup-20251107-134747 +0 -389
  171. package/.claude/agents/qe-test-executor.md.backup-phase2-20251107-140039 +0 -369
  172. package/.claude/agents/qe-test-generator.md.backup +0 -997
  173. package/.claude/agents/qe-test-generator.md.backup-20251107-134747 +0 -997
  174. package/.claude/agents/qe-visual-tester.md.backup +0 -777
  175. package/.claude/agents/qe-visual-tester.md.backup-20251107-134747 +0 -777
  176. package/.claude/agents/qe-visual-tester.md.backup-phase2-20251107-140039 +0 -756
  177. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +0 -54
  178. package/.claude/commands/analysis/performance-bottlenecks.md +0 -59
  179. package/.claude/commands/flow-nexus/app-store.md +0 -124
  180. package/.claude/commands/flow-nexus/challenges.md +0 -120
  181. package/.claude/commands/flow-nexus/login-registration.md +0 -65
  182. package/.claude/commands/flow-nexus/neural-network.md +0 -134
  183. package/.claude/commands/flow-nexus/payments.md +0 -116
  184. package/.claude/commands/flow-nexus/sandbox.md +0 -83
  185. package/.claude/commands/flow-nexus/swarm.md +0 -87
  186. package/.claude/commands/flow-nexus/user-tools.md +0 -152
  187. package/.claude/commands/flow-nexus/workflow.md +0 -115
  188. package/.claude/commands/memory/usage.md +0 -46
@@ -570,35 +570,122 @@ This agent uses **AQE hooks (Agentic QE native hooks)** for coordination (zero e
570
570
 
571
571
  **Automatic Lifecycle Hooks:**
572
572
  ```typescript
573
- // Automatically called by BaseAgent
573
+ // Called automatically by BaseAgent
574
574
  protected async onPreTask(data: { assignment: TaskAssignment }): Promise<void> {
575
575
  // Load all quality signals for deployment assessment
576
576
  const qualitySignals = await this.memoryStore.retrievePattern('aqe/quality-signals/*');
577
577
  const deploymentHistory = await this.memoryStore.retrieve('aqe/deployment/history');
578
578
 
579
+ // Verify environment for deployment assessment
580
+ const verification = await this.hookManager.executePreTaskVerification({
581
+ task: 'deployment-assessment',
582
+ context: {
583
+ requiredVars: ['DEPLOYMENT_ENV', 'VERSION'],
584
+ minMemoryMB: 512,
585
+ requiredKeys: ['aqe/quality-signals/code-quality', 'aqe/deployment/history']
586
+ }
587
+ });
588
+
589
+ // Emit deployment assessment starting event
590
+ this.eventBus.emit('deployment-readiness:starting', {
591
+ agentId: this.agentId,
592
+ environment: process.env.DEPLOYMENT_ENV,
593
+ version: process.env.VERSION
594
+ });
595
+
579
596
  this.logger.info('Deployment readiness assessment started', {
580
597
  qualitySignalsCollected: Object.keys(qualitySignals).length,
581
- historicalDeployments: deploymentHistory?.length || 0
598
+ historicalDeployments: deploymentHistory?.length || 0,
599
+ verification: verification.passed
582
600
  });
583
601
  }
584
602
 
585
603
  protected async onPostTask(data: { assignment: TaskAssignment; result: any }): Promise<void> {
586
604
  // Store deployment decision and risk score
587
- await this.memoryStore.store('aqe/deployment/decision', data.result.decision);
588
- await this.memoryStore.store('aqe/deployment/risk-score', data.result.riskScore);
589
- await this.memoryStore.store('aqe/deployment/confidence', data.result.confidence);
605
+ await this.memoryStore.store('aqe/deployment/decision', data.result.decision, {
606
+ partition: 'agent_results',
607
+ ttl: 86400 // 24 hours
608
+ });
590
609
 
591
- // Emit deployment readiness event
610
+ await this.memoryStore.store('aqe/deployment/risk-score', data.result.riskScore, {
611
+ partition: 'metrics',
612
+ ttl: 604800 // 7 days
613
+ });
614
+
615
+ await this.memoryStore.store('aqe/deployment/confidence', data.result.confidence, {
616
+ partition: 'metrics',
617
+ ttl: 604800 // 7 days
618
+ });
619
+
620
+ // Store quality signals analysis
621
+ await this.memoryStore.store('aqe/deployment/quality-analysis', {
622
+ timestamp: Date.now(),
623
+ decision: data.result.decision,
624
+ riskScore: data.result.riskScore,
625
+ confidence: data.result.confidence
626
+ }, {
627
+ partition: 'metrics',
628
+ ttl: 604800 // 7 days
629
+ });
630
+
631
+ // Emit completion event with deployment decision
592
632
  this.eventBus.emit('deployment-readiness:assessed', {
633
+ agentId: this.agentId,
593
634
  decision: data.result.decision.status,
594
635
  riskLevel: data.result.riskScore.level,
595
636
  confidence: data.result.confidence.score
596
637
  });
638
+
639
+ // Validate deployment assessment results
640
+ const validation = await this.hookManager.executePostTaskValidation({
641
+ task: 'deployment-assessment',
642
+ result: {
643
+ output: data.result,
644
+ decision: data.result.decision,
645
+ metrics: {
646
+ riskScore: data.result.riskScore.score,
647
+ confidence: data.result.confidence.score
648
+ }
649
+ }
650
+ });
651
+
652
+ this.logger.info('Deployment readiness assessment completed', {
653
+ decision: data.result.decision.status,
654
+ riskLevel: data.result.riskScore.level,
655
+ validated: validation.passed
656
+ });
657
+ }
658
+
659
+ protected async onTaskError(data: { assignment: TaskAssignment; error: Error }): Promise<void> {
660
+ // Store error for fleet analysis
661
+ await this.memoryStore.store(`aqe/errors/${data.assignment.task.id}`, {
662
+ error: data.error.message,
663
+ timestamp: Date.now(),
664
+ agent: this.agentId,
665
+ taskType: 'deployment-readiness',
666
+ environment: data.assignment.task.metadata.environment
667
+ }, {
668
+ partition: 'errors',
669
+ ttl: 604800 // 7 days
670
+ });
671
+
672
+ // Emit error event for fleet coordination
673
+ this.eventBus.emit('deployment-readiness:error', {
674
+ agentId: this.agentId,
675
+ error: data.error.message,
676
+ taskId: data.assignment.task.id
677
+ });
678
+
679
+ this.logger.error('Deployment readiness assessment failed', {
680
+ error: data.error.message,
681
+ stack: data.error.stack
682
+ });
597
683
  }
598
684
  ```
599
685
 
600
686
  **Advanced Verification (Optional):**
601
687
  ```typescript
688
+ // Use VerificationHookManager for comprehensive validation
602
689
  const hookManager = new VerificationHookManager(this.memoryStore);
603
690
  const verification = await hookManager.executePreTaskVerification({
604
691
  task: 'deployment-assessment',
@@ -610,6 +697,119 @@ const verification = await hookManager.executePreTaskVerification({
610
697
  });
611
698
  ```
612
699
 
700
+ ## Learning Integration (Phase 6)
701
+
702
+ This agent integrates with the **Learning Engine** to continuously improve deployment risk predictions through reinforcement learning.
703
+
704
+ ### Learning Protocol
705
+
706
+ ```typescript
707
+ import { LearningEngine } from '@/learning/LearningEngine';
708
+
709
+ // Initialize learning engine
710
+ const learningEngine = new LearningEngine({
711
+ agentId: 'qe-deployment-readiness',
712
+ taskType: 'deployment-readiness',
713
+ domain: 'deployment-readiness',
714
+ learningRate: 0.01,
715
+ epsilon: 0.1,
716
+ discountFactor: 0.95
717
+ });
718
+
719
+ await learningEngine.initialize();
720
+
721
+ // Record deployment assessment episode
722
+ await learningEngine.recordEpisode({
723
+ state: {
724
+ qualitySignals: qualitySignalsData,
725
+ deploymentHistory: historicalData,
726
+ environment: 'production'
727
+ },
728
+ action: {
729
+ decision: 'approved',
730
+ riskScore: 18,
731
+ confidence: 94.2
732
+ },
733
+ reward: deploymentSuccessful ? 1.0 : -1.0,
734
+ nextState: {
735
+ deploymentOutcome: 'success',
736
+ actualRisk: 15,
737
+ userImpact: 'none'
738
+ }
739
+ });
740
+
741
+ // Learn from deployment outcomes
742
+ await learningEngine.learn();
743
+
744
+ // Get learned deployment risk prediction
745
+ const prediction = await learningEngine.predict({
746
+ qualitySignals: currentSignals,
747
+ deploymentHistory: recentHistory,
748
+ environment: 'production'
749
+ });
750
+ ```
751
+
752
+ ### Reward Function
753
+
754
+ ```typescript
755
+ function calculateDeploymentReward(outcome: DeploymentOutcome): number {
756
+ let reward = 0;
757
+
758
+ // Base reward for deployment success/failure
759
+ if (outcome.deploymentSuccessful) {
760
+ reward += 1.0;
761
+ } else {
762
+ reward -= 1.0;
763
+ }
764
+
765
+ // Bonus for accurate risk prediction
766
+ const riskAccuracy = 1 - Math.abs(outcome.predictedRisk - outcome.actualRisk) / 100;
767
+ reward += riskAccuracy * 0.5;
768
+
769
+ // Penalty for user impact
770
+ const impactPenalty = {
771
+ 'none': 0,
772
+ 'low': -0.2,
773
+ 'medium': -0.5,
774
+ 'high': -1.0,
775
+ 'critical': -2.0
776
+ };
777
+ reward += impactPenalty[outcome.userImpact] || 0;
778
+
779
+ // Bonus for preventing bad deployments
780
+ if (!outcome.deploymentSuccessful && outcome.decision === 'blocked') {
781
+ reward += 2.0; // Saved from production incident
782
+ }
783
+
784
+ // Penalty for false positives (blocking good deployments)
785
+ if (outcome.deploymentSuccessful && outcome.decision === 'blocked') {
786
+ reward -= 0.5;
787
+ }
788
+
789
+ return reward;
790
+ }
791
+ ```
792
+
793
+ ### Learning Metrics
794
+
795
+ Track learning progress:
796
+ - **Prediction Accuracy**: Percentage of correct risk assessments
797
+ - **False Positive Rate**: Incorrectly blocked deployments
798
+ - **False Negative Rate**: Failed deployments that were approved
799
+ - **Risk Score RMSE**: Root mean square error of risk predictions
800
+ - **Confidence Calibration**: How well confidence scores match actual outcomes
801
+
802
+ ```bash
803
+ # View learning metrics
804
+ aqe learn status --agent qe-deployment-readiness
805
+
806
+ # Export learning history
807
+ aqe learn export --agent qe-deployment-readiness --format json
808
+
809
+ # Analyze prediction accuracy
810
+ aqe learn analyze --agent qe-deployment-readiness --metric accuracy
811
+ ```
812
+
613
813
  ## Memory Keys
614
814
 
615
815
  ### Input Keys
@@ -1139,6 +1339,122 @@ aqe deploy history --days 90 --format chart
1139
1339
  **Version**: 1.0.0
1140
1340
  **Maintainer**: AQE Fleet Team
1141
1341
 
1342
+ ## Learning Protocol (Phase 6 - Option C Implementation)
1343
+
1344
+ **⚠️ MANDATORY**: When executed via Claude Code Task tool, you MUST call learning MCP tools to persist learning data.
1345
+
1346
+ ### Required Learning Actions (Call AFTER Task Completion)
1347
+
1348
+ **1. Store Learning Experience:**
1349
+ ```typescript
1350
+ // Call this MCP tool after completing your task
1351
+ mcp__agentic_qe__learning_store_experience({
1352
+ agentId: "qe-deployment-readiness",
1353
+ taskType: "deployment-readiness-check",
1354
+ reward: 0.95, // Your assessment of task success (0-1 scale)
1355
+ outcome: {
1356
+ // Your actual results
1357
+ checksCompleted: 12,
1358
+ riskLevel: "LOW",
1359
+ readinessScore: 94,
1360
+ executionTime: 4200
1361
+ },
1362
+ metadata: {
1363
+ // Additional context
1364
+ environment: "production",
1365
+ checksPerformed: ["code-quality", "test-coverage", "security", "performance"],
1366
+ complianceValidated: true
1367
+ }
1368
+ })
1369
+ ```
1370
+
1371
+ **2. Store Q-Values for Your Strategy:**
1372
+ ```typescript
1373
+ // Store Q-value for the strategy you used
1374
+ mcp__agentic_qe__learning_store_qvalue({
1375
+ agentId: "qe-deployment-readiness",
1376
+ stateKey: "deployment-readiness-state",
1377
+ actionKey: "multi-factor-assessment",
1378
+ qValue: 0.85, // Expected value of this approach (based on results)
1379
+ metadata: {
1380
+ // Strategy details
1381
+ assessmentStrategy: "multi-factor-risk-scoring",
1382
+ accuracy: 94.2,
1383
+ completeness: 100
1384
+ }
1385
+ })
1386
+ ```
1387
+
1388
+ **3. Store Successful Patterns:**
1389
+ ```typescript
1390
+ // If you discovered a useful pattern, store it
1391
+ mcp__agentic_qe__learning_store_pattern({
1392
+ agentId: "qe-deployment-readiness",
1393
+ pattern: "Multi-factor risk assessment with Bayesian confidence scoring",
1394
+ confidence: 0.95, // How confident you are (0-1)
1395
+ domain: "deployment",
1396
+ metadata: {
1397
+ // Pattern context
1398
+ deploymentPatterns: ["canary-rollout", "blue-green", "feature-flags"],
1399
+ riskPredictionAccuracy: 94.2
1400
+ }
1401
+ })
1402
+ ```
1403
+
1404
+ ### Learning Query (Use at Task Start)
1405
+
1406
+ **Before starting your task**, query for past learnings:
1407
+
1408
+ ```typescript
1409
+ // Query for successful experiences
1410
+ const pastLearnings = await mcp__agentic_qe__learning_query({
1411
+ agentId: "qe-deployment-readiness",
1412
+ taskType: "deployment-readiness-check",
1413
+ minReward: 0.8, // Only get successful experiences
1414
+ queryType: "all",
1415
+ limit: 10
1416
+ });
1417
+
1418
+ // Use the insights to optimize your current approach
1419
+ if (pastLearnings.success && pastLearnings.data) {
1420
+ const { experiences, qValues, patterns } = pastLearnings.data;
1421
+
1422
+ // Find best-performing strategy
1423
+ const bestStrategy = qValues
1424
+ .filter(qv => qv.state_key === "deployment-readiness-state")
1425
+ .sort((a, b) => b.q_value - a.q_value)[0];
1426
+
1427
+ console.log(`Using learned best strategy: ${bestStrategy.action_key} (Q-value: ${bestStrategy.q_value})`);
1428
+
1429
+ // Check for relevant patterns
1430
+ const relevantPatterns = patterns
1431
+ .filter(p => p.domain === "deployment")
1432
+ .sort((a, b) => b.confidence * b.success_rate - a.confidence * a.success_rate);
1433
+
1434
+ if (relevantPatterns.length > 0) {
1435
+ console.log(`Applying pattern: ${relevantPatterns[0].pattern}`);
1436
+ }
1437
+ }
1438
+ ```
1439
+
1440
+ ### Success Criteria for Learning
1441
+
1442
+ **Reward Assessment (0-1 scale):**
1443
+ - **1.0**: Perfect execution (All checks passed, 0 risks, 100% ready, <5s assessment)
1444
+ - **0.9**: Excellent (98%+ checks passed, low risk, 95%+ ready, <10s)
1445
+ - **0.7**: Good (95%+ checks passed, medium risk, 90%+ ready, <20s)
1446
+ - **0.5**: Acceptable (90%+ checks passed, acceptable risk)
1447
+ - **<0.5**: Needs improvement (Failed checks, high risk, not ready)
1448
+
1449
+ **When to Call Learning Tools:**
1450
+ - ✅ **ALWAYS** after completing main task
1451
+ - ✅ **ALWAYS** after detecting significant findings
1452
+ - ✅ **ALWAYS** after generating recommendations
1453
+ - ✅ When discovering new effective strategies
1454
+ - ✅ When achieving exceptional performance metrics
1455
+
1456
+ ---
1457
+
1142
1458
  ## Code Execution Workflows
1143
1459
 
1144
1460
  Assess deployment risk and make data-driven go/no-go decisions.
@@ -1004,6 +1004,121 @@ const verification = await hookManager.executePreTaskVerification({
1004
1004
  });
1005
1005
  ```
1006
1006
 
1007
+ ## Learning Protocol
1008
+
1009
+ **⚠️ MANDATORY**: When executed via Claude Code Task tool, you MUST call learning MCP tools to persist learning data.
1010
+
1011
+ ### Required Learning Actions (Call AFTER Task Completion)
1012
+
1013
+ **1. Store Learning Experience:**
1014
+ ```typescript
1015
+ // Call this MCP tool after completing flaky test detection
1016
+ mcp__agentic_qe__learning_store_experience({
1017
+ agentId: "qe-flaky-test-hunter",
1018
+ taskType: "flaky-detection",
1019
+ reward: 0.95, // Your assessment of task success (0-1 scale)
1020
+ outcome: {
1021
+ flakyTestsDetected: 13,
1022
+ reliability: 0.9862,
1023
+ autoStabilized: 8,
1024
+ executionTime: 12000,
1025
+ falsePositives: 1
1026
+ },
1027
+ metadata: {
1028
+ algorithm: "statistical-analysis",
1029
+ confidenceLevel: 0.99,
1030
+ method: "ml-pattern-matching"
1031
+ }
1032
+ })
1033
+ ```
1034
+
1035
+ **2. Store Q-Values for Your Strategy:**
1036
+ ```typescript
1037
+ // Store Q-value for the detection strategy you used
1038
+ mcp__agentic_qe__learning_store_qvalue({
1039
+ agentId: "qe-flaky-test-hunter",
1040
+ stateKey: "flaky-detection-state",
1041
+ actionKey: "statistical-analysis", // or "ml-pattern-matching", "historical-analysis"
1042
+ qValue: 0.92, // Expected value of this approach
1043
+ metadata: {
1044
+ detectionMethod: "statistical-analysis",
1045
+ falsePositiveRate: "2%",
1046
+ stabilizationSuccess: "80%",
1047
+ confidence: 0.99
1048
+ }
1049
+ })
1050
+ ```
1051
+
1052
+ **3. Store Successful Patterns:**
1053
+ ```typescript
1054
+ // If you discovered a useful pattern, store it
1055
+ mcp__agentic_qe__learning_store_pattern({
1056
+ agentId: "qe-flaky-test-hunter",
1057
+ pattern: "Statistical analysis with 100-run sampling achieves 98% detection accuracy with <2% false positives for async tests",
1058
+ confidence: 0.98,
1059
+ domain: "flaky-detection",
1060
+ metadata: {
1061
+ detectionMethod: "statistical-analysis",
1062
+ sampleSize: 100,
1063
+ accuracy: "98%",
1064
+ falsePositiveRate: "2%",
1065
+ testType: "async"
1066
+ }
1067
+ })
1068
+ ```
1069
+
1070
+ ### Learning Query (Use at Task Start)
1071
+
1072
+ **Before starting flaky test detection**, query for past learnings:
1073
+
1074
+ ```typescript
1075
+ // Query for successful flaky detection experiences
1076
+ const pastLearnings = await mcp__agentic_qe__learning_query({
1077
+ agentId: "qe-flaky-test-hunter",
1078
+ taskType: "flaky-detection",
1079
+ minReward: 0.8,
1080
+ queryType: "all",
1081
+ limit: 10
1082
+ });
1083
+
1084
+ // Use the insights to optimize your current approach
1085
+ if (pastLearnings.success && pastLearnings.data) {
1086
+ const { experiences, qValues, patterns } = pastLearnings.data;
1087
+
1088
+ // Find best-performing detection strategy
1089
+ const bestStrategy = qValues
1090
+ .filter(qv => qv.state_key === "flaky-detection-state")
1091
+ .sort((a, b) => b.q_value - a.q_value)[0];
1092
+
1093
+ console.log(`Using learned best strategy: ${bestStrategy.action_key} (Q-value: ${bestStrategy.q_value})`);
1094
+
1095
+ // Check for relevant patterns
1096
+ const relevantPatterns = patterns
1097
+ .filter(p => p.domain === "flaky-detection")
1098
+ .sort((a, b) => b.confidence * b.success_rate - a.confidence * a.success_rate);
1099
+
1100
+ if (relevantPatterns.length > 0) {
1101
+ console.log(`Applying pattern: ${relevantPatterns[0].pattern}`);
1102
+ }
1103
+ }
1104
+ ```
1105
+
1106
+ ### Success Criteria for Learning
1107
+
1108
+ **Reward Assessment (0-1 scale):**
1109
+ - **1.0**: Perfect execution (100% detection accuracy, 0 false positives, <5s analysis)
1110
+ - **0.9**: Excellent (98%+ detection accuracy, <2% false positives, auto-stabilization successful)
1111
+ - **0.7**: Good (95%+ detection accuracy, <5% false positives)
1112
+ - **0.5**: Acceptable (90%+ detection accuracy, completed successfully)
1113
+ - **<0.5**: Needs improvement (low accuracy, many false positives, stabilization failed)
1114
+
1115
+ **When to Call Learning Tools:**
1116
+ - ✅ **ALWAYS** after completing flaky test detection
1117
+ - ✅ **ALWAYS** after auto-stabilization attempts
1118
+ - ✅ **ALWAYS** after measuring detection accuracy
1119
+ - ✅ When discovering new detection patterns
1120
+ - ✅ When achieving exceptional accuracy metrics
1121
+
1007
1122
  ## Memory Keys
1008
1123
 
1009
1124
  ### Input Keys