@alan512/experienceengine 0.3.5 → 0.3.6

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 (698) hide show
  1. package/.claude-plugin/marketplace.json +0 -0
  2. package/.claude-plugin/plugin.json +0 -0
  3. package/.env.example +0 -0
  4. package/.mcp.json +0 -0
  5. package/LICENSE +0 -0
  6. package/README.md +10 -1
  7. package/README.zh-CN.md +8 -0
  8. package/dist/adapters/claude-code/event-store.d.ts +0 -0
  9. package/dist/adapters/claude-code/event-store.js +0 -0
  10. package/dist/adapters/claude-code/event-store.js.map +0 -0
  11. package/dist/adapters/claude-code/hook-normalizer.d.ts +0 -0
  12. package/dist/adapters/claude-code/hook-normalizer.js +0 -0
  13. package/dist/adapters/claude-code/hook-normalizer.js.map +0 -0
  14. package/dist/adapters/claude-code/runtime-projection.d.ts +0 -0
  15. package/dist/adapters/claude-code/runtime-projection.js +0 -0
  16. package/dist/adapters/claude-code/runtime-projection.js.map +0 -0
  17. package/dist/adapters/claude-code/session-store.d.ts +0 -0
  18. package/dist/adapters/claude-code/session-store.js +0 -0
  19. package/dist/adapters/claude-code/session-store.js.map +0 -0
  20. package/dist/adapters/codex/action-registry.d.ts +11 -0
  21. package/dist/adapters/codex/action-registry.js +62 -0
  22. package/dist/adapters/codex/action-registry.js.map +1 -1
  23. package/dist/adapters/codex/behavior-loop.d.ts +10 -0
  24. package/dist/adapters/codex/behavior-loop.js +30 -1
  25. package/dist/adapters/codex/behavior-loop.js.map +1 -1
  26. package/dist/adapters/codex/broker-tools.d.ts +0 -0
  27. package/dist/adapters/codex/broker-tools.js +0 -0
  28. package/dist/adapters/codex/broker-tools.js.map +0 -0
  29. package/dist/adapters/codex/instruction-template.d.ts +0 -0
  30. package/dist/adapters/codex/instruction-template.js +5 -4
  31. package/dist/adapters/codex/instruction-template.js.map +1 -1
  32. package/dist/adapters/codex/mcp-server.d.ts +36 -0
  33. package/dist/adapters/codex/mcp-server.js +51 -16
  34. package/dist/adapters/codex/mcp-server.js.map +1 -1
  35. package/dist/analyzer/candidate-signals.d.ts +0 -0
  36. package/dist/analyzer/candidate-signals.js +0 -0
  37. package/dist/analyzer/candidate-signals.js.map +0 -0
  38. package/dist/analyzer/experience-analyzer.d.ts +0 -0
  39. package/dist/analyzer/experience-analyzer.js +0 -0
  40. package/dist/analyzer/experience-analyzer.js.map +0 -0
  41. package/dist/analyzer/extraction-evidence.d.ts +0 -0
  42. package/dist/analyzer/extraction-evidence.js +0 -0
  43. package/dist/analyzer/extraction-evidence.js.map +0 -0
  44. package/dist/analyzer/llm-learning-gate.d.ts +0 -0
  45. package/dist/analyzer/llm-learning-gate.js +0 -0
  46. package/dist/analyzer/llm-learning-gate.js.map +0 -0
  47. package/dist/analyzer/node-deduper.d.ts +0 -0
  48. package/dist/analyzer/node-deduper.js +0 -0
  49. package/dist/analyzer/node-deduper.js.map +0 -0
  50. package/dist/analyzer/node-normalizer.d.ts +0 -0
  51. package/dist/analyzer/node-normalizer.js +0 -0
  52. package/dist/analyzer/node-normalizer.js.map +0 -0
  53. package/dist/analyzer/storage-gate.d.ts +0 -0
  54. package/dist/analyzer/storage-gate.js +0 -0
  55. package/dist/analyzer/storage-gate.js.map +0 -0
  56. package/dist/analyzer/strategy-extractor.d.ts +0 -0
  57. package/dist/analyzer/strategy-extractor.js +0 -0
  58. package/dist/analyzer/strategy-extractor.js.map +0 -0
  59. package/dist/analyzer/warning-extractor.d.ts +0 -0
  60. package/dist/analyzer/warning-extractor.js +0 -0
  61. package/dist/analyzer/warning-extractor.js.map +0 -0
  62. package/dist/cli/commands/backup.d.ts +0 -0
  63. package/dist/cli/commands/backup.js +0 -0
  64. package/dist/cli/commands/backup.js.map +0 -0
  65. package/dist/cli/commands/claude-hook.d.ts +0 -0
  66. package/dist/cli/commands/claude-hook.js +5 -1
  67. package/dist/cli/commands/claude-hook.js.map +1 -1
  68. package/dist/cli/commands/codex-hook.d.ts +0 -0
  69. package/dist/cli/commands/codex-hook.js +10 -0
  70. package/dist/cli/commands/codex-hook.js.map +1 -1
  71. package/dist/cli/commands/codex-mcp-server.d.ts +0 -0
  72. package/dist/cli/commands/codex-mcp-server.js +0 -0
  73. package/dist/cli/commands/codex-mcp-server.js.map +0 -0
  74. package/dist/cli/commands/codex.d.ts +0 -0
  75. package/dist/cli/commands/codex.js +0 -0
  76. package/dist/cli/commands/codex.js.map +0 -0
  77. package/dist/cli/commands/config.d.ts +0 -0
  78. package/dist/cli/commands/config.js +0 -0
  79. package/dist/cli/commands/config.js.map +0 -0
  80. package/dist/cli/commands/cool.d.ts +0 -0
  81. package/dist/cli/commands/cool.js +0 -0
  82. package/dist/cli/commands/cool.js.map +0 -0
  83. package/dist/cli/commands/disable.d.ts +0 -0
  84. package/dist/cli/commands/disable.js +0 -0
  85. package/dist/cli/commands/disable.js.map +0 -0
  86. package/dist/cli/commands/doctor.d.ts +0 -0
  87. package/dist/cli/commands/doctor.js +0 -0
  88. package/dist/cli/commands/doctor.js.map +0 -0
  89. package/dist/cli/commands/enable.d.ts +0 -0
  90. package/dist/cli/commands/enable.js +0 -0
  91. package/dist/cli/commands/enable.js.map +0 -0
  92. package/dist/cli/commands/evaluate.d.ts +0 -0
  93. package/dist/cli/commands/evaluate.js +0 -0
  94. package/dist/cli/commands/evaluate.js.map +0 -0
  95. package/dist/cli/commands/export.d.ts +0 -0
  96. package/dist/cli/commands/export.js +0 -0
  97. package/dist/cli/commands/export.js.map +0 -0
  98. package/dist/cli/commands/feedback.d.ts +0 -0
  99. package/dist/cli/commands/feedback.js +0 -0
  100. package/dist/cli/commands/feedback.js.map +0 -0
  101. package/dist/cli/commands/import.d.ts +0 -0
  102. package/dist/cli/commands/import.js +0 -0
  103. package/dist/cli/commands/import.js.map +0 -0
  104. package/dist/cli/commands/init.d.ts +0 -0
  105. package/dist/cli/commands/init.js +0 -0
  106. package/dist/cli/commands/init.js.map +0 -0
  107. package/dist/cli/commands/inspect.d.ts +0 -0
  108. package/dist/cli/commands/inspect.js +102 -0
  109. package/dist/cli/commands/inspect.js.map +1 -1
  110. package/dist/cli/commands/install.d.ts +0 -0
  111. package/dist/cli/commands/install.js +0 -0
  112. package/dist/cli/commands/install.js.map +0 -0
  113. package/dist/cli/commands/maintenance.d.ts +0 -0
  114. package/dist/cli/commands/maintenance.js +60 -3
  115. package/dist/cli/commands/maintenance.js.map +1 -1
  116. package/dist/cli/commands/mcp-server.d.ts +0 -0
  117. package/dist/cli/commands/mcp-server.js +0 -0
  118. package/dist/cli/commands/mcp-server.js.map +0 -0
  119. package/dist/cli/commands/models.d.ts +0 -0
  120. package/dist/cli/commands/models.js +0 -0
  121. package/dist/cli/commands/models.js.map +0 -0
  122. package/dist/cli/commands/repair.d.ts +0 -0
  123. package/dist/cli/commands/repair.js +0 -0
  124. package/dist/cli/commands/repair.js.map +0 -0
  125. package/dist/cli/commands/retire.d.ts +0 -0
  126. package/dist/cli/commands/retire.js +0 -0
  127. package/dist/cli/commands/retire.js.map +0 -0
  128. package/dist/cli/commands/rollback.d.ts +0 -0
  129. package/dist/cli/commands/rollback.js +0 -0
  130. package/dist/cli/commands/rollback.js.map +0 -0
  131. package/dist/cli/commands/stats.d.ts +0 -0
  132. package/dist/cli/commands/stats.js +0 -0
  133. package/dist/cli/commands/stats.js.map +0 -0
  134. package/dist/cli/commands/status.d.ts +0 -0
  135. package/dist/cli/commands/status.js +0 -0
  136. package/dist/cli/commands/status.js.map +0 -0
  137. package/dist/cli/commands/upgrade.d.ts +0 -0
  138. package/dist/cli/commands/upgrade.js +0 -0
  139. package/dist/cli/commands/upgrade.js.map +0 -0
  140. package/dist/cli/dispatch.d.ts +0 -0
  141. package/dist/cli/dispatch.js +1 -1
  142. package/dist/cli/dispatch.js.map +1 -1
  143. package/dist/cli/index.d.ts +0 -0
  144. package/dist/cli/index.js +0 -0
  145. package/dist/cli/index.js.map +0 -0
  146. package/dist/cli/state-model.d.ts +0 -0
  147. package/dist/cli/state-model.js +0 -0
  148. package/dist/cli/state-model.js.map +0 -0
  149. package/dist/config/config-schema.d.ts +0 -0
  150. package/dist/config/config-schema.js +0 -0
  151. package/dist/config/config-schema.js.map +0 -0
  152. package/dist/config/default-config.d.ts +0 -0
  153. package/dist/config/default-config.js +0 -0
  154. package/dist/config/default-config.js.map +0 -0
  155. package/dist/config/load-config.d.ts +0 -0
  156. package/dist/config/load-config.js +0 -0
  157. package/dist/config/load-config.js.map +0 -0
  158. package/dist/config/path-resolver.d.ts +0 -0
  159. package/dist/config/path-resolver.js +0 -0
  160. package/dist/config/path-resolver.js.map +0 -0
  161. package/dist/config/runtime-env.d.ts +0 -0
  162. package/dist/config/runtime-env.js +0 -0
  163. package/dist/config/runtime-env.js.map +0 -0
  164. package/dist/config/secrets-store.d.ts +0 -0
  165. package/dist/config/secrets-store.js +0 -0
  166. package/dist/config/secrets-store.js.map +0 -0
  167. package/dist/config/settings-store.d.ts +0 -0
  168. package/dist/config/settings-store.js +0 -0
  169. package/dist/config/settings-store.js.map +0 -0
  170. package/dist/controller/candidate-retriever.d.ts +0 -0
  171. package/dist/controller/candidate-retriever.js +0 -0
  172. package/dist/controller/candidate-retriever.js.map +0 -0
  173. package/dist/controller/injection-renderer.d.ts +0 -0
  174. package/dist/controller/injection-renderer.js +0 -0
  175. package/dist/controller/injection-renderer.js.map +0 -0
  176. package/dist/controller/injection-scorecard.d.ts +0 -0
  177. package/dist/controller/injection-scorecard.js +0 -0
  178. package/dist/controller/injection-scorecard.js.map +0 -0
  179. package/dist/controller/inline-notice.d.ts +0 -0
  180. package/dist/controller/inline-notice.js +0 -0
  181. package/dist/controller/inline-notice.js.map +0 -0
  182. package/dist/controller/intervention-controller.d.ts +0 -0
  183. package/dist/controller/intervention-controller.js +0 -0
  184. package/dist/controller/intervention-controller.js.map +0 -0
  185. package/dist/controller/lexical-retriever.d.ts +0 -0
  186. package/dist/controller/lexical-retriever.js +0 -0
  187. package/dist/controller/lexical-retriever.js.map +0 -0
  188. package/dist/controller/model-reranker-mode.d.ts +0 -0
  189. package/dist/controller/model-reranker-mode.js +0 -0
  190. package/dist/controller/model-reranker-mode.js.map +0 -0
  191. package/dist/controller/model-reranker.d.ts +0 -0
  192. package/dist/controller/model-reranker.js +0 -0
  193. package/dist/controller/model-reranker.js.map +0 -0
  194. package/dist/controller/node-ranker.d.ts +0 -0
  195. package/dist/controller/node-ranker.js +0 -0
  196. package/dist/controller/node-ranker.js.map +0 -0
  197. package/dist/controller/policy-enricher.d.ts +0 -0
  198. package/dist/controller/policy-enricher.js +0 -0
  199. package/dist/controller/policy-enricher.js.map +0 -0
  200. package/dist/controller/query-rewrite.d.ts +0 -0
  201. package/dist/controller/query-rewrite.js +0 -0
  202. package/dist/controller/query-rewrite.js.map +0 -0
  203. package/dist/controller/retrieval-context.d.ts +0 -0
  204. package/dist/controller/retrieval-context.js +0 -0
  205. package/dist/controller/retrieval-context.js.map +0 -0
  206. package/dist/controller/second-opinion-gate.d.ts +0 -0
  207. package/dist/controller/second-opinion-gate.js +0 -0
  208. package/dist/controller/second-opinion-gate.js.map +0 -0
  209. package/dist/controller/skip-reason.d.ts +0 -0
  210. package/dist/controller/skip-reason.js +0 -0
  211. package/dist/controller/skip-reason.js.map +0 -0
  212. package/dist/controller/skip-scorecard.d.ts +0 -0
  213. package/dist/controller/skip-scorecard.js +0 -0
  214. package/dist/controller/skip-scorecard.js.map +0 -0
  215. package/dist/controller/trigger-evaluator.d.ts +0 -0
  216. package/dist/controller/trigger-evaluator.js +0 -0
  217. package/dist/controller/trigger-evaluator.js.map +0 -0
  218. package/dist/distillation/errors.d.ts +0 -0
  219. package/dist/distillation/errors.js +0 -0
  220. package/dist/distillation/errors.js.map +0 -0
  221. package/dist/distillation/experience-family.d.ts +0 -0
  222. package/dist/distillation/experience-family.js +0 -0
  223. package/dist/distillation/experience-family.js.map +0 -0
  224. package/dist/distillation/host-llm.d.ts +0 -0
  225. package/dist/distillation/host-llm.js +0 -0
  226. package/dist/distillation/host-llm.js.map +0 -0
  227. package/dist/distillation/llm-distiller.d.ts +0 -0
  228. package/dist/distillation/llm-distiller.js +0 -0
  229. package/dist/distillation/llm-distiller.js.map +0 -0
  230. package/dist/distillation/merge-decider.d.ts +0 -0
  231. package/dist/distillation/merge-decider.js +0 -0
  232. package/dist/distillation/merge-decider.js.map +0 -0
  233. package/dist/distillation/model-catalog.d.ts +0 -0
  234. package/dist/distillation/model-catalog.js +0 -0
  235. package/dist/distillation/model-catalog.js.map +0 -0
  236. package/dist/distillation/prompt-contract.d.ts +0 -0
  237. package/dist/distillation/prompt-contract.js +0 -0
  238. package/dist/distillation/prompt-contract.js.map +0 -0
  239. package/dist/distillation/providers/anthropic.d.ts +0 -0
  240. package/dist/distillation/providers/anthropic.js +0 -0
  241. package/dist/distillation/providers/anthropic.js.map +0 -0
  242. package/dist/distillation/providers/azure-openai.d.ts +0 -0
  243. package/dist/distillation/providers/azure-openai.js +0 -0
  244. package/dist/distillation/providers/azure-openai.js.map +0 -0
  245. package/dist/distillation/providers/baidu-qianfan.d.ts +0 -0
  246. package/dist/distillation/providers/baidu-qianfan.js +0 -0
  247. package/dist/distillation/providers/baidu-qianfan.js.map +0 -0
  248. package/dist/distillation/providers/bedrock.d.ts +0 -0
  249. package/dist/distillation/providers/bedrock.js +0 -0
  250. package/dist/distillation/providers/bedrock.js.map +0 -0
  251. package/dist/distillation/providers/dashscope.d.ts +0 -0
  252. package/dist/distillation/providers/dashscope.js +0 -0
  253. package/dist/distillation/providers/dashscope.js.map +0 -0
  254. package/dist/distillation/providers/deepseek.d.ts +0 -0
  255. package/dist/distillation/providers/deepseek.js +0 -0
  256. package/dist/distillation/providers/deepseek.js.map +0 -0
  257. package/dist/distillation/providers/gemini.d.ts +0 -0
  258. package/dist/distillation/providers/gemini.js +0 -0
  259. package/dist/distillation/providers/gemini.js.map +0 -0
  260. package/dist/distillation/providers/google-adc.d.ts +0 -0
  261. package/dist/distillation/providers/google-adc.js +0 -0
  262. package/dist/distillation/providers/google-adc.js.map +0 -0
  263. package/dist/distillation/providers/minimax.d.ts +0 -0
  264. package/dist/distillation/providers/minimax.js +0 -0
  265. package/dist/distillation/providers/minimax.js.map +0 -0
  266. package/dist/distillation/providers/moonshot.d.ts +0 -0
  267. package/dist/distillation/providers/moonshot.js +0 -0
  268. package/dist/distillation/providers/moonshot.js.map +0 -0
  269. package/dist/distillation/providers/openai-compatible-factory.d.ts +0 -0
  270. package/dist/distillation/providers/openai-compatible-factory.js +0 -0
  271. package/dist/distillation/providers/openai-compatible-factory.js.map +0 -0
  272. package/dist/distillation/providers/openai-compatible.d.ts +0 -0
  273. package/dist/distillation/providers/openai-compatible.js +0 -0
  274. package/dist/distillation/providers/openai-compatible.js.map +0 -0
  275. package/dist/distillation/providers/openai.d.ts +0 -0
  276. package/dist/distillation/providers/openai.js +0 -0
  277. package/dist/distillation/providers/openai.js.map +0 -0
  278. package/dist/distillation/providers/openrouter.d.ts +0 -0
  279. package/dist/distillation/providers/openrouter.js +0 -0
  280. package/dist/distillation/providers/openrouter.js.map +0 -0
  281. package/dist/distillation/providers/registry.d.ts +0 -0
  282. package/dist/distillation/providers/registry.js +0 -0
  283. package/dist/distillation/providers/registry.js.map +0 -0
  284. package/dist/distillation/providers/siliconflow.d.ts +0 -0
  285. package/dist/distillation/providers/siliconflow.js +0 -0
  286. package/dist/distillation/providers/siliconflow.js.map +0 -0
  287. package/dist/distillation/providers/tencent-hunyuan.d.ts +0 -0
  288. package/dist/distillation/providers/tencent-hunyuan.js +0 -0
  289. package/dist/distillation/providers/tencent-hunyuan.js.map +0 -0
  290. package/dist/distillation/providers/types.d.ts +0 -0
  291. package/dist/distillation/providers/types.js +0 -0
  292. package/dist/distillation/providers/types.js.map +0 -0
  293. package/dist/distillation/providers/volcengine-ark.d.ts +0 -0
  294. package/dist/distillation/providers/volcengine-ark.js +0 -0
  295. package/dist/distillation/providers/volcengine-ark.js.map +0 -0
  296. package/dist/distillation/providers/zhipu.d.ts +0 -0
  297. package/dist/distillation/providers/zhipu.js +0 -0
  298. package/dist/distillation/providers/zhipu.js.map +0 -0
  299. package/dist/distillation/queue-worker.d.ts +0 -0
  300. package/dist/distillation/queue-worker.js +0 -0
  301. package/dist/distillation/queue-worker.js.map +0 -0
  302. package/dist/distillation/types.d.ts +0 -0
  303. package/dist/distillation/types.js +0 -0
  304. package/dist/distillation/types.js.map +0 -0
  305. package/dist/evaluation/benchmark-report.d.ts +0 -0
  306. package/dist/evaluation/benchmark-report.js +0 -0
  307. package/dist/evaluation/benchmark-report.js.map +0 -0
  308. package/dist/evaluation/benchmark-summary.d.ts +0 -0
  309. package/dist/evaluation/benchmark-summary.js +0 -0
  310. package/dist/evaluation/benchmark-summary.js.map +0 -0
  311. package/dist/evaluation/codex-lifecycle-validation.d.ts +0 -0
  312. package/dist/evaluation/codex-lifecycle-validation.js +0 -0
  313. package/dist/evaluation/codex-lifecycle-validation.js.map +0 -0
  314. package/dist/evaluation/hybrid-phase1-rollout-summary.d.ts +0 -0
  315. package/dist/evaluation/hybrid-phase1-rollout-summary.js +0 -0
  316. package/dist/evaluation/hybrid-phase1-rollout-summary.js.map +0 -0
  317. package/dist/evaluation/hybrid-phase3-gate-metrics.d.ts +0 -0
  318. package/dist/evaluation/hybrid-phase3-gate-metrics.js +0 -0
  319. package/dist/evaluation/hybrid-phase3-gate-metrics.js.map +0 -0
  320. package/dist/evaluation/openclaw-baseline.d.ts +0 -0
  321. package/dist/evaluation/openclaw-baseline.js +0 -0
  322. package/dist/evaluation/openclaw-baseline.js.map +0 -0
  323. package/dist/evaluation/openclaw-scenarios.d.ts +0 -0
  324. package/dist/evaluation/openclaw-scenarios.js +0 -0
  325. package/dist/evaluation/openclaw-scenarios.js.map +0 -0
  326. package/dist/experience-management/governance-observability.d.ts +0 -0
  327. package/dist/experience-management/governance-observability.js +0 -0
  328. package/dist/experience-management/governance-observability.js.map +0 -0
  329. package/dist/experience-management/node-lifecycle-governance.d.ts +0 -0
  330. package/dist/experience-management/node-lifecycle-governance.js +0 -0
  331. package/dist/experience-management/node-lifecycle-governance.js.map +0 -0
  332. package/dist/experience-management/repo-policy.d.ts +0 -0
  333. package/dist/experience-management/repo-policy.js +0 -0
  334. package/dist/experience-management/repo-policy.js.map +0 -0
  335. package/dist/experience-management/task-management-signals.d.ts +0 -0
  336. package/dist/experience-management/task-management-signals.js +0 -0
  337. package/dist/experience-management/task-management-signals.js.map +0 -0
  338. package/dist/feedback/automatic-attribution.d.ts +0 -0
  339. package/dist/feedback/automatic-attribution.js +0 -0
  340. package/dist/feedback/automatic-attribution.js.map +0 -0
  341. package/dist/feedback/feedback-manager.d.ts +0 -0
  342. package/dist/feedback/feedback-manager.js +0 -0
  343. package/dist/feedback/feedback-manager.js.map +0 -0
  344. package/dist/feedback/harm-detector.d.ts +0 -0
  345. package/dist/feedback/harm-detector.js +0 -0
  346. package/dist/feedback/harm-detector.js.map +0 -0
  347. package/dist/feedback/state-transition.d.ts +0 -0
  348. package/dist/feedback/state-transition.js +0 -0
  349. package/dist/feedback/state-transition.js.map +0 -0
  350. package/dist/feedback/stats-updater.d.ts +0 -0
  351. package/dist/feedback/stats-updater.js +0 -0
  352. package/dist/feedback/stats-updater.js.map +0 -0
  353. package/dist/hybrid/capsule-builder.d.ts +0 -0
  354. package/dist/hybrid/capsule-builder.js +0 -0
  355. package/dist/hybrid/capsule-builder.js.map +0 -0
  356. package/dist/hybrid/explain-provider-client.d.ts +0 -0
  357. package/dist/hybrid/explain-provider-client.js +0 -0
  358. package/dist/hybrid/explain-provider-client.js.map +0 -0
  359. package/dist/hybrid/postmortem-provider-client.d.ts +0 -0
  360. package/dist/hybrid/postmortem-provider-client.js +0 -0
  361. package/dist/hybrid/postmortem-provider-client.js.map +0 -0
  362. package/dist/hybrid/rollout.d.ts +0 -0
  363. package/dist/hybrid/rollout.js +0 -0
  364. package/dist/hybrid/rollout.js.map +0 -0
  365. package/dist/hybrid/router.d.ts +0 -0
  366. package/dist/hybrid/router.js +0 -0
  367. package/dist/hybrid/router.js.map +0 -0
  368. package/dist/hybrid/types.d.ts +0 -0
  369. package/dist/hybrid/types.js +0 -0
  370. package/dist/hybrid/types.js.map +0 -0
  371. package/dist/hybrid/validators.d.ts +0 -0
  372. package/dist/hybrid/validators.js +0 -0
  373. package/dist/hybrid/validators.js.map +0 -0
  374. package/dist/hybrid/worker-client.d.ts +0 -0
  375. package/dist/hybrid/worker-client.js +0 -0
  376. package/dist/hybrid/worker-client.js.map +0 -0
  377. package/dist/hybrid/workers/explain-decision-llm.d.ts +0 -0
  378. package/dist/hybrid/workers/explain-decision-llm.js +0 -0
  379. package/dist/hybrid/workers/explain-decision-llm.js.map +0 -0
  380. package/dist/hybrid/workers/explain-decision.d.ts +0 -0
  381. package/dist/hybrid/workers/explain-decision.js +0 -0
  382. package/dist/hybrid/workers/explain-decision.js.map +0 -0
  383. package/dist/hybrid/workers/postmortem-review-llm.d.ts +0 -0
  384. package/dist/hybrid/workers/postmortem-review-llm.js +0 -0
  385. package/dist/hybrid/workers/postmortem-review-llm.js.map +0 -0
  386. package/dist/hybrid/workers/postmortem-review.d.ts +0 -0
  387. package/dist/hybrid/workers/postmortem-review.js +0 -0
  388. package/dist/hybrid/workers/postmortem-review.js.map +0 -0
  389. package/dist/index.d.ts +0 -0
  390. package/dist/index.js +0 -0
  391. package/dist/index.js.map +0 -0
  392. package/dist/input/context-summary-adapter.d.ts +0 -0
  393. package/dist/input/context-summary-adapter.js +0 -0
  394. package/dist/input/context-summary-adapter.js.map +0 -0
  395. package/dist/input/input-adapter.d.ts +0 -0
  396. package/dist/input/input-adapter.js +2 -2
  397. package/dist/input/input-adapter.js.map +1 -1
  398. package/dist/input/outcome-resolver.d.ts +0 -0
  399. package/dist/input/outcome-resolver.js +2 -2
  400. package/dist/input/outcome-resolver.js.map +1 -1
  401. package/dist/input/scope-resolver.d.ts +0 -0
  402. package/dist/input/scope-resolver.js +0 -0
  403. package/dist/input/scope-resolver.js.map +0 -0
  404. package/dist/input/tasktype-resolver.d.ts +0 -0
  405. package/dist/input/tasktype-resolver.js +0 -0
  406. package/dist/input/tasktype-resolver.js.map +0 -0
  407. package/dist/input/tool-event-significance.d.ts +0 -0
  408. package/dist/input/tool-event-significance.js +0 -0
  409. package/dist/input/tool-event-significance.js.map +0 -0
  410. package/dist/install/claude-cli.d.ts +0 -0
  411. package/dist/install/claude-cli.js +0 -0
  412. package/dist/install/claude-cli.js.map +0 -0
  413. package/dist/install/claude-code-doctor.d.ts +0 -0
  414. package/dist/install/claude-code-doctor.js +0 -0
  415. package/dist/install/claude-code-doctor.js.map +0 -0
  416. package/dist/install/claude-code-installer.d.ts +0 -0
  417. package/dist/install/claude-code-installer.js +0 -0
  418. package/dist/install/claude-code-installer.js.map +0 -0
  419. package/dist/install/claude-marketplace-state.d.ts +0 -0
  420. package/dist/install/claude-marketplace-state.js +0 -0
  421. package/dist/install/claude-marketplace-state.js.map +0 -0
  422. package/dist/install/claude-runtime-target.d.ts +0 -0
  423. package/dist/install/claude-runtime-target.js +0 -0
  424. package/dist/install/claude-runtime-target.js.map +0 -0
  425. package/dist/install/codex-cli.d.ts +0 -0
  426. package/dist/install/codex-cli.js +0 -0
  427. package/dist/install/codex-cli.js.map +0 -0
  428. package/dist/install/codex-hooks.d.ts +0 -0
  429. package/dist/install/codex-hooks.js +0 -0
  430. package/dist/install/codex-hooks.js.map +0 -0
  431. package/dist/install/codex-installer.d.ts +0 -0
  432. package/dist/install/codex-installer.js +0 -0
  433. package/dist/install/codex-installer.js.map +0 -0
  434. package/dist/install/codex-runtime-target.d.ts +0 -0
  435. package/dist/install/codex-runtime-target.js +0 -0
  436. package/dist/install/codex-runtime-target.js.map +0 -0
  437. package/dist/install/host-detection.d.ts +0 -0
  438. package/dist/install/host-detection.js +0 -0
  439. package/dist/install/host-detection.js.map +0 -0
  440. package/dist/install/openclaw-cli.d.ts +0 -0
  441. package/dist/install/openclaw-cli.js +0 -0
  442. package/dist/install/openclaw-cli.js.map +0 -0
  443. package/dist/install/openclaw-installer.d.ts +0 -0
  444. package/dist/install/openclaw-installer.js +0 -0
  445. package/dist/install/openclaw-installer.js.map +0 -0
  446. package/dist/install/public-install.d.ts +0 -0
  447. package/dist/install/public-install.js +0 -0
  448. package/dist/install/public-install.js.map +0 -0
  449. package/dist/install/registry-health.d.ts +0 -0
  450. package/dist/install/registry-health.js +0 -0
  451. package/dist/install/registry-health.js.map +0 -0
  452. package/dist/interaction/operational-actions-service.d.ts +0 -0
  453. package/dist/interaction/operational-actions-service.js +0 -0
  454. package/dist/interaction/operational-actions-service.js.map +0 -0
  455. package/dist/interaction/operational-service.d.ts +0 -0
  456. package/dist/interaction/operational-service.js +0 -0
  457. package/dist/interaction/operational-service.js.map +0 -0
  458. package/dist/interaction/quality-band.d.ts +0 -0
  459. package/dist/interaction/quality-band.js +0 -0
  460. package/dist/interaction/quality-band.js.map +0 -0
  461. package/dist/interaction/repo-summary.d.ts +0 -0
  462. package/dist/interaction/repo-summary.js +0 -0
  463. package/dist/interaction/repo-summary.js.map +0 -0
  464. package/dist/interaction/retrieval-policy-inspection.d.ts +0 -0
  465. package/dist/interaction/retrieval-policy-inspection.js +0 -0
  466. package/dist/interaction/retrieval-policy-inspection.js.map +0 -0
  467. package/dist/interaction/service.d.ts +38 -0
  468. package/dist/interaction/service.js +114 -2
  469. package/dist/interaction/service.js.map +1 -1
  470. package/dist/interaction/state-artifact-service.d.ts +0 -0
  471. package/dist/interaction/state-artifact-service.js +0 -0
  472. package/dist/interaction/state-artifact-service.js.map +0 -0
  473. package/dist/interaction/surface-tiers.d.ts +0 -0
  474. package/dist/interaction/surface-tiers.js +1 -1
  475. package/dist/interaction/surface-tiers.js.map +1 -1
  476. package/dist/maintenance/claude-validate-print.d.ts +0 -0
  477. package/dist/maintenance/claude-validate-print.js +0 -0
  478. package/dist/maintenance/claude-validate-print.js.map +0 -0
  479. package/dist/maintenance/embedding-smoke.d.ts +0 -0
  480. package/dist/maintenance/embedding-smoke.js +0 -0
  481. package/dist/maintenance/embedding-smoke.js.map +0 -0
  482. package/dist/maintenance/experience-export-drafts.d.ts +0 -0
  483. package/dist/maintenance/experience-export-drafts.js +0 -0
  484. package/dist/maintenance/experience-export-drafts.js.map +0 -0
  485. package/dist/maintenance/experience-hygiene.d.ts +0 -0
  486. package/dist/maintenance/experience-hygiene.js +0 -0
  487. package/dist/maintenance/experience-hygiene.js.map +0 -0
  488. package/dist/maintenance/hygiene-governance-applicator.d.ts +21 -0
  489. package/dist/maintenance/hygiene-governance-applicator.js +246 -0
  490. package/dist/maintenance/hygiene-governance-applicator.js.map +1 -0
  491. package/dist/maintenance/hygiene-governance-approvals.d.ts +41 -0
  492. package/dist/maintenance/hygiene-governance-approvals.js +143 -0
  493. package/dist/maintenance/hygiene-governance-approvals.js.map +1 -0
  494. package/dist/maintenance/hygiene-governance-llm-planner.d.ts +26 -0
  495. package/dist/maintenance/hygiene-governance-llm-planner.js +169 -0
  496. package/dist/maintenance/hygiene-governance-llm-planner.js.map +1 -0
  497. package/dist/maintenance/hygiene-governance-planner.d.ts +113 -0
  498. package/dist/maintenance/hygiene-governance-planner.js +302 -0
  499. package/dist/maintenance/hygiene-governance-planner.js.map +1 -0
  500. package/dist/maintenance/hygiene-governance-scheduler.d.ts +72 -0
  501. package/dist/maintenance/hygiene-governance-scheduler.js +206 -0
  502. package/dist/maintenance/hygiene-governance-scheduler.js.map +1 -0
  503. package/dist/maintenance/hygiene-governance-validator.d.ts +14 -0
  504. package/dist/maintenance/hygiene-governance-validator.js +212 -0
  505. package/dist/maintenance/hygiene-governance-validator.js.map +1 -0
  506. package/dist/maintenance/operator-review-flow.d.ts +12 -1
  507. package/dist/maintenance/operator-review-flow.js +18 -2
  508. package/dist/maintenance/operator-review-flow.js.map +1 -1
  509. package/dist/maintenance/redistill-rule-nodes.d.ts +0 -0
  510. package/dist/maintenance/redistill-rule-nodes.js +0 -0
  511. package/dist/maintenance/redistill-rule-nodes.js.map +0 -0
  512. package/dist/maintenance/scope-merge.d.ts +0 -0
  513. package/dist/maintenance/scope-merge.js +0 -0
  514. package/dist/maintenance/scope-merge.js.map +0 -0
  515. package/dist/maintenance/warning-variant-cleanup.d.ts +0 -0
  516. package/dist/maintenance/warning-variant-cleanup.js +0 -0
  517. package/dist/maintenance/warning-variant-cleanup.js.map +0 -0
  518. package/dist/plugin/fixture-sanitizer.d.ts +0 -0
  519. package/dist/plugin/fixture-sanitizer.js +0 -0
  520. package/dist/plugin/fixture-sanitizer.js.map +0 -0
  521. package/dist/plugin/hooks/before-prompt-build.d.ts +0 -0
  522. package/dist/plugin/hooks/before-prompt-build.js +0 -0
  523. package/dist/plugin/hooks/before-prompt-build.js.map +0 -0
  524. package/dist/plugin/hooks/message-sent.d.ts +0 -0
  525. package/dist/plugin/hooks/message-sent.js +0 -0
  526. package/dist/plugin/hooks/message-sent.js.map +0 -0
  527. package/dist/plugin/hooks/tool-result-persist.d.ts +0 -0
  528. package/dist/plugin/hooks/tool-result-persist.js +0 -0
  529. package/dist/plugin/hooks/tool-result-persist.js.map +0 -0
  530. package/dist/plugin/openclaw-install-state.d.ts +0 -0
  531. package/dist/plugin/openclaw-install-state.js +0 -0
  532. package/dist/plugin/openclaw-install-state.js.map +0 -0
  533. package/dist/plugin/openclaw-plugin.d.ts +0 -0
  534. package/dist/plugin/openclaw-plugin.js +5 -1
  535. package/dist/plugin/openclaw-plugin.js.map +1 -1
  536. package/dist/plugin/openclaw-routine-interaction.d.ts +0 -0
  537. package/dist/plugin/openclaw-routine-interaction.js +0 -0
  538. package/dist/plugin/openclaw-routine-interaction.js.map +0 -0
  539. package/dist/plugin/openclaw-runtime-defaults.d.ts +0 -0
  540. package/dist/plugin/openclaw-runtime-defaults.js +0 -0
  541. package/dist/plugin/openclaw-runtime-defaults.js.map +0 -0
  542. package/dist/plugin/runtime-capture.d.ts +0 -0
  543. package/dist/plugin/runtime-capture.js +0 -0
  544. package/dist/plugin/runtime-capture.js.map +0 -0
  545. package/dist/plugin/runtime-helpers.d.ts +0 -0
  546. package/dist/plugin/runtime-helpers.js +0 -0
  547. package/dist/plugin/runtime-helpers.js.map +0 -0
  548. package/dist/runtime/learning-candidate-factory.d.ts +0 -0
  549. package/dist/runtime/learning-candidate-factory.js +0 -0
  550. package/dist/runtime/learning-candidate-factory.js.map +0 -0
  551. package/dist/runtime/learning-pipeline-service.d.ts +0 -0
  552. package/dist/runtime/learning-pipeline-service.js +0 -0
  553. package/dist/runtime/learning-pipeline-service.js.map +0 -0
  554. package/dist/runtime/prompt-service.d.ts +0 -0
  555. package/dist/runtime/prompt-service.js +0 -0
  556. package/dist/runtime/prompt-service.js.map +0 -0
  557. package/dist/runtime/service.d.ts +14 -0
  558. package/dist/runtime/service.js +62 -1
  559. package/dist/runtime/service.js.map +1 -1
  560. package/dist/runtime/task-finalization-service.d.ts +0 -0
  561. package/dist/runtime/task-finalization-service.js +0 -0
  562. package/dist/runtime/task-finalization-service.js.map +0 -0
  563. package/dist/store/logs/jsonl-logger.d.ts +0 -0
  564. package/dist/store/logs/jsonl-logger.js +0 -0
  565. package/dist/store/logs/jsonl-logger.js.map +0 -0
  566. package/dist/store/sqlite/db.d.ts +0 -0
  567. package/dist/store/sqlite/db.js +6 -0
  568. package/dist/store/sqlite/db.js.map +1 -1
  569. package/dist/store/sqlite/migrations.d.ts +0 -0
  570. package/dist/store/sqlite/migrations.js +0 -0
  571. package/dist/store/sqlite/migrations.js.map +0 -0
  572. package/dist/store/sqlite/repositories/attribution-record-repo.d.ts +0 -0
  573. package/dist/store/sqlite/repositories/attribution-record-repo.js +0 -0
  574. package/dist/store/sqlite/repositories/attribution-record-repo.js.map +0 -0
  575. package/dist/store/sqlite/repositories/candidate-repo.d.ts +0 -0
  576. package/dist/store/sqlite/repositories/candidate-repo.js +0 -0
  577. package/dist/store/sqlite/repositories/candidate-repo.js.map +0 -0
  578. package/dist/store/sqlite/repositories/distillation-job-repo.d.ts +0 -0
  579. package/dist/store/sqlite/repositories/distillation-job-repo.js +0 -0
  580. package/dist/store/sqlite/repositories/distillation-job-repo.js.map +0 -0
  581. package/dist/store/sqlite/repositories/episode-repo.d.ts +0 -0
  582. package/dist/store/sqlite/repositories/episode-repo.js +0 -0
  583. package/dist/store/sqlite/repositories/episode-repo.js.map +0 -0
  584. package/dist/store/sqlite/repositories/hybrid-invocation-trace-repo.d.ts +0 -0
  585. package/dist/store/sqlite/repositories/hybrid-invocation-trace-repo.js +0 -0
  586. package/dist/store/sqlite/repositories/hybrid-invocation-trace-repo.js.map +0 -0
  587. package/dist/store/sqlite/repositories/hybrid-review-artifact-repo.d.ts +0 -0
  588. package/dist/store/sqlite/repositories/hybrid-review-artifact-repo.js +0 -0
  589. package/dist/store/sqlite/repositories/hybrid-review-artifact-repo.js.map +0 -0
  590. package/dist/store/sqlite/repositories/hygiene-governance-repo.d.ts +187 -0
  591. package/dist/store/sqlite/repositories/hygiene-governance-repo.js +513 -0
  592. package/dist/store/sqlite/repositories/hygiene-governance-repo.js.map +1 -0
  593. package/dist/store/sqlite/repositories/injection-repo.d.ts +0 -0
  594. package/dist/store/sqlite/repositories/injection-repo.js +0 -0
  595. package/dist/store/sqlite/repositories/injection-repo.js.map +0 -0
  596. package/dist/store/sqlite/repositories/input-record-repo.d.ts +0 -0
  597. package/dist/store/sqlite/repositories/input-record-repo.js +0 -0
  598. package/dist/store/sqlite/repositories/input-record-repo.js.map +0 -0
  599. package/dist/store/sqlite/repositories/node-repo.d.ts +0 -0
  600. package/dist/store/sqlite/repositories/node-repo.js +0 -0
  601. package/dist/store/sqlite/repositories/node-repo.js.map +0 -0
  602. package/dist/store/sqlite/repositories/outcome-record-repo.d.ts +0 -0
  603. package/dist/store/sqlite/repositories/outcome-record-repo.js +0 -0
  604. package/dist/store/sqlite/repositories/outcome-record-repo.js.map +0 -0
  605. package/dist/store/sqlite/repositories/repo-policy-repo.d.ts +0 -0
  606. package/dist/store/sqlite/repositories/repo-policy-repo.js +0 -0
  607. package/dist/store/sqlite/repositories/repo-policy-repo.js.map +0 -0
  608. package/dist/store/sqlite/repositories/review-event-repo.d.ts +0 -0
  609. package/dist/store/sqlite/repositories/review-event-repo.js +0 -0
  610. package/dist/store/sqlite/repositories/review-event-repo.js.map +0 -0
  611. package/dist/store/sqlite/repositories/scope-repo.d.ts +0 -0
  612. package/dist/store/sqlite/repositories/scope-repo.js +0 -0
  613. package/dist/store/sqlite/repositories/scope-repo.js.map +0 -0
  614. package/dist/store/sqlite/repositories/stats-repo.d.ts +0 -0
  615. package/dist/store/sqlite/repositories/stats-repo.js +0 -0
  616. package/dist/store/sqlite/repositories/stats-repo.js.map +0 -0
  617. package/dist/store/sqlite/repositories/task-run-repo.d.ts +0 -0
  618. package/dist/store/sqlite/repositories/task-run-repo.js +0 -0
  619. package/dist/store/sqlite/repositories/task-run-repo.js.map +0 -0
  620. package/dist/store/sqlite/schema.sql +98 -0
  621. package/dist/store/vector/api-embedding-provider.d.ts +0 -0
  622. package/dist/store/vector/api-embedding-provider.js +0 -0
  623. package/dist/store/vector/api-embedding-provider.js.map +0 -0
  624. package/dist/store/vector/embeddings.d.ts +0 -0
  625. package/dist/store/vector/embeddings.js +0 -0
  626. package/dist/store/vector/embeddings.js.map +0 -0
  627. package/dist/store/vector/lancedb.d.ts +0 -0
  628. package/dist/store/vector/lancedb.js +0 -0
  629. package/dist/store/vector/lancedb.js.map +0 -0
  630. package/dist/store/vector/local-provider.d.ts +0 -0
  631. package/dist/store/vector/local-provider.js +0 -0
  632. package/dist/store/vector/local-provider.js.map +0 -0
  633. package/dist/store/vector/node-index.d.ts +0 -0
  634. package/dist/store/vector/node-index.js +0 -0
  635. package/dist/store/vector/node-index.js.map +0 -0
  636. package/dist/store/vector/provider-types.d.ts +0 -0
  637. package/dist/store/vector/provider-types.js +0 -0
  638. package/dist/store/vector/provider-types.js.map +0 -0
  639. package/dist/types/analyzer.d.ts +0 -0
  640. package/dist/types/analyzer.js +0 -0
  641. package/dist/types/analyzer.js.map +0 -0
  642. package/dist/types/domain.d.ts +0 -0
  643. package/dist/types/domain.js +0 -0
  644. package/dist/types/domain.js.map +0 -0
  645. package/dist/types/plugin.d.ts +0 -0
  646. package/dist/types/plugin.js +0 -0
  647. package/dist/types/plugin.js.map +0 -0
  648. package/dist/types/storage.d.ts +0 -0
  649. package/dist/types/storage.js +0 -0
  650. package/dist/types/storage.js.map +0 -0
  651. package/dist/utils/clock.d.ts +0 -0
  652. package/dist/utils/clock.js +0 -0
  653. package/dist/utils/clock.js.map +0 -0
  654. package/dist/utils/errors.d.ts +0 -0
  655. package/dist/utils/errors.js +0 -0
  656. package/dist/utils/errors.js.map +0 -0
  657. package/dist/utils/hashing.d.ts +0 -0
  658. package/dist/utils/hashing.js +0 -0
  659. package/dist/utils/hashing.js.map +0 -0
  660. package/dist/utils/ids.d.ts +0 -0
  661. package/dist/utils/ids.js +0 -0
  662. package/dist/utils/ids.js.map +0 -0
  663. package/dist/utils/text.d.ts +0 -0
  664. package/dist/utils/text.js +0 -0
  665. package/dist/utils/text.js.map +0 -0
  666. package/dist/version/package-version.d.ts +0 -0
  667. package/dist/version/package-version.js +0 -0
  668. package/dist/version/package-version.js.map +0 -0
  669. package/dist/version/remote-release.d.ts +0 -0
  670. package/dist/version/remote-release.js +0 -0
  671. package/dist/version/remote-release.js.map +0 -0
  672. package/docs/assets/readme/inspect-last-example.svg +0 -0
  673. package/docs/releases/v0.1.0.md +0 -0
  674. package/docs/releases/v0.1.1.md +0 -0
  675. package/docs/releases/v0.1.2.md +0 -0
  676. package/docs/releases/v0.1.3.md +0 -0
  677. package/docs/releases/v0.2.0.md +0 -0
  678. package/docs/releases/v0.2.1.md +0 -0
  679. package/docs/releases/v0.3.0.md +0 -0
  680. package/docs/releases/v0.3.1.md +0 -0
  681. package/docs/releases/v0.3.2.md +0 -0
  682. package/docs/releases/v0.3.3.md +0 -0
  683. package/docs/releases/v0.3.4.md +0 -0
  684. package/docs/releases/v0.3.5.md +0 -0
  685. package/docs/releases/v0.3.6.md +28 -0
  686. package/docs/user-guide.md +45 -2
  687. package/hooks/hooks.json +0 -0
  688. package/openclaw.plugin.json +1 -1
  689. package/package.json +1 -1
  690. package/plugins/claude-code-experienceengine/.claude-plugin/plugin.json +0 -0
  691. package/plugins/claude-code-experienceengine/.mcp.json +0 -0
  692. package/plugins/claude-code-experienceengine/hooks/hooks.json +0 -0
  693. package/plugins/claude-code-experienceengine/scripts/claude-hook.sh +0 -0
  694. package/plugins/claude-code-experienceengine/scripts/install-deps.sh +0 -0
  695. package/plugins/claude-code-experienceengine/scripts/mcp-server.sh +0 -0
  696. package/scripts/claude-plugin/claude-hook.sh +0 -0
  697. package/scripts/claude-plugin/install-deps.sh +0 -0
  698. package/scripts/claude-plugin/mcp-server.sh +0 -0
@@ -289,3 +289,101 @@ CREATE TABLE IF NOT EXISTS scope_task_stats (
289
289
  updated_at TEXT NOT NULL,
290
290
  PRIMARY KEY (scope_id, task_type)
291
291
  );
292
+
293
+ CREATE TABLE IF NOT EXISTS hygiene_governance_schedules (
294
+ scope_id TEXT PRIMARY KEY,
295
+ last_governed_at TEXT,
296
+ next_due_at TEXT NOT NULL,
297
+ pending_reasons_json TEXT NOT NULL DEFAULT '[]',
298
+ last_run_status TEXT,
299
+ last_failure_class TEXT,
300
+ backoff_until TEXT,
301
+ last_finding_hash TEXT,
302
+ created_at TEXT NOT NULL,
303
+ updated_at TEXT NOT NULL
304
+ );
305
+
306
+ CREATE TABLE IF NOT EXISTS hygiene_governance_leases (
307
+ scope_id TEXT PRIMARY KEY,
308
+ lease_owner TEXT NOT NULL,
309
+ lease_expires_at TEXT NOT NULL,
310
+ acquired_at TEXT NOT NULL,
311
+ updated_at TEXT NOT NULL
312
+ );
313
+
314
+ CREATE TABLE IF NOT EXISTS hygiene_governance_runs (
315
+ run_id TEXT PRIMARY KEY,
316
+ scope_id TEXT NOT NULL,
317
+ trigger TEXT NOT NULL,
318
+ status TEXT NOT NULL,
319
+ failure_class TEXT,
320
+ failure_message TEXT,
321
+ checkpoint_json TEXT,
322
+ started_at TEXT,
323
+ finished_at TEXT,
324
+ created_at TEXT NOT NULL,
325
+ updated_at TEXT NOT NULL
326
+ );
327
+
328
+ CREATE TABLE IF NOT EXISTS hygiene_governance_plans (
329
+ plan_id TEXT PRIMARY KEY,
330
+ run_id TEXT,
331
+ scope_id TEXT NOT NULL,
332
+ status TEXT NOT NULL,
333
+ finding_hash TEXT,
334
+ risk TEXT,
335
+ plan_json TEXT NOT NULL,
336
+ validator_result_json TEXT,
337
+ created_at TEXT NOT NULL,
338
+ updated_at TEXT NOT NULL
339
+ );
340
+
341
+ CREATE TABLE IF NOT EXISTS hygiene_governance_actions (
342
+ action_id TEXT PRIMARY KEY,
343
+ plan_id TEXT,
344
+ run_id TEXT,
345
+ scope_id TEXT NOT NULL,
346
+ action_type TEXT NOT NULL,
347
+ status TEXT NOT NULL,
348
+ affected_ids_json TEXT NOT NULL DEFAULT '[]',
349
+ affected_row_hashes_json TEXT NOT NULL DEFAULT '{}',
350
+ action_json TEXT NOT NULL DEFAULT '{}',
351
+ validator_decision_json TEXT,
352
+ before_snapshot_id TEXT,
353
+ after_state_json TEXT,
354
+ rollback_of_action_id TEXT,
355
+ created_at TEXT NOT NULL,
356
+ updated_at TEXT NOT NULL,
357
+ applied_at TEXT
358
+ );
359
+
360
+ CREATE TABLE IF NOT EXISTS hygiene_governance_approvals (
361
+ approval_id TEXT PRIMARY KEY,
362
+ action_id TEXT NOT NULL,
363
+ plan_id TEXT,
364
+ scope_id TEXT NOT NULL,
365
+ status TEXT NOT NULL,
366
+ confirmation_token_hash TEXT,
367
+ token_expires_at TEXT,
368
+ diff_summary TEXT,
369
+ affected_row_hashes_json TEXT NOT NULL DEFAULT '{}',
370
+ created_at TEXT NOT NULL,
371
+ updated_at TEXT NOT NULL,
372
+ decided_at TEXT
373
+ );
374
+
375
+ CREATE TABLE IF NOT EXISTS hygiene_governance_snapshots (
376
+ snapshot_id TEXT PRIMARY KEY,
377
+ scope_id TEXT NOT NULL,
378
+ action_id TEXT NOT NULL,
379
+ row_refs_json TEXT NOT NULL,
380
+ snapshot_json TEXT NOT NULL,
381
+ row_hashes_json TEXT NOT NULL,
382
+ created_at TEXT NOT NULL
383
+ );
384
+
385
+ CREATE INDEX IF NOT EXISTS idx_hygiene_governance_runs_scope ON hygiene_governance_runs(scope_id, created_at);
386
+ CREATE INDEX IF NOT EXISTS idx_hygiene_governance_plans_scope ON hygiene_governance_plans(scope_id, created_at);
387
+ CREATE INDEX IF NOT EXISTS idx_hygiene_governance_actions_scope ON hygiene_governance_actions(scope_id, created_at);
388
+ CREATE INDEX IF NOT EXISTS idx_hygiene_governance_approvals_scope ON hygiene_governance_approvals(scope_id, status);
389
+ CREATE INDEX IF NOT EXISTS idx_hygiene_governance_snapshots_action ON hygiene_governance_snapshots(action_id);
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/dist/utils/ids.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,28 @@
1
+ # v0.3.6
2
+
3
+ `v0.3.6` adds autonomous hygiene governance. ExperienceEngine can now periodically govern duplicated, stale, or risky local experience without requiring users to run routine hygiene commands by hand.
4
+
5
+ ## Added
6
+
7
+ - Added persisted per-scope governance schedules, leases, runs, plans, actions, legacy approval records, and rollback snapshots.
8
+ - Added host-attached governance wakeups from startup, prompt lookup, posttask finalization, and stop paths.
9
+ - Added bounded LLM-assisted governance planning, deterministic validation, safe automatic application, and guarded automatic execution for high-impact experience-node actions.
10
+ - Added MCP resources for `experienceengine://governance` and `experienceengine://governance/approvals`.
11
+ - Kept brokered governance approval actions as a compatibility surface for existing approval records.
12
+ - Added CLI fallback surfaces:
13
+ - `ee inspect governance`
14
+ - `ee maintenance governance drain`
15
+
16
+ ## Behavior Notes
17
+
18
+ - Hygiene inspection and operator review remain read-only.
19
+ - Routine governance is automatic and host-attached; CLI drain is an operator fallback for troubleshooting or catch-up.
20
+ - Frequent host open/close cycles do not define governance cadence. The persisted schedule, lease, backoff, finding hash, and action budget do.
21
+ - Safe automatic actions include exact duplicate merge, stale shadow-only retirement, delivery downgrade, and quarantine.
22
+ - High-impact experience-node actions are applied as guarded soft changes: semantic/conflicted merges preserve evidence and downgrade live eligibility, promotion lands at conservative delivery, and deletion is a soft-retire with rollback snapshots. Broad rewrites, export writing, repo policy changes, and restore actions are rejected by automatic experience governance.
23
+
24
+ ## Validation
25
+
26
+ - Targeted unit coverage for scheduler, LLM planner, validator, applicator, guarded execution, CLI, MCP, runtime, and operator review paths.
27
+ - `pnpm tsc --noEmit --pretty false`
28
+ - `openspec validate add-autonomous-hygiene-governance --strict`
@@ -299,6 +299,7 @@ The review report summarizes:
299
299
  - repo policy health and circuit state
300
300
  - hygiene finding counts
301
301
  - export draft counts
302
+ - autonomous governance status, recent automatic actions, guarded actions, failures, and legacy pending approvals
302
303
  - recommended review order
303
304
  - prioritized review items
304
305
  - review-only next actions
@@ -310,9 +311,10 @@ The drill-down commands are manual inspection steps:
310
311
  ee inspect repo
311
312
  ee inspect hygiene
312
313
  ee inspect export-drafts
314
+ ee inspect governance
313
315
  ```
314
316
 
315
- In MCP-capable hosts, ask the host agent to inspect the ExperienceEngine operator review or read `experienceengine://review`. The structured payload uses the same source names as the CLI: `repo_policy`, `hygiene`, and `export_drafts`.
317
+ In MCP-capable hosts, ask the host agent to inspect the ExperienceEngine operator review or read `experienceengine://review`. The structured payload uses the same source names as the CLI: `repo_policy`, `hygiene`, `export_drafts`, and `governance`.
316
318
 
317
319
  This workflow is intentionally read-only. It does not:
318
320
 
@@ -325,6 +327,45 @@ This workflow is intentionally read-only. It does not:
325
327
  - open a console or mutation dashboard
326
328
  - coordinate team workflows
327
329
 
330
+ ## Autonomous Hygiene Governance
331
+
332
+ ExperienceEngine runs hygiene governance automatically through the host-attached runtime. Host startup, prompt lookup, posttask finalization, and stop events wake a cheap due check for the current canonical scope. The persisted schedule, lease, backoff, finding hash, and action budget decide whether real governance work runs, so frequent host restarts do not multiply governance frequency.
333
+
334
+ The automatic path applies validated experience-store mutations without routine user approval:
335
+
336
+ - exact duplicate merges that preserve evidence
337
+ - near-duplicate and conflicted semantic merges with evidence preserved
338
+ - stale shadow-only retirement
339
+ - delivery downgrades from live eligibility to conservative delivery
340
+ - quarantine for invalidated or harmed live guidance
341
+ - guarded promotion to conservative delivery
342
+ - guarded soft-retire for records that should leave delivery
343
+
344
+ High-impact experience-node actions use guarded automatic execution instead of approval. Guarded execution keeps the mutation reversible and conservative: rows are not physically deleted, before/after snapshots and affected row hashes are recorded, merged or promoted canonical guidance cannot become directly eligible for live injection, and retired/conflicting source nodes are quarantined. Broad rewrites, export writing, repo policy changes, and restore actions are outside automatic experience-store governance and are rejected unless a separate explicit workflow owns them.
345
+
346
+ Read-only inspection surfaces:
347
+
348
+ ```bash
349
+ ee inspect governance
350
+ ee inspect review
351
+ ```
352
+
353
+ MCP resources:
354
+
355
+ ```text
356
+ experienceengine://governance
357
+ experienceengine://governance/approvals
358
+ experienceengine://review
359
+ ```
360
+
361
+ Fallback drain command:
362
+
363
+ ```bash
364
+ ee maintenance governance drain --cwd /path/to/repo
365
+ ```
366
+
367
+ That command is for explicit operator troubleshooting or catch-up. It uses the same scheduler, lease, validator, audit, and rollback snapshot path as host-attached governance. An optional keeper can wake the same drain path for stricter wall-clock schedules, but it does not bypass budgets, leases, deterministic validators, guarded execution rules, or rollback safeguards.
368
+
328
369
  ## How MCP Interaction Works
329
370
 
330
371
  For `Codex` and `Claude Code`, ExperienceEngine is designed to keep routine review and management inside the host session first.
@@ -369,7 +410,7 @@ For `Codex`, this means routine host-native interaction stays discoverable, whil
369
410
 
370
411
  So the two hosts share the same product model, but they do not expose the exact same interaction shape.
371
412
 
372
- For high-impact actions, ExperienceEngine does not execute immediately. It uses a:
413
+ For high-impact operator actions outside routine experience governance, ExperienceEngine does not execute immediately. It uses a:
373
414
 
374
415
  ```text
375
416
  plan -> review -> explicit confirmation -> execute
@@ -386,6 +427,8 @@ That applies to:
386
427
  - import
387
428
  - rollback
388
429
 
430
+ Autonomous experience governance is different: it is constrained to the experience store and uses guarded automatic execution plus rollback snapshots instead of routine human approval.
431
+
389
432
  ## Current Governance Surface
390
433
 
391
434
  Today, ExperienceEngine's minimal governance surface is:
package/hooks/hooks.json CHANGED
File without changes
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "experienceengine",
3
3
  "name": "ExperienceEngine",
4
- "version": "0.3.5",
4
+ "version": "0.3.6",
5
5
  "description": "Context-aware experience intervention controller for coding and debugging tasks.",
6
6
  "configSchema": {
7
7
  "type": "object",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alan512/experienceengine",
3
- "version": "0.3.5",
3
+ "version": "0.3.6",
4
4
  "type": "module",
5
5
  "description": "Experience governance for coding agents: learn from real task outcomes, inject reusable hints, and retire low-value guidance.",
6
6
  "license": "MIT",
File without changes
File without changes
File without changes
File without changes