@alan512/experienceengine 0.1.3 → 0.2.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 (206) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +213 -130
  3. package/README.zh-CN.md +250 -119
  4. package/dist/adapters/claude-code/session-store.d.ts +1 -0
  5. package/dist/adapters/claude-code/session-store.js +24 -1
  6. package/dist/adapters/claude-code/session-store.js.map +1 -1
  7. package/dist/adapters/codex/action-registry.d.ts +84 -0
  8. package/dist/adapters/codex/action-registry.js +277 -0
  9. package/dist/adapters/codex/action-registry.js.map +1 -0
  10. package/dist/adapters/codex/broker-tools.d.ts +114 -0
  11. package/dist/adapters/codex/broker-tools.js +130 -0
  12. package/dist/adapters/codex/broker-tools.js.map +1 -0
  13. package/dist/adapters/codex/mcp-server.d.ts +21 -0
  14. package/dist/adapters/codex/mcp-server.js +103 -423
  15. package/dist/adapters/codex/mcp-server.js.map +1 -1
  16. package/dist/analyzer/candidate-signals.d.ts +3 -1
  17. package/dist/analyzer/candidate-signals.js +159 -0
  18. package/dist/analyzer/candidate-signals.js.map +1 -1
  19. package/dist/analyzer/llm-learning-gate.d.ts +12 -1
  20. package/dist/analyzer/llm-learning-gate.js +633 -16
  21. package/dist/analyzer/llm-learning-gate.js.map +1 -1
  22. package/dist/cli/commands/claude-hook.js +11 -4
  23. package/dist/cli/commands/claude-hook.js.map +1 -1
  24. package/dist/cli/commands/codex.d.ts +60 -0
  25. package/dist/cli/commands/codex.js +188 -0
  26. package/dist/cli/commands/codex.js.map +1 -0
  27. package/dist/cli/commands/doctor.js +35 -2
  28. package/dist/cli/commands/doctor.js.map +1 -1
  29. package/dist/cli/commands/evaluate.d.ts +9 -3
  30. package/dist/cli/commands/evaluate.js +31 -5
  31. package/dist/cli/commands/evaluate.js.map +1 -1
  32. package/dist/cli/commands/init.js +21 -8
  33. package/dist/cli/commands/init.js.map +1 -1
  34. package/dist/cli/commands/inspect.js +73 -4
  35. package/dist/cli/commands/inspect.js.map +1 -1
  36. package/dist/cli/commands/repair.js +3 -3
  37. package/dist/cli/commands/repair.js.map +1 -1
  38. package/dist/cli/commands/status.js +38 -0
  39. package/dist/cli/commands/status.js.map +1 -1
  40. package/dist/cli/dispatch.js +16 -4
  41. package/dist/cli/dispatch.js.map +1 -1
  42. package/dist/config/config-schema.d.ts +177 -0
  43. package/dist/config/config-schema.js +142 -1
  44. package/dist/config/config-schema.js.map +1 -1
  45. package/dist/config/default-config.js +19 -1
  46. package/dist/config/default-config.js.map +1 -1
  47. package/dist/config/load-config.js +72 -1
  48. package/dist/config/load-config.js.map +1 -1
  49. package/dist/config/settings-store.d.ts +19 -0
  50. package/dist/config/settings-store.js +11 -0
  51. package/dist/config/settings-store.js.map +1 -1
  52. package/dist/controller/candidate-retriever.d.ts +16 -1
  53. package/dist/controller/candidate-retriever.js +199 -137
  54. package/dist/controller/candidate-retriever.js.map +1 -1
  55. package/dist/controller/injection-scorecard.d.ts +2 -14
  56. package/dist/controller/injection-scorecard.js +29 -0
  57. package/dist/controller/injection-scorecard.js.map +1 -1
  58. package/dist/controller/intervention-controller.d.ts +3 -15
  59. package/dist/controller/intervention-controller.js +219 -57
  60. package/dist/controller/intervention-controller.js.map +1 -1
  61. package/dist/controller/policy-enricher.d.ts +10 -0
  62. package/dist/controller/policy-enricher.js +186 -0
  63. package/dist/controller/policy-enricher.js.map +1 -0
  64. package/dist/controller/retrieval-context.d.ts +3 -0
  65. package/dist/controller/retrieval-context.js +37 -0
  66. package/dist/controller/retrieval-context.js.map +1 -0
  67. package/dist/controller/second-opinion-gate.d.ts +41 -0
  68. package/dist/controller/second-opinion-gate.js +225 -0
  69. package/dist/controller/second-opinion-gate.js.map +1 -0
  70. package/dist/controller/trigger-evaluator.d.ts +6 -1
  71. package/dist/controller/trigger-evaluator.js +31 -1
  72. package/dist/controller/trigger-evaluator.js.map +1 -1
  73. package/dist/distillation/prompt-contract.d.ts +1 -1
  74. package/dist/distillation/prompt-contract.js +3 -1
  75. package/dist/distillation/prompt-contract.js.map +1 -1
  76. package/dist/distillation/providers/gemini.js +5 -1
  77. package/dist/distillation/providers/gemini.js.map +1 -1
  78. package/dist/distillation/queue-worker.js +22 -3
  79. package/dist/distillation/queue-worker.js.map +1 -1
  80. package/dist/evaluation/codex-lifecycle-validation.d.ts +60 -0
  81. package/dist/evaluation/codex-lifecycle-validation.js +233 -0
  82. package/dist/evaluation/codex-lifecycle-validation.js.map +1 -0
  83. package/dist/evaluation/hybrid-phase1-rollout-summary.d.ts +63 -0
  84. package/dist/evaluation/hybrid-phase1-rollout-summary.js +108 -0
  85. package/dist/evaluation/hybrid-phase1-rollout-summary.js.map +1 -0
  86. package/dist/evaluation/hybrid-phase3-gate-metrics.d.ts +26 -0
  87. package/dist/evaluation/hybrid-phase3-gate-metrics.js +23 -0
  88. package/dist/evaluation/hybrid-phase3-gate-metrics.js.map +1 -0
  89. package/dist/evaluation/openclaw-baseline.d.ts +8 -0
  90. package/dist/evaluation/openclaw-baseline.js +27 -0
  91. package/dist/evaluation/openclaw-baseline.js.map +1 -1
  92. package/dist/experience-management/governance-observability.d.ts +13 -0
  93. package/dist/experience-management/governance-observability.js +37 -0
  94. package/dist/experience-management/governance-observability.js.map +1 -0
  95. package/dist/experience-management/node-lifecycle-governance.d.ts +8 -0
  96. package/dist/experience-management/node-lifecycle-governance.js +80 -0
  97. package/dist/experience-management/node-lifecycle-governance.js.map +1 -0
  98. package/dist/experience-management/task-management-signals.d.ts +29 -0
  99. package/dist/experience-management/task-management-signals.js +148 -0
  100. package/dist/experience-management/task-management-signals.js.map +1 -0
  101. package/dist/feedback/feedback-manager.d.ts +4 -1
  102. package/dist/feedback/feedback-manager.js +11 -22
  103. package/dist/feedback/feedback-manager.js.map +1 -1
  104. package/dist/feedback/state-transition.d.ts +6 -1
  105. package/dist/feedback/state-transition.js +6 -3
  106. package/dist/feedback/state-transition.js.map +1 -1
  107. package/dist/hybrid/capsule-builder.d.ts +23 -0
  108. package/dist/hybrid/capsule-builder.js +114 -0
  109. package/dist/hybrid/capsule-builder.js.map +1 -0
  110. package/dist/hybrid/explain-provider-client.d.ts +19 -0
  111. package/dist/hybrid/explain-provider-client.js +34 -0
  112. package/dist/hybrid/explain-provider-client.js.map +1 -0
  113. package/dist/hybrid/postmortem-provider-client.d.ts +19 -0
  114. package/dist/hybrid/postmortem-provider-client.js +34 -0
  115. package/dist/hybrid/postmortem-provider-client.js.map +1 -0
  116. package/dist/hybrid/rollout.d.ts +9 -0
  117. package/dist/hybrid/rollout.js +49 -0
  118. package/dist/hybrid/rollout.js.map +1 -0
  119. package/dist/hybrid/router.d.ts +4 -0
  120. package/dist/hybrid/router.js +62 -0
  121. package/dist/hybrid/router.js.map +1 -0
  122. package/dist/hybrid/types.d.ts +140 -0
  123. package/dist/hybrid/types.js +2 -0
  124. package/dist/hybrid/types.js.map +1 -0
  125. package/dist/hybrid/validators.d.ts +5 -0
  126. package/dist/hybrid/validators.js +94 -0
  127. package/dist/hybrid/validators.js.map +1 -0
  128. package/dist/hybrid/worker-client.d.ts +61 -0
  129. package/dist/hybrid/worker-client.js +196 -0
  130. package/dist/hybrid/worker-client.js.map +1 -0
  131. package/dist/hybrid/workers/explain-decision-llm.d.ts +8 -0
  132. package/dist/hybrid/workers/explain-decision-llm.js +152 -0
  133. package/dist/hybrid/workers/explain-decision-llm.js.map +1 -0
  134. package/dist/hybrid/workers/explain-decision.d.ts +2 -0
  135. package/dist/hybrid/workers/explain-decision.js +40 -0
  136. package/dist/hybrid/workers/explain-decision.js.map +1 -0
  137. package/dist/hybrid/workers/postmortem-review-llm.d.ts +8 -0
  138. package/dist/hybrid/workers/postmortem-review-llm.js +398 -0
  139. package/dist/hybrid/workers/postmortem-review-llm.js.map +1 -0
  140. package/dist/hybrid/workers/postmortem-review.d.ts +2 -0
  141. package/dist/hybrid/workers/postmortem-review.js +66 -0
  142. package/dist/hybrid/workers/postmortem-review.js.map +1 -0
  143. package/dist/install/claude-code-doctor.d.ts +1 -0
  144. package/dist/install/claude-code-doctor.js +20 -4
  145. package/dist/install/claude-code-doctor.js.map +1 -1
  146. package/dist/install/claude-code-installer.js +50 -1
  147. package/dist/install/claude-code-installer.js.map +1 -1
  148. package/dist/install/codex-cli.d.ts +15 -0
  149. package/dist/install/codex-cli.js +55 -3
  150. package/dist/install/codex-cli.js.map +1 -1
  151. package/dist/install/codex-installer.d.ts +7 -0
  152. package/dist/install/codex-installer.js +22 -0
  153. package/dist/install/codex-installer.js.map +1 -1
  154. package/dist/install/openclaw-cli.d.ts +11 -0
  155. package/dist/install/openclaw-cli.js.map +1 -1
  156. package/dist/install/openclaw-installer.d.ts +12 -7
  157. package/dist/install/openclaw-installer.js +197 -46
  158. package/dist/install/openclaw-installer.js.map +1 -1
  159. package/dist/interaction/service.d.ts +15 -0
  160. package/dist/interaction/service.js +189 -31
  161. package/dist/interaction/service.js.map +1 -1
  162. package/dist/plugin/hooks/before-prompt-build.d.ts +1 -0
  163. package/dist/plugin/hooks/before-prompt-build.js +4 -1
  164. package/dist/plugin/hooks/before-prompt-build.js.map +1 -1
  165. package/dist/plugin/openclaw-install-state.d.ts +39 -0
  166. package/dist/plugin/openclaw-install-state.js +24 -0
  167. package/dist/plugin/openclaw-install-state.js.map +1 -0
  168. package/dist/plugin/openclaw-plugin.d.ts +125 -0
  169. package/dist/plugin/openclaw-plugin.js +18 -7
  170. package/dist/plugin/openclaw-plugin.js.map +1 -1
  171. package/dist/plugin/openclaw-routine-interaction.d.ts +2 -1
  172. package/dist/plugin/openclaw-routine-interaction.js +12 -7
  173. package/dist/plugin/openclaw-routine-interaction.js.map +1 -1
  174. package/dist/plugin/openclaw-runtime-defaults.d.ts +16 -0
  175. package/dist/plugin/openclaw-runtime-defaults.js +16 -0
  176. package/dist/plugin/openclaw-runtime-defaults.js.map +1 -0
  177. package/dist/runtime/service.d.ts +34 -5
  178. package/dist/runtime/service.js +474 -49
  179. package/dist/runtime/service.js.map +1 -1
  180. package/dist/store/sqlite/db.js +28 -0
  181. package/dist/store/sqlite/db.js.map +1 -1
  182. package/dist/store/sqlite/repositories/hybrid-invocation-trace-repo.d.ts +11 -0
  183. package/dist/store/sqlite/repositories/hybrid-invocation-trace-repo.js +76 -0
  184. package/dist/store/sqlite/repositories/hybrid-invocation-trace-repo.js.map +1 -0
  185. package/dist/store/sqlite/repositories/hybrid-review-artifact-repo.d.ts +11 -0
  186. package/dist/store/sqlite/repositories/hybrid-review-artifact-repo.js +73 -0
  187. package/dist/store/sqlite/repositories/hybrid-review-artifact-repo.js.map +1 -0
  188. package/dist/store/sqlite/repositories/input-record-repo.d.ts +1 -0
  189. package/dist/store/sqlite/repositories/input-record-repo.js +13 -0
  190. package/dist/store/sqlite/repositories/input-record-repo.js.map +1 -1
  191. package/dist/store/sqlite/repositories/node-repo.d.ts +4 -0
  192. package/dist/store/sqlite/repositories/node-repo.js +54 -6
  193. package/dist/store/sqlite/repositories/node-repo.js.map +1 -1
  194. package/dist/store/sqlite/schema.sql +40 -0
  195. package/dist/store/vector/embeddings.js +26 -8
  196. package/dist/store/vector/embeddings.js.map +1 -1
  197. package/dist/types/domain.d.ts +151 -2
  198. package/dist/types/plugin.d.ts +2 -1
  199. package/docs/releases/v0.1.3.md +3 -2
  200. package/docs/releases/v0.2.0.md +85 -0
  201. package/docs/releases/v0.2.1.md +21 -0
  202. package/docs/user-guide.md +44 -13
  203. package/openclaw.plugin.json +81 -1
  204. package/package.json +11 -2
  205. package/plugins/claude-code-experienceengine/.claude-plugin/plugin.json +1 -1
  206. package/plugins/claude-code-experienceengine/scripts/install-deps.sh +1 -1
@@ -2,9 +2,9 @@ import { repairOpenClawAdapter } from "../../install/openclaw-installer.js";
2
2
  export const runRepairCommand = (target) => {
3
3
  if (!target) {
4
4
  console.log("Repair summary:");
5
- console.log("- OpenClaw: run `ee repair openclaw` when doctor reports host drift.");
6
- console.log("- Codex: re-run the Codex-specific ExperienceEngine installation command if MCP wiring is missing.");
7
- console.log("- Claude Code: re-run the Claude Code-specific ExperienceEngine installation command if hooks or MCP wiring are missing.");
5
+ console.log("- OpenClaw: automated repair is available with `ee repair openclaw` when doctor reports host drift.");
6
+ console.log("- Codex: re-run `ee install codex` if MCP wiring is missing or stale.");
7
+ console.log("- Claude Code: re-run the marketplace install flow if hooks or MCP wiring are missing.");
8
8
  return;
9
9
  }
10
10
  if (target !== "openclaw") {
@@ -1 +1 @@
1
- {"version":3,"file":"repair.js","sourceRoot":"","sources":["../../../src/cli/commands/repair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAe,EAAQ,EAAE;IACxD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,oGAAoG,CAAC,CAAC;QAClH,OAAO,CAAC,GAAG,CAAC,0HAA0H,CAAC,CAAC;QACxI,OAAO;IACT,CAAC;IAED,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5D,IAAI,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"repair.js","sourceRoot":"","sources":["../../../src/cli/commands/repair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAe,EAAQ,EAAE;IACxD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,qGAAqG,CAAC,CAAC;QACnH,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;QACtG,OAAO;IACT,CAAC;IAED,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5D,IAAI,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC,CAAC"}
@@ -20,6 +20,21 @@ const summarizeRetrievalPattern = (decisionHealth) => {
20
20
  }
21
21
  return undefined;
22
22
  };
23
+ const summarizeGovernancePattern = (decisionHealth) => {
24
+ if (decisionHealth.recentDecisions === 0) {
25
+ return undefined;
26
+ }
27
+ if (decisionHealth.recentPotentialMisfires > 0) {
28
+ return "Recent harmful outcomes suggest some hints still need tighter governance before broad reuse.";
29
+ }
30
+ if (decisionHealth.recentMetaDominantSelections > 0 && decisionHealth.recentRealDevAlignedSelections === 0) {
31
+ return "Recent selections are still leaning toward meta or validation guidance more than real coding-error guidance.";
32
+ }
33
+ if (decisionHealth.recentRealDevAlignedSelections > 0) {
34
+ return "Recent selections are mostly favoring real coding-error guidance when the task looks like real development work.";
35
+ }
36
+ return undefined;
37
+ };
23
38
  export const runStatusCommand = () => {
24
39
  const config = loadConfig();
25
40
  const interaction = new ExperienceInteractionService(config);
@@ -44,6 +59,8 @@ export const runStatusCommand = () => {
44
59
  console.log(`- Installed hosts: ${installedHosts.join(", ") || "none"}`);
45
60
  console.log(`- Distillation provider: ${config.distillerProvider}`);
46
61
  console.log(`- Distillation model: ${config.distillerModel}`);
62
+ console.log(`- Sync second-opinion mode: ${config.syncSecondOpinionMode}`);
63
+ console.log(`- Sync second-opinion model: ${config.syncSecondOpinionModel || config.distillerModel || "shared distiller default"}`);
47
64
  console.log(`- Embedding provider mode: ${config.embeddingProvider}`);
48
65
  console.log(`- Embedding API provider override: ${config.embeddingApiProvider}`);
49
66
  console.log(`- Setup state: ${deriveSetupState({
@@ -58,13 +75,30 @@ export const runStatusCommand = () => {
58
75
  console.log(`- Codex instruction block: ${codex.learningLoop.instructionState}`);
59
76
  console.log(`- Codex task runs in current repo: ${codex.learningLoop.recentTaskRuns}`);
60
77
  }
78
+ if (codex.cliFallback) {
79
+ console.log(`- Codex CLI fallback available: ${codex.cliFallback.available ? "yes" : "no"}`);
80
+ if (!codex.cliFallback.available && codex.cliFallback.recommendation) {
81
+ console.log(`- Codex CLI fallback note: ${codex.cliFallback.recommendation}`);
82
+ }
83
+ }
84
+ if (openclaw.runtimeDefaults) {
85
+ console.log(`- OpenClaw learning loop: ${openclaw.runtimeDefaults.learningLoopState}`);
86
+ console.log(`- OpenClaw background learning default: ${openclaw.runtimeDefaults.backgroundLearningEnabled ? "enabled" : "disabled"}`);
87
+ console.log(`- OpenClaw async posttask default: ${openclaw.runtimeDefaults.hybridPosttaskEnabled ? "enabled" : "disabled"}`);
88
+ }
61
89
  console.log(`- Recent retrieval decisions in current repo: ${decisionHealth.recentDecisions}`);
62
90
  console.log(`- Recent standard hints (inject): ${decisionHealth.recentInjects}`);
63
91
  console.log(`- Recent cautious hints (inject_conservative): ${decisionHealth.recentConservativeInjects}`);
64
92
  console.log(`- Recent no-hint decisions (skip): ${decisionHealth.recentSkips}`);
93
+ console.log(`- Recent harmful or misfired hints: ${decisionHealth.recentPotentialMisfires}`);
94
+ console.log(`- Recent meta-dominant selections: ${decisionHealth.recentMetaDominantSelections}`);
95
+ console.log(`- Recent real-dev-aligned selections: ${decisionHealth.recentRealDevAlignedSelections}`);
65
96
  console.log(`- Recent fast matches (fast path): ${decisionHealth.recentFastPathActivations}`);
66
97
  console.log(`- Recent rerank reviews (rerank): ${decisionHealth.recentRerankParticipations}`);
67
98
  console.log(`- Recent query normalizations (query rewrites): ${decisionHealth.recentQueryRewriteUsages}`);
99
+ console.log(`- Recent sync second-opinion reviews: ${decisionHealth.recentSecondOpinionActivations}`);
100
+ console.log(`- Recent second-opinion skips: ${decisionHealth.recentSecondOpinionSkips}`);
101
+ console.log(`- Recent second-opinion conservative downgrades: ${decisionHealth.recentSecondOpinionConservativeDowngrades}`);
68
102
  console.log(`- Current rising patterns (priority candidates): ${decisionHealth.currentPriorityCandidates}`);
69
103
  console.log(`- Recent merged refinements (converged updates): ${decisionHealth.recentConvergedUpdates}`);
70
104
  console.log(`- Recent newly promoted hints (priority promotions): ${decisionHealth.recentPriorityPromotions}`);
@@ -72,5 +106,9 @@ export const runStatusCommand = () => {
72
106
  if (retrievalPattern) {
73
107
  console.log(`- Retrieval pattern: ${retrievalPattern}`);
74
108
  }
109
+ const governancePattern = summarizeGovernancePattern(decisionHealth);
110
+ if (governancePattern) {
111
+ console.log(`- Governance pattern: ${governancePattern}`);
112
+ }
75
113
  };
76
114
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
- const usageText = "Usage: ee <install openclaw|claude-code|codex|upgrade openclaw|claude-code|codex|repair [openclaw]|claude-hook|codex-mcp-server|doctor [openclaw|claude-code|codex]|status|stats|inspect|feedback|disable|enable|cool|retire>"
1
+ import { buildClaudeMarketplaceAddCommand, buildClaudePluginInstallCommand, buildCodexPublicInstallCommand, buildOpenClawPublicInstallCommand } from "../install/public-install.js";
2
+ const usageText = "Usage: ee <install openclaw|claude-code|codex|upgrade openclaw|claude-code|codex|repair [openclaw]|claude-hook|codex <exec ...>|codex-mcp-server|doctor [openclaw|claude-code|codex]|status|stats|inspect|feedback|disable|enable|cool|retire>"
2
3
  + " | helped|harmed"
3
4
  + " | backup|export|import <snapshot-path>|rollback <backup-id>"
4
5
  + " | maintenance embeddings-reset|embedding-smoke|redistill-rule-nodes|claude-validate-print|merge-scope <sourceScopeId> <targetScopeId>"
5
6
  + " | evaluate openclaw-baseline [--lookback-hours N] [--output-dir PATH]"
6
7
  + " | evaluate openclaw-scenarios --pack high-confidence [--repo-root PATH] [--output-dir PATH] [--dry-run]"
8
+ + " | evaluate codex-lifecycle [--repo-root PATH] [--output-dir PATH]"
7
9
  + " | mcp-server"
8
10
  + " | init [distillation|embedding|secret|show]"
9
11
  + " | models list <provider> [query]"
@@ -11,15 +13,20 @@ const usageText = "Usage: ee <install openclaw|claude-code|codex|upgrade opencla
11
13
  export const printCliUsage = () => {
12
14
  console.log("ExperienceEngine CLI");
13
15
  console.log("Get started:");
14
- console.log("- Install your host integration: ee install <openclaw|claude-code|codex>");
16
+ console.log(`- OpenClaw (host-native plugin): ${buildOpenClawPublicInstallCommand()}`);
17
+ console.log(`- Claude Code (host-native marketplace): ${buildClaudeMarketplaceAddCommand()}`);
18
+ console.log(`- Then install the plugin: ${buildClaudePluginInstallCommand()}`);
19
+ console.log(`- Codex (EE-managed wiring): ${buildCodexPublicInstallCommand()}`);
15
20
  console.log("- Initialize shared state: ee init");
16
- console.log("- Verify current host wiring: ee doctor <openclaw|claude-code|codex>");
21
+ console.log("- Check shared ExperienceEngine state: ee status");
22
+ console.log("- Verify host wiring explicitly: ee doctor <openclaw|claude-code|codex>");
17
23
  console.log("See what ExperienceEngine is doing:");
18
24
  console.log("- Check current state: ee status");
19
25
  console.log("- Inspect the latest persisted intervention: ee inspect --last");
20
26
  console.log("Fix a problem:");
21
27
  console.log("- Validate the current host: ee doctor <openclaw|claude-code|codex>");
22
28
  console.log("- Refresh host wiring when needed: ee upgrade <openclaw|claude-code|codex>");
29
+ console.log("- Only OpenClaw currently supports automated `ee repair`.");
23
30
  console.log("- Routine review/feedback stays in the host first for OpenClaw, Codex, and Claude Code.");
24
31
  console.log("- CLI/operator fallback remains the path for deeper inspection, repair, and advanced management.");
25
32
  console.log("- CLI fallback/operator path: ee inspect --last | ee helped | ee harmed");
@@ -43,6 +50,11 @@ export const runCliCommand = async (command, args) => {
43
50
  await runClaudeHookCommand();
44
51
  break;
45
52
  }
53
+ case "codex": {
54
+ const { runCodexCommand } = await import("./commands/codex.js");
55
+ await runCodexCommand(args[0], args.slice(1));
56
+ break;
57
+ }
46
58
  case "codex-mcp-server": {
47
59
  const { runCodexMcpServerCommand } = await import("./commands/codex-mcp-server.js");
48
60
  await runCodexMcpServerCommand();
@@ -60,7 +72,7 @@ export const runCliCommand = async (command, args) => {
60
72
  }
61
73
  case "evaluate": {
62
74
  const { runEvaluateCommand } = await import("./commands/evaluate.js");
63
- runEvaluateCommand(args[0], args.slice(1));
75
+ await runEvaluateCommand(args[0], args.slice(1));
64
76
  break;
65
77
  }
66
78
  case "config": {
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/cli/dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/cli/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,8BAA8B,CAAC;AAEtC,MAAM,SAAS,GACb,gPAAgP;MAC9O,kBAAkB;MAClB,8DAA8D;MAC9D,wIAAwI;MACxI,wEAAwE;MACxE,0GAA0G;MAC1G,oEAAoE;MACpE,eAAe;MACf,8CAA8C;MAC9C,mCAAmC;MACnC,6MAA6M,CAAC;AAElN,MAAM,CAAC,MAAM,aAAa,GAAG,GAAS,EAAE;IACtC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,oCAAoC,iCAAiC,EAAE,EAAE,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,4CAA4C,gCAAgC,EAAE,EAAE,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,CAAC,8BAA8B,+BAA+B,EAAE,EAAE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,gCAAgC,8BAA8B,EAAE,EAAE,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC;IACvG,OAAO,CAAC,GAAG,CAAC,kGAAkG,CAAC,CAAC;IAChH,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,OAA2B,EAAE,IAAc,EAAiB,EAAE;IAChG,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;YACpE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAClE,gBAAgB,EAAE,CAAC;YACnB,MAAM;QACR,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAC3E,MAAM,oBAAoB,EAAE,CAAC;YAC7B,MAAM;QACR,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YAChE,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM;QACR,CAAC;QACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;YACpF,MAAM,wBAAwB,EAAE,CAAC;YACjC,MAAM;QACR,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YACzE,MAAM,mBAAmB,EAAE,CAAC;YAC5B,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAClE,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM;QACR,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACtE,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAClE,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAClE,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM;QACR,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC9D,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAClE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAClE,gBAAgB,EAAE,CAAC;YACnB,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAClE,gBAAgB,EAAE,CAAC;YACnB,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAClE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM;QACR,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACtE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM;QACR,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;YACpE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM;QACR,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YAChE,eAAe,EAAE,CAAC;YAClB,MAAM;QACR,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACtE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YAC3E,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM;QACR,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;YACpE,iBAAiB,CACf,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAC3D,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EACtC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACvC,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAC5E,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM;QACR,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;YACpE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAClE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM;QACR,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC9D,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAClE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM;QACR,CAAC;QACD;YACE,aAAa,EAAE,CAAC;IACpB,CAAC;AACH,CAAC,CAAC"}
@@ -17,6 +17,8 @@ export declare const configSchema: z.ZodObject<{
17
17
  embeddingCacheDir: z.ZodDefault<z.ZodString>;
18
18
  retrievalRerankerMode: z.ZodDefault<z.ZodEnum<["auto", "heuristic", "model", "disabled"]>>;
19
19
  retrievalRerankerModel: z.ZodDefault<z.ZodString>;
20
+ syncSecondOpinionMode: z.ZodDefault<z.ZodEnum<["disabled", "selective"]>>;
21
+ syncSecondOpinionModel: z.ZodDefault<z.ZodString>;
20
22
  distillerProvider: z.ZodDefault<z.ZodEnum<["openai", "anthropic", "gemini", "openrouter", "azure_openai", "bedrock", "openai_compatible", "dashscope", "deepseek", "moonshot", "zhipu", "siliconflow", "minimax", "volcengine_ark", "tencent_hunyuan", "baidu_qianfan"]>>;
21
23
  distillerModel: z.ZodDefault<z.ZodString>;
22
24
  distillationAuthMode: z.ZodDefault<z.ZodEnum<["api_key", "google_adc"]>>;
@@ -26,6 +28,22 @@ export declare const configSchema: z.ZodObject<{
26
28
  distillationMaxRetries: z.ZodDefault<z.ZodNumber>;
27
29
  distillationBatchSize: z.ZodDefault<z.ZodNumber>;
28
30
  distillationAutoDrain: z.ZodDefault<z.ZodBoolean>;
31
+ hybridEnabled: z.ZodDefault<z.ZodBoolean>;
32
+ hybridSyncExplainEnabled: z.ZodDefault<z.ZodBoolean>;
33
+ hybridAsyncPostmortemEnabled: z.ZodDefault<z.ZodBoolean>;
34
+ hybridRolloutMode: z.ZodDefault<z.ZodEnum<["live", "shadow", "canary"]>>;
35
+ hybridCanaryRate: z.ZodDefault<z.ZodNumber>;
36
+ hybridKillSwitch: z.ZodDefault<z.ZodBoolean>;
37
+ hybridRoutePolicyVersion: z.ZodDefault<z.ZodString>;
38
+ hybridCapsuleSchemaVersion: z.ZodDefault<z.ZodString>;
39
+ hybridExplainDecisionProfileVersion: z.ZodDefault<z.ZodString>;
40
+ hybridPostmortemReviewProfileVersion: z.ZodDefault<z.ZodString>;
41
+ hybridExplainLlmEnabled: z.ZodDefault<z.ZodBoolean>;
42
+ hybridExplainProviderMode: z.ZodDefault<z.ZodEnum<["shared_distiller"]>>;
43
+ hybridExplainModelProfileVersion: z.ZodDefault<z.ZodString>;
44
+ hybridAsyncPostmortemLlmEnabled: z.ZodDefault<z.ZodBoolean>;
45
+ hybridPostmortemProviderMode: z.ZodDefault<z.ZodEnum<["shared_distiller"]>>;
46
+ hybridPostmortemModelProfileVersion: z.ZodDefault<z.ZodString>;
29
47
  }, "strip", z.ZodTypeAny, {
30
48
  dataDir: string;
31
49
  sqlitePath: string;
@@ -44,6 +62,8 @@ export declare const configSchema: z.ZodObject<{
44
62
  embeddingCacheDir: string;
45
63
  retrievalRerankerMode: "auto" | "disabled" | "heuristic" | "model";
46
64
  retrievalRerankerModel: string;
65
+ syncSecondOpinionMode: "disabled" | "selective";
66
+ syncSecondOpinionModel: string;
47
67
  distillerProvider: "openai" | "anthropic" | "gemini" | "openrouter" | "azure_openai" | "bedrock" | "openai_compatible" | "dashscope" | "deepseek" | "moonshot" | "zhipu" | "siliconflow" | "minimax" | "volcengine_ark" | "tencent_hunyuan" | "baidu_qianfan";
48
68
  distillerModel: string;
49
69
  distillationAuthMode: "api_key" | "google_adc";
@@ -53,6 +73,22 @@ export declare const configSchema: z.ZodObject<{
53
73
  distillationMaxRetries: number;
54
74
  distillationBatchSize: number;
55
75
  distillationAutoDrain: boolean;
76
+ hybridEnabled: boolean;
77
+ hybridSyncExplainEnabled: boolean;
78
+ hybridAsyncPostmortemEnabled: boolean;
79
+ hybridRolloutMode: "live" | "shadow" | "canary";
80
+ hybridCanaryRate: number;
81
+ hybridKillSwitch: boolean;
82
+ hybridRoutePolicyVersion: string;
83
+ hybridCapsuleSchemaVersion: string;
84
+ hybridExplainDecisionProfileVersion: string;
85
+ hybridPostmortemReviewProfileVersion: string;
86
+ hybridExplainLlmEnabled: boolean;
87
+ hybridExplainProviderMode: "shared_distiller";
88
+ hybridExplainModelProfileVersion: string;
89
+ hybridAsyncPostmortemLlmEnabled: boolean;
90
+ hybridPostmortemProviderMode: "shared_distiller";
91
+ hybridPostmortemModelProfileVersion: string;
56
92
  }, {
57
93
  dataDir?: string | undefined;
58
94
  sqlitePath?: string | undefined;
@@ -71,6 +107,8 @@ export declare const configSchema: z.ZodObject<{
71
107
  embeddingCacheDir?: string | undefined;
72
108
  retrievalRerankerMode?: "auto" | "disabled" | "heuristic" | "model" | undefined;
73
109
  retrievalRerankerModel?: string | undefined;
110
+ syncSecondOpinionMode?: "disabled" | "selective" | undefined;
111
+ syncSecondOpinionModel?: string | undefined;
74
112
  distillerProvider?: "openai" | "anthropic" | "gemini" | "openrouter" | "azure_openai" | "bedrock" | "openai_compatible" | "dashscope" | "deepseek" | "moonshot" | "zhipu" | "siliconflow" | "minimax" | "volcengine_ark" | "tencent_hunyuan" | "baidu_qianfan" | undefined;
75
113
  distillerModel?: string | undefined;
76
114
  distillationAuthMode?: "api_key" | "google_adc" | undefined;
@@ -80,6 +118,22 @@ export declare const configSchema: z.ZodObject<{
80
118
  distillationMaxRetries?: number | undefined;
81
119
  distillationBatchSize?: number | undefined;
82
120
  distillationAutoDrain?: boolean | undefined;
121
+ hybridEnabled?: boolean | undefined;
122
+ hybridSyncExplainEnabled?: boolean | undefined;
123
+ hybridAsyncPostmortemEnabled?: boolean | undefined;
124
+ hybridRolloutMode?: "live" | "shadow" | "canary" | undefined;
125
+ hybridCanaryRate?: number | undefined;
126
+ hybridKillSwitch?: boolean | undefined;
127
+ hybridRoutePolicyVersion?: string | undefined;
128
+ hybridCapsuleSchemaVersion?: string | undefined;
129
+ hybridExplainDecisionProfileVersion?: string | undefined;
130
+ hybridPostmortemReviewProfileVersion?: string | undefined;
131
+ hybridExplainLlmEnabled?: boolean | undefined;
132
+ hybridExplainProviderMode?: "shared_distiller" | undefined;
133
+ hybridExplainModelProfileVersion?: string | undefined;
134
+ hybridAsyncPostmortemLlmEnabled?: boolean | undefined;
135
+ hybridPostmortemProviderMode?: "shared_distiller" | undefined;
136
+ hybridPostmortemModelProfileVersion?: string | undefined;
83
137
  }>;
84
138
  export type ExperienceEngineConfig = z.infer<typeof configSchema>;
85
139
  export declare const pluginConfigJsonSchema: {
@@ -166,6 +220,15 @@ export declare const pluginConfigJsonSchema: {
166
220
  readonly type: "string";
167
221
  readonly description: "Optional override model identifier for retrieval reranking. When empty, ExperienceEngine reuses the configured distillation model.";
168
222
  };
223
+ readonly syncSecondOpinionMode: {
224
+ readonly type: "string";
225
+ readonly enum: readonly ["disabled", "selective"];
226
+ readonly description: "Controls whether ExperienceEngine applies a selective synchronous LLM second-opinion gate before injecting high-risk live hints.";
227
+ };
228
+ readonly syncSecondOpinionModel: {
229
+ readonly type: "string";
230
+ readonly description: "Optional override model identifier for the selective synchronous LLM second-opinion gate. When empty, ExperienceEngine reuses the configured distillation model.";
231
+ };
169
232
  readonly distillerProvider: {
170
233
  readonly type: "string";
171
234
  readonly enum: readonly ["openai", "anthropic", "gemini", "openrouter", "azure_openai", "bedrock", "openai_compatible", "dashscope", "deepseek", "moonshot", "zhipu", "siliconflow", "minimax", "volcengine_ark", "tencent_hunyuan", "baidu_qianfan"];
@@ -210,6 +273,75 @@ export declare const pluginConfigJsonSchema: {
210
273
  readonly type: "boolean";
211
274
  readonly description: "Automatically drain asynchronous distillation jobs after finalize.";
212
275
  };
276
+ readonly hybridEnabled: {
277
+ readonly type: "boolean";
278
+ readonly description: "Enable the phase 1 hybrid routing layer.";
279
+ };
280
+ readonly hybridSyncExplainEnabled: {
281
+ readonly type: "boolean";
282
+ readonly description: "Allow bounded sync escalation for explicit explanation requests.";
283
+ };
284
+ readonly hybridAsyncPostmortemEnabled: {
285
+ readonly type: "boolean";
286
+ readonly description: "Allow bounded async postmortem review for deterministic eligible completed runs.";
287
+ };
288
+ readonly hybridRolloutMode: {
289
+ readonly type: "string";
290
+ readonly enum: readonly ["live", "shadow", "canary"];
291
+ readonly description: "Controls whether hybrid worker paths are live, shadow-only, or limited to a canary slice.";
292
+ };
293
+ readonly hybridCanaryRate: {
294
+ readonly type: "number";
295
+ readonly minimum: 0;
296
+ readonly maximum: 1;
297
+ readonly description: "Fraction of hybrid-eligible turns allowed into the canary slice when hybridRolloutMode is `canary`.";
298
+ };
299
+ readonly hybridKillSwitch: {
300
+ readonly type: "boolean";
301
+ readonly description: "Immediately disables hybrid worker paths without affecting the deterministic core.";
302
+ };
303
+ readonly hybridRoutePolicyVersion: {
304
+ readonly type: "string";
305
+ readonly description: "Version label for the active hybrid route policy.";
306
+ };
307
+ readonly hybridCapsuleSchemaVersion: {
308
+ readonly type: "string";
309
+ readonly description: "Version label for the active hybrid capsule schema.";
310
+ };
311
+ readonly hybridExplainDecisionProfileVersion: {
312
+ readonly type: "string";
313
+ readonly description: "Version label for the explain_decision worker profile.";
314
+ };
315
+ readonly hybridPostmortemReviewProfileVersion: {
316
+ readonly type: "string";
317
+ readonly description: "Version label for the postmortem_review worker profile.";
318
+ };
319
+ readonly hybridExplainLlmEnabled: {
320
+ readonly type: "boolean";
321
+ readonly description: "Enable the provider-backed explain_decision worker for phase 2.";
322
+ };
323
+ readonly hybridExplainProviderMode: {
324
+ readonly type: "string";
325
+ readonly enum: readonly ["shared_distiller"];
326
+ readonly description: "Provider resolution mode for phase 2 explain_decision. `shared_distiller` reuses the existing EE distillation provider configuration.";
327
+ };
328
+ readonly hybridExplainModelProfileVersion: {
329
+ readonly type: "string";
330
+ readonly description: "Version label for the provider-backed explain_decision model profile.";
331
+ };
332
+ readonly hybridAsyncPostmortemLlmEnabled: {
333
+ readonly type: "boolean";
334
+ readonly description: "Enable the provider-backed postmortem_review worker for phase 3.";
335
+ };
336
+ readonly hybridPostmortemProviderMode: {
337
+ readonly type: "string";
338
+ readonly enum: readonly ["shared_distiller"];
339
+ readonly description: "Provider resolution mode for phase 3 postmortem_review. `shared_distiller` reuses the existing EE distillation provider configuration.";
340
+ };
341
+ readonly hybridPostmortemModelProfileVersion: {
342
+ readonly type: "string";
343
+ readonly description: "Version label for the provider-backed postmortem_review model profile.";
344
+ };
213
345
  };
214
346
  };
215
347
  export declare const pluginUiHints: {
@@ -268,6 +400,12 @@ export declare const pluginUiHints: {
268
400
  readonly retrievalRerankerModel: {
269
401
  readonly label: "Retrieval Reranker Model";
270
402
  };
403
+ readonly syncSecondOpinionMode: {
404
+ readonly label: "Sync Second Opinion Mode";
405
+ };
406
+ readonly syncSecondOpinionModel: {
407
+ readonly label: "Sync Second Opinion Model";
408
+ };
271
409
  readonly distillerProvider: {
272
410
  readonly label: "Distiller Provider";
273
411
  };
@@ -295,4 +433,43 @@ export declare const pluginUiHints: {
295
433
  readonly distillationAutoDrain: {
296
434
  readonly label: "Distillation Auto Drain";
297
435
  };
436
+ readonly hybridEnabled: {
437
+ readonly label: "Hybrid Enabled";
438
+ };
439
+ readonly hybridSyncExplainEnabled: {
440
+ readonly label: "Hybrid Sync Explain Enabled";
441
+ };
442
+ readonly hybridAsyncPostmortemEnabled: {
443
+ readonly label: "Hybrid Async Postmortem Enabled";
444
+ };
445
+ readonly hybridRolloutMode: {
446
+ readonly label: "Hybrid Rollout Mode";
447
+ };
448
+ readonly hybridCanaryRate: {
449
+ readonly label: "Hybrid Canary Rate";
450
+ };
451
+ readonly hybridKillSwitch: {
452
+ readonly label: "Hybrid Kill Switch";
453
+ };
454
+ readonly hybridRoutePolicyVersion: {
455
+ readonly label: "Hybrid Route Policy Version";
456
+ };
457
+ readonly hybridCapsuleSchemaVersion: {
458
+ readonly label: "Hybrid Capsule Schema Version";
459
+ };
460
+ readonly hybridExplainDecisionProfileVersion: {
461
+ readonly label: "Hybrid Explain Profile Version";
462
+ };
463
+ readonly hybridPostmortemReviewProfileVersion: {
464
+ readonly label: "Hybrid Postmortem Profile Version";
465
+ };
466
+ readonly hybridExplainLlmEnabled: {
467
+ readonly label: "Hybrid Explain LLM Enabled";
468
+ };
469
+ readonly hybridExplainProviderMode: {
470
+ readonly label: "Hybrid Explain Provider Mode";
471
+ };
472
+ readonly hybridExplainModelProfileVersion: {
473
+ readonly label: "Hybrid Explain Model Profile Version";
474
+ };
298
475
  };
@@ -18,6 +18,8 @@ export const configSchema = z.object({
18
18
  embeddingCacheDir: z.string().default("./data/models/embeddings"),
19
19
  retrievalRerankerMode: z.enum(["auto", "heuristic", "model", "disabled"]).default("auto"),
20
20
  retrievalRerankerModel: z.string().default(""),
21
+ syncSecondOpinionMode: z.enum(["disabled", "selective"]).default("disabled"),
22
+ syncSecondOpinionModel: z.string().default(""),
21
23
  distillerProvider: z.enum(DISTILLER_PROVIDERS).default("openai_compatible"),
22
24
  distillerModel: z.string().default(""),
23
25
  distillationAuthMode: z.enum(["api_key", "google_adc"]).default("api_key"),
@@ -26,7 +28,23 @@ export const configSchema = z.object({
26
28
  distillationAllowPassthrough: z.boolean().default(false),
27
29
  distillationMaxRetries: z.number().int().min(0).max(10).default(2),
28
30
  distillationBatchSize: z.number().int().min(1).max(20).default(5),
29
- distillationAutoDrain: z.boolean().default(true)
31
+ distillationAutoDrain: z.boolean().default(true),
32
+ hybridEnabled: z.boolean().default(false),
33
+ hybridSyncExplainEnabled: z.boolean().default(false),
34
+ hybridAsyncPostmortemEnabled: z.boolean().default(false),
35
+ hybridRolloutMode: z.enum(["live", "shadow", "canary"]).default("live"),
36
+ hybridCanaryRate: z.number().min(0).max(1).default(0.1),
37
+ hybridKillSwitch: z.boolean().default(false),
38
+ hybridRoutePolicyVersion: z.string().default("hybrid-phase1-v1"),
39
+ hybridCapsuleSchemaVersion: z.string().default("hybrid-capsule-v1"),
40
+ hybridExplainDecisionProfileVersion: z.string().default("hybrid-explain-v1"),
41
+ hybridPostmortemReviewProfileVersion: z.string().default("hybrid-postmortem-v1"),
42
+ hybridExplainLlmEnabled: z.boolean().default(false),
43
+ hybridExplainProviderMode: z.enum(["shared_distiller"]).default("shared_distiller"),
44
+ hybridExplainModelProfileVersion: z.string().default("hybrid-explain-llm-v1"),
45
+ hybridAsyncPostmortemLlmEnabled: z.boolean().default(false),
46
+ hybridPostmortemProviderMode: z.enum(["shared_distiller"]).default("shared_distiller"),
47
+ hybridPostmortemModelProfileVersion: z.string().default("hybrid-postmortem-llm-v1")
30
48
  });
31
49
  export const pluginConfigJsonSchema = {
32
50
  type: "object",
@@ -112,6 +130,15 @@ export const pluginConfigJsonSchema = {
112
130
  type: "string",
113
131
  description: "Optional override model identifier for retrieval reranking. When empty, ExperienceEngine reuses the configured distillation model."
114
132
  },
133
+ syncSecondOpinionMode: {
134
+ type: "string",
135
+ enum: ["disabled", "selective"],
136
+ description: "Controls whether ExperienceEngine applies a selective synchronous LLM second-opinion gate before injecting high-risk live hints."
137
+ },
138
+ syncSecondOpinionModel: {
139
+ type: "string",
140
+ description: "Optional override model identifier for the selective synchronous LLM second-opinion gate. When empty, ExperienceEngine reuses the configured distillation model."
141
+ },
115
142
  distillerProvider: {
116
143
  type: "string",
117
144
  enum: [...DISTILLER_PROVIDERS],
@@ -155,6 +182,75 @@ export const pluginConfigJsonSchema = {
155
182
  distillationAutoDrain: {
156
183
  type: "boolean",
157
184
  description: "Automatically drain asynchronous distillation jobs after finalize."
185
+ },
186
+ hybridEnabled: {
187
+ type: "boolean",
188
+ description: "Enable the phase 1 hybrid routing layer."
189
+ },
190
+ hybridSyncExplainEnabled: {
191
+ type: "boolean",
192
+ description: "Allow bounded sync escalation for explicit explanation requests."
193
+ },
194
+ hybridAsyncPostmortemEnabled: {
195
+ type: "boolean",
196
+ description: "Allow bounded async postmortem review for deterministic eligible completed runs."
197
+ },
198
+ hybridRolloutMode: {
199
+ type: "string",
200
+ enum: ["live", "shadow", "canary"],
201
+ description: "Controls whether hybrid worker paths are live, shadow-only, or limited to a canary slice."
202
+ },
203
+ hybridCanaryRate: {
204
+ type: "number",
205
+ minimum: 0,
206
+ maximum: 1,
207
+ description: "Fraction of hybrid-eligible turns allowed into the canary slice when hybridRolloutMode is `canary`."
208
+ },
209
+ hybridKillSwitch: {
210
+ type: "boolean",
211
+ description: "Immediately disables hybrid worker paths without affecting the deterministic core."
212
+ },
213
+ hybridRoutePolicyVersion: {
214
+ type: "string",
215
+ description: "Version label for the active hybrid route policy."
216
+ },
217
+ hybridCapsuleSchemaVersion: {
218
+ type: "string",
219
+ description: "Version label for the active hybrid capsule schema."
220
+ },
221
+ hybridExplainDecisionProfileVersion: {
222
+ type: "string",
223
+ description: "Version label for the explain_decision worker profile."
224
+ },
225
+ hybridPostmortemReviewProfileVersion: {
226
+ type: "string",
227
+ description: "Version label for the postmortem_review worker profile."
228
+ },
229
+ hybridExplainLlmEnabled: {
230
+ type: "boolean",
231
+ description: "Enable the provider-backed explain_decision worker for phase 2."
232
+ },
233
+ hybridExplainProviderMode: {
234
+ type: "string",
235
+ enum: ["shared_distiller"],
236
+ description: "Provider resolution mode for phase 2 explain_decision. `shared_distiller` reuses the existing EE distillation provider configuration."
237
+ },
238
+ hybridExplainModelProfileVersion: {
239
+ type: "string",
240
+ description: "Version label for the provider-backed explain_decision model profile."
241
+ },
242
+ hybridAsyncPostmortemLlmEnabled: {
243
+ type: "boolean",
244
+ description: "Enable the provider-backed postmortem_review worker for phase 3."
245
+ },
246
+ hybridPostmortemProviderMode: {
247
+ type: "string",
248
+ enum: ["shared_distiller"],
249
+ description: "Provider resolution mode for phase 3 postmortem_review. `shared_distiller` reuses the existing EE distillation provider configuration."
250
+ },
251
+ hybridPostmortemModelProfileVersion: {
252
+ type: "string",
253
+ description: "Version label for the provider-backed postmortem_review model profile."
158
254
  }
159
255
  }
160
256
  };
@@ -214,6 +310,12 @@ export const pluginUiHints = {
214
310
  retrievalRerankerModel: {
215
311
  label: "Retrieval Reranker Model"
216
312
  },
313
+ syncSecondOpinionMode: {
314
+ label: "Sync Second Opinion Mode"
315
+ },
316
+ syncSecondOpinionModel: {
317
+ label: "Sync Second Opinion Model"
318
+ },
217
319
  distillerProvider: {
218
320
  label: "Distiller Provider"
219
321
  },
@@ -240,6 +342,45 @@ export const pluginUiHints = {
240
342
  },
241
343
  distillationAutoDrain: {
242
344
  label: "Distillation Auto Drain"
345
+ },
346
+ hybridEnabled: {
347
+ label: "Hybrid Enabled"
348
+ },
349
+ hybridSyncExplainEnabled: {
350
+ label: "Hybrid Sync Explain Enabled"
351
+ },
352
+ hybridAsyncPostmortemEnabled: {
353
+ label: "Hybrid Async Postmortem Enabled"
354
+ },
355
+ hybridRolloutMode: {
356
+ label: "Hybrid Rollout Mode"
357
+ },
358
+ hybridCanaryRate: {
359
+ label: "Hybrid Canary Rate"
360
+ },
361
+ hybridKillSwitch: {
362
+ label: "Hybrid Kill Switch"
363
+ },
364
+ hybridRoutePolicyVersion: {
365
+ label: "Hybrid Route Policy Version"
366
+ },
367
+ hybridCapsuleSchemaVersion: {
368
+ label: "Hybrid Capsule Schema Version"
369
+ },
370
+ hybridExplainDecisionProfileVersion: {
371
+ label: "Hybrid Explain Profile Version"
372
+ },
373
+ hybridPostmortemReviewProfileVersion: {
374
+ label: "Hybrid Postmortem Profile Version"
375
+ },
376
+ hybridExplainLlmEnabled: {
377
+ label: "Hybrid Explain LLM Enabled"
378
+ },
379
+ hybridExplainProviderMode: {
380
+ label: "Hybrid Explain Provider Mode"
381
+ },
382
+ hybridExplainModelProfileVersion: {
383
+ label: "Hybrid Explain Model Profile Version"
243
384
  }
244
385
  };
245
386
  //# sourceMappingURL=config-schema.js.map