dino-spec 17.4.3 → 17.6.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.
Files changed (277) hide show
  1. package/README.md +16 -1
  2. package/dist/commands/init.d.ts.map +1 -1
  3. package/dist/commands/init.js +10 -0
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/core/agents/__tests__/confidence-gate.test.d.ts +5 -0
  6. package/dist/core/agents/__tests__/confidence-gate.test.d.ts.map +1 -0
  7. package/dist/core/agents/__tests__/confidence-gate.test.js +329 -0
  8. package/dist/core/agents/__tests__/confidence-gate.test.js.map +1 -0
  9. package/dist/core/agents/__tests__/gap-detector.test.d.ts +5 -0
  10. package/dist/core/agents/__tests__/gap-detector.test.d.ts.map +1 -0
  11. package/dist/core/agents/__tests__/gap-detector.test.js +609 -0
  12. package/dist/core/agents/__tests__/gap-detector.test.js.map +1 -0
  13. package/dist/core/agents/__tests__/learning-loop.test.d.ts +5 -0
  14. package/dist/core/agents/__tests__/learning-loop.test.d.ts.map +1 -0
  15. package/dist/core/agents/__tests__/learning-loop.test.js +663 -0
  16. package/dist/core/agents/__tests__/learning-loop.test.js.map +1 -0
  17. package/dist/core/agents/__tests__/parallel-executor.test.d.ts +5 -0
  18. package/dist/core/agents/__tests__/parallel-executor.test.d.ts.map +1 -0
  19. package/dist/core/agents/__tests__/parallel-executor.test.js +610 -0
  20. package/dist/core/agents/__tests__/parallel-executor.test.js.map +1 -0
  21. package/dist/core/agents/__tests__/research-validator.test.js +5 -5
  22. package/dist/core/agents/__tests__/research-validator.test.js.map +1 -1
  23. package/dist/core/agents/__tests__/skill-creator.test.d.ts +5 -0
  24. package/dist/core/agents/__tests__/skill-creator.test.d.ts.map +1 -0
  25. package/dist/core/agents/__tests__/skill-creator.test.js +443 -0
  26. package/dist/core/agents/__tests__/skill-creator.test.js.map +1 -0
  27. package/dist/core/agents/__tests__/state-persistence.test.d.ts +2 -0
  28. package/dist/core/agents/__tests__/state-persistence.test.d.ts.map +1 -0
  29. package/dist/core/agents/__tests__/state-persistence.test.js +270 -0
  30. package/dist/core/agents/__tests__/state-persistence.test.js.map +1 -0
  31. package/dist/core/agents/__tests__/validation-cache.test.d.ts +2 -0
  32. package/dist/core/agents/__tests__/validation-cache.test.d.ts.map +1 -0
  33. package/dist/core/agents/__tests__/validation-cache.test.js +181 -0
  34. package/dist/core/agents/__tests__/validation-cache.test.js.map +1 -0
  35. package/dist/core/agents/ambiguity-resolver.d.ts +14 -1
  36. package/dist/core/agents/ambiguity-resolver.d.ts.map +1 -1
  37. package/dist/core/agents/ambiguity-resolver.js +24 -2
  38. package/dist/core/agents/ambiguity-resolver.js.map +1 -1
  39. package/dist/core/agents/blackboard.d.ts +22 -3
  40. package/dist/core/agents/blackboard.d.ts.map +1 -1
  41. package/dist/core/agents/blackboard.js +52 -2
  42. package/dist/core/agents/blackboard.js.map +1 -1
  43. package/dist/core/agents/circuit-breaker.d.ts +79 -1
  44. package/dist/core/agents/circuit-breaker.d.ts.map +1 -1
  45. package/dist/core/agents/circuit-breaker.js +175 -1
  46. package/dist/core/agents/circuit-breaker.js.map +1 -1
  47. package/dist/core/agents/clarification-phase.d.ts +128 -0
  48. package/dist/core/agents/clarification-phase.d.ts.map +1 -0
  49. package/dist/core/agents/clarification-phase.js +375 -0
  50. package/dist/core/agents/clarification-phase.js.map +1 -0
  51. package/dist/core/agents/confidence-gate.d.ts +133 -4
  52. package/dist/core/agents/confidence-gate.d.ts.map +1 -1
  53. package/dist/core/agents/confidence-gate.js +376 -9
  54. package/dist/core/agents/confidence-gate.js.map +1 -1
  55. package/dist/core/agents/correction-tracker.d.ts +197 -0
  56. package/dist/core/agents/correction-tracker.d.ts.map +1 -0
  57. package/dist/core/agents/correction-tracker.js +366 -0
  58. package/dist/core/agents/correction-tracker.js.map +1 -0
  59. package/dist/core/agents/dependency-graph.d.ts +193 -0
  60. package/dist/core/agents/dependency-graph.d.ts.map +1 -0
  61. package/dist/core/agents/dependency-graph.js +462 -0
  62. package/dist/core/agents/dependency-graph.js.map +1 -0
  63. package/dist/core/agents/gap-detector.d.ts +277 -0
  64. package/dist/core/agents/gap-detector.d.ts.map +1 -0
  65. package/dist/core/agents/gap-detector.js +540 -0
  66. package/dist/core/agents/gap-detector.js.map +1 -0
  67. package/dist/core/agents/index.d.ts +14 -1
  68. package/dist/core/agents/index.d.ts.map +1 -1
  69. package/dist/core/agents/index.js +26 -1
  70. package/dist/core/agents/index.js.map +1 -1
  71. package/dist/core/agents/message-protocol.d.ts +13 -2
  72. package/dist/core/agents/message-protocol.d.ts.map +1 -1
  73. package/dist/core/agents/message-protocol.js +20 -1
  74. package/dist/core/agents/message-protocol.js.map +1 -1
  75. package/dist/core/agents/parallel-executor.d.ts +182 -0
  76. package/dist/core/agents/parallel-executor.d.ts.map +1 -0
  77. package/dist/core/agents/parallel-executor.js +474 -0
  78. package/dist/core/agents/parallel-executor.js.map +1 -0
  79. package/dist/core/agents/pattern-detector.d.ts +157 -0
  80. package/dist/core/agents/pattern-detector.d.ts.map +1 -0
  81. package/dist/core/agents/pattern-detector.js +370 -0
  82. package/dist/core/agents/pattern-detector.js.map +1 -0
  83. package/dist/core/agents/registry-client.d.ts +6 -0
  84. package/dist/core/agents/registry-client.d.ts.map +1 -1
  85. package/dist/core/agents/registry-client.js +3 -0
  86. package/dist/core/agents/registry-client.js.map +1 -1
  87. package/dist/core/agents/research-phase.d.ts +114 -0
  88. package/dist/core/agents/research-phase.d.ts.map +1 -0
  89. package/dist/core/agents/research-phase.js +355 -0
  90. package/dist/core/agents/research-phase.js.map +1 -0
  91. package/dist/core/agents/research-validator.d.ts +13 -2
  92. package/dist/core/agents/research-validator.d.ts.map +1 -1
  93. package/dist/core/agents/research-validator.js +63 -31
  94. package/dist/core/agents/research-validator.js.map +1 -1
  95. package/dist/core/agents/skill-creator.d.ts +174 -0
  96. package/dist/core/agents/skill-creator.d.ts.map +1 -0
  97. package/dist/core/agents/skill-creator.js +570 -0
  98. package/dist/core/agents/skill-creator.js.map +1 -0
  99. package/dist/core/agents/state-persistence.d.ts +184 -0
  100. package/dist/core/agents/state-persistence.d.ts.map +1 -0
  101. package/dist/core/agents/state-persistence.js +394 -0
  102. package/dist/core/agents/state-persistence.js.map +1 -0
  103. package/dist/core/agents/validation-cache.d.ts +122 -0
  104. package/dist/core/agents/validation-cache.d.ts.map +1 -0
  105. package/dist/core/agents/validation-cache.js +280 -0
  106. package/dist/core/agents/validation-cache.js.map +1 -0
  107. package/dist/core/agents/validators/__tests__/validators.test.d.ts +5 -0
  108. package/dist/core/agents/validators/__tests__/validators.test.d.ts.map +1 -0
  109. package/dist/core/agents/validators/__tests__/validators.test.js +321 -0
  110. package/dist/core/agents/validators/__tests__/validators.test.js.map +1 -0
  111. package/dist/core/agents/validators/base-validator.d.ts +191 -0
  112. package/dist/core/agents/validators/base-validator.d.ts.map +1 -0
  113. package/dist/core/agents/validators/base-validator.js +192 -0
  114. package/dist/core/agents/validators/base-validator.js.map +1 -0
  115. package/dist/core/agents/validators/index.d.ts +7 -0
  116. package/dist/core/agents/validators/index.d.ts.map +1 -0
  117. package/dist/core/agents/validators/index.js +7 -0
  118. package/dist/core/agents/validators/index.js.map +1 -0
  119. package/dist/core/agents/validators/npm-validator.d.ts +50 -0
  120. package/dist/core/agents/validators/npm-validator.d.ts.map +1 -0
  121. package/dist/core/agents/validators/npm-validator.js +211 -0
  122. package/dist/core/agents/validators/npm-validator.js.map +1 -0
  123. package/dist/core/agents/validators/pip-validator.d.ts +49 -0
  124. package/dist/core/agents/validators/pip-validator.d.ts.map +1 -0
  125. package/dist/core/agents/validators/pip-validator.js +191 -0
  126. package/dist/core/agents/validators/pip-validator.js.map +1 -0
  127. package/dist/core/agents/validators/validator-registry.d.ts +122 -0
  128. package/dist/core/agents/validators/validator-registry.d.ts.map +1 -0
  129. package/dist/core/agents/validators/validator-registry.js +321 -0
  130. package/dist/core/agents/validators/validator-registry.js.map +1 -0
  131. package/dist/core/context/auto-injection-engine.d.ts +7 -1
  132. package/dist/core/context/auto-injection-engine.d.ts.map +1 -1
  133. package/dist/core/context/auto-injection-engine.js +46 -1
  134. package/dist/core/context/auto-injection-engine.js.map +1 -1
  135. package/dist/core/context-repl/types.d.ts +4 -4
  136. package/dist/core/memory/index.d.ts +1 -0
  137. package/dist/core/memory/index.d.ts.map +1 -1
  138. package/dist/core/memory/index.js +2 -0
  139. package/dist/core/memory/index.js.map +1 -1
  140. package/dist/core/memory/learning-store.d.ts +222 -0
  141. package/dist/core/memory/learning-store.d.ts.map +1 -0
  142. package/dist/core/memory/learning-store.js +477 -0
  143. package/dist/core/memory/learning-store.js.map +1 -0
  144. package/dist/core/ralph/__tests__/prd-generator-session-context.test.d.ts +7 -0
  145. package/dist/core/ralph/__tests__/prd-generator-session-context.test.d.ts.map +1 -0
  146. package/dist/core/ralph/__tests__/prd-generator-session-context.test.js +143 -0
  147. package/dist/core/ralph/__tests__/prd-generator-session-context.test.js.map +1 -0
  148. package/dist/core/ralph/index.d.ts +3 -3
  149. package/dist/core/ralph/index.d.ts.map +1 -1
  150. package/dist/core/ralph/index.js +2 -2
  151. package/dist/core/ralph/index.js.map +1 -1
  152. package/dist/core/ralph/prd-generator.d.ts +18 -3
  153. package/dist/core/ralph/prd-generator.d.ts.map +1 -1
  154. package/dist/core/ralph/prd-generator.js +33 -11
  155. package/dist/core/ralph/prd-generator.js.map +1 -1
  156. package/dist/core/ralph/progress-tracker.d.ts.map +1 -1
  157. package/dist/core/ralph/progress-tracker.js +2 -1
  158. package/dist/core/ralph/progress-tracker.js.map +1 -1
  159. package/dist/core/ralph/sub-agent-spawner.d.ts +4 -2
  160. package/dist/core/ralph/sub-agent-spawner.d.ts.map +1 -1
  161. package/dist/core/ralph/sub-agent-spawner.js +48 -3
  162. package/dist/core/ralph/sub-agent-spawner.js.map +1 -1
  163. package/dist/core/ralph/task-integration.d.ts.map +1 -1
  164. package/dist/core/ralph/task-integration.js +6 -3
  165. package/dist/core/ralph/task-integration.js.map +1 -1
  166. package/dist/core/ralph/types.d.ts +62 -3
  167. package/dist/core/ralph/types.d.ts.map +1 -1
  168. package/dist/core/ralph/types.js.map +1 -1
  169. package/dist/core/recommendations/recommendation-engine.d.ts +6 -0
  170. package/dist/core/recommendations/recommendation-engine.d.ts.map +1 -1
  171. package/dist/core/recommendations/recommendation-engine.js.map +1 -1
  172. package/dist/core/spec-analyzer/__tests__/ambiguity-detector.test.d.ts +5 -0
  173. package/dist/core/spec-analyzer/__tests__/ambiguity-detector.test.d.ts.map +1 -0
  174. package/dist/core/spec-analyzer/__tests__/ambiguity-detector.test.js +401 -0
  175. package/dist/core/spec-analyzer/__tests__/ambiguity-detector.test.js.map +1 -0
  176. package/dist/core/spec-analyzer/ambiguity-detector.d.ts +99 -0
  177. package/dist/core/spec-analyzer/ambiguity-detector.d.ts.map +1 -0
  178. package/dist/core/spec-analyzer/ambiguity-detector.js +250 -0
  179. package/dist/core/spec-analyzer/ambiguity-detector.js.map +1 -0
  180. package/dist/core/spec-analyzer/clarification-generator.d.ts +76 -0
  181. package/dist/core/spec-analyzer/clarification-generator.d.ts.map +1 -0
  182. package/dist/core/spec-analyzer/clarification-generator.js +257 -0
  183. package/dist/core/spec-analyzer/clarification-generator.js.map +1 -0
  184. package/dist/core/spec-analyzer/index.d.ts +22 -2
  185. package/dist/core/spec-analyzer/index.d.ts.map +1 -1
  186. package/dist/core/spec-analyzer/index.js +21 -3
  187. package/dist/core/spec-analyzer/index.js.map +1 -1
  188. package/dist/core/spec-analyzer/patterns.d.ts +73 -0
  189. package/dist/core/spec-analyzer/patterns.d.ts.map +1 -0
  190. package/dist/core/spec-analyzer/patterns.js +412 -0
  191. package/dist/core/spec-analyzer/patterns.js.map +1 -0
  192. package/dist/hooks/__tests__/dynamic-generator.test.d.ts +5 -0
  193. package/dist/hooks/__tests__/dynamic-generator.test.d.ts.map +1 -0
  194. package/dist/hooks/__tests__/dynamic-generator.test.js +425 -0
  195. package/dist/hooks/__tests__/dynamic-generator.test.js.map +1 -0
  196. package/dist/hooks/__tests__/hook-agent-bridge.test.d.ts +5 -0
  197. package/dist/hooks/__tests__/hook-agent-bridge.test.d.ts.map +1 -0
  198. package/dist/hooks/__tests__/hook-agent-bridge.test.js +315 -0
  199. package/dist/hooks/__tests__/hook-agent-bridge.test.js.map +1 -0
  200. package/dist/hooks/dynamic-generator.d.ts +158 -0
  201. package/dist/hooks/dynamic-generator.d.ts.map +1 -0
  202. package/dist/hooks/dynamic-generator.js +448 -0
  203. package/dist/hooks/dynamic-generator.js.map +1 -0
  204. package/dist/hooks/hook-agent-bridge.d.ts +252 -0
  205. package/dist/hooks/hook-agent-bridge.d.ts.map +1 -0
  206. package/dist/hooks/hook-agent-bridge.js +489 -0
  207. package/dist/hooks/hook-agent-bridge.js.map +1 -0
  208. package/dist/hooks/index.d.ts +3 -1
  209. package/dist/hooks/index.d.ts.map +1 -1
  210. package/dist/hooks/index.js +5 -1
  211. package/dist/hooks/index.js.map +1 -1
  212. package/dist/mcp/tool-catalog.d.ts.map +1 -1
  213. package/dist/mcp/tool-catalog.js +47 -0
  214. package/dist/mcp/tool-catalog.js.map +1 -1
  215. package/dist/mcp/tool-tiers.d.ts.map +1 -1
  216. package/dist/mcp/tool-tiers.js +4 -0
  217. package/dist/mcp/tool-tiers.js.map +1 -1
  218. package/dist/mcp/tools/auto-inject.d.ts +4 -0
  219. package/dist/mcp/tools/auto-inject.d.ts.map +1 -1
  220. package/dist/mcp/tools/auto-inject.js +13 -4
  221. package/dist/mcp/tools/auto-inject.js.map +1 -1
  222. package/dist/mcp/tools/chunking.d.ts +3 -0
  223. package/dist/mcp/tools/chunking.d.ts.map +1 -1
  224. package/dist/mcp/tools/chunking.js +10 -4
  225. package/dist/mcp/tools/chunking.js.map +1 -1
  226. package/dist/mcp/tools/embeddings.d.ts +4 -0
  227. package/dist/mcp/tools/embeddings.d.ts.map +1 -1
  228. package/dist/mcp/tools/embeddings.js +16 -6
  229. package/dist/mcp/tools/embeddings.js.map +1 -1
  230. package/dist/mcp/tools/index.d.ts +2 -1
  231. package/dist/mcp/tools/index.d.ts.map +1 -1
  232. package/dist/mcp/tools/index.js +15 -1
  233. package/dist/mcp/tools/index.js.map +1 -1
  234. package/dist/mcp/tools/knowledge-graph.d.ts +3 -0
  235. package/dist/mcp/tools/knowledge-graph.d.ts.map +1 -1
  236. package/dist/mcp/tools/knowledge-graph.js +19 -8
  237. package/dist/mcp/tools/knowledge-graph.js.map +1 -1
  238. package/dist/mcp/tools/lazy-context.d.ts +2 -0
  239. package/dist/mcp/tools/lazy-context.d.ts.map +1 -1
  240. package/dist/mcp/tools/lazy-context.js +10 -4
  241. package/dist/mcp/tools/lazy-context.js.map +1 -1
  242. package/dist/mcp/tools/learning-store.d.ts +30 -0
  243. package/dist/mcp/tools/learning-store.d.ts.map +1 -0
  244. package/dist/mcp/tools/learning-store.js +286 -0
  245. package/dist/mcp/tools/learning-store.js.map +1 -0
  246. package/dist/mcp/tools/memory-decay.d.ts.map +1 -1
  247. package/dist/mcp/tools/memory-decay.js +4 -2
  248. package/dist/mcp/tools/memory-decay.js.map +1 -1
  249. package/dist/mcp/tools/prefetch.d.ts +4 -1
  250. package/dist/mcp/tools/prefetch.d.ts.map +1 -1
  251. package/dist/mcp/tools/prefetch.js +18 -7
  252. package/dist/mcp/tools/prefetch.js.map +1 -1
  253. package/dist/mcp/tools/ralph.d.ts +2 -0
  254. package/dist/mcp/tools/ralph.d.ts.map +1 -1
  255. package/dist/mcp/tools/ralph.js +96 -6
  256. package/dist/mcp/tools/ralph.js.map +1 -1
  257. package/dist/mcp/tools/recommendations.d.ts +2 -0
  258. package/dist/mcp/tools/recommendations.d.ts.map +1 -1
  259. package/dist/mcp/tools/recommendations.js +13 -4
  260. package/dist/mcp/tools/recommendations.js.map +1 -1
  261. package/dist/mcp/tools/retrieval.d.ts +4 -0
  262. package/dist/mcp/tools/retrieval.d.ts.map +1 -1
  263. package/dist/mcp/tools/retrieval.js +25 -10
  264. package/dist/mcp/tools/retrieval.js.map +1 -1
  265. package/dist/mcp/tools/spec-feedback.d.ts +2 -0
  266. package/dist/mcp/tools/spec-feedback.d.ts.map +1 -1
  267. package/dist/mcp/tools/spec-feedback.js +33 -16
  268. package/dist/mcp/tools/spec-feedback.js.map +1 -1
  269. package/dist/mcp/utils/index.d.ts +1 -0
  270. package/dist/mcp/utils/index.d.ts.map +1 -1
  271. package/dist/mcp/utils/index.js +2 -0
  272. package/dist/mcp/utils/index.js.map +1 -1
  273. package/dist/mcp/utils/session-context.d.ts +108 -0
  274. package/dist/mcp/utils/session-context.d.ts.map +1 -0
  275. package/dist/mcp/utils/session-context.js +157 -0
  276. package/dist/mcp/utils/session-context.js.map +1 -0
  277. package/package.json +1 -1
@@ -1,8 +1,19 @@
1
1
  /**
2
- * Confidence Gate - v14.1.0
2
+ * Confidence Gate - v17.5.0
3
3
  *
4
- * Gates tasks based on confidence level, requiring research or clarification
5
- * before allowing implementation to proceed.
4
+ * Progressive confidence gate with tiered thresholds:
5
+ * - 0-30%: Block (too risky to proceed)
6
+ * - 30-50%: Research phase first
7
+ * - 50-70%: Clarification phase first
8
+ * - 70%+: Proceed with implementation
9
+ *
10
+ * Features:
11
+ * - Tiered confidence thresholds
12
+ * - Auto-research phase integration
13
+ * - Clarification phase integration
14
+ * - Max rounds tracking (2 research, 5 clarification)
15
+ * - User validation after max rounds
16
+ * - Session history tracking
6
17
  *
7
18
  * @see .claude/rules/dino/confidence-handling.md
8
19
  */
@@ -61,13 +72,65 @@ export interface ConfidenceRound {
61
72
  details: string;
62
73
  timestamp: Date;
63
74
  }
75
+ /**
76
+ * v17.5.0: Tiered confidence thresholds
77
+ *
78
+ * These thresholds determine the action at each confidence level:
79
+ * - Below BLOCK: Too risky, cannot proceed without explicit validation
80
+ * - BLOCK to RESEARCH: Research phase needed first
81
+ * - RESEARCH to CLARIFY: Clarification questions needed
82
+ * - Above CLARIFY: Can proceed with implementation
83
+ */
84
+ export declare const CONFIDENCE_TIERS: {
85
+ /** Below this: block until user validates */
86
+ readonly BLOCK: 0.3;
87
+ /** Below this: trigger research phase */
88
+ readonly RESEARCH: 0.5;
89
+ /** Below this: trigger clarification phase */
90
+ readonly CLARIFY: 0.7;
91
+ /** Standard threshold for proceeding */
92
+ readonly PROCEED: 0.8;
93
+ /** Ralph-eligible tasks require higher threshold */
94
+ readonly RALPH: 0.9;
95
+ };
96
+ export type ConfidenceTier = 'blocked' | 'research' | 'clarify' | 'proceed';
97
+ /**
98
+ * Determine which tier a confidence level falls into
99
+ *
100
+ * Tiers (per PRD):
101
+ * - 0-30%: blocked (need user validation)
102
+ * - 30-50%: research (need to gather context)
103
+ * - 50-70%: clarify (need targeted questions)
104
+ * - 70%+: proceed (can implement)
105
+ *
106
+ * For Ralph-eligible tasks, use higher thresholds.
107
+ */
108
+ export declare function getConfidenceTier(confidence: number, isRalphEligible?: boolean): ConfidenceTier;
109
+ /**
110
+ * Get recommended action based on tiered thresholds
111
+ */
112
+ export declare function getTieredAction(confidence: number, isRalphEligible?: boolean): 'proceed' | 'research' | 'clarify' | 'block';
113
+ /**
114
+ * Session context for confidence gating
115
+ * v17.6.0: Added to pass session.md context
116
+ */
117
+ export interface ConfidenceSessionContext {
118
+ /** Focus area from session.md */
119
+ focusArea?: string;
120
+ /** Current phase from session.md */
121
+ phase?: string;
122
+ /** Active blockers from session.md */
123
+ blockers?: string[];
124
+ }
64
125
  /**
65
126
  * Check if task can proceed based on confidence level
66
127
  *
67
128
  * This is the main entry point for confidence gating.
68
129
  * Returns decision on whether to proceed, research, or clarify.
130
+ *
131
+ * v17.6.0: Enhanced with optional session context for better analysis
69
132
  */
70
- export declare function checkConfidence(prompt: string, config?: ConfidenceGateConfig): Promise<GateResult>;
133
+ export declare function checkConfidence(prompt: string, config?: ConfidenceGateConfig, sessionContext?: ConfidenceSessionContext): Promise<GateResult>;
71
134
  /**
72
135
  * Generate clarification questions based on analysis signals
73
136
  */
@@ -96,4 +159,70 @@ export declare function formatConfidenceForSession(tracking: ConfidenceTracking)
96
159
  * Format gate result for display
97
160
  */
98
161
  export declare function formatGateResult(result: GateResult): string;
162
+ /**
163
+ * Extended gate result for progressive gating
164
+ */
165
+ export interface ProgressiveGateResult extends GateResult {
166
+ /** Which tier the confidence falls into */
167
+ tier: ConfidenceTier;
168
+ /** Whether user validation is required */
169
+ requiresUserValidation: boolean;
170
+ /** Research rounds used */
171
+ researchRoundsUsed: number;
172
+ /** Clarification rounds used */
173
+ clarificationRoundsUsed: number;
174
+ /** Whether max rounds have been reached */
175
+ maxRoundsReached: boolean;
176
+ }
177
+ /**
178
+ * Progressive confidence gate state
179
+ */
180
+ export interface ProgressiveGateState {
181
+ /** Current confidence */
182
+ confidence: number;
183
+ /** Required confidence to proceed */
184
+ requiredConfidence: number;
185
+ /** Current tier */
186
+ tier: ConfidenceTier;
187
+ /** Research rounds completed */
188
+ researchRounds: number;
189
+ /** Clarification rounds completed */
190
+ clarificationRounds: number;
191
+ /** Whether user has validated assumptions */
192
+ userValidated: boolean;
193
+ /** History of confidence changes */
194
+ history: ConfidenceRound[];
195
+ }
196
+ /**
197
+ * Check confidence with progressive tiered thresholds
198
+ *
199
+ * v17.5.0: Implements tiered confidence gating:
200
+ * - 0-30%: Block until user validates
201
+ * - 30-50%: Research phase first
202
+ * - 50-70%: Clarification phase first
203
+ * - 70%+: Proceed (80% standard, 90% for Ralph)
204
+ *
205
+ * v17.6.0: Enhanced with optional session context
206
+ */
207
+ export declare function checkProgressiveConfidence(prompt: string, state?: ProgressiveGateState, config?: ConfidenceGateConfig, sessionContext?: ConfidenceSessionContext): Promise<ProgressiveGateResult>;
208
+ /**
209
+ * Create initial progressive gate state
210
+ */
211
+ export declare function createProgressiveGateState(prompt: string, config?: ConfidenceGateConfig): ProgressiveGateState;
212
+ /**
213
+ * Update state after research round
214
+ */
215
+ export declare function updateStateAfterResearch(state: ProgressiveGateState, newConfidence: number, details: string): ProgressiveGateState;
216
+ /**
217
+ * Update state after clarification round
218
+ */
219
+ export declare function updateStateAfterClarification(state: ProgressiveGateState, newConfidence: number, details: string): ProgressiveGateState;
220
+ /**
221
+ * Mark state as user validated
222
+ */
223
+ export declare function markStateUserValidated(state: ProgressiveGateState): ProgressiveGateState;
224
+ /**
225
+ * Format progressive gate state for session.md
226
+ */
227
+ export declare function formatProgressiveGateForSession(state: ProgressiveGateState): string;
99
228
  //# sourceMappingURL=confidence-gate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"confidence-gate.d.ts","sourceRoot":"","sources":["../../../src/core/agents/confidence-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAkC,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7F,OAAO,EAAE,KAAK,cAAc,EAAoB,MAAM,yBAAyB,CAAA;AAM/E;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAA;IAC1C,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,SAAS,CAAC,EAAE,qBAAqB,EAAE,CAAA;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,cAAc,CAAA;IACnD,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAA;IAC9C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,kBAAkB,EAAE,OAAO,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,CAAA;CACvE;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,UAAU,GAAG,eAAe,GAAG,YAAY,CAAA;IACnD,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,IAAI,CAAA;CAChB;AAkBD;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,uBAAiB,GACtB,OAAO,CAAC,UAAU,CAAC,CA8ErB;AA6BD;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,YAAY,GAAG,qBAAqB,EAAE,CAgE9F;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,iBAAiB,EAAE,MAAM,EACzB,SAAS,EAAE,qBAAqB,EAAE,EAClC,aAAa,EAAE,MAAM,GACpB,MAAM,CAeR;AAMD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,uBAAiB,GACtB,kBAAkB,CAUpB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,UAAU,GAAG,eAAe,GAAG,YAAY,EACnD,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,GACd,kBAAkB,CAuBpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,uBAAiB,GACtB,OAAO,CAUT;AAMD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAwB/E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CA4B3D"}
1
+ {"version":3,"file":"confidence-gate.d.ts","sourceRoot":"","sources":["../../../src/core/agents/confidence-gate.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,19 @@
1
1
  /**
2
- * Confidence Gate - v14.1.0
2
+ * Confidence Gate - v17.5.0
3
3
  *
4
- * Gates tasks based on confidence level, requiring research or clarification
5
- * before allowing implementation to proceed.
4
+ * Progressive confidence gate with tiered thresholds:
5
+ * - 0-30%: Block (too risky to proceed)
6
+ * - 30-50%: Research phase first
7
+ * - 50-70%: Clarification phase first
8
+ * - 70%+: Proceed with implementation
9
+ *
10
+ * Features:
11
+ * - Tiered confidence thresholds
12
+ * - Auto-research phase integration
13
+ * - Clarification phase integration
14
+ * - Max rounds tracking (2 research, 5 clarification)
15
+ * - User validation after max rounds
16
+ * - Session history tracking
6
17
  *
7
18
  * @see .claude/rules/dino/confidence-handling.md
8
19
  */
@@ -18,18 +29,95 @@ const DEFAULT_CONFIG = {
18
29
  maxClarificationRounds: 5,
19
30
  enableAutoResearch: true,
20
31
  };
21
- // =============================================================================
22
- // Core Functions
23
- // =============================================================================
32
+ /**
33
+ * v17.5.0: Tiered confidence thresholds
34
+ *
35
+ * These thresholds determine the action at each confidence level:
36
+ * - Below BLOCK: Too risky, cannot proceed without explicit validation
37
+ * - BLOCK to RESEARCH: Research phase needed first
38
+ * - RESEARCH to CLARIFY: Clarification questions needed
39
+ * - Above CLARIFY: Can proceed with implementation
40
+ */
41
+ export const CONFIDENCE_TIERS = {
42
+ /** Below this: block until user validates */
43
+ BLOCK: 0.3,
44
+ /** Below this: trigger research phase */
45
+ RESEARCH: 0.5,
46
+ /** Below this: trigger clarification phase */
47
+ CLARIFY: 0.7,
48
+ /** Standard threshold for proceeding */
49
+ PROCEED: 0.8,
50
+ /** Ralph-eligible tasks require higher threshold */
51
+ RALPH: 0.9,
52
+ };
53
+ /**
54
+ * Determine which tier a confidence level falls into
55
+ *
56
+ * Tiers (per PRD):
57
+ * - 0-30%: blocked (need user validation)
58
+ * - 30-50%: research (need to gather context)
59
+ * - 50-70%: clarify (need targeted questions)
60
+ * - 70%+: proceed (can implement)
61
+ *
62
+ * For Ralph-eligible tasks, use higher thresholds.
63
+ */
64
+ export function getConfidenceTier(confidence, isRalphEligible = false) {
65
+ // Ralph-eligible tasks have stricter thresholds
66
+ if (isRalphEligible) {
67
+ // Ralph: 90%+ proceed, otherwise use standard tiers but with proceed at 90%
68
+ if (confidence >= CONFIDENCE_TIERS.RALPH) {
69
+ return 'proceed';
70
+ }
71
+ // Below Ralph threshold but above standard clarify - still clarify for Ralph
72
+ if (confidence >= CONFIDENCE_TIERS.CLARIFY) {
73
+ return 'clarify';
74
+ }
75
+ }
76
+ else {
77
+ // Standard: 70%+ proceed (per PRD tiered thresholds)
78
+ if (confidence >= CONFIDENCE_TIERS.CLARIFY) {
79
+ return 'proceed';
80
+ }
81
+ }
82
+ // Common tiers below 70%
83
+ if (confidence >= CONFIDENCE_TIERS.RESEARCH) {
84
+ return 'clarify'; // 50-70%
85
+ }
86
+ if (confidence >= CONFIDENCE_TIERS.BLOCK) {
87
+ return 'research'; // 30-50%
88
+ }
89
+ return 'blocked'; // < 30%
90
+ }
91
+ /**
92
+ * Get recommended action based on tiered thresholds
93
+ */
94
+ export function getTieredAction(confidence, isRalphEligible = false) {
95
+ const tier = getConfidenceTier(confidence, isRalphEligible);
96
+ switch (tier) {
97
+ case 'proceed':
98
+ return 'proceed';
99
+ case 'clarify':
100
+ return 'clarify';
101
+ case 'research':
102
+ return 'research';
103
+ case 'blocked':
104
+ return 'block';
105
+ }
106
+ }
24
107
  /**
25
108
  * Check if task can proceed based on confidence level
26
109
  *
27
110
  * This is the main entry point for confidence gating.
28
111
  * Returns decision on whether to proceed, research, or clarify.
112
+ *
113
+ * v17.6.0: Enhanced with optional session context for better analysis
29
114
  */
30
- export async function checkConfidence(prompt, config = DEFAULT_CONFIG) {
31
- // Analyze the prompt
32
- const analysis = analyzePrompt(prompt);
115
+ export async function checkConfidence(prompt, config = DEFAULT_CONFIG, sessionContext) {
116
+ // Analyze the prompt with session context
117
+ const analysis = analyzePrompt(prompt, {
118
+ focusArea: sessionContext?.focusArea,
119
+ phase: sessionContext?.phase,
120
+ });
33
121
  const currentConfidence = analysis.confidenceEstimate / 100;
34
122
  // Determine required confidence based on Ralph eligibility
35
123
  const ralphEligibility = isRalphEligible(analysis);
@@ -288,4 +376,283 @@ export function formatGateResult(result) {
288
376
  }
289
377
  return lines.join('\n');
290
378
  }
379
+ /**
380
+ * Check confidence with progressive tiered thresholds
381
+ *
382
+ * v17.5.0: Implements tiered confidence gating:
383
+ * - 0-30%: Block until user validates
384
+ * - 30-50%: Research phase first
385
+ * - 50-70%: Clarification phase first
386
+ * - 70%+: Proceed (80% standard, 90% for Ralph)
387
+ *
388
+ * v17.6.0: Enhanced with optional session context
389
+ */
390
+ export async function checkProgressiveConfidence(prompt, state, config = DEFAULT_CONFIG, sessionContext) {
391
+ // Analyze the prompt with session context
392
+ const analysis = analyzePrompt(prompt, {
393
+ focusArea: sessionContext?.focusArea,
394
+ phase: sessionContext?.phase,
395
+ });
396
+ const currentConfidence = state?.confidence ?? analysis.confidenceEstimate / 100;
397
+ // Determine required confidence based on Ralph eligibility
398
+ const ralphEligibility = isRalphEligible(analysis);
399
+ const requiredConfidence = ralphEligibility.eligible ? config.ralphThreshold : config.threshold;
400
+ // Get current tier
401
+ const tier = getConfidenceTier(currentConfidence, ralphEligibility.eligible);
402
+ // Track rounds
403
+ const researchRoundsUsed = state?.researchRounds ?? 0;
404
+ const clarificationRoundsUsed = state?.clarificationRounds ?? 0;
405
+ const maxRoundsReached = researchRoundsUsed >= config.maxResearchRounds &&
406
+ clarificationRoundsUsed >= config.maxClarificationRounds;
407
+ // Check if can proceed
408
+ if (tier === 'proceed') {
409
+ return {
410
+ proceed: true,
411
+ confidence: currentConfidence,
412
+ requiredConfidence,
413
+ action: 'proceed',
414
+ reason: `Confidence ${Math.round(currentConfidence * 100)}% meets threshold`,
415
+ analysis,
416
+ tier,
417
+ requiresUserValidation: false,
418
+ researchRoundsUsed,
419
+ clarificationRoundsUsed,
420
+ maxRoundsReached,
421
+ };
422
+ }
423
+ // Check if blocked and needs user validation
424
+ if (tier === 'blocked') {
425
+ return {
426
+ proceed: state?.userValidated ?? false,
427
+ confidence: currentConfidence,
428
+ requiredConfidence,
429
+ action: 'clarify',
430
+ reason: `Confidence ${Math.round(currentConfidence * 100)}% is too low (< 30%). User validation required.`,
431
+ analysis,
432
+ questions: generateClarificationQuestions(analysis),
433
+ tier,
434
+ requiresUserValidation: true,
435
+ researchRoundsUsed,
436
+ clarificationRoundsUsed,
437
+ maxRoundsReached: true,
438
+ };
439
+ }
440
+ // Check if max rounds reached
441
+ if (maxRoundsReached && !state?.userValidated) {
442
+ return {
443
+ proceed: false,
444
+ confidence: currentConfidence,
445
+ requiredConfidence,
446
+ action: 'clarify',
447
+ reason: `Max rounds reached (${config.maxResearchRounds} research, ${config.maxClarificationRounds} clarification). User validation required.`,
448
+ analysis,
449
+ questions: generateClarificationQuestions(analysis),
450
+ tier,
451
+ requiresUserValidation: true,
452
+ researchRoundsUsed,
453
+ clarificationRoundsUsed,
454
+ maxRoundsReached: true,
455
+ };
456
+ }
457
+ // Determine action based on tier
458
+ if (tier === 'research' && researchRoundsUsed < config.maxResearchRounds) {
459
+ // Execute research if enabled
460
+ if (config.enableAutoResearch) {
461
+ const research = await resolveAmbiguity(prompt, {
462
+ threshold: 20,
463
+ maxResearchTokens: 5000,
464
+ cacheDirectory: '.dino/research/',
465
+ enableWebSearch: true,
466
+ enableCodebaseSearch: true,
467
+ });
468
+ // Research can improve confidence by 10-30%
469
+ const improvement = Math.min(0.3, (research.research?.confidence ?? 0) * 0.3);
470
+ const newConfidence = Math.min(1, currentConfidence + improvement);
471
+ if (newConfidence >= requiredConfidence) {
472
+ return {
473
+ proceed: true,
474
+ confidence: newConfidence,
475
+ requiredConfidence,
476
+ action: 'proceed',
477
+ reason: `Research improved confidence to ${Math.round(newConfidence * 100)}%`,
478
+ analysis,
479
+ research: research.research,
480
+ tier: 'proceed',
481
+ requiresUserValidation: false,
482
+ researchRoundsUsed: researchRoundsUsed + 1,
483
+ clarificationRoundsUsed,
484
+ maxRoundsReached: false,
485
+ };
486
+ }
487
+ // Still need more - move to clarification
488
+ return {
489
+ proceed: false,
490
+ confidence: newConfidence,
491
+ requiredConfidence,
492
+ action: 'clarify',
493
+ reason: `Research improved confidence to ${Math.round(newConfidence * 100)}%, clarification needed`,
494
+ analysis,
495
+ research: research.research,
496
+ questions: generateClarificationQuestions(analysis),
497
+ tier: getConfidenceTier(newConfidence, ralphEligibility.eligible),
498
+ requiresUserValidation: false,
499
+ researchRoundsUsed: researchRoundsUsed + 1,
500
+ clarificationRoundsUsed,
501
+ maxRoundsReached: false,
502
+ };
503
+ }
504
+ // Research disabled, go to clarification
505
+ return {
506
+ proceed: false,
507
+ confidence: currentConfidence,
508
+ requiredConfidence,
509
+ action: 'research',
510
+ reason: `Confidence ${Math.round(currentConfidence * 100)}% requires research (30-50% tier)`,
511
+ analysis,
512
+ tier,
513
+ requiresUserValidation: false,
514
+ researchRoundsUsed,
515
+ clarificationRoundsUsed,
516
+ maxRoundsReached: false,
517
+ };
518
+ }
519
+ // Clarification tier (50-70%) or research exhausted
520
+ return {
521
+ proceed: false,
522
+ confidence: currentConfidence,
523
+ requiredConfidence,
524
+ action: 'clarify',
525
+ reason: `Confidence ${Math.round(currentConfidence * 100)}% requires clarification`,
526
+ analysis,
527
+ questions: generateClarificationQuestions(analysis),
528
+ tier,
529
+ requiresUserValidation: false,
530
+ researchRoundsUsed,
531
+ clarificationRoundsUsed,
532
+ maxRoundsReached: false,
533
+ };
534
+ }
535
+ /**
536
+ * Create initial progressive gate state
537
+ */
538
+ export function createProgressiveGateState(prompt, config = DEFAULT_CONFIG) {
539
+ const analysis = analyzePrompt(prompt);
540
+ const ralphEligibility = isRalphEligible(analysis);
541
+ const confidence = analysis.confidenceEstimate / 100;
542
+ return {
543
+ confidence,
544
+ requiredConfidence: ralphEligibility.eligible ? config.ralphThreshold : config.threshold,
545
+ tier: getConfidenceTier(confidence, ralphEligibility.eligible),
546
+ researchRounds: 0,
547
+ clarificationRounds: 0,
548
+ userValidated: false,
549
+ history: [],
550
+ };
551
+ }
552
+ /**
553
+ * Update state after research round
554
+ */
555
+ export function updateStateAfterResearch(state, newConfidence, details) {
556
+ const round = {
557
+ roundNumber: state.history.length + 1,
558
+ action: 'research',
559
+ confidenceBefore: state.confidence,
560
+ confidenceAfter: newConfidence,
561
+ details,
562
+ timestamp: new Date(),
563
+ };
564
+ return {
565
+ ...state,
566
+ confidence: newConfidence,
567
+ tier: getConfidenceTier(newConfidence, state.requiredConfidence > 0.85),
568
+ researchRounds: state.researchRounds + 1,
569
+ history: [...state.history, round],
570
+ };
571
+ }
572
+ /**
573
+ * Update state after clarification round
574
+ */
575
+ export function updateStateAfterClarification(state, newConfidence, details) {
576
+ const round = {
577
+ roundNumber: state.history.length + 1,
578
+ action: 'clarification',
579
+ confidenceBefore: state.confidence,
580
+ confidenceAfter: newConfidence,
581
+ details,
582
+ timestamp: new Date(),
583
+ };
584
+ return {
585
+ ...state,
586
+ confidence: newConfidence,
587
+ tier: getConfidenceTier(newConfidence, state.requiredConfidence > 0.85),
588
+ clarificationRounds: state.clarificationRounds + 1,
589
+ history: [...state.history, round],
590
+ };
591
+ }
592
+ /**
593
+ * Mark state as user validated
594
+ */
595
+ export function markStateUserValidated(state) {
596
+ const round = {
597
+ roundNumber: state.history.length + 1,
598
+ action: 'user-input',
599
+ confidenceBefore: state.confidence,
600
+ confidenceAfter: state.requiredConfidence, // User validation meets threshold
601
+ details: 'User explicitly validated assumptions',
602
+ timestamp: new Date(),
603
+ };
604
+ return {
605
+ ...state,
606
+ confidence: state.requiredConfidence,
607
+ tier: 'proceed',
608
+ userValidated: true,
609
+ history: [...state.history, round],
610
+ };
611
+ }
612
+ /**
613
+ * Format progressive gate state for session.md
614
+ */
615
+ export function formatProgressiveGateForSession(state) {
616
+ const lines = [];
617
+ lines.push('## Confidence Gate (Progressive)');
618
+ lines.push('');
619
+ // Status with tier indicator
620
+ const tierEmoji = state.tier === 'proceed'
621
+ ? '✅'
622
+ : state.tier === 'clarify'
623
+ ? '🟡'
624
+ : state.tier === 'research'
625
+ ? '🔍'
626
+ : '🚫';
627
+ lines.push(`**Status:** ${tierEmoji} ${state.tier.toUpperCase()}`);
628
+ lines.push(`**Confidence:** ${Math.round(state.confidence * 100)}% / ${Math.round(state.requiredConfidence * 100)}% required`);
629
+ lines.push('');
630
+ // Tier thresholds
631
+ lines.push('### Thresholds');
632
+ lines.push('| Tier | Range | Status |');
633
+ lines.push('|------|-------|--------|');
634
+ lines.push(`| Proceed | 70%+ | ${state.confidence >= 0.7 ? '✓' : ''} |`);
635
+ lines.push(`| Clarify | 50-70% | ${state.confidence >= 0.5 && state.confidence < 0.7 ? '←' : ''} |`);
636
+ lines.push(`| Research | 30-50% | ${state.confidence >= 0.3 && state.confidence < 0.5 ? '←' : ''} |`);
637
+ lines.push(`| Blocked | <30% | ${state.confidence < 0.3 ? '←' : ''} |`);
638
+ lines.push('');
639
+ // Rounds used
640
+ lines.push('### Rounds');
641
+ lines.push(`- Research: ${state.researchRounds}/2`);
642
+ lines.push(`- Clarification: ${state.clarificationRounds}/5`);
643
+ if (state.userValidated) {
644
+ lines.push('- **User Validated:** Yes');
645
+ }
646
+ lines.push('');
647
+ // History
648
+ if (state.history.length > 0) {
649
+ lines.push('### History');
650
+ for (const round of state.history) {
651
+ const change = round.confidenceAfter - round.confidenceBefore;
652
+ const sign = change >= 0 ? '+' : '';
653
+ lines.push(`- Round ${round.roundNumber} (${round.action}): ${Math.round(round.confidenceBefore * 100)}% → ${Math.round(round.confidenceAfter * 100)}% (${sign}${Math.round(change * 100)}%)`);
654
+ }
655
+ }
656
+ return lines.join('\n');
657
+ }
291
658
  //# sourceMappingURL=confidence-gate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"confidence-gate.js","sourceRoot":"","sources":["../../../src/core/agents/confidence-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confidence-gate.js","sourceRoot":"","sources":["../../../src/core/agents/confidence-gate.ts"],"names":[],"mappings":"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"}