@soleri/core 2.4.0 → 2.5.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 (300) hide show
  1. package/dist/brain/brain.d.ts +7 -0
  2. package/dist/brain/brain.d.ts.map +1 -1
  3. package/dist/brain/brain.js +56 -9
  4. package/dist/brain/brain.js.map +1 -1
  5. package/dist/brain/types.d.ts +2 -2
  6. package/dist/brain/types.d.ts.map +1 -1
  7. package/dist/cognee/client.d.ts +3 -0
  8. package/dist/cognee/client.d.ts.map +1 -1
  9. package/dist/cognee/client.js +17 -0
  10. package/dist/cognee/client.js.map +1 -1
  11. package/dist/cognee/sync-manager.d.ts +94 -0
  12. package/dist/cognee/sync-manager.d.ts.map +1 -0
  13. package/dist/cognee/sync-manager.js +293 -0
  14. package/dist/cognee/sync-manager.js.map +1 -0
  15. package/dist/curator/curator.d.ts +8 -1
  16. package/dist/curator/curator.d.ts.map +1 -1
  17. package/dist/curator/curator.js +64 -1
  18. package/dist/curator/curator.js.map +1 -1
  19. package/dist/errors/classify.d.ts +13 -0
  20. package/dist/errors/classify.d.ts.map +1 -0
  21. package/dist/errors/classify.js +97 -0
  22. package/dist/errors/classify.js.map +1 -0
  23. package/dist/errors/index.d.ts +6 -0
  24. package/dist/errors/index.d.ts.map +1 -0
  25. package/dist/errors/index.js +4 -0
  26. package/dist/errors/index.js.map +1 -0
  27. package/dist/errors/retry.d.ts +40 -0
  28. package/dist/errors/retry.d.ts.map +1 -0
  29. package/dist/errors/retry.js +97 -0
  30. package/dist/errors/retry.js.map +1 -0
  31. package/dist/errors/types.d.ts +48 -0
  32. package/dist/errors/types.d.ts.map +1 -0
  33. package/dist/errors/types.js +59 -0
  34. package/dist/errors/types.js.map +1 -0
  35. package/dist/index.d.ts +25 -5
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +21 -3
  38. package/dist/index.js.map +1 -1
  39. package/dist/intake/content-classifier.d.ts +14 -0
  40. package/dist/intake/content-classifier.d.ts.map +1 -0
  41. package/dist/intake/content-classifier.js +125 -0
  42. package/dist/intake/content-classifier.js.map +1 -0
  43. package/dist/intake/dedup-gate.d.ts +17 -0
  44. package/dist/intake/dedup-gate.d.ts.map +1 -0
  45. package/dist/intake/dedup-gate.js +66 -0
  46. package/dist/intake/dedup-gate.js.map +1 -0
  47. package/dist/intake/intake-pipeline.d.ts +63 -0
  48. package/dist/intake/intake-pipeline.d.ts.map +1 -0
  49. package/dist/intake/intake-pipeline.js +373 -0
  50. package/dist/intake/intake-pipeline.js.map +1 -0
  51. package/dist/intake/types.d.ts +65 -0
  52. package/dist/intake/types.d.ts.map +1 -0
  53. package/dist/intake/types.js +3 -0
  54. package/dist/intake/types.js.map +1 -0
  55. package/dist/intelligence/loader.js +1 -1
  56. package/dist/intelligence/loader.js.map +1 -1
  57. package/dist/intelligence/types.d.ts +3 -1
  58. package/dist/intelligence/types.d.ts.map +1 -1
  59. package/dist/loop/loop-manager.d.ts +58 -7
  60. package/dist/loop/loop-manager.d.ts.map +1 -1
  61. package/dist/loop/loop-manager.js +280 -6
  62. package/dist/loop/loop-manager.js.map +1 -1
  63. package/dist/loop/types.d.ts +69 -1
  64. package/dist/loop/types.d.ts.map +1 -1
  65. package/dist/loop/types.js +4 -1
  66. package/dist/loop/types.js.map +1 -1
  67. package/dist/persistence/index.d.ts +3 -0
  68. package/dist/persistence/index.d.ts.map +1 -0
  69. package/dist/persistence/index.js +2 -0
  70. package/dist/persistence/index.js.map +1 -0
  71. package/dist/persistence/sqlite-provider.d.ts +25 -0
  72. package/dist/persistence/sqlite-provider.d.ts.map +1 -0
  73. package/dist/persistence/sqlite-provider.js +59 -0
  74. package/dist/persistence/sqlite-provider.js.map +1 -0
  75. package/dist/persistence/types.d.ts +36 -0
  76. package/dist/persistence/types.d.ts.map +1 -0
  77. package/dist/persistence/types.js +8 -0
  78. package/dist/persistence/types.js.map +1 -0
  79. package/dist/planning/gap-analysis.d.ts +47 -4
  80. package/dist/planning/gap-analysis.d.ts.map +1 -1
  81. package/dist/planning/gap-analysis.js +190 -13
  82. package/dist/planning/gap-analysis.js.map +1 -1
  83. package/dist/planning/gap-types.d.ts +1 -1
  84. package/dist/planning/gap-types.d.ts.map +1 -1
  85. package/dist/planning/gap-types.js.map +1 -1
  86. package/dist/planning/planner.d.ts +277 -9
  87. package/dist/planning/planner.d.ts.map +1 -1
  88. package/dist/planning/planner.js +611 -46
  89. package/dist/planning/planner.js.map +1 -1
  90. package/dist/playbooks/generic/brainstorming.d.ts +9 -0
  91. package/dist/playbooks/generic/brainstorming.d.ts.map +1 -0
  92. package/dist/playbooks/generic/brainstorming.js +105 -0
  93. package/dist/playbooks/generic/brainstorming.js.map +1 -0
  94. package/dist/playbooks/generic/code-review.d.ts +11 -0
  95. package/dist/playbooks/generic/code-review.d.ts.map +1 -0
  96. package/dist/playbooks/generic/code-review.js +176 -0
  97. package/dist/playbooks/generic/code-review.js.map +1 -0
  98. package/dist/playbooks/generic/subagent-execution.d.ts +9 -0
  99. package/dist/playbooks/generic/subagent-execution.d.ts.map +1 -0
  100. package/dist/playbooks/generic/subagent-execution.js +68 -0
  101. package/dist/playbooks/generic/subagent-execution.js.map +1 -0
  102. package/dist/playbooks/generic/systematic-debugging.d.ts +9 -0
  103. package/dist/playbooks/generic/systematic-debugging.d.ts.map +1 -0
  104. package/dist/playbooks/generic/systematic-debugging.js +87 -0
  105. package/dist/playbooks/generic/systematic-debugging.js.map +1 -0
  106. package/dist/playbooks/generic/tdd.d.ts +9 -0
  107. package/dist/playbooks/generic/tdd.d.ts.map +1 -0
  108. package/dist/playbooks/generic/tdd.js +70 -0
  109. package/dist/playbooks/generic/tdd.js.map +1 -0
  110. package/dist/playbooks/generic/verification.d.ts +9 -0
  111. package/dist/playbooks/generic/verification.d.ts.map +1 -0
  112. package/dist/playbooks/generic/verification.js +74 -0
  113. package/dist/playbooks/generic/verification.js.map +1 -0
  114. package/dist/playbooks/index.d.ts +4 -0
  115. package/dist/playbooks/index.d.ts.map +1 -0
  116. package/dist/playbooks/index.js +5 -0
  117. package/dist/playbooks/index.js.map +1 -0
  118. package/dist/playbooks/playbook-registry.d.ts +42 -0
  119. package/dist/playbooks/playbook-registry.d.ts.map +1 -0
  120. package/dist/playbooks/playbook-registry.js +227 -0
  121. package/dist/playbooks/playbook-registry.js.map +1 -0
  122. package/dist/playbooks/playbook-seeder.d.ts +47 -0
  123. package/dist/playbooks/playbook-seeder.d.ts.map +1 -0
  124. package/dist/playbooks/playbook-seeder.js +104 -0
  125. package/dist/playbooks/playbook-seeder.js.map +1 -0
  126. package/dist/playbooks/playbook-types.d.ts +132 -0
  127. package/dist/playbooks/playbook-types.d.ts.map +1 -0
  128. package/dist/playbooks/playbook-types.js +12 -0
  129. package/dist/playbooks/playbook-types.js.map +1 -0
  130. package/dist/project/project-registry.d.ts.map +1 -1
  131. package/dist/project/project-registry.js +9 -11
  132. package/dist/project/project-registry.js.map +1 -1
  133. package/dist/prompts/index.d.ts +4 -0
  134. package/dist/prompts/index.d.ts.map +1 -0
  135. package/dist/prompts/index.js +3 -0
  136. package/dist/prompts/index.js.map +1 -0
  137. package/dist/prompts/parser.d.ts +17 -0
  138. package/dist/prompts/parser.d.ts.map +1 -0
  139. package/dist/prompts/parser.js +47 -0
  140. package/dist/prompts/parser.js.map +1 -0
  141. package/dist/prompts/template-manager.d.ts +25 -0
  142. package/dist/prompts/template-manager.d.ts.map +1 -0
  143. package/dist/prompts/template-manager.js +71 -0
  144. package/dist/prompts/template-manager.js.map +1 -0
  145. package/dist/prompts/types.d.ts +26 -0
  146. package/dist/prompts/types.d.ts.map +1 -0
  147. package/dist/prompts/types.js +5 -0
  148. package/dist/prompts/types.js.map +1 -0
  149. package/dist/runtime/admin-extra-ops.d.ts +5 -3
  150. package/dist/runtime/admin-extra-ops.d.ts.map +1 -1
  151. package/dist/runtime/admin-extra-ops.js +322 -11
  152. package/dist/runtime/admin-extra-ops.js.map +1 -1
  153. package/dist/runtime/admin-ops.d.ts.map +1 -1
  154. package/dist/runtime/admin-ops.js +10 -3
  155. package/dist/runtime/admin-ops.js.map +1 -1
  156. package/dist/runtime/capture-ops.d.ts.map +1 -1
  157. package/dist/runtime/capture-ops.js +20 -2
  158. package/dist/runtime/capture-ops.js.map +1 -1
  159. package/dist/runtime/cognee-sync-ops.d.ts +12 -0
  160. package/dist/runtime/cognee-sync-ops.d.ts.map +1 -0
  161. package/dist/runtime/cognee-sync-ops.js +55 -0
  162. package/dist/runtime/cognee-sync-ops.js.map +1 -0
  163. package/dist/runtime/core-ops.d.ts +8 -6
  164. package/dist/runtime/core-ops.d.ts.map +1 -1
  165. package/dist/runtime/core-ops.js +226 -9
  166. package/dist/runtime/core-ops.js.map +1 -1
  167. package/dist/runtime/curator-extra-ops.d.ts +2 -2
  168. package/dist/runtime/curator-extra-ops.d.ts.map +1 -1
  169. package/dist/runtime/curator-extra-ops.js +15 -3
  170. package/dist/runtime/curator-extra-ops.js.map +1 -1
  171. package/dist/runtime/domain-ops.js +2 -2
  172. package/dist/runtime/domain-ops.js.map +1 -1
  173. package/dist/runtime/grading-ops.d.ts.map +1 -1
  174. package/dist/runtime/grading-ops.js.map +1 -1
  175. package/dist/runtime/intake-ops.d.ts +14 -0
  176. package/dist/runtime/intake-ops.d.ts.map +1 -0
  177. package/dist/runtime/intake-ops.js +110 -0
  178. package/dist/runtime/intake-ops.js.map +1 -0
  179. package/dist/runtime/loop-ops.d.ts +5 -4
  180. package/dist/runtime/loop-ops.d.ts.map +1 -1
  181. package/dist/runtime/loop-ops.js +84 -12
  182. package/dist/runtime/loop-ops.js.map +1 -1
  183. package/dist/runtime/memory-cross-project-ops.d.ts.map +1 -1
  184. package/dist/runtime/memory-cross-project-ops.js.map +1 -1
  185. package/dist/runtime/memory-extra-ops.js +5 -5
  186. package/dist/runtime/memory-extra-ops.js.map +1 -1
  187. package/dist/runtime/orchestrate-ops.d.ts.map +1 -1
  188. package/dist/runtime/orchestrate-ops.js +8 -2
  189. package/dist/runtime/orchestrate-ops.js.map +1 -1
  190. package/dist/runtime/planning-extra-ops.d.ts +13 -5
  191. package/dist/runtime/planning-extra-ops.d.ts.map +1 -1
  192. package/dist/runtime/planning-extra-ops.js +381 -18
  193. package/dist/runtime/planning-extra-ops.js.map +1 -1
  194. package/dist/runtime/playbook-ops.d.ts +14 -0
  195. package/dist/runtime/playbook-ops.d.ts.map +1 -0
  196. package/dist/runtime/playbook-ops.js +141 -0
  197. package/dist/runtime/playbook-ops.js.map +1 -0
  198. package/dist/runtime/project-ops.d.ts.map +1 -1
  199. package/dist/runtime/project-ops.js +7 -2
  200. package/dist/runtime/project-ops.js.map +1 -1
  201. package/dist/runtime/runtime.d.ts.map +1 -1
  202. package/dist/runtime/runtime.js +27 -8
  203. package/dist/runtime/runtime.js.map +1 -1
  204. package/dist/runtime/types.d.ts +8 -0
  205. package/dist/runtime/types.d.ts.map +1 -1
  206. package/dist/runtime/vault-extra-ops.d.ts +3 -2
  207. package/dist/runtime/vault-extra-ops.d.ts.map +1 -1
  208. package/dist/runtime/vault-extra-ops.js +345 -4
  209. package/dist/runtime/vault-extra-ops.js.map +1 -1
  210. package/dist/vault/playbook.d.ts +34 -0
  211. package/dist/vault/playbook.d.ts.map +1 -0
  212. package/dist/vault/playbook.js +60 -0
  213. package/dist/vault/playbook.js.map +1 -0
  214. package/dist/vault/vault.d.ts +31 -32
  215. package/dist/vault/vault.d.ts.map +1 -1
  216. package/dist/vault/vault.js +201 -181
  217. package/dist/vault/vault.js.map +1 -1
  218. package/package.json +7 -3
  219. package/src/__tests__/admin-extra-ops.test.ts +62 -15
  220. package/src/__tests__/admin-ops.test.ts +2 -2
  221. package/src/__tests__/brain.test.ts +3 -3
  222. package/src/__tests__/cognee-integration.test.ts +80 -0
  223. package/src/__tests__/cognee-sync-manager.test.ts +103 -0
  224. package/src/__tests__/core-ops.test.ts +30 -4
  225. package/src/__tests__/curator-extra-ops.test.ts +24 -2
  226. package/src/__tests__/errors.test.ts +388 -0
  227. package/src/__tests__/grading-ops.test.ts +28 -7
  228. package/src/__tests__/intake-pipeline.test.ts +162 -0
  229. package/src/__tests__/loop-ops.test.ts +74 -3
  230. package/src/__tests__/memory-cross-project-ops.test.ts +3 -1
  231. package/src/__tests__/orchestrate-ops.test.ts +8 -3
  232. package/src/__tests__/persistence.test.ts +225 -0
  233. package/src/__tests__/planner.test.ts +99 -21
  234. package/src/__tests__/planning-extra-ops.test.ts +168 -10
  235. package/src/__tests__/playbook-registry.test.ts +326 -0
  236. package/src/__tests__/playbook-seeder.test.ts +163 -0
  237. package/src/__tests__/playbook.test.ts +389 -0
  238. package/src/__tests__/project-ops.test.ts +18 -4
  239. package/src/__tests__/template-manager.test.ts +222 -0
  240. package/src/__tests__/vault-extra-ops.test.ts +82 -7
  241. package/src/brain/brain.ts +71 -9
  242. package/src/brain/types.ts +2 -2
  243. package/src/cognee/client.ts +18 -0
  244. package/src/cognee/sync-manager.ts +389 -0
  245. package/src/curator/curator.ts +88 -7
  246. package/src/errors/classify.ts +102 -0
  247. package/src/errors/index.ts +5 -0
  248. package/src/errors/retry.ts +132 -0
  249. package/src/errors/types.ts +81 -0
  250. package/src/index.ts +114 -3
  251. package/src/intake/content-classifier.ts +146 -0
  252. package/src/intake/dedup-gate.ts +92 -0
  253. package/src/intake/intake-pipeline.ts +503 -0
  254. package/src/intake/types.ts +69 -0
  255. package/src/intelligence/loader.ts +1 -1
  256. package/src/intelligence/types.ts +3 -1
  257. package/src/loop/loop-manager.ts +325 -7
  258. package/src/loop/types.ts +72 -1
  259. package/src/persistence/index.ts +7 -0
  260. package/src/persistence/sqlite-provider.ts +62 -0
  261. package/src/persistence/types.ts +44 -0
  262. package/src/planning/gap-analysis.ts +286 -17
  263. package/src/planning/gap-types.ts +4 -1
  264. package/src/planning/planner.ts +828 -55
  265. package/src/playbooks/generic/brainstorming.ts +110 -0
  266. package/src/playbooks/generic/code-review.ts +181 -0
  267. package/src/playbooks/generic/subagent-execution.ts +74 -0
  268. package/src/playbooks/generic/systematic-debugging.ts +92 -0
  269. package/src/playbooks/generic/tdd.ts +75 -0
  270. package/src/playbooks/generic/verification.ts +79 -0
  271. package/src/playbooks/index.ts +27 -0
  272. package/src/playbooks/playbook-registry.ts +284 -0
  273. package/src/playbooks/playbook-seeder.ts +119 -0
  274. package/src/playbooks/playbook-types.ts +162 -0
  275. package/src/project/project-registry.ts +29 -17
  276. package/src/prompts/index.ts +3 -0
  277. package/src/prompts/parser.ts +59 -0
  278. package/src/prompts/template-manager.ts +77 -0
  279. package/src/prompts/types.ts +28 -0
  280. package/src/runtime/admin-extra-ops.ts +358 -13
  281. package/src/runtime/admin-ops.ts +17 -6
  282. package/src/runtime/capture-ops.ts +25 -6
  283. package/src/runtime/cognee-sync-ops.ts +63 -0
  284. package/src/runtime/core-ops.ts +258 -8
  285. package/src/runtime/curator-extra-ops.ts +17 -3
  286. package/src/runtime/domain-ops.ts +2 -2
  287. package/src/runtime/grading-ops.ts +11 -2
  288. package/src/runtime/intake-ops.ts +126 -0
  289. package/src/runtime/loop-ops.ts +96 -13
  290. package/src/runtime/memory-cross-project-ops.ts +1 -2
  291. package/src/runtime/memory-extra-ops.ts +5 -5
  292. package/src/runtime/orchestrate-ops.ts +8 -2
  293. package/src/runtime/planning-extra-ops.ts +414 -23
  294. package/src/runtime/playbook-ops.ts +169 -0
  295. package/src/runtime/project-ops.ts +9 -3
  296. package/src/runtime/runtime.ts +35 -9
  297. package/src/runtime/types.ts +8 -0
  298. package/src/runtime/vault-extra-ops.ts +385 -4
  299. package/src/vault/playbook.ts +87 -0
  300. package/src/vault/vault.ts +301 -235
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intake-pipeline.js","sourceRoot":"","sources":["../../src/intake/intake-pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ export type IntakeJobStatus = 'initialized' | 'processing' | 'completed' | 'failed' | 'cancelled';
2
+ export type IntakeChunkStatus = 'pending' | 'processing' | 'completed' | 'failed' | 'skipped';
3
+ export type KnowledgeType = 'pattern' | 'anti-pattern' | 'principle' | 'concept' | 'reference' | 'workflow' | 'idea' | 'roadmap';
4
+ export interface IntakeConfig {
5
+ pdfPath: string;
6
+ title: string;
7
+ author?: string;
8
+ domain: string;
9
+ chunkPageSize?: number;
10
+ tags?: string[];
11
+ }
12
+ export interface IntakeChunk {
13
+ id: number;
14
+ jobId: string;
15
+ chunkIndex: number;
16
+ title: string | null;
17
+ pageStart: number;
18
+ pageEnd: number;
19
+ status: IntakeChunkStatus;
20
+ itemsExtracted: number;
21
+ itemsStored: number;
22
+ itemsDeduped: number;
23
+ error: string | null;
24
+ processedAt: number | null;
25
+ }
26
+ export interface ClassifiedItem {
27
+ type: KnowledgeType;
28
+ title: string;
29
+ description: string;
30
+ tags: string[];
31
+ severity: 'critical' | 'warning' | 'suggestion';
32
+ citation: string;
33
+ }
34
+ export interface IntakeJobRecord {
35
+ id: string;
36
+ status: IntakeJobStatus;
37
+ config: IntakeConfig;
38
+ pdfMeta: {
39
+ totalPages: number;
40
+ fileHash: string;
41
+ fileSize: number;
42
+ } | null;
43
+ toc: Array<{
44
+ title: string;
45
+ page: number;
46
+ }> | null;
47
+ stats: {
48
+ itemsExtracted: number;
49
+ itemsStored: number;
50
+ itemsDeduped: number;
51
+ itemsFailed: number;
52
+ } | null;
53
+ createdAt: number;
54
+ updatedAt: number;
55
+ completedAt: number | null;
56
+ }
57
+ export interface IntakePreviewResult {
58
+ items: ClassifiedItem[];
59
+ chunkText: string;
60
+ pageRange: {
61
+ start: number;
62
+ end: number;
63
+ };
64
+ }
65
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/intake/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAClG,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC9F,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,cAAc,GACd,WAAW,GACX,SAAS,GACT,WAAW,GACX,UAAU,GACV,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;IAChD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3E,GAAG,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IACnD,KAAK,EAAE;QACL,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,IAAI,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C"}
@@ -0,0 +1,3 @@
1
+ // ─── Intake Pipeline Types ────────────────────────────────────────
2
+ export {};
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/intake/types.ts"],"names":[],"mappings":"AAAA,qEAAqE"}
@@ -30,7 +30,7 @@ export function loadIntelligenceData(dataDir) {
30
30
  function validateEntry(entry) {
31
31
  return (typeof entry.id === 'string' &&
32
32
  entry.id.length > 0 &&
33
- ['pattern', 'anti-pattern', 'rule'].includes(entry.type) &&
33
+ ['pattern', 'anti-pattern', 'rule', 'playbook'].includes(entry.type) &&
34
34
  typeof entry.title === 'string' &&
35
35
  entry.title.length > 0 &&
36
36
  typeof entry.description === 'string' &&
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/intelligence/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,yCAAyC,GAAG,OAAO,CAAC,CAAC;QAClE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBAAE,SAAS;YAChE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,aAAa,CAAC,KAAK,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,KAAwB;IAC7C,OAAO,CACL,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QACxD,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QACtB,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAC5B,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9D,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAC1B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/intelligence/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,yCAAyC,GAAG,OAAO,CAAC,CAAC;QAClE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBAAE,SAAS;YAChE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,aAAa,CAAC,KAAK,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,KAAwB;IAC7C,OAAO,CACL,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QACpE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QACtB,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAC5B,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9D,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAC1B,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export interface IntelligenceEntry {
2
2
  id: string;
3
- type: 'pattern' | 'anti-pattern' | 'rule';
3
+ type: 'pattern' | 'anti-pattern' | 'rule' | 'playbook';
4
4
  domain: string;
5
5
  title: string;
6
6
  severity: 'critical' | 'warning' | 'suggestion';
@@ -11,6 +11,8 @@ export interface IntelligenceEntry {
11
11
  why?: string;
12
12
  tags: string[];
13
13
  appliesTo?: string[];
14
+ validFrom?: number;
15
+ validUntil?: number;
14
16
  }
15
17
  export interface IntelligenceBundle {
16
18
  domain: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/intelligence/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,cAAc,GAAG,MAAM,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/intelligence/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,cAAc,GAAG,MAAM,GAAG,UAAU,CAAC;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B"}
@@ -1,23 +1,52 @@
1
1
  /**
2
- * Loop manager — lightweight in-memory state tracker for iterative
3
- * validation loops.
2
+ * Loop manager — iterative validation loop state tracking with
3
+ * output scanning and gate decision system.
4
4
  *
5
- * Tracks active loop, iteration history, and past loop results.
6
- * Session-scoped (no persistence across restarts).
5
+ * Ported from Salvador's loop.facade.ts with:
6
+ * - Promise tag extraction (<promise>...</promise>)
7
+ * - 5-tier heuristic completion detection
8
+ * - Gate decision pattern (allow/block) for Stop hook integration
9
+ * - Knowledge tracking for brain session recording
10
+ *
11
+ * Session-scoped (in-memory). Persistence is optional via external store.
12
+ */
13
+ import type { LoopConfig, LoopIteration, LoopMode, LoopState, LoopKnowledge, LoopHistoryEntry, LoopIterateDecision } from './types.js';
14
+ /**
15
+ * Extract text between <promise>...</promise> tags from output.
16
+ * Ported from Salvador's extractPromise.
17
+ */
18
+ export declare function extractPromise(text: string): string | null;
19
+ /**
20
+ * 5-tier heuristic completion detection.
21
+ * Returns a reason string if completion is detected, null otherwise.
22
+ * Ported from Salvador's detectImplicitCompletion.
23
+ *
24
+ * Tiers:
25
+ * 1. Validation tool score (token-migration, component-build)
26
+ * 2. Contrast mode — all PASS, no FAIL
27
+ * 3. Plan mode — grade meets target
28
+ * 4. Completion language + file modification signals (requires BOTH)
29
+ * 5. Test pass signals
30
+ */
31
+ export declare function detectImplicitCompletion(lastOutput: string, config: LoopConfig): string | null;
32
+ /**
33
+ * Detect anomalous loop iteration patterns.
34
+ * Flags fast + low-score combos that suggest the agent is spinning without making progress.
7
35
  */
8
- import type { LoopConfig, LoopIteration, LoopState } from './types.js';
36
+ export declare function detectAnomaly(iteration: LoopIteration, mode: LoopMode): string | null;
9
37
  export declare class LoopManager {
10
38
  private activeLoop;
11
39
  private completedLoops;
40
+ private historyEntries;
12
41
  /**
13
42
  * Start a new validation loop.
14
43
  * Throws if a loop is already active.
15
44
  */
16
45
  startLoop(config: LoopConfig): LoopState;
17
46
  /**
18
- * Record an iteration result on the active loop.
47
+ * Record an iteration result on the active loop (simple API).
19
48
  * If the iteration passes, the loop status is NOT automatically changed —
20
- * call `completeLoop()` explicitly when validation is confirmed.
49
+ * call completeLoop() explicitly when validation is confirmed.
21
50
  * If max iterations reached and this iteration fails, status becomes 'max-iterations'.
22
51
  */
23
52
  iterate(result: {
@@ -25,6 +54,20 @@ export declare class LoopManager {
25
54
  validationResult?: string;
26
55
  passed: boolean;
27
56
  }): LoopIteration;
57
+ /**
58
+ * Gate-based iteration — accepts LLM output and returns allow/block decision.
59
+ * Ported from Salvador's loop_iterate handler.
60
+ *
61
+ * This is the primary method for Stop hook integration:
62
+ * - Scans output for completion promise tags
63
+ * - Runs 5-tier heuristic completion detection
64
+ * - Returns 'block' with injected prompt/systemMessage for next iteration
65
+ * - Returns 'allow' when loop ends (completed, max_iterations)
66
+ *
67
+ * @param lastOutput - The LLM's last response to scan for completion signals
68
+ * @param knowledge - Optional knowledge items discovered during this iteration
69
+ */
70
+ iterateWithGate(lastOutput: string, knowledge?: LoopKnowledge, durationMs?: number): LoopIterateDecision;
28
71
  /**
29
72
  * Mark the active loop as completed (validation passed).
30
73
  */
@@ -41,9 +84,17 @@ export declare class LoopManager {
41
84
  * Get history of all completed/cancelled/max-iterations loops.
42
85
  */
43
86
  getHistory(): LoopState[];
87
+ /**
88
+ * Get structured history entries (for brain session recording).
89
+ */
90
+ getHistoryEntries(): LoopHistoryEntry[];
44
91
  /**
45
92
  * Check if a loop is currently active.
46
93
  */
47
94
  isActive(): boolean;
95
+ /**
96
+ * Move active loop to history entries.
97
+ */
98
+ private moveToHistory;
48
99
  }
49
100
  //# sourceMappingURL=loop-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop-manager.d.ts","sourceRoot":"","sources":["../../src/loop/loop-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvE,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,cAAc,CAAmB;IAEzC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS;IAoBxC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,MAAM,EAAE,OAAO,CAAC;KACjB,GAAG,aAAa;IA6BjB;;OAEG;IACH,YAAY,IAAI,SAAS;IAazB;;OAEG;IACH,UAAU,IAAI,SAAS;IAavB;;OAEG;IACH,SAAS,IAAI,SAAS,GAAG,IAAI;IAI7B;;OAEG;IACH,UAAU,IAAI,SAAS,EAAE;IAIzB;;OAEG;IACH,QAAQ,IAAI,OAAO;CAGpB"}
1
+ {"version":3,"file":"loop-manager.d.ts","sourceRoot":"","sources":["../../src/loop/loop-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAOpB;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAwD9F;AAgBD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAarF;AAID,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,cAAc,CAAmB;IACzC,OAAO,CAAC,cAAc,CAA0B;IAEhD;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS;IAoBxC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,MAAM,EAAE,OAAO,CAAC;KACjB,GAAG,aAAa;IA8BjB;;;;;;;;;;;;OAYG;IACH,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,aAAa,EACzB,UAAU,CAAC,EAAE,MAAM,GAClB,mBAAmB;IA4ItB;;OAEG;IACH,YAAY,IAAI,SAAS;IAczB;;OAEG;IACH,UAAU,IAAI,SAAS;IAcvB;;OAEG;IACH,SAAS,IAAI,SAAS,GAAG,IAAI;IAI7B;;OAEG;IACH,UAAU,IAAI,SAAS,EAAE;IAIzB;;OAEG;IACH,iBAAiB,IAAI,gBAAgB,EAAE;IAIvC;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,OAAO,CAAC,aAAa;CAatB"}
@@ -1,13 +1,121 @@
1
1
  /**
2
- * Loop manager — lightweight in-memory state tracker for iterative
3
- * validation loops.
2
+ * Loop manager — iterative validation loop state tracking with
3
+ * output scanning and gate decision system.
4
4
  *
5
- * Tracks active loop, iteration history, and past loop results.
6
- * Session-scoped (no persistence across restarts).
5
+ * Ported from Salvador's loop.facade.ts with:
6
+ * - Promise tag extraction (<promise>...</promise>)
7
+ * - 5-tier heuristic completion detection
8
+ * - Gate decision pattern (allow/block) for Stop hook integration
9
+ * - Knowledge tracking for brain session recording
10
+ *
11
+ * Session-scoped (in-memory). Persistence is optional via external store.
12
+ */
13
+ // ─── Grade ordering for plan-iteration mode ──────────────────────
14
+ const GRADE_ORDER = ['A+', 'A', 'B', 'C', 'D', 'F'];
15
+ // ─── Output Scanning ─────────────────────────────────────────────
16
+ /**
17
+ * Extract text between <promise>...</promise> tags from output.
18
+ * Ported from Salvador's extractPromise.
19
+ */
20
+ export function extractPromise(text) {
21
+ const match = /<promise>([\s\S]*?)<\/promise>/.exec(text);
22
+ if (!match)
23
+ return null;
24
+ return match[1].trim().replace(/\s+/g, ' ');
25
+ }
26
+ /**
27
+ * 5-tier heuristic completion detection.
28
+ * Returns a reason string if completion is detected, null otherwise.
29
+ * Ported from Salvador's detectImplicitCompletion.
30
+ *
31
+ * Tiers:
32
+ * 1. Validation tool score (token-migration, component-build)
33
+ * 2. Contrast mode — all PASS, no FAIL
34
+ * 3. Plan mode — grade meets target
35
+ * 4. Completion language + file modification signals (requires BOTH)
36
+ * 5. Test pass signals
37
+ */
38
+ export function detectImplicitCompletion(lastOutput, config) {
39
+ const text = lastOutput;
40
+ // 1. Validation tool score (token-migration, component-build)
41
+ if (config.mode === 'token-migration' || config.mode === 'component-build') {
42
+ const scoreMatch = /"score"\s*:\s*(\d+(?:\.\d+)?)/.exec(text);
43
+ if (scoreMatch) {
44
+ const score = parseFloat(scoreMatch[1]);
45
+ const target = config.targetScore ?? (config.mode === 'token-migration' ? 95 : 90);
46
+ if (score >= target) {
47
+ return `Auto-detected: validation score ${score} >= target ${target}`;
48
+ }
49
+ }
50
+ }
51
+ // 2. Contrast mode — all PASS, no FAIL
52
+ if (config.mode === 'contrast-fix') {
53
+ const hasPass = /\bPASS\b/i.test(text);
54
+ const hasFail = /\bFAIL\b/i.test(text);
55
+ if (hasPass && !hasFail) {
56
+ return 'Auto-detected: all contrast checks PASS, no FAIL';
57
+ }
58
+ }
59
+ // 3. Plan mode — grade meets target
60
+ if (config.mode === 'plan-iteration') {
61
+ const gradeMatch = /"grade"\s*:\s*"([A-F][+-]?)"/.exec(text);
62
+ if (gradeMatch) {
63
+ const grade = gradeMatch[1];
64
+ const target = config.targetGrade ?? 'A';
65
+ const gradeIdx = GRADE_ORDER.indexOf(grade);
66
+ const targetIdx = GRADE_ORDER.indexOf(target);
67
+ if (gradeIdx >= 0 && targetIdx >= 0 && gradeIdx <= targetIdx) {
68
+ return `Auto-detected: plan grade ${grade} >= target ${target}`;
69
+ }
70
+ }
71
+ }
72
+ // 4. Completion language + file modification signals (requires BOTH)
73
+ const completionPhrases = /\b(task complete|implementation finished|implementation complete|work complete|all done|changes complete|finished implementing|done implementing)\b/i;
74
+ const fileModPhrases = /\b(file modified|wrote to|saved to|created file|updated file|edited file|changes written)\b/i;
75
+ if (completionPhrases.test(text) && fileModPhrases.test(text)) {
76
+ return 'Auto-detected: completion language with file modification evidence';
77
+ }
78
+ // 5. Test pass signals
79
+ const testPass = /(\d+)\s+tests?\s+passed[,\s]+0\s+fail/i.test(text) ||
80
+ /\ball\s+tests?\s+(passing|passed)\b/i.test(text);
81
+ if (testPass) {
82
+ return 'Auto-detected: test suite passing';
83
+ }
84
+ return null;
85
+ }
86
+ // ─── Anomaly Detection ──────────────────────────────────────────
87
+ /**
88
+ * Minimum expected duration (ms) per mode.
89
+ * Iterations finishing faster than this with low scores are flagged as anomalous.
7
90
  */
91
+ const MIN_DURATION_MS = {
92
+ 'token-migration': 5000,
93
+ 'contrast-fix': 2000,
94
+ 'component-build': 5000,
95
+ 'plan-iteration': 3000,
96
+ custom: 0,
97
+ };
98
+ /**
99
+ * Detect anomalous loop iteration patterns.
100
+ * Flags fast + low-score combos that suggest the agent is spinning without making progress.
101
+ */
102
+ export function detectAnomaly(iteration, mode) {
103
+ const minDuration = MIN_DURATION_MS[mode];
104
+ if (minDuration === 0)
105
+ return null; // custom mode — no threshold
106
+ const duration = iteration.durationMs ?? 0;
107
+ const score = iteration.validationScore ?? 0;
108
+ // Flag: iteration completed very fast with a low score
109
+ if (duration > 0 && duration < minDuration && !iteration.passed && score < 50) {
110
+ return `Anomaly: iteration ${iteration.iteration} completed in ${duration}ms (min expected: ${minDuration}ms) with score ${score} — possible no-op loop`;
111
+ }
112
+ return null;
113
+ }
114
+ // ─── LoopManager ─────────────────────────────────────────────────
8
115
  export class LoopManager {
9
116
  activeLoop = null;
10
117
  completedLoops = [];
118
+ historyEntries = [];
11
119
  /**
12
120
  * Start a new validation loop.
13
121
  * Throws if a loop is already active.
@@ -28,9 +136,9 @@ export class LoopManager {
28
136
  return loop;
29
137
  }
30
138
  /**
31
- * Record an iteration result on the active loop.
139
+ * Record an iteration result on the active loop (simple API).
32
140
  * If the iteration passes, the loop status is NOT automatically changed —
33
- * call `completeLoop()` explicitly when validation is confirmed.
141
+ * call completeLoop() explicitly when validation is confirmed.
34
142
  * If max iterations reached and this iteration fails, status becomes 'max-iterations'.
35
143
  */
36
144
  iterate(result) {
@@ -50,11 +158,152 @@ export class LoopManager {
50
158
  this.activeLoop.iterations.length >= this.activeLoop.config.maxIterations) {
51
159
  this.activeLoop.status = 'max-iterations';
52
160
  this.activeLoop.completedAt = new Date().toISOString();
161
+ this.moveToHistory('max_iterations');
53
162
  this.completedLoops.push(this.activeLoop);
54
163
  this.activeLoop = null;
55
164
  }
56
165
  return iteration;
57
166
  }
167
+ /**
168
+ * Gate-based iteration — accepts LLM output and returns allow/block decision.
169
+ * Ported from Salvador's loop_iterate handler.
170
+ *
171
+ * This is the primary method for Stop hook integration:
172
+ * - Scans output for completion promise tags
173
+ * - Runs 5-tier heuristic completion detection
174
+ * - Returns 'block' with injected prompt/systemMessage for next iteration
175
+ * - Returns 'allow' when loop ends (completed, max_iterations)
176
+ *
177
+ * @param lastOutput - The LLM's last response to scan for completion signals
178
+ * @param knowledge - Optional knowledge items discovered during this iteration
179
+ */
180
+ iterateWithGate(lastOutput, knowledge, durationMs) {
181
+ if (!this.activeLoop) {
182
+ return { decision: 'allow', reason: 'No active loop' };
183
+ }
184
+ const config = this.activeLoop.config;
185
+ // Accumulate knowledge
186
+ if (knowledge) {
187
+ if (!this.activeLoop.knowledge) {
188
+ this.activeLoop.knowledge = {};
189
+ }
190
+ if (knowledge.items) {
191
+ this.activeLoop.knowledge.items = [
192
+ ...(this.activeLoop.knowledge.items ?? []),
193
+ ...knowledge.items,
194
+ ];
195
+ }
196
+ if (knowledge.patternsApplied) {
197
+ this.activeLoop.knowledge.patternsApplied = [
198
+ ...(this.activeLoop.knowledge.patternsApplied ?? []),
199
+ ...knowledge.patternsApplied,
200
+ ];
201
+ }
202
+ if (knowledge.antiPatternsAvoided) {
203
+ this.activeLoop.knowledge.antiPatternsAvoided = [
204
+ ...(this.activeLoop.knowledge.antiPatternsAvoided ?? []),
205
+ ...knowledge.antiPatternsAvoided,
206
+ ];
207
+ }
208
+ }
209
+ // Check for completion promise
210
+ if (config.completionPromise) {
211
+ const promiseText = extractPromise(lastOutput);
212
+ if (promiseText && promiseText === config.completionPromise) {
213
+ const iterCount = this.activeLoop.iterations.length;
214
+ this.activeLoop.status = 'completed';
215
+ this.activeLoop.completedAt = new Date().toISOString();
216
+ this.moveToHistory('completed');
217
+ this.completedLoops.push(this.activeLoop);
218
+ this.activeLoop = null;
219
+ return {
220
+ decision: 'allow',
221
+ reason: `Loop completed — promise "${config.completionPromise}" detected`,
222
+ outcome: 'completed',
223
+ iteration: iterCount,
224
+ };
225
+ }
226
+ }
227
+ // Heuristic completion detection
228
+ const autoReason = detectImplicitCompletion(lastOutput, config);
229
+ if (autoReason) {
230
+ const iterCount = this.activeLoop.iterations.length;
231
+ this.activeLoop.status = 'completed';
232
+ this.activeLoop.completedAt = new Date().toISOString();
233
+ this.moveToHistory('completed');
234
+ this.completedLoops.push(this.activeLoop);
235
+ this.activeLoop = null;
236
+ return {
237
+ decision: 'allow',
238
+ reason: autoReason,
239
+ outcome: 'completed',
240
+ iteration: iterCount,
241
+ autoCompleted: true,
242
+ };
243
+ }
244
+ // Check max iterations
245
+ if (config.maxIterations > 0 && this.activeLoop.iterations.length >= config.maxIterations) {
246
+ const iterCount = this.activeLoop.iterations.length;
247
+ this.activeLoop.status = 'max-iterations';
248
+ this.activeLoop.completedAt = new Date().toISOString();
249
+ this.moveToHistory('max_iterations');
250
+ this.completedLoops.push(this.activeLoop);
251
+ this.activeLoop = null;
252
+ return {
253
+ decision: 'allow',
254
+ reason: `Max iterations (${config.maxIterations}) reached`,
255
+ outcome: 'max_iterations',
256
+ iteration: iterCount,
257
+ };
258
+ }
259
+ // Continue loop — increment iteration
260
+ const nextIteration = this.activeLoop.iterations.length + 1;
261
+ const iterationEntry = {
262
+ iteration: nextIteration,
263
+ timestamp: new Date().toISOString(),
264
+ passed: false,
265
+ ...(durationMs !== undefined && { durationMs }),
266
+ };
267
+ this.activeLoop.iterations.push(iterationEntry);
268
+ // Run anomaly detection
269
+ const anomalyWarning = detectAnomaly(iterationEntry, config.mode);
270
+ // Build validation hint for system message
271
+ let validationHint = '';
272
+ switch (config.mode) {
273
+ case 'token-migration':
274
+ validationHint = `Run validation (tokens check). Target: score >= ${config.targetScore ?? 95}`;
275
+ break;
276
+ case 'contrast-fix':
277
+ validationHint = 'Run contrast check on all color pairs. Target: all PASS';
278
+ break;
279
+ case 'component-build':
280
+ validationHint = `Run validation (full check). Target: score >= ${config.targetScore ?? 90}`;
281
+ break;
282
+ case 'plan-iteration':
283
+ validationHint = `Run plan grading. Target: grade >= ${config.targetGrade ?? 'A'}`;
284
+ break;
285
+ case 'custom':
286
+ validationHint = 'Complete the task and validate your work';
287
+ break;
288
+ }
289
+ const maxDisplay = config.maxIterations > 0 ? String(config.maxIterations) : 'unlimited';
290
+ const systemMessage = `[Loop — Iteration ${nextIteration}/${maxDisplay} | Mode: ${config.mode}] ${validationHint}` +
291
+ (config.completionPromise
292
+ ? ` | Output <promise>${config.completionPromise}</promise> ONLY when validation passes`
293
+ : '');
294
+ // Build full prompt with validation instructions
295
+ const fullPrompt = config.validationInstructions
296
+ ? `${config.prompt}\n\n${config.validationInstructions}`
297
+ : config.prompt;
298
+ return {
299
+ decision: 'block',
300
+ reason: fullPrompt,
301
+ prompt: fullPrompt,
302
+ systemMessage,
303
+ iteration: nextIteration,
304
+ ...(anomalyWarning && { anomalyWarning }),
305
+ };
306
+ }
58
307
  /**
59
308
  * Mark the active loop as completed (validation passed).
60
309
  */
@@ -65,6 +314,7 @@ export class LoopManager {
65
314
  this.activeLoop.status = 'completed';
66
315
  this.activeLoop.completedAt = new Date().toISOString();
67
316
  const completed = this.activeLoop;
317
+ this.moveToHistory('completed');
68
318
  this.completedLoops.push(completed);
69
319
  this.activeLoop = null;
70
320
  return completed;
@@ -79,6 +329,7 @@ export class LoopManager {
79
329
  this.activeLoop.status = 'cancelled';
80
330
  this.activeLoop.completedAt = new Date().toISOString();
81
331
  const cancelled = this.activeLoop;
332
+ this.moveToHistory('cancelled');
82
333
  this.completedLoops.push(cancelled);
83
334
  this.activeLoop = null;
84
335
  return cancelled;
@@ -95,11 +346,34 @@ export class LoopManager {
95
346
  getHistory() {
96
347
  return [...this.completedLoops];
97
348
  }
349
+ /**
350
+ * Get structured history entries (for brain session recording).
351
+ */
352
+ getHistoryEntries() {
353
+ return [...this.historyEntries];
354
+ }
98
355
  /**
99
356
  * Check if a loop is currently active.
100
357
  */
101
358
  isActive() {
102
359
  return this.activeLoop !== null;
103
360
  }
361
+ /**
362
+ * Move active loop to history entries.
363
+ */
364
+ moveToHistory(outcome) {
365
+ if (!this.activeLoop)
366
+ return;
367
+ this.historyEntries.push({
368
+ id: this.activeLoop.id,
369
+ mode: this.activeLoop.config.mode,
370
+ intent: this.activeLoop.config.intent,
371
+ prompt: this.activeLoop.config.prompt,
372
+ iterations: this.activeLoop.iterations.length,
373
+ outcome,
374
+ startedAt: this.activeLoop.startedAt,
375
+ completedAt: this.activeLoop.completedAt ?? new Date().toISOString(),
376
+ });
377
+ }
104
378
  }
105
379
  //# sourceMappingURL=loop-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop-manager.js","sourceRoot":"","sources":["../../src/loop/loop-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-manager.js","sourceRoot":"","sources":["../../src/loop/loop-manager.ts"],"names":[],"mappings":"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"}