agentic-qe 3.7.6 → 3.7.8

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 (171) hide show
  1. package/.claude/helpers/statusline-v3.cjs +13 -1
  2. package/.claude/skills/skills-manifest.json +1 -1
  3. package/CHANGELOG.md +39 -0
  4. package/README.md +36 -0
  5. package/dist/cli/bundle.js +2052 -183
  6. package/dist/coordination/complexity-composition/index.d.ts +2 -0
  7. package/dist/coordination/complexity-composition/index.d.ts.map +1 -0
  8. package/dist/coordination/complexity-composition/index.js +2 -0
  9. package/dist/coordination/complexity-composition/index.js.map +1 -0
  10. package/dist/coordination/complexity-composition/team-composer.d.ts +72 -0
  11. package/dist/coordination/complexity-composition/team-composer.d.ts.map +1 -0
  12. package/dist/coordination/complexity-composition/team-composer.js +221 -0
  13. package/dist/coordination/complexity-composition/team-composer.js.map +1 -0
  14. package/dist/coordination/consensus/consensus-engine.d.ts +10 -1
  15. package/dist/coordination/consensus/consensus-engine.d.ts.map +1 -1
  16. package/dist/coordination/consensus/consensus-engine.js +31 -1
  17. package/dist/coordination/consensus/consensus-engine.js.map +1 -1
  18. package/dist/coordination/consensus/index.d.ts +1 -0
  19. package/dist/coordination/consensus/index.d.ts.map +1 -1
  20. package/dist/coordination/consensus/index.js +4 -0
  21. package/dist/coordination/consensus/index.js.map +1 -1
  22. package/dist/coordination/consensus/interfaces.d.ts +5 -0
  23. package/dist/coordination/consensus/interfaces.d.ts.map +1 -1
  24. package/dist/coordination/consensus/interfaces.js +1 -0
  25. package/dist/coordination/consensus/interfaces.js.map +1 -1
  26. package/dist/coordination/consensus/sycophancy-scorer.d.ts +62 -0
  27. package/dist/coordination/consensus/sycophancy-scorer.d.ts.map +1 -0
  28. package/dist/coordination/consensus/sycophancy-scorer.js +200 -0
  29. package/dist/coordination/consensus/sycophancy-scorer.js.map +1 -0
  30. package/dist/coordination/fleet-tiers/tier-selector.d.ts +20 -0
  31. package/dist/coordination/fleet-tiers/tier-selector.d.ts.map +1 -1
  32. package/dist/coordination/fleet-tiers/tier-selector.js +31 -0
  33. package/dist/coordination/fleet-tiers/tier-selector.js.map +1 -1
  34. package/dist/coordination/fleet-tiers/types.d.ts +2 -0
  35. package/dist/coordination/fleet-tiers/types.d.ts.map +1 -1
  36. package/dist/domains/test-execution/services/e2e/adaptive-locator-service.d.ts +71 -0
  37. package/dist/domains/test-execution/services/e2e/adaptive-locator-service.d.ts.map +1 -0
  38. package/dist/domains/test-execution/services/e2e/adaptive-locator-service.js +456 -0
  39. package/dist/domains/test-execution/services/e2e/adaptive-locator-service.js.map +1 -0
  40. package/dist/domains/test-execution/services/e2e/adaptive-locator-types.d.ts +81 -0
  41. package/dist/domains/test-execution/services/e2e/adaptive-locator-types.d.ts.map +1 -0
  42. package/dist/domains/test-execution/services/e2e/adaptive-locator-types.js +20 -0
  43. package/dist/domains/test-execution/services/e2e/adaptive-locator-types.js.map +1 -0
  44. package/dist/domains/test-execution/services/e2e/browser-orchestrator.d.ts +19 -0
  45. package/dist/domains/test-execution/services/e2e/browser-orchestrator.d.ts.map +1 -1
  46. package/dist/domains/test-execution/services/e2e/browser-orchestrator.js +82 -0
  47. package/dist/domains/test-execution/services/e2e/browser-orchestrator.js.map +1 -1
  48. package/dist/domains/test-execution/services/e2e/index.d.ts +2 -0
  49. package/dist/domains/test-execution/services/e2e/index.d.ts.map +1 -1
  50. package/dist/domains/test-execution/services/e2e/index.js +5 -0
  51. package/dist/domains/test-execution/services/e2e/index.js.map +1 -1
  52. package/dist/domains/test-execution/services/e2e/step-executors.d.ts +6 -0
  53. package/dist/domains/test-execution/services/e2e/step-executors.d.ts.map +1 -1
  54. package/dist/domains/test-execution/services/e2e/step-executors.js +17 -2
  55. package/dist/domains/test-execution/services/e2e/step-executors.js.map +1 -1
  56. package/dist/domains/test-execution/services/e2e/types.d.ts +18 -1
  57. package/dist/domains/test-execution/services/e2e/types.d.ts.map +1 -1
  58. package/dist/domains/test-execution/services/e2e/types.js.map +1 -1
  59. package/dist/domains/test-generation/blind-review/blind-review-orchestrator.d.ts +65 -0
  60. package/dist/domains/test-generation/blind-review/blind-review-orchestrator.d.ts.map +1 -0
  61. package/dist/domains/test-generation/blind-review/blind-review-orchestrator.js +189 -0
  62. package/dist/domains/test-generation/blind-review/blind-review-orchestrator.js.map +1 -0
  63. package/dist/domains/test-generation/blind-review/index.d.ts +2 -0
  64. package/dist/domains/test-generation/blind-review/index.d.ts.map +1 -0
  65. package/dist/domains/test-generation/blind-review/index.js +2 -0
  66. package/dist/domains/test-generation/blind-review/index.js.map +1 -0
  67. package/dist/domains/test-generation/gates/index.d.ts +2 -0
  68. package/dist/domains/test-generation/gates/index.d.ts.map +1 -0
  69. package/dist/domains/test-generation/gates/index.js +2 -0
  70. package/dist/domains/test-generation/gates/index.js.map +1 -0
  71. package/dist/domains/test-generation/gates/test-quality-gate.d.ts +85 -0
  72. package/dist/domains/test-generation/gates/test-quality-gate.d.ts.map +1 -0
  73. package/dist/domains/test-generation/gates/test-quality-gate.js +320 -0
  74. package/dist/domains/test-generation/gates/test-quality-gate.js.map +1 -0
  75. package/dist/domains/test-generation/interfaces.d.ts +3 -0
  76. package/dist/domains/test-generation/interfaces.d.ts.map +1 -1
  77. package/dist/domains/test-generation/pattern-injection/edge-case-injector.d.ts +68 -0
  78. package/dist/domains/test-generation/pattern-injection/edge-case-injector.d.ts.map +1 -0
  79. package/dist/domains/test-generation/pattern-injection/edge-case-injector.js +225 -0
  80. package/dist/domains/test-generation/pattern-injection/edge-case-injector.js.map +1 -0
  81. package/dist/domains/test-generation/pattern-injection/index.d.ts +2 -0
  82. package/dist/domains/test-generation/pattern-injection/index.d.ts.map +1 -0
  83. package/dist/domains/test-generation/pattern-injection/index.js +2 -0
  84. package/dist/domains/test-generation/pattern-injection/index.js.map +1 -0
  85. package/dist/domains/test-generation/services/test-generator.d.ts +6 -0
  86. package/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
  87. package/dist/domains/test-generation/services/test-generator.js +29 -0
  88. package/dist/domains/test-generation/services/test-generator.js.map +1 -1
  89. package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.d.ts +8 -2
  90. package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.d.ts.map +1 -1
  91. package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js +62 -38
  92. package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js.map +1 -1
  93. package/dist/integrations/browser/client-factory.d.ts +6 -1
  94. package/dist/integrations/browser/client-factory.d.ts.map +1 -1
  95. package/dist/integrations/browser/client-factory.js +37 -2
  96. package/dist/integrations/browser/client-factory.js.map +1 -1
  97. package/dist/integrations/browser/index.d.ts +5 -1
  98. package/dist/integrations/browser/index.d.ts.map +1 -1
  99. package/dist/integrations/browser/index.js +8 -1
  100. package/dist/integrations/browser/index.js.map +1 -1
  101. package/dist/integrations/browser/page-pool-types.d.ts +70 -0
  102. package/dist/integrations/browser/page-pool-types.d.ts.map +1 -0
  103. package/dist/integrations/browser/page-pool-types.js +19 -0
  104. package/dist/integrations/browser/page-pool-types.js.map +1 -0
  105. package/dist/integrations/browser/page-pool.d.ts +79 -0
  106. package/dist/integrations/browser/page-pool.d.ts.map +1 -0
  107. package/dist/integrations/browser/page-pool.js +288 -0
  108. package/dist/integrations/browser/page-pool.js.map +1 -0
  109. package/dist/integrations/browser/resource-blocking.d.ts +47 -0
  110. package/dist/integrations/browser/resource-blocking.d.ts.map +1 -0
  111. package/dist/integrations/browser/resource-blocking.js +195 -0
  112. package/dist/integrations/browser/resource-blocking.js.map +1 -0
  113. package/dist/integrations/browser/stealth/index.d.ts +8 -0
  114. package/dist/integrations/browser/stealth/index.d.ts.map +1 -0
  115. package/dist/integrations/browser/stealth/index.js +7 -0
  116. package/dist/integrations/browser/stealth/index.js.map +1 -0
  117. package/dist/integrations/browser/stealth/stealth-client.d.ts +51 -0
  118. package/dist/integrations/browser/stealth/stealth-client.d.ts.map +1 -0
  119. package/dist/integrations/browser/stealth/stealth-client.js +359 -0
  120. package/dist/integrations/browser/stealth/stealth-client.js.map +1 -0
  121. package/dist/integrations/browser/stealth/stealth-types.d.ts +35 -0
  122. package/dist/integrations/browser/stealth/stealth-types.d.ts.map +1 -0
  123. package/dist/integrations/browser/stealth/stealth-types.js +17 -0
  124. package/dist/integrations/browser/stealth/stealth-types.js.map +1 -0
  125. package/dist/integrations/browser/types.d.ts +13 -10
  126. package/dist/integrations/browser/types.d.ts.map +1 -1
  127. package/dist/integrations/browser/types.js.map +1 -1
  128. package/dist/learning/experience-capture.d.ts +12 -2
  129. package/dist/learning/experience-capture.d.ts.map +1 -1
  130. package/dist/learning/experience-capture.js +28 -35
  131. package/dist/learning/experience-capture.js.map +1 -1
  132. package/dist/learning/experience-consolidation.d.ts +74 -0
  133. package/dist/learning/experience-consolidation.d.ts.map +1 -0
  134. package/dist/learning/experience-consolidation.js +403 -0
  135. package/dist/learning/experience-consolidation.js.map +1 -0
  136. package/dist/mcp/bundle.js +3050 -341
  137. package/dist/routing/calibration/ema-calibrator.d.ts +93 -0
  138. package/dist/routing/calibration/ema-calibrator.d.ts.map +1 -0
  139. package/dist/routing/calibration/ema-calibrator.js +140 -0
  140. package/dist/routing/calibration/ema-calibrator.js.map +1 -0
  141. package/dist/routing/calibration/index.d.ts +2 -0
  142. package/dist/routing/calibration/index.d.ts.map +1 -0
  143. package/dist/routing/calibration/index.js +2 -0
  144. package/dist/routing/calibration/index.js.map +1 -0
  145. package/dist/routing/escalation/auto-escalation-tracker.d.ts +62 -0
  146. package/dist/routing/escalation/auto-escalation-tracker.d.ts.map +1 -0
  147. package/dist/routing/escalation/auto-escalation-tracker.js +116 -0
  148. package/dist/routing/escalation/auto-escalation-tracker.js.map +1 -0
  149. package/dist/routing/escalation/index.d.ts +2 -0
  150. package/dist/routing/escalation/index.d.ts.map +1 -0
  151. package/dist/routing/escalation/index.js +2 -0
  152. package/dist/routing/escalation/index.js.map +1 -0
  153. package/dist/routing/index.d.ts +4 -0
  154. package/dist/routing/index.d.ts.map +1 -1
  155. package/dist/routing/index.js +4 -0
  156. package/dist/routing/index.js.map +1 -1
  157. package/dist/routing/routing-config.d.ts +4 -0
  158. package/dist/routing/routing-config.d.ts.map +1 -1
  159. package/dist/routing/routing-config.js +2 -0
  160. package/dist/routing/routing-config.js.map +1 -1
  161. package/dist/routing/routing-feedback.d.ts +35 -2
  162. package/dist/routing/routing-feedback.d.ts.map +1 -1
  163. package/dist/routing/routing-feedback.js +97 -3
  164. package/dist/routing/routing-feedback.js.map +1 -1
  165. package/dist/routing/types.d.ts +2 -0
  166. package/dist/routing/types.d.ts.map +1 -1
  167. package/dist/routing/types.js.map +1 -1
  168. package/dist/workers/workers/learning-consolidation.d.ts.map +1 -1
  169. package/dist/workers/workers/learning-consolidation.js +32 -0
  170. package/dist/workers/workers/learning-consolidation.js.map +1 -1
  171. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/coordination/consensus/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA+pBH,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA0B;IAC7D,gBAAgB,EAAE,CAAC,GAAG,CAAC;IACvB,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,mBAAmB,EAAE,KAAK;IAC1B,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;IACtC,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,OAAO,EAAE,SAAS;IAC9B,kBAAkB,EAAE,IAAI;IACxB,sBAAsB,EAAE,IAAI,EAAE,gCAAgC;IAC9D,oBAAoB,EAAE,GAAG;CAC1B,CAAC"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/coordination/consensus/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAwqBH,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA0B;IAC7D,gBAAgB,EAAE,CAAC,GAAG,CAAC;IACvB,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,mBAAmB,EAAE,KAAK;IAC1B,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;IACtC,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,OAAO,EAAE,SAAS;IAC9B,kBAAkB,EAAE,IAAI;IACxB,sBAAsB,EAAE,IAAI,EAAE,gCAAgC;IAC9D,oBAAoB,EAAE,GAAG;IACzB,qBAAqB,EAAE,IAAI;CAC5B,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Sycophancy Scorer - Detects rubber-stamping in multi-agent consensus
3
+ * Inspired by loki-mode anti-sycophancy detection
4
+ *
5
+ * Uses 4 weighted signals to detect when agents agree too uniformly:
6
+ * 1. Verdict Unanimity (30%) - all votes same verdict
7
+ * 2. Reasoning Similarity (30%) - Jaccard on tokenized justifications
8
+ * 3. Confidence Uniformity (20%) - std dev of confidence scores
9
+ * 4. Issue Count Consistency (20%) - variation in reported suggestion counts
10
+ *
11
+ * @see docs/plans/loki-mode-integration.md
12
+ */
13
+ import type { ModelVote } from './interfaces.js';
14
+ /**
15
+ * A single signal contributing to sycophancy detection
16
+ */
17
+ export interface SycophancySignal {
18
+ /** Name of the signal */
19
+ readonly name: string;
20
+ /** Weight of this signal in the composite score (0-1) */
21
+ readonly weight: number;
22
+ /** Raw score for this signal (0-1, higher = more sycophantic) */
23
+ readonly score: number;
24
+ }
25
+ /**
26
+ * Classification of sycophancy severity
27
+ */
28
+ export type SycophancyLevel = 'independent' | 'mild' | 'moderate' | 'severe';
29
+ /**
30
+ * Result of sycophancy evaluation
31
+ */
32
+ export interface SycophancyResult {
33
+ /** Classification level */
34
+ readonly level: SycophancyLevel;
35
+ /** Composite score (0-1, higher = more sycophantic) */
36
+ readonly compositeScore: number;
37
+ /** Individual signal breakdowns */
38
+ readonly signals: readonly SycophancySignal[];
39
+ /** Human-readable recommendation */
40
+ readonly recommendation: string;
41
+ }
42
+ /**
43
+ * Evaluates multi-agent consensus votes for signs of sycophantic agreement
44
+ * (rubber-stamping). Uses 4 weighted signals to produce a composite score
45
+ * and classification.
46
+ */
47
+ export declare class SycophancyScorer {
48
+ private readonly signalWeights;
49
+ constructor();
50
+ /**
51
+ * Evaluate a set of model votes for sycophancy signals
52
+ *
53
+ * @param votes - Array of model votes to evaluate
54
+ * @returns SycophancyResult with level, composite score, signals, and recommendation
55
+ */
56
+ evaluate(votes: ModelVote[]): SycophancyResult;
57
+ }
58
+ /**
59
+ * Create a new SycophancyScorer instance
60
+ */
61
+ export declare function createSycophancyScorer(): SycophancyScorer;
62
+ //# sourceMappingURL=sycophancy-scorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sycophancy-scorer.d.ts","sourceRoot":"","sources":["../../../src/coordination/consensus/sycophancy-scorer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAMjD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,uDAAuD;IACvD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,mCAAmC;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,oCAAoC;IACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAyID;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8F;;IAW5H;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,gBAAgB;CAsC/C;AAMD;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD"}
@@ -0,0 +1,200 @@
1
+ /**
2
+ * Sycophancy Scorer - Detects rubber-stamping in multi-agent consensus
3
+ * Inspired by loki-mode anti-sycophancy detection
4
+ *
5
+ * Uses 4 weighted signals to detect when agents agree too uniformly:
6
+ * 1. Verdict Unanimity (30%) - all votes same verdict
7
+ * 2. Reasoning Similarity (30%) - Jaccard on tokenized justifications
8
+ * 3. Confidence Uniformity (20%) - std dev of confidence scores
9
+ * 4. Issue Count Consistency (20%) - variation in reported suggestion counts
10
+ *
11
+ * @see docs/plans/loki-mode-integration.md
12
+ */
13
+ // ============================================================================
14
+ // Utility Functions
15
+ // ============================================================================
16
+ /**
17
+ * Calculate Jaccard similarity between two strings based on word tokens
18
+ */
19
+ function jaccardSimilarity(a, b) {
20
+ const setA = new Set(a.toLowerCase().split(/\s+/).filter(w => w.length > 2));
21
+ const setB = new Set(b.toLowerCase().split(/\s+/).filter(w => w.length > 2));
22
+ const intersection = new Set([...setA].filter(x => setB.has(x)));
23
+ const union = new Set([...setA, ...setB]);
24
+ return union.size === 0 ? 0 : intersection.size / union.size;
25
+ }
26
+ /**
27
+ * Calculate standard deviation of a number array
28
+ */
29
+ function standardDeviation(values) {
30
+ if (values.length < 2)
31
+ return 0;
32
+ const mean = values.reduce((sum, v) => sum + v, 0) / values.length;
33
+ const squaredDiffs = values.map(v => (v - mean) ** 2);
34
+ const variance = squaredDiffs.reduce((sum, v) => sum + v, 0) / values.length;
35
+ return Math.sqrt(variance);
36
+ }
37
+ /**
38
+ * Classify composite score into a sycophancy level
39
+ */
40
+ function classifyLevel(score) {
41
+ if (score >= 0.7)
42
+ return 'severe';
43
+ if (score >= 0.5)
44
+ return 'moderate';
45
+ if (score >= 0.3)
46
+ return 'mild';
47
+ return 'independent';
48
+ }
49
+ /**
50
+ * Generate a recommendation string based on the sycophancy level
51
+ */
52
+ function generateRecommendation(level) {
53
+ switch (level) {
54
+ case 'independent':
55
+ return 'Votes appear independent. No action needed.';
56
+ case 'mild':
57
+ return 'Slight agreement bias detected. Consider monitoring for patterns.';
58
+ case 'moderate':
59
+ return 'Moderate rubber-stamping detected. Consider adding diverse model providers or requesting re-evaluation with varied prompts.';
60
+ case 'severe':
61
+ return 'Severe rubber-stamping detected. Recommend human review and adding independent model providers with different architectures.';
62
+ }
63
+ }
64
+ // ============================================================================
65
+ // Signal Calculators
66
+ // ============================================================================
67
+ /**
68
+ * Signal 1: Verdict Unanimity (weight: 0.30)
69
+ * Score is 1.0 if all votes agree, 0.0 if evenly split.
70
+ */
71
+ function calculateVerdictUnanimity(votes) {
72
+ if (votes.length < 2)
73
+ return 0;
74
+ const agreesCount = votes.filter(v => v.agrees).length;
75
+ const ratio = agreesCount / votes.length;
76
+ // Distance from 0.5 (perfect split), normalized to 0-1
77
+ // ratio=1.0 or 0.0 -> score=1.0, ratio=0.5 -> score=0.0
78
+ return Math.abs(ratio - 0.5) * 2;
79
+ }
80
+ /**
81
+ * Signal 2: Reasoning Similarity (weight: 0.30)
82
+ * Average pairwise Jaccard similarity across all vote reasoning strings.
83
+ */
84
+ function calculateReasoningSimilarity(votes) {
85
+ if (votes.length < 2)
86
+ return 0;
87
+ const reasonings = votes.map(v => v.reasoning).filter(r => r.length > 0);
88
+ if (reasonings.length < 2)
89
+ return 0;
90
+ let totalSimilarity = 0;
91
+ let pairCount = 0;
92
+ for (let i = 0; i < reasonings.length; i++) {
93
+ for (let j = i + 1; j < reasonings.length; j++) {
94
+ totalSimilarity += jaccardSimilarity(reasonings[i], reasonings[j]);
95
+ pairCount++;
96
+ }
97
+ }
98
+ return pairCount === 0 ? 0 : totalSimilarity / pairCount;
99
+ }
100
+ /**
101
+ * Signal 3: Confidence Uniformity (weight: 0.20)
102
+ * Low standard deviation in confidence scores indicates potential groupthink.
103
+ * Score is inverted: low std dev -> high score.
104
+ */
105
+ function calculateConfidenceUniformity(votes) {
106
+ if (votes.length < 2)
107
+ return 0;
108
+ const confidences = votes.map(v => v.confidence);
109
+ const stdDev = standardDeviation(confidences);
110
+ // Max possible std dev for values in [0,1] is 0.5 (half at 0, half at 1)
111
+ // Normalize: 0 std dev -> 1.0 score, 0.5 std dev -> 0.0 score
112
+ return Math.max(0, 1 - stdDev * 2);
113
+ }
114
+ /**
115
+ * Signal 4: Issue Count Consistency (weight: 0.20)
116
+ * Low variation in the number of suggestions reported by each model.
117
+ * Score is inverted: low variation -> high score.
118
+ */
119
+ function calculateIssueCountConsistency(votes) {
120
+ if (votes.length < 2)
121
+ return 0;
122
+ const counts = votes.map(v => (v.suggestions?.length ?? 0));
123
+ // If all counts are 0, this is mildly suspicious but not conclusive
124
+ if (counts.every(c => c === 0))
125
+ return 0.5;
126
+ const stdDev = standardDeviation(counts);
127
+ const mean = counts.reduce((sum, c) => sum + c, 0) / counts.length;
128
+ // Normalize using coefficient of variation, capped at 1
129
+ if (mean === 0)
130
+ return 0.5;
131
+ const cv = stdDev / mean;
132
+ // cv=0 -> score=1.0, cv>=1 -> score=0.0
133
+ return Math.max(0, 1 - cv);
134
+ }
135
+ // ============================================================================
136
+ // SycophancyScorer Class
137
+ // ============================================================================
138
+ /**
139
+ * Evaluates multi-agent consensus votes for signs of sycophantic agreement
140
+ * (rubber-stamping). Uses 4 weighted signals to produce a composite score
141
+ * and classification.
142
+ */
143
+ export class SycophancyScorer {
144
+ signalWeights;
145
+ constructor() {
146
+ this.signalWeights = [
147
+ { name: 'verdict-unanimity', weight: 0.30, calculator: calculateVerdictUnanimity },
148
+ { name: 'reasoning-similarity', weight: 0.30, calculator: calculateReasoningSimilarity },
149
+ { name: 'confidence-uniformity', weight: 0.20, calculator: calculateConfidenceUniformity },
150
+ { name: 'issue-count-consistency', weight: 0.20, calculator: calculateIssueCountConsistency },
151
+ ];
152
+ }
153
+ /**
154
+ * Evaluate a set of model votes for sycophancy signals
155
+ *
156
+ * @param votes - Array of model votes to evaluate
157
+ * @returns SycophancyResult with level, composite score, signals, and recommendation
158
+ */
159
+ evaluate(votes) {
160
+ // Edge case: 0 or 1 votes cannot exhibit sycophancy
161
+ if (votes.length < 2) {
162
+ return {
163
+ level: 'independent',
164
+ compositeScore: 0,
165
+ signals: this.signalWeights.map(sw => ({
166
+ name: sw.name,
167
+ weight: sw.weight,
168
+ score: 0,
169
+ })),
170
+ recommendation: 'Insufficient votes for sycophancy detection.',
171
+ };
172
+ }
173
+ // Calculate each signal
174
+ const signals = this.signalWeights.map(sw => ({
175
+ name: sw.name,
176
+ weight: sw.weight,
177
+ score: sw.calculator(votes),
178
+ }));
179
+ // Compute weighted composite score
180
+ const compositeScore = signals.reduce((sum, signal) => sum + signal.weight * signal.score, 0);
181
+ const level = classifyLevel(compositeScore);
182
+ const recommendation = generateRecommendation(level);
183
+ return {
184
+ level,
185
+ compositeScore,
186
+ signals,
187
+ recommendation,
188
+ };
189
+ }
190
+ }
191
+ // ============================================================================
192
+ // Factory Function
193
+ // ============================================================================
194
+ /**
195
+ * Create a new SycophancyScorer instance
196
+ */
197
+ export function createSycophancyScorer() {
198
+ return new SycophancyScorer();
199
+ }
200
+ //# sourceMappingURL=sycophancy-scorer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sycophancy-scorer.js","sourceRoot":"","sources":["../../../src/coordination/consensus/sycophancy-scorer.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  * and allocates agents across domains accordingly.
8
8
  */
9
9
  import type { FleetTier, TierConfig, TierSelectionContext, TierSelectionResult, AgentAllocation, TierSelectionStats } from './types';
10
+ import { TeamComposer, type TeamComposition, type ComplexityInput } from '../complexity-composition/index.js';
10
11
  /**
11
12
  * Selects the appropriate fleet activation tier based on context and
12
13
  * allocates agents across affected domains.
@@ -89,6 +90,25 @@ export declare class TierSelector {
89
90
  * @returns Aggregated tier selection statistics
90
91
  */
91
92
  getStats(): TierSelectionStats;
93
+ /** Optional team composer for complexity-driven agent composition */
94
+ private _teamComposer?;
95
+ /**
96
+ * Set the team composer for complexity-driven composition.
97
+ */
98
+ setTeamComposer(composer: TeamComposer): void;
99
+ /**
100
+ * Select tier and optionally enrich the result with a complexity-driven
101
+ * team composition. This does NOT change existing selectTier() behavior --
102
+ * it calls selectTier() internally and then appends composition data.
103
+ *
104
+ * @param context - The tier selection context
105
+ * @param complexityMetrics - Optional complexity metrics for composition
106
+ * @param sourceCode - Optional source code for extended dimension analysis
107
+ * @returns Tier selection result with optional team composition
108
+ */
109
+ selectTierWithComposition(context: TierSelectionContext, complexityMetrics?: ComplexityInput, sourceCode?: string): TierSelectionResult & {
110
+ composition?: TeamComposition;
111
+ };
92
112
  /**
93
113
  * Build a complete TierSelectionResult, record it in history, and return it.
94
114
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tier-selector.d.ts","sourceRoot":"","sources":["../../../src/coordination/fleet-tiers/tier-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EAEf,kBAAkB,EACnB,MAAM,SAAS,CAAC;AA0BjB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,iBAAiB,CAAK;IAE9B;;;;;OAKG;gBACS,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAWlE;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,OAAO,EAAE,oBAAoB,GAAG,mBAAmB;IAiE9D;;;;;;;;;;;;OAYG;IACH,cAAc,CACZ,IAAI,EAAE,UAAU,EAChB,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,GAClC,eAAe,EAAE;IAqBpB;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAiBrE;;;;;;OAMG;IACH,UAAU,CAAC,WAAW,EAAE,SAAS,GAAG,mBAAmB;IAiBvD;;;;OAIG;IACH,QAAQ,IAAI,kBAAkB;IAyB9B;;OAEG;IACH,OAAO,CAAC,WAAW;IAiCnB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAoD3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAQzB;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,GACrD,YAAY,CAEd"}
1
+ {"version":3,"file":"tier-selector.d.ts","sourceRoot":"","sources":["../../../src/coordination/fleet-tiers/tier-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EAEf,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAyB9G;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,iBAAiB,CAAK;IAE9B;;;;;OAKG;gBACS,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAWlE;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,OAAO,EAAE,oBAAoB,GAAG,mBAAmB;IAiE9D;;;;;;;;;;;;OAYG;IACH,cAAc,CACZ,IAAI,EAAE,UAAU,EAChB,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,GAClC,eAAe,EAAE;IAqBpB;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAiBrE;;;;;;OAMG;IACH,UAAU,CAAC,WAAW,EAAE,SAAS,GAAG,mBAAmB;IAiBvD;;;;OAIG;IACH,QAAQ,IAAI,kBAAkB;IAyB9B,qEAAqE;IACrE,OAAO,CAAC,aAAa,CAAC,CAAe;IAErC;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAI7C;;;;;;;;;OASG;IACH,yBAAyB,CACvB,OAAO,EAAE,oBAAoB,EAC7B,iBAAiB,CAAC,EAAE,eAAe,EACnC,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB,GAAG;QAAE,WAAW,CAAC,EAAE,eAAe,CAAA;KAAE;IAiB1D;;OAEG;IACH,OAAO,CAAC,WAAW;IAiCnB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAoD3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAQzB;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,GACrD,YAAY,CAEd"}
@@ -7,6 +7,7 @@
7
7
  * and allocates agents across domains accordingly.
8
8
  */
9
9
  import { FLEET_TIER_ORDER } from './types';
10
+ import { TeamComposer } from '../complexity-composition/index.js';
10
11
  import { DEFAULT_TIER_CONFIGS, DEFAULT_DOMAIN_AGENT_MAP, ALL_USER_FACING_DOMAINS, CORE_PRIORITY_DOMAINS, } from './tier-config';
11
12
  // ============================================================================
12
13
  // Constants
@@ -220,6 +221,36 @@ export class TierSelector {
220
221
  };
221
222
  }
222
223
  // --------------------------------------------------------------------------
224
+ // Complexity-Composition Integration
225
+ // --------------------------------------------------------------------------
226
+ /** Optional team composer for complexity-driven agent composition */
227
+ _teamComposer;
228
+ /**
229
+ * Set the team composer for complexity-driven composition.
230
+ */
231
+ setTeamComposer(composer) {
232
+ this._teamComposer = composer;
233
+ }
234
+ /**
235
+ * Select tier and optionally enrich the result with a complexity-driven
236
+ * team composition. This does NOT change existing selectTier() behavior --
237
+ * it calls selectTier() internally and then appends composition data.
238
+ *
239
+ * @param context - The tier selection context
240
+ * @param complexityMetrics - Optional complexity metrics for composition
241
+ * @param sourceCode - Optional source code for extended dimension analysis
242
+ * @returns Tier selection result with optional team composition
243
+ */
244
+ selectTierWithComposition(context, complexityMetrics, sourceCode) {
245
+ const result = this.selectTier(context);
246
+ if (!complexityMetrics || !sourceCode) {
247
+ return { ...result, composition: undefined };
248
+ }
249
+ const composer = this._teamComposer ?? new TeamComposer();
250
+ const composition = composer.compose(complexityMetrics, result.selectedTier, sourceCode);
251
+ return { ...result, composition };
252
+ }
253
+ // --------------------------------------------------------------------------
223
254
  // Private Helpers
224
255
  // --------------------------------------------------------------------------
225
256
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tier-selector.js","sourceRoot":"","sources":["../../../src/coordination/fleet-tiers/tier-selector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tier-selector.js","sourceRoot":"","sources":["../../../src/coordination/fleet-tiers/tier-selector.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,8 @@ export interface TierConfig {
61
61
  readonly description: string;
62
62
  /** Events that may activate this tier */
63
63
  readonly triggers: readonly TierTrigger[];
64
+ /** Enable complexity-driven agent team composition (default: true) */
65
+ readonly enableComplexityComposition?: boolean;
64
66
  }
65
67
  /**
66
68
  * Context provided to the tier selector to determine which tier should activate.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/coordination/fleet-tiers/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/coordination/fleet-tiers/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Adaptive Locator Service
3
+ *
4
+ * Inspired by Scrapling's similarity-based element matching.
5
+ * When a primary selector fails, falls back through text, ARIA, and
6
+ * fingerprint similarity matching to find the intended element.
7
+ *
8
+ * @module test-execution/services/e2e/adaptive-locator-service
9
+ */
10
+ import type { IBrowserClient } from '@integrations/browser';
11
+ import type { ElementFingerprint, AdaptiveLocatorConfig, LocatorResolutionResult } from './adaptive-locator-types';
12
+ /**
13
+ * Compute weighted similarity between a stored fingerprint and a candidate element
14
+ */
15
+ export declare function computeSimilarity(stored: ElementFingerprint, candidate: Omit<ElementFingerprint, 'matchCount' | 'lastMatchedAt'>): number;
16
+ /**
17
+ * Simple in-memory fingerprint store keyed by `pageUrl::selector`
18
+ */
19
+ export declare class FingerprintStore {
20
+ private readonly store;
21
+ private readonly maxPerPage;
22
+ constructor(maxPerPage?: number);
23
+ private key;
24
+ get(pageUrl: string, selector: string): ElementFingerprint | undefined;
25
+ set(pageUrl: string, selector: string, fp: ElementFingerprint): void;
26
+ size(): number;
27
+ clear(): void;
28
+ }
29
+ /**
30
+ * Adaptive Locator Service
31
+ *
32
+ * Provides fallback element resolution when primary selectors fail.
33
+ * Maintains a fingerprint database of previously-matched elements
34
+ * and uses weighted similarity to find the best match.
35
+ */
36
+ export declare class AdaptiveLocatorService {
37
+ private readonly config;
38
+ private readonly fingerprintStore;
39
+ constructor(config?: Partial<AdaptiveLocatorConfig>);
40
+ /**
41
+ * Capture and store a fingerprint for a successfully-interacted element
42
+ */
43
+ captureFingerprint(selector: string, client: IBrowserClient, pageUrl: string): Promise<ElementFingerprint | null>;
44
+ /**
45
+ * Resolve an element target with adaptive fallback chain.
46
+ *
47
+ * 1. Try primary selector
48
+ * 2. Text-based match
49
+ * 3. ARIA-based match
50
+ * 4. Fingerprint similarity matching
51
+ */
52
+ resolveWithFallback(selector: string, client: IBrowserClient, pageUrl: string): Promise<LocatorResolutionResult | null>;
53
+ /**
54
+ * Get the fingerprint store size (for diagnostics)
55
+ */
56
+ getStoreSize(): number;
57
+ /**
58
+ * Clear all stored fingerprints
59
+ */
60
+ clearFingerprints(): void;
61
+ private tryFallbackMethod;
62
+ private tryTextMatch;
63
+ private tryAriaMatch;
64
+ private tryFingerprintMatch;
65
+ /**
66
+ * Convert a selector string to a CSS selector suitable for capture.
67
+ * Returns null for non-CSS selectors that can't be used with querySelector.
68
+ */
69
+ private toCssForCapture;
70
+ }
71
+ //# sourceMappingURL=adaptive-locator-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adaptive-locator-service.d.ts","sourceRoot":"","sources":["../../../../../src/domains/test-execution/services/e2e/adaptive-locator-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EAExB,MAAM,0BAA0B,CAAC;AA4JlC;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE,YAAY,GAAG,eAAe,CAAC,GAClE,MAAM,CAuCR;AA8BD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;IAC/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,UAAU,SAAM;IAI5B,OAAO,CAAC,GAAG;IAIX,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAItE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,kBAAkB,GAAG,IAAI;IAepE,IAAI,IAAI,MAAM;IAId,KAAK,IAAI,IAAI;CAGd;AAMD;;;;;;GAMG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;gBAExC,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAKnD;;OAEG;IACG,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAwBrC;;;;;;;OAOG;IACG,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAc1C;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,iBAAiB,IAAI,IAAI;YAQX,iBAAiB;YAiBjB,YAAY;YAwCZ,YAAY;YAkCZ,mBAAmB;IAoCjC;;;OAGG;IACH,OAAO,CAAC,eAAe;CAMxB"}