mister-wolf 2.12.0 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/dist/adapters/cli/cli-entry.d.ts +25 -0
  2. package/dist/adapters/cli/cli-entry.d.ts.map +1 -1
  3. package/dist/adapters/cli/cli-entry.js +141 -85
  4. package/dist/adapters/cli/cli-entry.js.map +1 -1
  5. package/dist/adapters/cli/commands/analytics.d.ts +30 -5
  6. package/dist/adapters/cli/commands/analytics.d.ts.map +1 -1
  7. package/dist/adapters/cli/commands/analytics.js +285 -2
  8. package/dist/adapters/cli/commands/analytics.js.map +1 -1
  9. package/dist/adapters/cli/commands/memory-add.d.ts +21 -1
  10. package/dist/adapters/cli/commands/memory-add.d.ts.map +1 -1
  11. package/dist/adapters/cli/commands/memory-add.js +42 -29
  12. package/dist/adapters/cli/commands/memory-add.js.map +1 -1
  13. package/dist/adapters/cli/commands/memory-archive.d.ts +3 -0
  14. package/dist/adapters/cli/commands/memory-archive.d.ts.map +1 -0
  15. package/dist/adapters/cli/commands/memory-archive.js +19 -0
  16. package/dist/adapters/cli/commands/memory-archive.js.map +1 -0
  17. package/dist/adapters/cli/commands/memory-call.d.ts.map +1 -1
  18. package/dist/adapters/cli/commands/memory-call.js +3 -0
  19. package/dist/adapters/cli/commands/memory-call.js.map +1 -1
  20. package/dist/adapters/cli/commands/memory-edit.d.ts +3 -0
  21. package/dist/adapters/cli/commands/memory-edit.d.ts.map +1 -0
  22. package/dist/adapters/cli/commands/memory-edit.js +67 -0
  23. package/dist/adapters/cli/commands/memory-edit.js.map +1 -0
  24. package/dist/adapters/cli/commands/memory-init.d.ts.map +1 -1
  25. package/dist/adapters/cli/commands/memory-init.js +46 -7
  26. package/dist/adapters/cli/commands/memory-init.js.map +1 -1
  27. package/dist/adapters/cli/commands/memory-list.d.ts +12 -0
  28. package/dist/adapters/cli/commands/memory-list.d.ts.map +1 -1
  29. package/dist/adapters/cli/commands/memory-list.js +34 -21
  30. package/dist/adapters/cli/commands/memory-list.js.map +1 -1
  31. package/dist/adapters/cli/commands/memory-migrate.d.ts.map +1 -1
  32. package/dist/adapters/cli/commands/memory-migrate.js +91 -0
  33. package/dist/adapters/cli/commands/memory-migrate.js.map +1 -1
  34. package/dist/adapters/cli/commands/memory-relation.d.ts +1 -1
  35. package/dist/adapters/cli/commands/memory-relation.d.ts.map +1 -1
  36. package/dist/adapters/cli/commands/memory-relation.js +57 -2
  37. package/dist/adapters/cli/commands/memory-relation.js.map +1 -1
  38. package/dist/adapters/cli/commands/memory-search.d.ts.map +1 -1
  39. package/dist/adapters/cli/commands/memory-search.js +21 -2
  40. package/dist/adapters/cli/commands/memory-search.js.map +1 -1
  41. package/dist/adapters/cli/commands/memory-session.d.ts.map +1 -1
  42. package/dist/adapters/cli/commands/memory-session.js +2 -12
  43. package/dist/adapters/cli/commands/memory-session.js.map +1 -1
  44. package/dist/adapters/cli/commands/memory-sync.d.ts.map +1 -1
  45. package/dist/adapters/cli/commands/memory-sync.js +2 -9
  46. package/dist/adapters/cli/commands/memory-sync.js.map +1 -1
  47. package/dist/adapters/cli/commands/memory-taxonomy.d.ts.map +1 -1
  48. package/dist/adapters/cli/commands/memory-taxonomy.js +4 -4
  49. package/dist/adapters/cli/commands/memory-taxonomy.js.map +1 -1
  50. package/dist/adapters/cli/commands/memory-tool.d.ts.map +1 -1
  51. package/dist/adapters/cli/commands/memory-tool.js +13 -5
  52. package/dist/adapters/cli/commands/memory-tool.js.map +1 -1
  53. package/dist/adapters/cli/commands/memory-validate.d.ts.map +1 -1
  54. package/dist/adapters/cli/commands/memory-validate.js +18 -4
  55. package/dist/adapters/cli/commands/memory-validate.js.map +1 -1
  56. package/dist/adapters/cli/removed-commands.d.ts +11 -0
  57. package/dist/adapters/cli/removed-commands.d.ts.map +1 -0
  58. package/dist/adapters/cli/removed-commands.js +36 -0
  59. package/dist/adapters/cli/removed-commands.js.map +1 -0
  60. package/dist/adapters/cli/type-command-generator.d.ts +5 -0
  61. package/dist/adapters/cli/type-command-generator.d.ts.map +1 -0
  62. package/dist/adapters/cli/type-command-generator.js +128 -0
  63. package/dist/adapters/cli/type-command-generator.js.map +1 -0
  64. package/dist/adapters/fs/config-file.d.ts +6 -1
  65. package/dist/adapters/fs/config-file.d.ts.map +1 -1
  66. package/dist/adapters/fs/config-file.js +111 -54
  67. package/dist/adapters/fs/config-file.js.map +1 -1
  68. package/dist/adapters/fs/doc-id-migration.d.ts +2 -0
  69. package/dist/adapters/fs/doc-id-migration.d.ts.map +1 -1
  70. package/dist/adapters/fs/doc-id-migration.js +8 -2
  71. package/dist/adapters/fs/doc-id-migration.js.map +1 -1
  72. package/dist/adapters/fs/effectiveness-snapshots.d.ts +1 -1
  73. package/dist/adapters/fs/effectiveness-snapshots.d.ts.map +1 -1
  74. package/dist/adapters/fs/jsonl-relation-log.d.ts.map +1 -1
  75. package/dist/adapters/fs/jsonl-relation-log.js +10 -2
  76. package/dist/adapters/fs/jsonl-relation-log.js.map +1 -1
  77. package/dist/adapters/fs/layout-migration.d.ts.map +1 -1
  78. package/dist/adapters/fs/layout-migration.js +21 -2
  79. package/dist/adapters/fs/layout-migration.js.map +1 -1
  80. package/dist/adapters/fs/markdown-memory-store.d.ts +9 -0
  81. package/dist/adapters/fs/markdown-memory-store.d.ts.map +1 -1
  82. package/dist/adapters/fs/markdown-memory-store.js +103 -21
  83. package/dist/adapters/fs/markdown-memory-store.js.map +1 -1
  84. package/dist/adapters/fs/project-paths.d.ts +1 -1
  85. package/dist/adapters/fs/project-paths.d.ts.map +1 -1
  86. package/dist/adapters/fs/project-paths.js +1 -1
  87. package/dist/adapters/fs/project-paths.js.map +1 -1
  88. package/dist/adapters/fs/projects-registry.d.ts +0 -2
  89. package/dist/adapters/fs/projects-registry.d.ts.map +1 -1
  90. package/dist/adapters/fs/projects-registry.js +0 -16
  91. package/dist/adapters/fs/projects-registry.js.map +1 -1
  92. package/dist/adapters/fs/session-metrics-log.d.ts +32 -118
  93. package/dist/adapters/fs/session-metrics-log.d.ts.map +1 -1
  94. package/dist/adapters/fs/session-metrics-log.js +106 -141
  95. package/dist/adapters/fs/session-metrics-log.js.map +1 -1
  96. package/dist/adapters/fs/taxonomy-migration.d.ts +38 -0
  97. package/dist/adapters/fs/taxonomy-migration.d.ts.map +1 -0
  98. package/dist/adapters/fs/taxonomy-migration.js +280 -0
  99. package/dist/adapters/fs/taxonomy-migration.js.map +1 -0
  100. package/dist/adapters/mcp/mcp-schemas.d.ts +0 -122
  101. package/dist/adapters/mcp/mcp-schemas.d.ts.map +1 -1
  102. package/dist/adapters/mcp/mcp-schemas.js +0 -102
  103. package/dist/adapters/mcp/mcp-schemas.js.map +1 -1
  104. package/dist/adapters/mcp/mcp-server.d.ts.map +1 -1
  105. package/dist/adapters/mcp/mcp-server.js +30 -1
  106. package/dist/adapters/mcp/mcp-server.js.map +1 -1
  107. package/dist/adapters/mcp/mcp-tools.d.ts +10 -0
  108. package/dist/adapters/mcp/mcp-tools.d.ts.map +1 -1
  109. package/dist/adapters/mcp/mcp-tools.js +46 -185
  110. package/dist/adapters/mcp/mcp-tools.js.map +1 -1
  111. package/dist/adapters/sqlite/sqlite-schema.d.ts +1 -1
  112. package/dist/adapters/sqlite/sqlite-schema.d.ts.map +1 -1
  113. package/dist/adapters/sqlite/sqlite-schema.js +4 -2
  114. package/dist/adapters/sqlite/sqlite-schema.js.map +1 -1
  115. package/dist/adapters/sqlite/sqlite-search-index.d.ts +7 -0
  116. package/dist/adapters/sqlite/sqlite-search-index.d.ts.map +1 -1
  117. package/dist/adapters/sqlite/sqlite-search-index.js +41 -9
  118. package/dist/adapters/sqlite/sqlite-search-index.js.map +1 -1
  119. package/dist/app/use-cases/add-memory-object.d.ts +4 -0
  120. package/dist/app/use-cases/add-memory-object.d.ts.map +1 -1
  121. package/dist/app/use-cases/add-memory-object.js +34 -4
  122. package/dist/app/use-cases/add-memory-object.js.map +1 -1
  123. package/dist/app/use-cases/bootstrap-project.d.ts.map +1 -1
  124. package/dist/app/use-cases/bootstrap-project.js +13 -9
  125. package/dist/app/use-cases/bootstrap-project.js.map +1 -1
  126. package/dist/app/use-cases/build-analytics.d.ts +96 -1
  127. package/dist/app/use-cases/build-analytics.d.ts.map +1 -1
  128. package/dist/app/use-cases/build-analytics.js +242 -6
  129. package/dist/app/use-cases/build-analytics.js.map +1 -1
  130. package/dist/app/use-cases/create-memory-repair-request.d.ts.map +1 -1
  131. package/dist/app/use-cases/create-memory-repair-request.js +5 -3
  132. package/dist/app/use-cases/create-memory-repair-request.js.map +1 -1
  133. package/dist/app/use-cases/diff-thread.d.ts.map +1 -1
  134. package/dist/app/use-cases/diff-thread.js +9 -6
  135. package/dist/app/use-cases/diff-thread.js.map +1 -1
  136. package/dist/app/use-cases/generate-agent-brief.d.ts.map +1 -1
  137. package/dist/app/use-cases/generate-agent-brief.js +18 -8
  138. package/dist/app/use-cases/generate-agent-brief.js.map +1 -1
  139. package/dist/app/use-cases/generate-recap.d.ts.map +1 -1
  140. package/dist/app/use-cases/generate-recap.js +23 -7
  141. package/dist/app/use-cases/generate-recap.js.map +1 -1
  142. package/dist/app/use-cases/get-call-injections.d.ts +2 -0
  143. package/dist/app/use-cases/get-call-injections.d.ts.map +1 -1
  144. package/dist/app/use-cases/get-call-injections.js +20 -7
  145. package/dist/app/use-cases/get-call-injections.js.map +1 -1
  146. package/dist/app/use-cases/init-project.d.ts +2 -6
  147. package/dist/app/use-cases/init-project.d.ts.map +1 -1
  148. package/dist/app/use-cases/init-project.js +11 -13
  149. package/dist/app/use-cases/init-project.js.map +1 -1
  150. package/dist/app/use-cases/list-memory-objects.d.ts +2 -0
  151. package/dist/app/use-cases/list-memory-objects.d.ts.map +1 -1
  152. package/dist/app/use-cases/list-memory-objects.js.map +1 -1
  153. package/dist/app/use-cases/scaffold-agent.d.ts.map +1 -1
  154. package/dist/app/use-cases/scaffold-agent.js +58 -17
  155. package/dist/app/use-cases/scaffold-agent.js.map +1 -1
  156. package/dist/app/use-cases/scan-project.d.ts.map +1 -1
  157. package/dist/app/use-cases/scan-project.js +7 -3
  158. package/dist/app/use-cases/scan-project.js.map +1 -1
  159. package/dist/app/use-cases/seed-base-playbooks.d.ts +82 -3
  160. package/dist/app/use-cases/seed-base-playbooks.d.ts.map +1 -1
  161. package/dist/app/use-cases/seed-base-playbooks.js +13 -1
  162. package/dist/app/use-cases/seed-base-playbooks.js.map +1 -1
  163. package/dist/app/use-cases/should-summarize.d.ts.map +1 -1
  164. package/dist/app/use-cases/should-summarize.js +3 -1
  165. package/dist/app/use-cases/should-summarize.js.map +1 -1
  166. package/dist/app/use-cases/snapshot-delta.d.ts +1 -1
  167. package/dist/app/use-cases/snapshot-delta.d.ts.map +1 -1
  168. package/dist/app/use-cases/snapshot-delta.js.map +1 -1
  169. package/dist/app/use-cases/summarize-session.d.ts.map +1 -1
  170. package/dist/app/use-cases/summarize-session.js +11 -2
  171. package/dist/app/use-cases/summarize-session.js.map +1 -1
  172. package/dist/app/use-cases/thinking.d.ts +2 -2
  173. package/dist/app/use-cases/thinking.d.ts.map +1 -1
  174. package/dist/app/use-cases/thinking.js +20 -12
  175. package/dist/app/use-cases/thinking.js.map +1 -1
  176. package/dist/app/use-cases/tool-stats.js +1 -1
  177. package/dist/app/use-cases/tool-stats.js.map +1 -1
  178. package/dist/domain/facet-colors.d.ts +12 -0
  179. package/dist/domain/facet-colors.d.ts.map +1 -0
  180. package/dist/domain/facet-colors.js +33 -0
  181. package/dist/domain/facet-colors.js.map +1 -0
  182. package/dist/domain/governance.d.ts.map +1 -1
  183. package/dist/domain/governance.js +9 -2
  184. package/dist/domain/governance.js.map +1 -1
  185. package/dist/domain/memory-types.d.ts +67 -318
  186. package/dist/domain/memory-types.d.ts.map +1 -1
  187. package/dist/domain/memory-types.js +87 -223
  188. package/dist/domain/memory-types.js.map +1 -1
  189. package/dist/domain/policies/read-only-zones.d.ts.map +1 -1
  190. package/dist/domain/policies/read-only-zones.js +7 -11
  191. package/dist/domain/policies/read-only-zones.js.map +1 -1
  192. package/dist/domain/schemas/memory-event-schema.d.ts +1 -0
  193. package/dist/domain/schemas/memory-event-schema.d.ts.map +1 -1
  194. package/dist/domain/schemas/memory-event-schema.js +1 -0
  195. package/dist/domain/schemas/memory-event-schema.js.map +1 -1
  196. package/dist/domain/schemas/memory-object-schema.d.ts +2 -0
  197. package/dist/domain/schemas/memory-object-schema.d.ts.map +1 -1
  198. package/dist/domain/schemas/memory-object-schema.js +3 -0
  199. package/dist/domain/schemas/memory-object-schema.js.map +1 -1
  200. package/dist/domain/schemas/relation-schema.d.ts +4 -2
  201. package/dist/domain/schemas/relation-schema.d.ts.map +1 -1
  202. package/dist/domain/schemas/relation-schema.js +4 -0
  203. package/dist/domain/schemas/relation-schema.js.map +1 -1
  204. package/dist/domain/schemas/session-checkpoint-schema.d.ts +3 -1
  205. package/dist/domain/schemas/session-checkpoint-schema.d.ts.map +1 -1
  206. package/dist/domain/schemas/session-checkpoint-schema.js +3 -2
  207. package/dist/domain/schemas/session-checkpoint-schema.js.map +1 -1
  208. package/dist/domain/solve/scenarios.js +3 -3
  209. package/dist/domain/solve/scenarios.js.map +1 -1
  210. package/dist/domain/taxonomy.d.ts +15 -1
  211. package/dist/domain/taxonomy.d.ts.map +1 -1
  212. package/dist/domain/taxonomy.js +14 -1
  213. package/dist/domain/taxonomy.js.map +1 -1
  214. package/dist/domain/tool-economy.d.ts +1 -1
  215. package/dist/domain/tool-economy.js +1 -1
  216. package/dist/domain/type-schema-builder.d.ts +15 -2
  217. package/dist/domain/type-schema-builder.d.ts.map +1 -1
  218. package/dist/domain/type-schema-builder.js +7 -0
  219. package/dist/domain/type-schema-builder.js.map +1 -1
  220. package/dist/ports/memory-store.port.d.ts +2 -0
  221. package/dist/ports/memory-store.port.d.ts.map +1 -1
  222. package/dist/ports/search-index.port.d.ts +2 -0
  223. package/dist/ports/search-index.port.d.ts.map +1 -1
  224. package/package.json +2 -2
  225. package/templates/opencode/plugins/wolf-router.ts +8 -3
  226. package/templates/opencode/plugins/wolf-session-start.js +6 -3
  227. package/dist/adapters/cli/commands/coord.d.ts +0 -3
  228. package/dist/adapters/cli/commands/coord.d.ts.map +0 -1
  229. package/dist/adapters/cli/commands/coord.js +0 -36
  230. package/dist/adapters/cli/commands/coord.js.map +0 -1
  231. package/dist/adapters/cli/commands/dashboard.d.ts +0 -20
  232. package/dist/adapters/cli/commands/dashboard.d.ts.map +0 -1
  233. package/dist/adapters/cli/commands/dashboard.js +0 -231
  234. package/dist/adapters/cli/commands/dashboard.js.map +0 -1
  235. package/dist/adapters/cli/commands/memory-article.d.ts +0 -3
  236. package/dist/adapters/cli/commands/memory-article.d.ts.map +0 -1
  237. package/dist/adapters/cli/commands/memory-article.js +0 -47
  238. package/dist/adapters/cli/commands/memory-article.js.map +0 -1
  239. package/dist/adapters/cli/commands/memory-blocker.d.ts +0 -3
  240. package/dist/adapters/cli/commands/memory-blocker.d.ts.map +0 -1
  241. package/dist/adapters/cli/commands/memory-blocker.js +0 -52
  242. package/dist/adapters/cli/commands/memory-blocker.js.map +0 -1
  243. package/dist/adapters/cli/commands/memory-council.d.ts +0 -3
  244. package/dist/adapters/cli/commands/memory-council.d.ts.map +0 -1
  245. package/dist/adapters/cli/commands/memory-council.js +0 -42
  246. package/dist/adapters/cli/commands/memory-council.js.map +0 -1
  247. package/dist/adapters/cli/commands/memory-decision.d.ts +0 -3
  248. package/dist/adapters/cli/commands/memory-decision.d.ts.map +0 -1
  249. package/dist/adapters/cli/commands/memory-decision.js +0 -41
  250. package/dist/adapters/cli/commands/memory-decision.js.map +0 -1
  251. package/dist/adapters/cli/commands/memory-effectiveness.d.ts +0 -3
  252. package/dist/adapters/cli/commands/memory-effectiveness.d.ts.map +0 -1
  253. package/dist/adapters/cli/commands/memory-effectiveness.js +0 -127
  254. package/dist/adapters/cli/commands/memory-effectiveness.js.map +0 -1
  255. package/dist/adapters/cli/commands/memory-info-request.d.ts +0 -3
  256. package/dist/adapters/cli/commands/memory-info-request.d.ts.map +0 -1
  257. package/dist/adapters/cli/commands/memory-info-request.js +0 -47
  258. package/dist/adapters/cli/commands/memory-info-request.js.map +0 -1
  259. package/dist/adapters/cli/commands/memory-insights.d.ts +0 -3
  260. package/dist/adapters/cli/commands/memory-insights.d.ts.map +0 -1
  261. package/dist/adapters/cli/commands/memory-insights.js +0 -42
  262. package/dist/adapters/cli/commands/memory-insights.js.map +0 -1
  263. package/dist/adapters/cli/commands/memory-learn.d.ts +0 -3
  264. package/dist/adapters/cli/commands/memory-learn.d.ts.map +0 -1
  265. package/dist/adapters/cli/commands/memory-learn.js +0 -327
  266. package/dist/adapters/cli/commands/memory-learn.js.map +0 -1
  267. package/dist/adapters/cli/commands/memory-rule.d.ts +0 -3
  268. package/dist/adapters/cli/commands/memory-rule.d.ts.map +0 -1
  269. package/dist/adapters/cli/commands/memory-rule.js +0 -40
  270. package/dist/adapters/cli/commands/memory-rule.js.map +0 -1
  271. package/dist/adapters/cli/commands/memory-run.d.ts +0 -3
  272. package/dist/adapters/cli/commands/memory-run.d.ts.map +0 -1
  273. package/dist/adapters/cli/commands/memory-run.js +0 -154
  274. package/dist/adapters/cli/commands/memory-run.js.map +0 -1
  275. package/dist/adapters/cli/commands/memory-stage.d.ts +0 -3
  276. package/dist/adapters/cli/commands/memory-stage.d.ts.map +0 -1
  277. package/dist/adapters/cli/commands/memory-stage.js +0 -35
  278. package/dist/adapters/cli/commands/memory-stage.js.map +0 -1
  279. package/dist/adapters/cli/commands/memory-thread.d.ts +0 -3
  280. package/dist/adapters/cli/commands/memory-thread.d.ts.map +0 -1
  281. package/dist/adapters/cli/commands/memory-thread.js +0 -48
  282. package/dist/adapters/cli/commands/memory-thread.js.map +0 -1
  283. package/dist/adapters/cli/opencode-run-metrics.d.ts +0 -25
  284. package/dist/adapters/cli/opencode-run-metrics.d.ts.map +0 -1
  285. package/dist/adapters/cli/opencode-run-metrics.js +0 -64
  286. package/dist/adapters/cli/opencode-run-metrics.js.map +0 -1
  287. package/dist/app/use-cases/activate-draft.d.ts +0 -31
  288. package/dist/app/use-cases/activate-draft.d.ts.map +0 -1
  289. package/dist/app/use-cases/activate-draft.js +0 -74
  290. package/dist/app/use-cases/activate-draft.js.map +0 -1
  291. package/dist/app/use-cases/build-dashboard.d.ts +0 -43
  292. package/dist/app/use-cases/build-dashboard.d.ts.map +0 -1
  293. package/dist/app/use-cases/build-dashboard.js +0 -32
  294. package/dist/app/use-cases/build-dashboard.js.map +0 -1
  295. package/dist/app/use-cases/create-article.d.ts +0 -31
  296. package/dist/app/use-cases/create-article.d.ts.map +0 -1
  297. package/dist/app/use-cases/create-article.js +0 -62
  298. package/dist/app/use-cases/create-article.js.map +0 -1
  299. package/dist/app/use-cases/create-blocker.d.ts +0 -28
  300. package/dist/app/use-cases/create-blocker.d.ts.map +0 -1
  301. package/dist/app/use-cases/create-blocker.js +0 -51
  302. package/dist/app/use-cases/create-blocker.js.map +0 -1
  303. package/dist/app/use-cases/create-decision.d.ts +0 -28
  304. package/dist/app/use-cases/create-decision.d.ts.map +0 -1
  305. package/dist/app/use-cases/create-decision.js +0 -58
  306. package/dist/app/use-cases/create-decision.js.map +0 -1
  307. package/dist/app/use-cases/create-info-request.d.ts +0 -31
  308. package/dist/app/use-cases/create-info-request.d.ts.map +0 -1
  309. package/dist/app/use-cases/create-info-request.js +0 -58
  310. package/dist/app/use-cases/create-info-request.js.map +0 -1
  311. package/dist/app/use-cases/create-rule.d.ts +0 -27
  312. package/dist/app/use-cases/create-rule.d.ts.map +0 -1
  313. package/dist/app/use-cases/create-rule.js +0 -48
  314. package/dist/app/use-cases/create-rule.js.map +0 -1
  315. package/dist/app/use-cases/create-session-checkpoint.d.ts +0 -23
  316. package/dist/app/use-cases/create-session-checkpoint.d.ts.map +0 -1
  317. package/dist/app/use-cases/create-session-checkpoint.js +0 -61
  318. package/dist/app/use-cases/create-session-checkpoint.js.map +0 -1
  319. package/dist/app/use-cases/create-synthesis.d.ts +0 -25
  320. package/dist/app/use-cases/create-synthesis.d.ts.map +0 -1
  321. package/dist/app/use-cases/create-synthesis.js +0 -36
  322. package/dist/app/use-cases/create-synthesis.js.map +0 -1
  323. package/dist/app/use-cases/create-work-thread.d.ts +0 -26
  324. package/dist/app/use-cases/create-work-thread.d.ts.map +0 -1
  325. package/dist/app/use-cases/create-work-thread.js +0 -47
  326. package/dist/app/use-cases/create-work-thread.js.map +0 -1
  327. package/dist/app/use-cases/effectiveness.d.ts +0 -116
  328. package/dist/app/use-cases/effectiveness.d.ts.map +0 -1
  329. package/dist/app/use-cases/effectiveness.js +0 -198
  330. package/dist/app/use-cases/effectiveness.js.map +0 -1
  331. package/dist/app/use-cases/get-thread-brief.d.ts +0 -19
  332. package/dist/app/use-cases/get-thread-brief.d.ts.map +0 -1
  333. package/dist/app/use-cases/get-thread-brief.js +0 -72
  334. package/dist/app/use-cases/get-thread-brief.js.map +0 -1
  335. package/dist/app/use-cases/learn-decay.d.ts +0 -91
  336. package/dist/app/use-cases/learn-decay.d.ts.map +0 -1
  337. package/dist/app/use-cases/learn-decay.js +0 -274
  338. package/dist/app/use-cases/learn-decay.js.map +0 -1
  339. package/dist/app/use-cases/model-routing.d.ts +0 -30
  340. package/dist/app/use-cases/model-routing.d.ts.map +0 -1
  341. package/dist/app/use-cases/model-routing.js +0 -39
  342. package/dist/app/use-cases/model-routing.js.map +0 -1
  343. package/dist/app/use-cases/pattern-detection.d.ts +0 -44
  344. package/dist/app/use-cases/pattern-detection.d.ts.map +0 -1
  345. package/dist/app/use-cases/pattern-detection.js +0 -71
  346. package/dist/app/use-cases/pattern-detection.js.map +0 -1
  347. package/dist/app/use-cases/propose-draft.d.ts +0 -79
  348. package/dist/app/use-cases/propose-draft.d.ts.map +0 -1
  349. package/dist/app/use-cases/propose-draft.js +0 -140
  350. package/dist/app/use-cases/propose-draft.js.map +0 -1
  351. package/dist/app/use-cases/resolve-blocker.d.ts +0 -17
  352. package/dist/app/use-cases/resolve-blocker.d.ts.map +0 -1
  353. package/dist/app/use-cases/resolve-blocker.js +0 -31
  354. package/dist/app/use-cases/resolve-blocker.js.map +0 -1
  355. package/dist/app/use-cases/run-source.d.ts +0 -15
  356. package/dist/app/use-cases/run-source.d.ts.map +0 -1
  357. package/dist/app/use-cases/run-source.js +0 -26
  358. package/dist/app/use-cases/run-source.js.map +0 -1
  359. package/dist/app/use-cases/tally-council-votes.d.ts +0 -24
  360. package/dist/app/use-cases/tally-council-votes.d.ts.map +0 -1
  361. package/dist/app/use-cases/tally-council-votes.js +0 -30
  362. package/dist/app/use-cases/tally-council-votes.js.map +0 -1
  363. package/dist/app/use-cases/template-evolve.d.ts +0 -87
  364. package/dist/app/use-cases/template-evolve.d.ts.map +0 -1
  365. package/dist/app/use-cases/template-evolve.js +0 -164
  366. package/dist/app/use-cases/template-evolve.js.map +0 -1
  367. package/dist/app/use-cases/validate-draft.d.ts +0 -36
  368. package/dist/app/use-cases/validate-draft.d.ts.map +0 -1
  369. package/dist/app/use-cases/validate-draft.js +0 -75
  370. package/dist/app/use-cases/validate-draft.js.map +0 -1
  371. package/dist/domain/gates/stop-gate.d.ts +0 -43
  372. package/dist/domain/gates/stop-gate.d.ts.map +0 -1
  373. package/dist/domain/gates/stop-gate.js +0 -125
  374. package/dist/domain/gates/stop-gate.js.map +0 -1
  375. package/dist/domain/schemas/article-schema.d.ts +0 -79
  376. package/dist/domain/schemas/article-schema.d.ts.map +0 -1
  377. package/dist/domain/schemas/article-schema.js +0 -12
  378. package/dist/domain/schemas/article-schema.js.map +0 -1
  379. package/dist/domain/schemas/blocker-schema.d.ts +0 -77
  380. package/dist/domain/schemas/blocker-schema.d.ts.map +0 -1
  381. package/dist/domain/schemas/blocker-schema.js +0 -10
  382. package/dist/domain/schemas/blocker-schema.js.map +0 -1
  383. package/dist/domain/schemas/decision-schema.d.ts +0 -75
  384. package/dist/domain/schemas/decision-schema.d.ts.map +0 -1
  385. package/dist/domain/schemas/decision-schema.js +0 -8
  386. package/dist/domain/schemas/decision-schema.js.map +0 -1
  387. package/dist/domain/schemas/info-request-schema.d.ts +0 -80
  388. package/dist/domain/schemas/info-request-schema.d.ts.map +0 -1
  389. package/dist/domain/schemas/info-request-schema.js +0 -13
  390. package/dist/domain/schemas/info-request-schema.js.map +0 -1
  391. package/dist/domain/schemas/rule-schema.d.ts +0 -80
  392. package/dist/domain/schemas/rule-schema.d.ts.map +0 -1
  393. package/dist/domain/schemas/rule-schema.js +0 -10
  394. package/dist/domain/schemas/rule-schema.js.map +0 -1
  395. package/dist/domain/schemas/thread-schema.d.ts +0 -77
  396. package/dist/domain/schemas/thread-schema.d.ts.map +0 -1
  397. package/dist/domain/schemas/thread-schema.js +0 -10
  398. package/dist/domain/schemas/thread-schema.js.map +0 -1
  399. package/templates/base/playbooks/wolf-review-lenses.md +0 -50
@@ -1,164 +0,0 @@
1
- /**
2
- * Ф24 GEPA — продукт-минимум: эволюция шаблонов брифов с детерминированной метрикой.
3
- * Спека: docs/superpowers/specs/2026-08-26-self-learning-design.md §3 («Жёсткое
4
- * ограничение применимости GEPA», «Числовые границы GEPA»), §17 B.4; roadmap-v2 Phase 24.
5
- *
6
- * Ключевые границы (M24-01..04, S24-05):
7
- * - рефлектор — только фронтирная модель за интерфейсом TemplateReflector;
8
- * - пул примеров 20–100 (M24-02);
9
- * - лимит длины шаблона 1500 символов (M24-03);
10
- * - Парето-сравнение ревизий — по инстансам, не по осям Q/C/T (S24-05);
11
- * - constraint-блок рефлектору против утечки примеров (M24-04);
12
- * - применение кандидата — только человек (N24-07 CLI activate — v1.1+):
13
- * evolveTemplate пишет кандидат-файл, НЕ активирует.
14
- */
15
- import { posix } from 'path';
16
- import { readSignals } from '../../adapters/fs/session-metrics-log.js';
17
- import { UserFacingError } from '../../domain/errors.js';
18
- /** Лимит длины шаблона (M24-03 [ЦИТ] Decagon: 4× компрессия при −0.8% качества). */
19
- export const TEMPLATE_CHAR_LIMIT = 1500;
20
- /** Пул примеров рефлексии (M24-02 [ЦИТ]: 20–100; 500 → −2% качества, 10× стоимости). */
21
- export const POOL_MIN = 20;
22
- export const POOL_MAX = 100;
23
- /** Пул примеров из tool_error-сигналов; вне границ 20–100 — отказ (M24-02). */
24
- export function buildExamplePool(signals) {
25
- const all = signals
26
- .filter((s) => s.event === 'tool_error')
27
- .map((s) => ({
28
- ts: s.ts,
29
- tool_name: s.tool_name ?? 'unknown',
30
- error_class_id: s.error_class_id ?? 'uncategorized',
31
- message: String(s.detail?.message ?? ''),
32
- }));
33
- if (all.length < POOL_MIN) {
34
- throw new UserFacingError(`example pool ${all.length} < ${POOL_MIN} — GEPA evolution does not start (M24-02: ${POOL_MIN}–${POOL_MAX})`);
35
- }
36
- // больше POOL_MAX — последние POOL_MAX по порядку файла (свежие важнее старых)
37
- return all.length > POOL_MAX ? all.slice(all.length - POOL_MAX) : all;
38
- }
39
- /** Constraint-блок рефлектору (M24-04): против утечки примеров в шаблон. */
40
- export function reflectorConstraints() {
41
- return [
42
- 'do not copy error examples into the template verbatim — generalize into reproducible instructions',
43
- `do not exceed the ${TEMPLATE_CHAR_LIMIT} character limit (M24-03)`,
44
- "instructions — reproducible only, of the form 'avoid: <tool_name>'",
45
- ];
46
- }
47
- /**
48
- * Механический рефлектор (детерминированный, без LLM — прецедент Ф22
49
- * mechanicalDraftGenerator): добавляет 'avoid: <tool>' по топ-3 тулам пула,
50
- * не превышая лимит. Фронтирный LLM-рефлектор (M24-01) подключается по
51
- * протоколу docs/guide/steward-learn.md — интерфейс тот же.
52
- */
53
- export function mechanicalReflector() {
54
- return {
55
- async reflect(input) {
56
- const freq = new Map();
57
- for (const e of input.examples)
58
- freq.set(e.tool_name, (freq.get(e.tool_name) ?? 0) + 1);
59
- const top = [...freq.entries()]
60
- .sort((a, b) => b[1] - a[1] || (a[0] < b[0] ? -1 : 1))
61
- .slice(0, 3)
62
- .map(([tool]) => `avoid: ${tool}`)
63
- .filter((line) => !input.current.toLowerCase().includes(line.split(': ')[1].toLowerCase()));
64
- let candidate = input.current.trimEnd();
65
- for (const line of top) {
66
- const next = `${candidate}\n${line}`;
67
- if (next.length > TEMPLATE_CHAR_LIMIT)
68
- break;
69
- candidate = next;
70
- }
71
- return { candidate, notes: 'mechanical reflector: avoid-instructions for the pool top tools' };
72
- },
73
- };
74
- }
75
- function prevents(template, example) {
76
- return template.toLowerCase().includes(example.tool_name.toLowerCase());
77
- }
78
- /**
79
- * ДЕТЕРМИНИРОВАННАЯ метрика (спека §3/§17 B.4: GEPA — только числовые
80
- * воспроизводимые метрики, никакого LLM-джаджа). Прокси-скор: «доля ошибок пула,
81
- * которых шаблон касался указанием» — пример считается предотвращённым, если шаблон
82
- * упоминает tool_name примера (подстрока, case-insensitive). Качество здесь =
83
- * процент предотвращённых ошибок — детерминированная воспроизводимая метрика.
84
- */
85
- export function scoreTemplate(template, examples) {
86
- const total = examples.length;
87
- const prevented = examples.filter((e) => prevents(template, e)).length;
88
- const score = total === 0 ? 0 : Number((prevented / total).toFixed(4));
89
- return { prevented, total, score };
90
- }
91
- /**
92
- * Парето ПО ИНСТАНСАМ (S24-05; GEPA Algorithm 2): попарно по каждому примеру —
93
- * предотвращён/нет у каждой ревизии. candidate_better: строго больше побед И ни один
94
- * инстанс не проигран; current_better — зеркально; иначе no_gain.
95
- */
96
- export function compareTemplates(current, candidate, examples) {
97
- let winsCandidate = 0;
98
- let winsCurrent = 0;
99
- let ties = 0;
100
- for (const e of examples) {
101
- const cur = prevents(current, e);
102
- const cand = prevents(candidate, e);
103
- if (cand && !cur)
104
- winsCandidate++;
105
- else if (cur && !cand)
106
- winsCurrent++;
107
- else
108
- ties++;
109
- }
110
- const verdict = winsCandidate > winsCurrent && winsCurrent === 0
111
- ? 'candidate_better'
112
- : winsCurrent > winsCandidate && winsCandidate === 0
113
- ? 'current_better'
114
- : 'no_gain';
115
- return {
116
- currentScore: scoreTemplate(current, examples),
117
- candidateScore: scoreTemplate(candidate, examples),
118
- winsCandidate,
119
- winsCurrent,
120
- ties,
121
- verdict,
122
- };
123
- }
124
- /** Длина шаблона > 1500 символов → отказ (M24-03). */
125
- export function validateTemplateLength(template, label) {
126
- if (template.length > TEMPLATE_CHAR_LIMIT) {
127
- throw new UserFacingError(`template ${label}: ${template.length} chars > limit ${TEMPLATE_CHAR_LIMIT} (M24-03)`);
128
- }
129
- }
130
- function templateFile(baseDir, templateId, suffix = '') {
131
- return posix.join(baseDir, '.wolf', 'templates', `${templateId}${suffix}.md`);
132
- }
133
- /**
134
- * Один цикл GEPA-эволюции шаблона: пул из сигнального лога → рефлексия (LLM за
135
- * интерфейсом) → детерминированный скоринг → Парето по инстансам. dryRun=true —
136
- * ничего не пишет. dryRun=false — пишет ТОЛЬКО кандидат-файл <id>.candidate.md;
137
- * применение шаблона — гейт человека (N24-07 `templates activate` — v1.1+).
138
- */
139
- export async function evolveTemplate(deps, baseDir, input) {
140
- const templatePath = templateFile(baseDir, input.templateId);
141
- let current;
142
- try {
143
- current = await deps.readFile(templatePath);
144
- }
145
- catch {
146
- throw new UserFacingError(`template ${input.templateId} not found (${templatePath}) — create the template file before evolving`);
147
- }
148
- validateTemplateLength(current, 'current');
149
- const examples = buildExamplePool(readSignals(baseDir));
150
- const { candidate } = await input.reflector.reflect({
151
- templateId: input.templateId,
152
- current,
153
- examples,
154
- constraints: reflectorConstraints(),
155
- });
156
- validateTemplateLength(candidate, 'candidate');
157
- const comparison = compareTemplates(current, candidate, examples);
158
- if (input.dryRun) {
159
- return { templatePath, candidate, current, comparison, poolSize: examples.length, wrote: false };
160
- }
161
- await deps.writeFile(templateFile(baseDir, input.templateId, '.candidate'), candidate);
162
- return { templatePath, candidate, current, comparison, poolSize: examples.length, wrote: true };
163
- }
164
- //# sourceMappingURL=template-evolve.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template-evolve.js","sourceRoot":"","sources":["../../../src/app/use-cases/template-evolve.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- /**
2
- * Ф22 (D2.2): `wolf learn validate` — Sandbox Replay Holdout (спека §5).
3
- * Реплей draft-констрейнта на исторических событиях сигнального лога ПОСЛЕ
4
- * создания draft — данные, не участвовавшие в генерации (проверка transfer).
5
- * Вердикт детерминированный, НЕ LLM-as-a-judge: гейт обязан быть
6
- * воспроизводимым и дешёвым в повторных прогонах.
7
- */
8
- import { MemoryStore } from '../../ports/memory-store.port.js';
9
- import { Clock } from '../../ports/clock.port.js';
10
- import type { SignalEvent } from '../../adapters/fs/session-metrics-log.js';
11
- export interface HoldoutVerdict {
12
- verdict: 'pass' | 'fail' | 'needs_human_review';
13
- prevented: number;
14
- checked: number;
15
- note: string;
16
- }
17
- /** Чистая функция реплея: draft + лог → вердикт (детерминированно). */
18
- export declare function replayHoldout(draft: {
19
- mechanical?: boolean;
20
- constraint_tool?: string;
21
- constraint_class?: string;
22
- polarity?: string;
23
- created_at: string;
24
- }, signals: SignalEvent[]): HoldoutVerdict;
25
- /**
26
- * Validate: прогон holdout по draft и фиксация вердикта в объекте.
27
- * Idempotent: новые события в логе → повторный validate пересчитывает вердикт.
28
- */
29
- export declare function validateDraft(deps: {
30
- store: MemoryStore;
31
- clock: Clock;
32
- }, input: {
33
- draftId: string;
34
- signals: SignalEvent[];
35
- }): Promise<HoldoutVerdict>;
36
- //# sourceMappingURL=validate-draft.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-draft.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/validate-draft.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAGlD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAE5E,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,oBAAoB,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAKD,uEAAuE;AACvE,wBAAgB,aAAa,CAC3B,KAAK,EAAE;IACL,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,EACD,OAAO,EAAE,WAAW,EAAE,GACrB,cAAc,CA4ChB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,EAC1C,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,EAAE,CAAA;CAAE,GACjD,OAAO,CAAC,cAAc,CAAC,CAwBzB"}
@@ -1,75 +0,0 @@
1
- import { UserFacingError } from '../../domain/errors.js';
2
- const NEEDS_HUMAN_NOTE = 'text draft: not mechanically replayable, human review required';
3
- const LEGIT_WARNING = 'legitimate tool uses are not logged — a human assesses the blocking risk';
4
- /** Чистая функция реплея: draft + лог → вердикт (детерминированно). */
5
- export function replayHoldout(draft, signals) {
6
- if (!draft.mechanical || !draft.constraint_tool) {
7
- return { verdict: 'needs_human_review', prevented: 0, checked: 0, note: NEEDS_HUMAN_NOTE };
8
- }
9
- // holdout-окно: tool_error после создания draft; ISO-строки сравниваются лексикографически корректно
10
- const holdout = signals.filter((s) => s.event === 'tool_error' && s.ts > draft.created_at);
11
- // negative (D2.4): анти-правило покрывает все ошибки тула, любой класс
12
- const negative = draft.polarity === 'negative';
13
- const matches = holdout.filter((s) => negative
14
- ? s.tool_name === draft.constraint_tool
15
- : s.tool_name === draft.constraint_tool && s.error_class_id === draft.constraint_class);
16
- if (negative) {
17
- if (matches.length >= 1) {
18
- const classes = [...new Set(matches.map((s) => s.error_class_id ?? 'uncategorized'))];
19
- return {
20
- verdict: 'pass',
21
- prevented: matches.length,
22
- checked: holdout.length,
23
- note: `repetition classes: ${classes.join(', ')}; ${LEGIT_WARNING}`,
24
- };
25
- }
26
- return {
27
- verdict: 'fail',
28
- prevented: 0,
29
- checked: holdout.length,
30
- note: `pattern did not repeat on holdout (after draft creation) — not enough data for activation; ${LEGIT_WARNING}`,
31
- };
32
- }
33
- if (matches.length >= 1) {
34
- return {
35
- verdict: 'pass',
36
- prevented: matches.length,
37
- checked: holdout.length,
38
- note: `pattern repeated on holdout after draft creation (${matches.length} of ${holdout.length})`,
39
- };
40
- }
41
- return {
42
- verdict: 'fail',
43
- prevented: 0,
44
- checked: holdout.length,
45
- note: 'pattern did not repeat on holdout (after draft creation) — not enough data for activation',
46
- };
47
- }
48
- /**
49
- * Validate: прогон holdout по draft и фиксация вердикта в объекте.
50
- * Idempotent: новые события в логе → повторный validate пересчитывает вердикт.
51
- */
52
- export async function validateDraft(deps, input) {
53
- const draft = await deps.store.get(input.draftId);
54
- if (!draft)
55
- throw new UserFacingError(`Memory object not found: ${input.draftId}`);
56
- const rec = draft;
57
- if (rec.pattern_key === undefined) {
58
- throw new UserFacingError(`not a propose draft: ${input.draftId}`);
59
- }
60
- const verdict = replayHoldout({
61
- mechanical: rec.mechanical,
62
- constraint_tool: rec.constraint_tool,
63
- constraint_class: rec.constraint_class,
64
- polarity: rec.polarity,
65
- created_at: draft.created_at,
66
- }, input.signals);
67
- await deps.store.update(input.draftId, {
68
- holdout_verdict: verdict.verdict,
69
- holdout_prevented: verdict.prevented,
70
- holdout_checked: verdict.checked,
71
- holdout_ts: deps.clock.now().toISOString(),
72
- });
73
- return verdict;
74
- }
75
- //# sourceMappingURL=validate-draft.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-draft.js","sourceRoot":"","sources":["../../../src/app/use-cases/validate-draft.ts"],"names":[],"mappings":"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"}
@@ -1,43 +0,0 @@
1
- export interface PressureScenario {
2
- id: string;
3
- stimulus: string;
4
- topic: string;
5
- forbidden_tool?: string;
6
- expect_action?: boolean;
7
- }
8
- export interface StopGateScenarioResult {
9
- id: string;
10
- passed: boolean;
11
- reason: string;
12
- prematureAction: boolean;
13
- }
14
- export interface StopGateMetrics {
15
- stop_gate_pass_rate: number;
16
- false_positive_rate: number;
17
- regression_detection: number;
18
- }
19
- export interface StopGateReport {
20
- passed: boolean;
21
- results: StopGateScenarioResult[];
22
- metrics: StopGateMetrics;
23
- }
24
- /**
25
- * Детерминированный прогон: на каждый сценарий mock-агент сначала делает
26
- * wolf call (lookupInjections по topic), затем решает. Брошенный lookup =
27
- * действие без знания (prematureAction). Чистая функция.
28
- */
29
- export declare function runStopGate(lookupInjections: (topic: string) => string[], scenarios: PressureScenario[]): StopGateReport;
30
- /**
31
- * Автосценарий из механического draft'а (constraint_tool + trigger_keywords).
32
- * Тема сценария = constraint_tool: реалистичная будущая сессия работает с этим
33
- * тулом — и delivery-механизм обязан доставить draft по этой теме. Пустые/чужие
34
- * trigger_keywords не мешают построению: сценарий и должен поймать
35
- * недоставляемое правило (гейт красный). null — немеханический draft.
36
- */
37
- export declare function buildScenarioFromDraft(draft: Record<string, unknown>): PressureScenario | null;
38
- /** Проба зон (part of gate): rewrite в каждую read-only зону обязан бросить. */
39
- export declare function zoneProbe(): {
40
- zone: string;
41
- enforced: boolean;
42
- }[];
43
- //# sourceMappingURL=stop-gate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stop-gate.d.ts","sourceRoot":"","sources":["../../../src/domain/gates/stop-gate.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,OAAO,EAAE,eAAe,CAAC;CAC1B;AAKD;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,EAC7C,SAAS,EAAE,gBAAgB,EAAE,GAC5B,cAAc,CAwEhB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAU9F;AAED,gFAAgF;AAChF,wBAAgB,SAAS,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,EAAE,CAUjE"}
@@ -1,125 +0,0 @@
1
- /**
2
- * Ф23 (слита с Ф18): STOP-гейт — pressure-тесты памяти как барьер автономной
3
- * адаптации (спека §5, §3 правило границы (б)). Harness: «стимул-промпт +
4
- * wolf call» против детерминированного mock-агента, БЕЗ LLM.
5
- *
6
- * Критерий чувствительности harness'а: сценарий падает при удалении
7
- * delivery-механизма (lookup не доставил знание) и проходит при его наличии.
8
- * premature action: действие до wolf call (lookup сломан/не выполнялся).
9
- *
10
- * Mock-агент — наивный rules-follower с двумя реалистичными режимами отказа:
11
- * (а) действует, если адресный запрет не доставлен (regression miss);
12
- * (б) воздерживается при виде ЛЮБОГО запрет-паттерна, даже не по адресу
13
- * (false positive — зря отказался). Оба режима — вход Layer 4 meta-metrics.
14
- */
15
- import { READ_ONLY_ZONES, assertLearnWriteAllowed } from '../policies/read-only-zones.js';
16
- /** Запрет-паттерны, на которых наивный агент может передержаться (false positive). */
17
- const PROHIBITION_RE = /анти-правило|не использ|forbidden|do not use|avoid/i;
18
- /**
19
- * Детерминированный прогон: на каждый сценарий mock-агент сначала делает
20
- * wolf call (lookupInjections по topic), затем решает. Брошенный lookup =
21
- * действие без знания (prematureAction). Чистая функция.
22
- */
23
- export function runStopGate(lookupInjections, scenarios) {
24
- const results = scenarios.map((sc) => {
25
- // протокол: wolf call ДО действия (§5); сломанный delivery = вслепую
26
- let blocks;
27
- let prematureAction = false;
28
- try {
29
- blocks = lookupInjections(sc.topic);
30
- }
31
- catch {
32
- blocks = [];
33
- prematureAction = true;
34
- }
35
- const knowledge = blocks.join('\n');
36
- const targeted = sc.forbidden_tool !== undefined && knowledge.includes(sc.forbidden_tool);
37
- const abstained = targeted || PROHIBITION_RE.test(knowledge);
38
- if (prematureAction) {
39
- return {
40
- id: sc.id,
41
- passed: false,
42
- reason: `action before wolf call (premature action): knowledge on topic “${sc.topic}” was not fetched`,
43
- prematureAction: true,
44
- };
45
- }
46
- if (sc.forbidden_tool !== undefined) {
47
- return targeted
48
- ? {
49
- id: sc.id,
50
- passed: true,
51
- reason: `knowledge delivered: the agent abstained from “${sc.forbidden_tool}”`,
52
- prematureAction: false,
53
- }
54
- : {
55
- id: sc.id,
56
- passed: false,
57
- reason: `delivery failed: “${sc.forbidden_tool}” was used without delivered knowledge on topic “${sc.topic}”`,
58
- prematureAction: false,
59
- };
60
- }
61
- if (abstained) {
62
- return {
63
- id: sc.id,
64
- passed: false,
65
- reason: `refusal without a targeted ban (false positive): abstained for nothing on topic “${sc.topic}”`,
66
- prematureAction: false,
67
- };
68
- }
69
- return sc.expect_action === true
70
- ? { id: sc.id, passed: true, reason: 'no bans delivered — action taken', prematureAction: false }
71
- : {
72
- id: sc.id,
73
- passed: false,
74
- reason: 'scenario without forbidden_tool and without expect_action — expectation is undefined',
75
- prematureAction: false,
76
- };
77
- });
78
- const total = results.length;
79
- const withForbidden = scenarios.filter((sc) => sc.forbidden_tool !== undefined).length;
80
- const withoutForbidden = total - withForbidden;
81
- const passedCount = results.filter((r) => r.passed).length;
82
- const failedNoForbidden = results.filter((r, i) => scenarios[i].forbidden_tool === undefined && !r.passed).length;
83
- const passedForbidden = results.filter((r, i) => scenarios[i].forbidden_tool !== undefined && r.passed).length;
84
- return {
85
- passed: results.every((r) => r.passed),
86
- results,
87
- metrics: {
88
- stop_gate_pass_rate: total > 0 ? passedCount / total : 1,
89
- false_positive_rate: withoutForbidden > 0 ? failedNoForbidden / withoutForbidden : 0,
90
- regression_detection: withForbidden > 0 ? passedForbidden / withForbidden : 0,
91
- },
92
- };
93
- }
94
- /**
95
- * Автосценарий из механического draft'а (constraint_tool + trigger_keywords).
96
- * Тема сценария = constraint_tool: реалистичная будущая сессия работает с этим
97
- * тулом — и delivery-механизм обязан доставить draft по этой теме. Пустые/чужие
98
- * trigger_keywords не мешают построению: сценарий и должен поймать
99
- * недоставляемое правило (гейт красный). null — немеханический draft.
100
- */
101
- export function buildScenarioFromDraft(draft) {
102
- if (draft.mechanical !== true || typeof draft.constraint_tool !== 'string' || draft.constraint_tool === '') {
103
- return null;
104
- }
105
- return {
106
- id: `draft:${String(draft.id ?? 'unknown')}`,
107
- stimulus: `${String(draft.title ?? '')}\n${String(draft.body ?? '')}`,
108
- topic: draft.constraint_tool,
109
- forbidden_tool: draft.constraint_tool,
110
- };
111
- }
112
- /** Проба зон (part of gate): rewrite в каждую read-only зону обязан бросить. */
113
- export function zoneProbe() {
114
- return READ_ONLY_ZONES.map((z) => {
115
- let enforced = false;
116
- try {
117
- assertLearnWriteAllowed(z.path, 'rewrite');
118
- }
119
- catch {
120
- enforced = true;
121
- }
122
- return { zone: z.path, enforced };
123
- });
124
- }
125
- //# sourceMappingURL=stop-gate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stop-gate.js","sourceRoot":"","sources":["../../../src/domain/gates/stop-gate.ts"],"names":[],"mappings":"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"}
@@ -1,79 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const ArticleSchema: z.ZodObject<{
3
- id: z.ZodString;
4
- title: z.ZodString;
5
- review_state: z.ZodEnum<{
6
- rejected: "rejected";
7
- proposed: "proposed";
8
- accepted: "accepted";
9
- review_required: "review_required";
10
- }>;
11
- confidence: z.ZodEnum<{
12
- low: "low";
13
- medium: "medium";
14
- high: "high";
15
- }>;
16
- importance: z.ZodNumber;
17
- created_at: z.ZodString;
18
- updated_at: z.ZodString;
19
- created_by: z.ZodString;
20
- schema_version: z.ZodDefault<z.ZodNumber>;
21
- source: z.ZodObject<{
22
- kind: z.ZodEnum<{
23
- manual: "manual";
24
- session: "session";
25
- file: "file";
26
- scan: "scan";
27
- }>;
28
- path: z.ZodOptional<z.ZodString>;
29
- session_id: z.ZodOptional<z.ZodString>;
30
- }, z.core.$strip>;
31
- related: z.ZodDefault<z.ZodObject<{
32
- files: z.ZodDefault<z.ZodArray<z.ZodString>>;
33
- docs: z.ZodDefault<z.ZodArray<z.ZodString>>;
34
- decisions: z.ZodDefault<z.ZodArray<z.ZodString>>;
35
- }, z.core.$strip>>;
36
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
37
- superseded_by: z.ZodDefault<z.ZodNullable<z.ZodString>>;
38
- body: z.ZodDefault<z.ZodString>;
39
- memory_class: z.ZodDefault<z.ZodEnum<{
40
- working: "working";
41
- canonical: "canonical";
42
- }>>;
43
- truth_role: z.ZodDefault<z.ZodEnum<{
44
- proposed_knowledge: "proposed_knowledge";
45
- accepted_knowledge: "accepted_knowledge";
46
- source_of_truth: "source_of_truth";
47
- }>>;
48
- lifetime: z.ZodDefault<z.ZodEnum<{
49
- session: "session";
50
- long_term: "long_term";
51
- short_term: "short_term";
52
- }>>;
53
- type: z.ZodLiteral<"document" | "decision" | "lesson" | "observation" | "complaint" | "session-summary" | "open-question" | "context" | "work-thread" | "info-request" | "article" | "blocker" | "session-checkpoint" | "rule" | "document-ref" | "document-native" | "task-brief" | "report" | "council-question" | "council-opinion" | "synthesis" | "escalation" | "decision-request" | "call-injection" | "playbook" | "tool">;
54
- status: z.ZodEnum<{
55
- active: "active";
56
- open: "open";
57
- resolved: "resolved";
58
- stale: "stale";
59
- conflicting: "conflicting";
60
- superseded: "superseded";
61
- archived: "archived";
62
- paused: "paused";
63
- completed: "completed";
64
- answered: "answered";
65
- rejected: "rejected";
66
- obsolete: "obsolete";
67
- proposed: "proposed";
68
- accepted: "accepted";
69
- candidate: "candidate";
70
- deprecated: "deprecated";
71
- }>;
72
- thread: z.ZodString;
73
- summary: z.ZodString;
74
- answers: z.ZodDefault<z.ZodArray<z.ZodString>>;
75
- supports: z.ZodDefault<z.ZodArray<z.ZodString>>;
76
- evidence: z.ZodDefault<z.ZodArray<z.ZodString>>;
77
- }, z.core.$loose>;
78
- export type Article = z.infer<typeof ArticleSchema>;
79
- //# sourceMappingURL=article-schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"article-schema.d.ts","sourceRoot":"","sources":["../../../src/domain/schemas/article-schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -1,12 +0,0 @@
1
- import { buildTypeSchema } from '../type-schema-builder.js';
2
- import { getDeclaration } from '../memory-types.js';
3
- import { z } from 'zod';
4
- const decl = getDeclaration('article');
5
- export const ArticleSchema = buildTypeSchema(decl, {
6
- thread: z.string().min(1),
7
- summary: z.string().min(1),
8
- answers: z.array(z.string()).default([]),
9
- supports: z.array(z.string()).default([]),
10
- evidence: z.array(z.string()).default([]),
11
- });
12
- //# sourceMappingURL=article-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"article-schema.js","sourceRoot":"","sources":["../../../src/domain/schemas/article-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,EAAE;IACjD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC1C,CAAC,CAAC"}