@hivehub/rulebook 5.7.0 → 5.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (600) hide show
  1. package/.claude/commands/analysis.md +35 -35
  2. package/.claude/commands/continue.md +33 -33
  3. package/.claude/commands/rulebook-decision-create.md +55 -55
  4. package/.claude/commands/rulebook-decision-list.md +15 -15
  5. package/.claude/commands/rulebook-knowledge-add.md +41 -41
  6. package/.claude/commands/rulebook-knowledge-list.md +15 -15
  7. package/.claude/commands/rulebook-memory-save.md +48 -48
  8. package/.claude/commands/rulebook-memory-search.md +47 -47
  9. package/.claude/commands/rulebook-task-apply.md +67 -67
  10. package/.claude/commands/rulebook-task-archive.md +94 -94
  11. package/.claude/commands/rulebook-task-create.md +93 -93
  12. package/.claude/commands/rulebook-task-list.md +42 -42
  13. package/.claude/commands/rulebook-task-show.md +52 -52
  14. package/.claude/commands/rulebook-task-validate.md +53 -53
  15. package/.claude-plugin/marketplace.json +28 -28
  16. package/.claude-plugin/plugin.json +8 -8
  17. package/README.md +86 -0
  18. package/dist/cli/commands/claude.d.ts +17 -0
  19. package/dist/cli/commands/claude.d.ts.map +1 -0
  20. package/dist/cli/commands/claude.js +56 -0
  21. package/dist/cli/commands/claude.js.map +1 -0
  22. package/dist/cli/commands/init.d.ts.map +1 -1
  23. package/dist/cli/commands/init.js +18 -2
  24. package/dist/cli/commands/init.js.map +1 -1
  25. package/dist/cli/commands/update.d.ts.map +1 -1
  26. package/dist/cli/commands/update.js +6 -1
  27. package/dist/cli/commands/update.js.map +1 -1
  28. package/dist/cli/prompts.d.ts +13 -0
  29. package/dist/cli/prompts.d.ts.map +1 -1
  30. package/dist/cli/prompts.js +106 -0
  31. package/dist/cli/prompts.js.map +1 -1
  32. package/dist/core/claude/claude-mcp.d.ts +10 -1
  33. package/dist/core/claude/claude-mcp.d.ts.map +1 -1
  34. package/dist/core/claude/claude-mcp.js +48 -2
  35. package/dist/core/claude/claude-mcp.js.map +1 -1
  36. package/dist/core/claude/claude-settings-manager.d.ts +12 -0
  37. package/dist/core/claude/claude-settings-manager.d.ts.map +1 -1
  38. package/dist/core/claude/claude-settings-manager.js +59 -3
  39. package/dist/core/claude/claude-settings-manager.js.map +1 -1
  40. package/dist/core/detect/detector.d.ts +8 -1
  41. package/dist/core/detect/detector.d.ts.map +1 -1
  42. package/dist/core/detect/detector.js +225 -0
  43. package/dist/core/detect/detector.js.map +1 -1
  44. package/dist/core/detect/library-registry.d.ts +40 -0
  45. package/dist/core/detect/library-registry.d.ts.map +1 -0
  46. package/dist/core/detect/library-registry.js +239 -0
  47. package/dist/core/detect/library-registry.js.map +1 -0
  48. package/dist/core/generators/generator.d.ts +2 -1
  49. package/dist/core/generators/generator.d.ts.map +1 -1
  50. package/dist/core/generators/generator.js +38 -1
  51. package/dist/core/generators/generator.js.map +1 -1
  52. package/dist/core/generators/rules-generator.d.ts +1 -5
  53. package/dist/core/generators/rules-generator.d.ts.map +1 -1
  54. package/dist/core/generators/rules-generator.js +40 -1
  55. package/dist/core/generators/rules-generator.js.map +1 -1
  56. package/dist/index.js +12 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/mcp/rulebook-server.js +0 -0
  59. package/dist/types.d.ts +13 -0
  60. package/dist/types.d.ts.map +1 -1
  61. package/package.json +23 -22
  62. package/templates/agents/accessibility-reviewer.md +43 -43
  63. package/templates/agents/api-designer.md +42 -42
  64. package/templates/agents/architect.md +51 -51
  65. package/templates/agents/build-engineer.md +36 -36
  66. package/templates/agents/code-reviewer.md +47 -47
  67. package/templates/agents/compiler/codegen-debugger.md +34 -34
  68. package/templates/agents/compiler/stdlib-engineer.md +28 -28
  69. package/templates/agents/compiler/test-coverage-guardian.md +31 -31
  70. package/templates/agents/database-architect.md +41 -41
  71. package/templates/agents/devops-engineer.md +42 -42
  72. package/templates/agents/docs-writer.md +38 -38
  73. package/templates/agents/game-engine/cpp-core-expert.md +35 -35
  74. package/templates/agents/game-engine/render-engineer.md +22 -22
  75. package/templates/agents/game-engine/shader-engineer.md +38 -38
  76. package/templates/agents/game-engine/systems-integration.md +43 -43
  77. package/templates/agents/generic/code-reviewer.md +41 -41
  78. package/templates/agents/generic/docs-writer.md +25 -25
  79. package/templates/agents/generic/project-manager.md +36 -36
  80. package/templates/agents/generic/researcher.md +34 -34
  81. package/templates/agents/generic/test-engineer.md +41 -41
  82. package/templates/agents/i18n-engineer.md +42 -42
  83. package/templates/agents/implementer.md +42 -42
  84. package/templates/agents/migration-engineer.md +42 -42
  85. package/templates/agents/mobile/platform-specialist.md +22 -22
  86. package/templates/agents/mobile/ui-engineer.md +22 -22
  87. package/templates/agents/performance-engineer.md +49 -49
  88. package/templates/agents/project-manager.md +217 -0
  89. package/templates/agents/quality-gatekeeper.md +208 -0
  90. package/templates/agents/refactoring-agent.md +41 -41
  91. package/templates/agents/researcher.md +38 -38
  92. package/templates/agents/security-reviewer.md +40 -40
  93. package/templates/agents/team-lead.md +37 -37
  94. package/templates/agents/tester.md +48 -48
  95. package/templates/agents/ux-reviewer.md +43 -43
  96. package/templates/agents/web-app/api-designer.md +22 -22
  97. package/templates/agents/web-app/backend-engineer.md +30 -30
  98. package/templates/agents/web-app/database-engineer.md +22 -22
  99. package/templates/agents/web-app/frontend-engineer.md +29 -29
  100. package/templates/agents/web-app/security-reviewer.md +32 -32
  101. package/templates/ci/rulebook-review.yml +26 -26
  102. package/templates/claude-workflows/bugfix.js +94 -0
  103. package/templates/claude-workflows/feature-pipeline.js +88 -0
  104. package/templates/claude-workflows/release-gate.js +64 -0
  105. package/templates/claude-workflows/review-fanout.js +125 -0
  106. package/templates/claude-workflows/rulebook-driver.js +382 -0
  107. package/templates/claude-workflows/spec-author.js +133 -0
  108. package/templates/cli/AIDER.md +49 -49
  109. package/templates/cli/AMAZON_Q.md +25 -25
  110. package/templates/cli/AUGGIE.md +32 -32
  111. package/templates/cli/CLAUDE.md +117 -117
  112. package/templates/cli/CLINE.md +99 -99
  113. package/templates/cli/CODEBUDDY.md +20 -20
  114. package/templates/cli/CODEIUM.md +20 -20
  115. package/templates/cli/CODEX.md +21 -21
  116. package/templates/cli/CONTINUE.md +34 -34
  117. package/templates/cli/CURSOR_CLI.md +62 -62
  118. package/templates/cli/FACTORY.md +18 -18
  119. package/templates/cli/GEMINI.md +35 -35
  120. package/templates/cli/KILOCODE.md +18 -18
  121. package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
  122. package/templates/commands/rulebook-decision-create.md +55 -55
  123. package/templates/commands/rulebook-decision-list.md +15 -15
  124. package/templates/commands/rulebook-knowledge-add.md +41 -41
  125. package/templates/commands/rulebook-knowledge-list.md +15 -15
  126. package/templates/commands/rulebook-memory-save.md +48 -48
  127. package/templates/commands/rulebook-memory-search.md +47 -47
  128. package/templates/commands/rulebook-task-apply.md +67 -67
  129. package/templates/commands/rulebook-task-archive.md +94 -94
  130. package/templates/commands/rulebook-task-create.md +93 -93
  131. package/templates/commands/rulebook-task-list.md +42 -42
  132. package/templates/commands/rulebook-task-show.md +52 -52
  133. package/templates/commands/rulebook-task-validate.md +53 -53
  134. package/templates/compact-context/_default.md +23 -23
  135. package/templates/compact-context/cpp.md +26 -26
  136. package/templates/compact-context/go.md +26 -26
  137. package/templates/compact-context/python.md +26 -26
  138. package/templates/compact-context/rust.md +28 -28
  139. package/templates/compact-context/typescript.md +29 -29
  140. package/templates/core/AGENTS_OVERRIDE.md +16 -16
  141. package/templates/core/AGENT_AUTOMATION.md +296 -296
  142. package/templates/core/CLAUDE_MD_v2.md +90 -90
  143. package/templates/core/DAG.md +304 -304
  144. package/templates/core/DECISIONS.md +38 -38
  145. package/templates/core/DOCUMENTATION_RULES.md +36 -36
  146. package/templates/core/KNOWLEDGE.md +49 -49
  147. package/templates/core/MULTI_AGENT.md +74 -74
  148. package/templates/core/PLANS.md +28 -28
  149. package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
  150. package/templates/core/RULEBOOK.md +1947 -1947
  151. package/templates/core/TIER1_PROHIBITIONS.md +154 -154
  152. package/templates/core/TOKEN_OPTIMIZATION.md +49 -49
  153. package/templates/git/CI_CD_PATTERNS.md +661 -661
  154. package/templates/git/GITHUB_ACTIONS.md +728 -728
  155. package/templates/git/GITLAB_CI.md +730 -730
  156. package/templates/git/GIT_WORKFLOW.md +1192 -1192
  157. package/templates/git/SECRETS_MANAGEMENT.md +585 -585
  158. package/templates/hooks/COMMIT_MSG.md +530 -530
  159. package/templates/hooks/POST_CHECKOUT.md +546 -546
  160. package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
  161. package/templates/hooks/PRE_COMMIT.md +414 -414
  162. package/templates/hooks/PRE_PUSH.md +601 -601
  163. package/templates/hooks/check-context-and-handoff.sh +16 -6
  164. package/templates/hooks/update-check.ps1 +84 -0
  165. package/templates/hooks/update-check.sh +103 -0
  166. package/templates/ides/CONTINUE_RULES.md +16 -16
  167. package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
  168. package/templates/ides/GEMINI_RULES.md +17 -17
  169. package/templates/ides/WINDSURF_RULES.md +14 -14
  170. package/templates/languages/C.md +333 -333
  171. package/templates/languages/CPP.md +743 -743
  172. package/templates/languages/CSHARP.md +417 -417
  173. package/templates/languages/ELIXIR.md +454 -454
  174. package/templates/languages/ERLANG.md +361 -361
  175. package/templates/languages/GO.md +645 -645
  176. package/templates/languages/HASKELL.md +177 -177
  177. package/templates/languages/JAVA.md +607 -607
  178. package/templates/languages/JAVASCRIPT.md +631 -631
  179. package/templates/languages/JULIA.md +97 -97
  180. package/templates/languages/KOTLIN.md +511 -511
  181. package/templates/languages/LISP.md +100 -100
  182. package/templates/languages/LUA.md +74 -74
  183. package/templates/languages/OBJECTIVEC.md +90 -90
  184. package/templates/languages/PHP.md +416 -416
  185. package/templates/languages/PYTHON.md +682 -682
  186. package/templates/languages/RUBY.md +421 -421
  187. package/templates/languages/RUST.md +477 -477
  188. package/templates/languages/SAS.md +73 -73
  189. package/templates/languages/SCALA.md +348 -348
  190. package/templates/languages/SOLIDITY.md +580 -580
  191. package/templates/languages/SQL.md +137 -137
  192. package/templates/languages/SWIFT.md +466 -466
  193. package/templates/languages/TYPESCRIPT.md +591 -591
  194. package/templates/languages/ZIG.md +265 -265
  195. package/templates/libraries/go/ECHO.md +18 -0
  196. package/templates/libraries/go/GIN.md +18 -0
  197. package/templates/libraries/go/GORM.md +18 -0
  198. package/templates/libraries/python/DJANGO.md +18 -0
  199. package/templates/libraries/python/FASTAPI.md +18 -0
  200. package/templates/libraries/python/FLASK.md +17 -0
  201. package/templates/libraries/python/PYDANTIC.md +17 -0
  202. package/templates/libraries/python/PYTEST.md +17 -0
  203. package/templates/libraries/python/SQLALCHEMY.md +17 -0
  204. package/templates/libraries/rust/ACTIX.md +17 -0
  205. package/templates/libraries/rust/AXUM.md +18 -0
  206. package/templates/libraries/rust/SERDE.md +16 -0
  207. package/templates/libraries/rust/SQLX.md +17 -0
  208. package/templates/libraries/rust/TOKIO.md +16 -0
  209. package/templates/libraries/typescript/ANGULAR.md +17 -0
  210. package/templates/libraries/typescript/DRIZZLE.md +16 -0
  211. package/templates/libraries/typescript/EXPRESS.md +17 -0
  212. package/templates/libraries/typescript/HEROUI.md +16 -0
  213. package/templates/libraries/typescript/JEST.md +17 -0
  214. package/templates/libraries/typescript/NESTJS.md +17 -0
  215. package/templates/libraries/typescript/NEXT.md +18 -0
  216. package/templates/libraries/typescript/PRISMA.md +16 -0
  217. package/templates/libraries/typescript/RADIX.md +16 -0
  218. package/templates/libraries/typescript/REACT.md +18 -0
  219. package/templates/libraries/typescript/SHADCN.md +16 -0
  220. package/templates/libraries/typescript/SVELTE.md +16 -0
  221. package/templates/libraries/typescript/TAILWIND.md +16 -0
  222. package/templates/libraries/typescript/TRPC.md +16 -0
  223. package/templates/libraries/typescript/VITEST.md +17 -0
  224. package/templates/libraries/typescript/VUE.md +17 -0
  225. package/templates/libraries/typescript/ZOD.md +17 -0
  226. package/templates/modules/ATLASSIAN.md +255 -255
  227. package/templates/modules/CONTEXT7.md +54 -54
  228. package/templates/modules/FIGMA.md +267 -267
  229. package/templates/modules/GITHUB_MCP.md +64 -64
  230. package/templates/modules/GRAFANA.md +328 -328
  231. package/templates/modules/MEMORY.md +126 -126
  232. package/templates/modules/NOTION.md +247 -247
  233. package/templates/modules/PLAYWRIGHT.md +90 -90
  234. package/templates/modules/RULEBOOK_MCP.md +208 -208
  235. package/templates/modules/SERENA.md +337 -337
  236. package/templates/modules/SUPABASE.md +223 -223
  237. package/templates/modules/SYNAP.md +69 -69
  238. package/templates/modules/VECTORIZER.md +63 -63
  239. package/templates/modules/sequential-thinking.md +42 -42
  240. package/templates/rules/consult-analysis-before-implementing.md +23 -23
  241. package/templates/rules/cpp.md +46 -46
  242. package/templates/rules/csharp.md +44 -44
  243. package/templates/rules/diagnostic-first.md +39 -39
  244. package/templates/rules/fail-twice-escalate.md +46 -46
  245. package/templates/rules/follow-task-sequence.md +36 -36
  246. package/templates/rules/git-safety.md +29 -29
  247. package/templates/rules/go.md +40 -40
  248. package/templates/rules/incremental-implementation.md +56 -56
  249. package/templates/rules/incremental-tests.md +29 -29
  250. package/templates/rules/java.md +43 -43
  251. package/templates/rules/javascript.md +39 -39
  252. package/templates/rules/knowledge-base-usage.md +41 -41
  253. package/templates/rules/multi-agent-teams.md +75 -75
  254. package/templates/rules/no-deferred.md +31 -31
  255. package/templates/rules/no-shortcuts.md +30 -30
  256. package/templates/rules/python.md +43 -43
  257. package/templates/rules/research-first.md +30 -30
  258. package/templates/rules/respect-handoff-trigger.md +41 -41
  259. package/templates/rules/rust.md +40 -40
  260. package/templates/rules/sequential-editing.md +21 -21
  261. package/templates/rules/session-workflow.md +24 -24
  262. package/templates/rules/task-decomposition.md +32 -32
  263. package/templates/rules/typescript.md +40 -40
  264. package/templates/skills/cli/aider/SKILL.md +59 -59
  265. package/templates/skills/cli/amazon-q/SKILL.md +35 -35
  266. package/templates/skills/cli/auggie/SKILL.md +42 -42
  267. package/templates/skills/cli/claude/SKILL.md +42 -42
  268. package/templates/skills/cli/cline/SKILL.md +42 -42
  269. package/templates/skills/cli/codebuddy/SKILL.md +30 -30
  270. package/templates/skills/cli/codeium/SKILL.md +30 -30
  271. package/templates/skills/cli/codex/SKILL.md +31 -31
  272. package/templates/skills/cli/continue/SKILL.md +44 -44
  273. package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
  274. package/templates/skills/cli/factory/SKILL.md +28 -28
  275. package/templates/skills/cli/gemini/SKILL.md +45 -45
  276. package/templates/skills/cli/kilocode/SKILL.md +28 -28
  277. package/templates/skills/core/agent-automation/SKILL.md +194 -194
  278. package/templates/skills/core/dag/SKILL.md +314 -314
  279. package/templates/skills/core/documentation-rules/SKILL.md +46 -46
  280. package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
  281. package/templates/skills/core/rulebook/SKILL.md +176 -176
  282. package/templates/skills/core/rulebook-terse/SKILL.md +116 -116
  283. package/templates/skills/core/rulebook-terse-commit/SKILL.md +96 -96
  284. package/templates/skills/core/rulebook-terse-review/SKILL.md +112 -112
  285. package/templates/skills/dev/accessibility/SKILL.md +17 -17
  286. package/templates/skills/dev/analysis/SKILL.md +19 -19
  287. package/templates/skills/dev/api-design/SKILL.md +15 -15
  288. package/templates/skills/dev/architect/SKILL.md +17 -17
  289. package/templates/skills/dev/build-fix/SKILL.md +17 -17
  290. package/templates/skills/dev/db-design/SKILL.md +15 -15
  291. package/templates/skills/dev/debug/SKILL.md +16 -16
  292. package/templates/skills/dev/deploy/SKILL.md +17 -17
  293. package/templates/skills/dev/docs/SKILL.md +17 -17
  294. package/templates/skills/dev/handoff/SKILL.md +27 -27
  295. package/templates/skills/dev/migrate/SKILL.md +15 -15
  296. package/templates/skills/dev/perf/SKILL.md +17 -17
  297. package/templates/skills/dev/refactor/SKILL.md +17 -17
  298. package/templates/skills/dev/research/SKILL.md +14 -14
  299. package/templates/skills/dev/review/SKILL.md +18 -18
  300. package/templates/skills/dev/security-audit/SKILL.md +17 -17
  301. package/templates/skills/dev/spec/SKILL.md +65 -0
  302. package/templates/skills/ides/copilot/SKILL.md +47 -47
  303. package/templates/skills/ides/cursor/SKILL.md +53 -53
  304. package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
  305. package/templates/skills/ides/replit/SKILL.md +46 -46
  306. package/templates/skills/ides/tabnine/SKILL.md +39 -39
  307. package/templates/skills/ides/vscode/SKILL.md +50 -50
  308. package/templates/skills/ides/windsurf/SKILL.md +46 -46
  309. package/templates/skills/ides/zed/SKILL.md +42 -42
  310. package/templates/skills/languages/c/SKILL.md +343 -343
  311. package/templates/skills/languages/cpp/SKILL.md +753 -753
  312. package/templates/skills/languages/csharp/SKILL.md +427 -427
  313. package/templates/skills/languages/elixir/SKILL.md +464 -464
  314. package/templates/skills/languages/erlang/SKILL.md +371 -371
  315. package/templates/skills/languages/go/SKILL.md +655 -655
  316. package/templates/skills/languages/haskell/SKILL.md +187 -187
  317. package/templates/skills/languages/java/SKILL.md +617 -617
  318. package/templates/skills/languages/javascript/SKILL.md +641 -641
  319. package/templates/skills/languages/julia/SKILL.md +107 -107
  320. package/templates/skills/languages/kotlin/SKILL.md +521 -521
  321. package/templates/skills/languages/lisp/SKILL.md +110 -110
  322. package/templates/skills/languages/lua/SKILL.md +84 -84
  323. package/templates/skills/languages/objectivec/SKILL.md +100 -100
  324. package/templates/skills/languages/php/SKILL.md +426 -426
  325. package/templates/skills/languages/python/SKILL.md +692 -692
  326. package/templates/skills/languages/ruby/SKILL.md +431 -431
  327. package/templates/skills/languages/rust/SKILL.md +487 -487
  328. package/templates/skills/languages/sas/SKILL.md +83 -83
  329. package/templates/skills/languages/scala/SKILL.md +358 -358
  330. package/templates/skills/languages/solidity/SKILL.md +590 -590
  331. package/templates/skills/languages/sql/SKILL.md +147 -147
  332. package/templates/skills/languages/swift/SKILL.md +476 -476
  333. package/templates/skills/languages/typescript/SKILL.md +302 -302
  334. package/templates/skills/languages/zig/SKILL.md +275 -275
  335. package/templates/skills/modules/atlassian/SKILL.md +265 -265
  336. package/templates/skills/modules/context7/SKILL.md +64 -64
  337. package/templates/skills/modules/figma/SKILL.md +277 -277
  338. package/templates/skills/modules/github-mcp/SKILL.md +74 -74
  339. package/templates/skills/modules/grafana/SKILL.md +338 -338
  340. package/templates/skills/modules/memory/SKILL.md +73 -73
  341. package/templates/skills/modules/notion/SKILL.md +257 -257
  342. package/templates/skills/modules/playwright/SKILL.md +100 -100
  343. package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
  344. package/templates/skills/modules/serena/SKILL.md +347 -347
  345. package/templates/skills/modules/supabase/SKILL.md +233 -233
  346. package/templates/skills/modules/synap/SKILL.md +79 -79
  347. package/templates/skills/modules/vectorizer/SKILL.md +73 -73
  348. package/templates/workflows/typescript-test.yml +9 -3
  349. package/dist/agents/ralph-parser.d.ts +0 -91
  350. package/dist/agents/ralph-parser.d.ts.map +0 -1
  351. package/dist/agents/ralph-parser.js +0 -415
  352. package/dist/agents/ralph-parser.js.map +0 -1
  353. package/dist/cli/commands/analysis.d.ts +0 -8
  354. package/dist/cli/commands/analysis.d.ts.map +0 -1
  355. package/dist/cli/commands/analysis.js +0 -78
  356. package/dist/cli/commands/analysis.js.map +0 -1
  357. package/dist/cli/commands/compress.d.ts +0 -18
  358. package/dist/cli/commands/compress.d.ts.map +0 -1
  359. package/dist/cli/commands/compress.js +0 -100
  360. package/dist/cli/commands/compress.js.map +0 -1
  361. package/dist/cli/commands/ralph.d.ts +0 -45
  362. package/dist/cli/commands/ralph.d.ts.map +0 -1
  363. package/dist/cli/commands/ralph.js +0 -694
  364. package/dist/cli/commands/ralph.js.map +0 -1
  365. package/dist/cli/docs-prompts.d.ts +0 -3
  366. package/dist/cli/docs-prompts.d.ts.map +0 -1
  367. package/dist/cli/docs-prompts.js +0 -45
  368. package/dist/cli/docs-prompts.js.map +0 -1
  369. package/dist/core/agent-manager.d.ts +0 -69
  370. package/dist/core/agent-manager.d.ts.map +0 -1
  371. package/dist/core/agent-manager.js +0 -476
  372. package/dist/core/agent-manager.js.map +0 -1
  373. package/dist/core/agent-template-engine.d.ts +0 -51
  374. package/dist/core/agent-template-engine.d.ts.map +0 -1
  375. package/dist/core/agent-template-engine.js +0 -291
  376. package/dist/core/agent-template-engine.js.map +0 -1
  377. package/dist/core/analysis-manager.d.ts +0 -56
  378. package/dist/core/analysis-manager.d.ts.map +0 -1
  379. package/dist/core/analysis-manager.js +0 -218
  380. package/dist/core/analysis-manager.js.map +0 -1
  381. package/dist/core/auto-fixer.d.ts +0 -14
  382. package/dist/core/auto-fixer.d.ts.map +0 -1
  383. package/dist/core/auto-fixer.js +0 -207
  384. package/dist/core/auto-fixer.js.map +0 -1
  385. package/dist/core/changelog-generator.d.ts +0 -44
  386. package/dist/core/changelog-generator.d.ts.map +0 -1
  387. package/dist/core/changelog-generator.js +0 -222
  388. package/dist/core/changelog-generator.js.map +0 -1
  389. package/dist/core/claude-mcp.d.ts +0 -59
  390. package/dist/core/claude-mcp.d.ts.map +0 -1
  391. package/dist/core/claude-mcp.js +0 -220
  392. package/dist/core/claude-mcp.js.map +0 -1
  393. package/dist/core/claude-md-generator.d.ts +0 -52
  394. package/dist/core/claude-md-generator.d.ts.map +0 -1
  395. package/dist/core/claude-md-generator.js +0 -104
  396. package/dist/core/claude-md-generator.js.map +0 -1
  397. package/dist/core/claude-settings-manager.d.ts +0 -44
  398. package/dist/core/claude-settings-manager.d.ts.map +0 -1
  399. package/dist/core/claude-settings-manager.js +0 -191
  400. package/dist/core/claude-settings-manager.js.map +0 -1
  401. package/dist/core/cli-bridge.d.ts +0 -113
  402. package/dist/core/cli-bridge.d.ts.map +0 -1
  403. package/dist/core/cli-bridge.js +0 -1094
  404. package/dist/core/cli-bridge.js.map +0 -1
  405. package/dist/core/compact-context-manager.d.ts +0 -34
  406. package/dist/core/compact-context-manager.d.ts.map +0 -1
  407. package/dist/core/compact-context-manager.js +0 -60
  408. package/dist/core/compact-context-manager.js.map +0 -1
  409. package/dist/core/complexity-detector.d.ts +0 -36
  410. package/dist/core/complexity-detector.d.ts.map +0 -1
  411. package/dist/core/complexity-detector.js +0 -334
  412. package/dist/core/complexity-detector.js.map +0 -1
  413. package/dist/core/compress/compressor.d.ts +0 -60
  414. package/dist/core/compress/compressor.d.ts.map +0 -1
  415. package/dist/core/compress/compressor.js +0 -232
  416. package/dist/core/compress/compressor.js.map +0 -1
  417. package/dist/core/compress/discover.d.ts +0 -19
  418. package/dist/core/compress/discover.d.ts.map +0 -1
  419. package/dist/core/compress/discover.js +0 -100
  420. package/dist/core/compress/discover.js.map +0 -1
  421. package/dist/core/compress/validator.d.ts +0 -47
  422. package/dist/core/compress/validator.d.ts.map +0 -1
  423. package/dist/core/compress/validator.js +0 -131
  424. package/dist/core/compress/validator.js.map +0 -1
  425. package/dist/core/config-manager.d.ts +0 -86
  426. package/dist/core/config-manager.d.ts.map +0 -1
  427. package/dist/core/config-manager.js +0 -621
  428. package/dist/core/config-manager.js.map +0 -1
  429. package/dist/core/coverage-checker.d.ts +0 -14
  430. package/dist/core/coverage-checker.d.ts.map +0 -1
  431. package/dist/core/coverage-checker.js +0 -176
  432. package/dist/core/coverage-checker.js.map +0 -1
  433. package/dist/core/cursor-mdc-generator.d.ts +0 -30
  434. package/dist/core/cursor-mdc-generator.d.ts.map +0 -1
  435. package/dist/core/cursor-mdc-generator.js +0 -98
  436. package/dist/core/cursor-mdc-generator.js.map +0 -1
  437. package/dist/core/decision-manager.d.ts +0 -25
  438. package/dist/core/decision-manager.d.ts.map +0 -1
  439. package/dist/core/decision-manager.js +0 -183
  440. package/dist/core/decision-manager.js.map +0 -1
  441. package/dist/core/dependency-checker.d.ts +0 -21
  442. package/dist/core/dependency-checker.d.ts.map +0 -1
  443. package/dist/core/dependency-checker.js +0 -247
  444. package/dist/core/dependency-checker.js.map +0 -1
  445. package/dist/core/detector.d.ts +0 -27
  446. package/dist/core/detector.d.ts.map +0 -1
  447. package/dist/core/detector.js +0 -1763
  448. package/dist/core/detector.js.map +0 -1
  449. package/dist/core/docs-generator.d.ts +0 -9
  450. package/dist/core/docs-generator.d.ts.map +0 -1
  451. package/dist/core/docs-generator.js +0 -531
  452. package/dist/core/docs-generator.js.map +0 -1
  453. package/dist/core/doctor.d.ts +0 -19
  454. package/dist/core/doctor.d.ts.map +0 -1
  455. package/dist/core/doctor.js +0 -229
  456. package/dist/core/doctor.js.map +0 -1
  457. package/dist/core/generator.d.ts +0 -56
  458. package/dist/core/generator.d.ts.map +0 -1
  459. package/dist/core/generator.js +0 -1193
  460. package/dist/core/generator.js.map +0 -1
  461. package/dist/core/github-issues-importer.d.ts +0 -82
  462. package/dist/core/github-issues-importer.d.ts.map +0 -1
  463. package/dist/core/github-issues-importer.js +0 -161
  464. package/dist/core/github-issues-importer.js.map +0 -1
  465. package/dist/core/gitignore-generator.d.ts +0 -13
  466. package/dist/core/gitignore-generator.d.ts.map +0 -1
  467. package/dist/core/gitignore-generator.js +0 -307
  468. package/dist/core/gitignore-generator.js.map +0 -1
  469. package/dist/core/health-scorer.d.ts +0 -61
  470. package/dist/core/health-scorer.d.ts.map +0 -1
  471. package/dist/core/health-scorer.js +0 -638
  472. package/dist/core/health-scorer.js.map +0 -1
  473. package/dist/core/iteration-tracker.d.ts +0 -85
  474. package/dist/core/iteration-tracker.d.ts.map +0 -1
  475. package/dist/core/iteration-tracker.js +0 -295
  476. package/dist/core/iteration-tracker.js.map +0 -1
  477. package/dist/core/knowledge-manager.d.ts +0 -24
  478. package/dist/core/knowledge-manager.d.ts.map +0 -1
  479. package/dist/core/knowledge-manager.js +0 -173
  480. package/dist/core/knowledge-manager.js.map +0 -1
  481. package/dist/core/learn-manager.d.ts +0 -29
  482. package/dist/core/learn-manager.d.ts.map +0 -1
  483. package/dist/core/learn-manager.js +0 -159
  484. package/dist/core/learn-manager.js.map +0 -1
  485. package/dist/core/mcp-reference-generator.d.ts +0 -13
  486. package/dist/core/mcp-reference-generator.d.ts.map +0 -1
  487. package/dist/core/mcp-reference-generator.js +0 -66
  488. package/dist/core/mcp-reference-generator.js.map +0 -1
  489. package/dist/core/minimal-scaffolder.d.ts +0 -8
  490. package/dist/core/minimal-scaffolder.d.ts.map +0 -1
  491. package/dist/core/minimal-scaffolder.js +0 -51
  492. package/dist/core/minimal-scaffolder.js.map +0 -1
  493. package/dist/core/modern-console.d.ts +0 -98
  494. package/dist/core/modern-console.d.ts.map +0 -1
  495. package/dist/core/modern-console.js +0 -556
  496. package/dist/core/modern-console.js.map +0 -1
  497. package/dist/core/multi-tool-generator.d.ts +0 -59
  498. package/dist/core/multi-tool-generator.d.ts.map +0 -1
  499. package/dist/core/multi-tool-generator.js +0 -157
  500. package/dist/core/multi-tool-generator.js.map +0 -1
  501. package/dist/core/override-manager.d.ts +0 -23
  502. package/dist/core/override-manager.d.ts.map +0 -1
  503. package/dist/core/override-manager.js +0 -82
  504. package/dist/core/override-manager.js.map +0 -1
  505. package/dist/core/plans-manager.d.ts +0 -46
  506. package/dist/core/plans-manager.d.ts.map +0 -1
  507. package/dist/core/plans-manager.js +0 -158
  508. package/dist/core/plans-manager.js.map +0 -1
  509. package/dist/core/prd-generator.d.ts +0 -48
  510. package/dist/core/prd-generator.d.ts.map +0 -1
  511. package/dist/core/prd-generator.js +0 -233
  512. package/dist/core/prd-generator.js.map +0 -1
  513. package/dist/core/ralph-manager.d.ts +0 -163
  514. package/dist/core/ralph-manager.d.ts.map +0 -1
  515. package/dist/core/ralph-manager.js +0 -555
  516. package/dist/core/ralph-manager.js.map +0 -1
  517. package/dist/core/ralph-parallel.d.ts +0 -55
  518. package/dist/core/ralph-parallel.d.ts.map +0 -1
  519. package/dist/core/ralph-parallel.js +0 -201
  520. package/dist/core/ralph-parallel.js.map +0 -1
  521. package/dist/core/ralph-plan-checkpoint.d.ts +0 -58
  522. package/dist/core/ralph-plan-checkpoint.d.ts.map +0 -1
  523. package/dist/core/ralph-plan-checkpoint.js +0 -154
  524. package/dist/core/ralph-plan-checkpoint.js.map +0 -1
  525. package/dist/core/ralph-scripts.d.ts +0 -12
  526. package/dist/core/ralph-scripts.d.ts.map +0 -1
  527. package/dist/core/ralph-scripts.js +0 -50
  528. package/dist/core/ralph-scripts.js.map +0 -1
  529. package/dist/core/review-manager.d.ts +0 -74
  530. package/dist/core/review-manager.d.ts.map +0 -1
  531. package/dist/core/review-manager.js +0 -371
  532. package/dist/core/review-manager.js.map +0 -1
  533. package/dist/core/rules-generator.d.ts +0 -73
  534. package/dist/core/rules-generator.d.ts.map +0 -1
  535. package/dist/core/rules-generator.js +0 -202
  536. package/dist/core/rules-generator.js.map +0 -1
  537. package/dist/core/skills-manager.d.ts +0 -126
  538. package/dist/core/skills-manager.d.ts.map +0 -1
  539. package/dist/core/skills-manager.js +0 -654
  540. package/dist/core/skills-manager.js.map +0 -1
  541. package/dist/core/state-writer.d.ts +0 -35
  542. package/dist/core/state-writer.d.ts.map +0 -1
  543. package/dist/core/state-writer.js +0 -81
  544. package/dist/core/state-writer.js.map +0 -1
  545. package/dist/core/task-manager.d.ts +0 -127
  546. package/dist/core/task-manager.d.ts.map +0 -1
  547. package/dist/core/task-manager.js +0 -607
  548. package/dist/core/task-manager.js.map +0 -1
  549. package/dist/core/telemetry.d.ts +0 -29
  550. package/dist/core/telemetry.d.ts.map +0 -1
  551. package/dist/core/telemetry.js +0 -57
  552. package/dist/core/telemetry.js.map +0 -1
  553. package/dist/core/validator.d.ts +0 -21
  554. package/dist/core/validator.d.ts.map +0 -1
  555. package/dist/core/validator.js +0 -177
  556. package/dist/core/validator.js.map +0 -1
  557. package/dist/core/version-bumper.d.ts +0 -19
  558. package/dist/core/version-bumper.d.ts.map +0 -1
  559. package/dist/core/version-bumper.js +0 -180
  560. package/dist/core/version-bumper.js.map +0 -1
  561. package/dist/core/watcher.d.ts +0 -9
  562. package/dist/core/watcher.d.ts.map +0 -1
  563. package/dist/core/watcher.js +0 -22
  564. package/dist/core/watcher.js.map +0 -1
  565. package/dist/core/workflow-generator.d.ts +0 -15
  566. package/dist/core/workflow-generator.d.ts.map +0 -1
  567. package/dist/core/workflow-generator.js +0 -391
  568. package/dist/core/workflow-generator.js.map +0 -1
  569. package/dist/hooks/terse-activate.d.ts +0 -59
  570. package/dist/hooks/terse-activate.d.ts.map +0 -1
  571. package/dist/hooks/terse-activate.js +0 -149
  572. package/dist/hooks/terse-activate.js.map +0 -1
  573. package/dist/hooks/terse-config.d.ts +0 -51
  574. package/dist/hooks/terse-config.d.ts.map +0 -1
  575. package/dist/hooks/terse-config.js +0 -130
  576. package/dist/hooks/terse-config.js.map +0 -1
  577. package/dist/hooks/terse-mode-tracker.d.ts +0 -78
  578. package/dist/hooks/terse-mode-tracker.d.ts.map +0 -1
  579. package/dist/hooks/terse-mode-tracker.js +0 -213
  580. package/dist/hooks/terse-mode-tracker.js.map +0 -1
  581. package/dist/memory/hnsw-index.d.ts +0 -68
  582. package/dist/memory/hnsw-index.d.ts.map +0 -1
  583. package/dist/memory/hnsw-index.js +0 -544
  584. package/dist/memory/hnsw-index.js.map +0 -1
  585. package/dist/memory/memory-cache.d.ts +0 -33
  586. package/dist/memory/memory-cache.d.ts.map +0 -1
  587. package/dist/memory/memory-cache.js +0 -85
  588. package/dist/memory/memory-cache.js.map +0 -1
  589. package/dist/memory/memory-search.d.ts +0 -42
  590. package/dist/memory/memory-search.d.ts.map +0 -1
  591. package/dist/memory/memory-search.js +0 -180
  592. package/dist/memory/memory-search.js.map +0 -1
  593. package/dist/memory/memory-store.d.ts +0 -84
  594. package/dist/memory/memory-store.d.ts.map +0 -1
  595. package/dist/memory/memory-store.js +0 -566
  596. package/dist/memory/memory-store.js.map +0 -1
  597. package/dist/memory/memory-vectorizer.d.ts +0 -29
  598. package/dist/memory/memory-vectorizer.d.ts.map +0 -1
  599. package/dist/memory/memory-vectorizer.js +0 -199
  600. package/dist/memory/memory-vectorizer.js.map +0 -1
@@ -1,85 +0,0 @@
1
- import { Logger } from './logger.js';
2
- import { RalphIterationMetadata, IterationResult } from '../types.js';
3
- /** Minimal interface for memory search — avoids hard dependency on MemoryManager */
4
- export interface IterationMemoryAdapter {
5
- searchMemory(input: {
6
- query: string;
7
- limit?: number;
8
- mode?: 'bm25' | 'vector' | 'hybrid';
9
- }): Promise<Array<{
10
- title: string;
11
- content: string;
12
- tags?: string[];
13
- }>>;
14
- }
15
- /**
16
- * Tracks iteration history, metrics, and learnings across autonomous runs
17
- */
18
- export declare class IterationTracker {
19
- private ralphDir;
20
- private historyDir;
21
- private logger;
22
- private memoryAdapter;
23
- constructor(projectRoot: string, logger: Logger);
24
- /**
25
- * Attach a memory adapter for retrieving relevant past learnings.
26
- * Optional — context compression still works without it.
27
- */
28
- setMemoryAdapter(adapter: IterationMemoryAdapter): void;
29
- /**
30
- * Initialize tracker directories
31
- */
32
- initialize(): Promise<void>;
33
- /**
34
- * Record a single iteration result
35
- */
36
- recordIteration(result: IterationResult): Promise<string>;
37
- /**
38
- * Get iteration history with optional filtering
39
- */
40
- getHistory(limit?: number, taskId?: string): Promise<RalphIterationMetadata[]>;
41
- /**
42
- * Get single iteration details
43
- */
44
- getIteration(iterationNum: number): Promise<RalphIterationMetadata | null>;
45
- /**
46
- * Calculate statistics from iteration history
47
- */
48
- getStatistics(): Promise<{
49
- total_iterations: number;
50
- successful_iterations: number;
51
- failed_iterations: number;
52
- average_duration_ms: number;
53
- success_rate: number;
54
- quality_breakdown: {
55
- type_check: number;
56
- lint: number;
57
- tests: number;
58
- coverage: number;
59
- };
60
- }>;
61
- /**
62
- * Get learnings and insights from history
63
- */
64
- getLearnings(): Promise<string[]>;
65
- /**
66
- * Get insights about task-specific patterns
67
- */
68
- getTaskInsights(taskId: string): Promise<{
69
- total_iterations: number;
70
- status_distribution: Record<string, number>;
71
- average_duration_ms: number;
72
- quality_trend: number[];
73
- }>;
74
- /**
75
- * Build a compressed context string for injecting into iteration prompts.
76
- * Recent iterations (default: last 3) appear in full detail.
77
- * Older iterations are summarized to one line each.
78
- *
79
- * @param recentCount How many recent iterations to show in full (default: 3)
80
- * @param threshold Minimum total iterations before compression applies (default: 5)
81
- */
82
- buildCompressedContext(recentCount?: number, threshold?: number): Promise<string>;
83
- private formatFullHistory;
84
- }
85
- //# sourceMappingURL=iteration-tracker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iteration-tracker.d.ts","sourceRoot":"","sources":["../../src/core/iteration-tracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEtE,oFAAoF;AACpF,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,KAAK,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;KACrC,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC,CAAC;CACzE;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAuC;gBAEhD,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAM/C;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAIvD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAwB/D;;OAEG;IACG,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAuCpF;;OAEG;IACG,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAgBhF;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC;QACzB,qBAAqB,EAAE,MAAM,CAAC;QAC9B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE;YACjB,UAAU,EAAE,MAAM,CAAC;YACnB,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;IAoCF;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IA2CvC;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7C,gBAAgB,EAAE,MAAM,CAAC;QACzB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,mBAAmB,EAAE,MAAM,CAAC;QAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IA4CF;;;;;;;OAOG;IACG,sBAAsB,CAAC,WAAW,SAAI,EAAE,SAAS,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAgE7E,OAAO,CAAC,iBAAiB;CAe1B"}
@@ -1,295 +0,0 @@
1
- import { mkdir, readdir, writeFile, readFile } from 'fs/promises';
2
- import { existsSync } from 'fs';
3
- import path from 'path';
4
- /**
5
- * Tracks iteration history, metrics, and learnings across autonomous runs
6
- */
7
- export class IterationTracker {
8
- ralphDir;
9
- historyDir;
10
- logger;
11
- memoryAdapter = null;
12
- constructor(projectRoot, logger) {
13
- this.logger = logger;
14
- this.ralphDir = path.join(projectRoot, '.rulebook', 'ralph');
15
- this.historyDir = path.join(this.ralphDir, 'history');
16
- }
17
- /**
18
- * Attach a memory adapter for retrieving relevant past learnings.
19
- * Optional — context compression still works without it.
20
- */
21
- setMemoryAdapter(adapter) {
22
- this.memoryAdapter = adapter;
23
- }
24
- /**
25
- * Initialize tracker directories
26
- */
27
- async initialize() {
28
- await mkdir(this.ralphDir, { recursive: true });
29
- await mkdir(this.historyDir, { recursive: true });
30
- }
31
- /**
32
- * Record a single iteration result
33
- */
34
- async recordIteration(result) {
35
- await this.initialize();
36
- const metadata = {
37
- iteration: result.iteration,
38
- started_at: result.timestamp,
39
- completed_at: new Date().toISOString(),
40
- task_id: result.task_id,
41
- task_title: result.task_title,
42
- duration_ms: result.execution_time_ms,
43
- status: result.status,
44
- git_commit: result.git_commit,
45
- quality_checks: result.quality_checks,
46
- };
47
- const filename = `iteration-${result.iteration}.json`;
48
- const filepath = path.join(this.historyDir, filename);
49
- await writeFile(filepath, JSON.stringify(metadata, null, 2));
50
- this.logger.info(`Recorded iteration #${result.iteration}`);
51
- return filepath;
52
- }
53
- /**
54
- * Get iteration history with optional filtering
55
- */
56
- async getHistory(limit, taskId) {
57
- if (!existsSync(this.historyDir)) {
58
- return [];
59
- }
60
- const files = await readdir(this.historyDir);
61
- const iterations = [];
62
- // Sort by iteration number descending
63
- const sorted = files
64
- .filter((f) => f.startsWith('iteration-') && f.endsWith('.json'))
65
- .sort((a, b) => {
66
- const numA = parseInt(a.match(/\d+/)?.[0] || '0');
67
- const numB = parseInt(b.match(/\d+/)?.[0] || '0');
68
- return numB - numA;
69
- });
70
- for (const file of sorted) {
71
- try {
72
- const content = await readFile(path.join(this.historyDir, file), 'utf-8');
73
- const metadata = JSON.parse(content);
74
- if (taskId && metadata.task_id !== taskId) {
75
- continue;
76
- }
77
- iterations.push(metadata);
78
- if (limit && iterations.length >= limit) {
79
- break;
80
- }
81
- }
82
- catch (err) {
83
- this.logger.warn(`Failed to read ${file}: ${err}`);
84
- }
85
- }
86
- return iterations;
87
- }
88
- /**
89
- * Get single iteration details
90
- */
91
- async getIteration(iterationNum) {
92
- const filepath = path.join(this.historyDir, `iteration-${iterationNum}.json`);
93
- if (!existsSync(filepath)) {
94
- return null;
95
- }
96
- try {
97
- const content = await readFile(filepath, 'utf-8');
98
- return JSON.parse(content);
99
- }
100
- catch (err) {
101
- this.logger.error(`Failed to read iteration ${iterationNum}: ${err}`);
102
- return null;
103
- }
104
- }
105
- /**
106
- * Calculate statistics from iteration history
107
- */
108
- async getStatistics() {
109
- const iterations = await this.getHistory();
110
- if (iterations.length === 0) {
111
- return {
112
- total_iterations: 0,
113
- successful_iterations: 0,
114
- failed_iterations: 0,
115
- average_duration_ms: 0,
116
- success_rate: 0,
117
- quality_breakdown: { type_check: 0, lint: 0, tests: 0, coverage: 0 },
118
- };
119
- }
120
- const successful = iterations.filter((i) => i.status === 'success').length;
121
- const failed = iterations.filter((i) => i.status === 'failed').length;
122
- const totalDuration = iterations.reduce((sum, i) => sum + (i.duration_ms || 0), 0);
123
- const avgDuration = Math.round(totalDuration / iterations.length);
124
- const qualityBreakdown = {
125
- type_check: iterations.filter((i) => i.quality_checks.type_check).length,
126
- lint: iterations.filter((i) => i.quality_checks.lint).length,
127
- tests: iterations.filter((i) => i.quality_checks.tests).length,
128
- coverage: iterations.filter((i) => i.quality_checks.coverage_met).length,
129
- };
130
- return {
131
- total_iterations: iterations.length,
132
- successful_iterations: successful,
133
- failed_iterations: failed,
134
- average_duration_ms: avgDuration,
135
- success_rate: successful / iterations.length,
136
- quality_breakdown: qualityBreakdown,
137
- };
138
- }
139
- /**
140
- * Get learnings and insights from history
141
- */
142
- async getLearnings() {
143
- const iterations = await this.getHistory();
144
- const learnings = [];
145
- for (const iter of iterations) {
146
- // Analyze quality trends
147
- const allPass = iter.quality_checks.type_check &&
148
- iter.quality_checks.lint &&
149
- iter.quality_checks.tests &&
150
- iter.quality_checks.coverage_met;
151
- if (allPass && iter.status === 'success') {
152
- learnings.push(`✅ Iteration ${iter.iteration}: Full quality gate pass for "${iter.task_title}"`);
153
- }
154
- else if (iter.status === 'failed') {
155
- const failures = [];
156
- if (!iter.quality_checks.type_check)
157
- failures.push('type-check');
158
- if (!iter.quality_checks.lint)
159
- failures.push('lint');
160
- if (!iter.quality_checks.tests)
161
- failures.push('tests');
162
- if (!iter.quality_checks.coverage_met)
163
- failures.push('coverage');
164
- if (failures.length > 0) {
165
- learnings.push(`❌ Iteration ${iter.iteration}: Failed quality checks: ${failures.join(', ')}`);
166
- }
167
- }
168
- }
169
- // Add statistical insights
170
- const stats = await this.getStatistics();
171
- if (stats.total_iterations > 0) {
172
- learnings.push(`📊 Success rate: ${(stats.success_rate * 100).toFixed(1)}% (${stats.successful_iterations}/${stats.total_iterations})`);
173
- learnings.push(`⏱️ Average iteration time: ${stats.average_duration_ms}ms`);
174
- }
175
- return learnings;
176
- }
177
- /**
178
- * Get insights about task-specific patterns
179
- */
180
- async getTaskInsights(taskId) {
181
- const iterations = await this.getHistory(undefined, taskId);
182
- if (iterations.length === 0) {
183
- return {
184
- total_iterations: 0,
185
- status_distribution: {},
186
- average_duration_ms: 0,
187
- quality_trend: [],
188
- };
189
- }
190
- // Status distribution
191
- const statusDist = {};
192
- for (const iter of iterations) {
193
- statusDist[iter.status] = (statusDist[iter.status] || 0) + 1;
194
- }
195
- // Average duration
196
- const avgDuration = Math.round(iterations.reduce((sum, i) => sum + (i.duration_ms || 0), 0) / iterations.length);
197
- // Quality trend
198
- const qualityTrend = iterations
199
- .sort((a, b) => a.iteration - b.iteration)
200
- .map((i) => {
201
- const checks = [
202
- i.quality_checks.type_check ? 1 : 0,
203
- i.quality_checks.lint ? 1 : 0,
204
- i.quality_checks.tests ? 1 : 0,
205
- i.quality_checks.coverage_met ? 1 : 0,
206
- ];
207
- return (checks.reduce((a, b) => a + b, 0) / 4) * 100;
208
- });
209
- return {
210
- total_iterations: iterations.length,
211
- status_distribution: statusDist,
212
- average_duration_ms: avgDuration,
213
- quality_trend: qualityTrend,
214
- };
215
- }
216
- /**
217
- * Build a compressed context string for injecting into iteration prompts.
218
- * Recent iterations (default: last 3) appear in full detail.
219
- * Older iterations are summarized to one line each.
220
- *
221
- * @param recentCount How many recent iterations to show in full (default: 3)
222
- * @param threshold Minimum total iterations before compression applies (default: 5)
223
- */
224
- async buildCompressedContext(recentCount = 3, threshold = 5) {
225
- const iterations = await this.getHistory();
226
- if (iterations.length === 0) {
227
- return 'No iteration history available.';
228
- }
229
- // Sort ascending by iteration number
230
- const sorted = [...iterations].sort((a, b) => a.iteration - b.iteration);
231
- if (sorted.length < threshold) {
232
- // Below threshold — return full history (not yet compressed)
233
- return this.formatFullHistory(sorted);
234
- }
235
- const recent = sorted.slice(-recentCount);
236
- const historical = sorted.slice(0, sorted.length - recentCount);
237
- const lines = [];
238
- // Memory-backed retrieval: search for relevant past learnings
239
- if (this.memoryAdapter) {
240
- try {
241
- const currentTask = recent.at(-1)?.task_title ?? '';
242
- const query = currentTask
243
- ? `Ralph iteration learnings ${currentTask}`
244
- : 'Ralph iteration learnings errors fixes';
245
- const memories = await this.memoryAdapter.searchMemory({ query, limit: 3, mode: 'hybrid' });
246
- if (memories.length > 0) {
247
- lines.push('## Relevant Past Learnings (from memory)');
248
- for (const mem of memories) {
249
- lines.push(`- **${mem.title}**: ${mem.content.slice(0, 200).replace(/\n/g, ' ')}`);
250
- }
251
- lines.push('');
252
- }
253
- }
254
- catch {
255
- // Memory retrieval is optional — skip on error
256
- }
257
- }
258
- // Compressed historical summary
259
- if (historical.length > 0) {
260
- lines.push(`## Iteration History Summary (iterations 1–${historical.at(-1).iteration})`);
261
- for (const iter of historical) {
262
- const qualFlags = [
263
- iter.quality_checks.type_check ? '✓ts' : '✗ts',
264
- iter.quality_checks.lint ? '✓lint' : '✗lint',
265
- iter.quality_checks.tests ? '✓test' : '✗test',
266
- iter.quality_checks.coverage_met ? '✓cov' : '✗cov',
267
- ].join(' ');
268
- lines.push(`- Iter ${iter.iteration}: [${iter.status}] ${iter.task_title} | ${qualFlags}`);
269
- }
270
- lines.push('');
271
- }
272
- // Full detail for recent iterations
273
- if (recent.length > 0) {
274
- lines.push(`## Recent Iterations (last ${recent.length})`);
275
- lines.push(this.formatFullHistory(recent));
276
- }
277
- return lines.join('\n');
278
- }
279
- formatFullHistory(iterations) {
280
- return iterations
281
- .map((iter) => {
282
- const qc = iter.quality_checks;
283
- return [
284
- `### Iteration ${iter.iteration}: ${iter.task_title}`,
285
- `Status: ${iter.status}`,
286
- `Quality: type-check=${qc.type_check ? 'PASS' : 'FAIL'} lint=${qc.lint ? 'PASS' : 'FAIL'} tests=${qc.tests ? 'PASS' : 'FAIL'} coverage=${qc.coverage_met ? 'PASS' : 'FAIL'}`,
287
- iter.git_commit ? `Commit: ${iter.git_commit}` : '',
288
- ]
289
- .filter(Boolean)
290
- .join('\n');
291
- })
292
- .join('\n\n');
293
- }
294
- }
295
- //# sourceMappingURL=iteration-tracker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iteration-tracker.js","sourceRoot":"","sources":["../../src/core/iteration-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AAaxB;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACnB,QAAQ,CAAS;IACjB,UAAU,CAAS;IACnB,MAAM,CAAS;IACf,aAAa,GAAkC,IAAI,CAAC;IAE5D,YAAY,WAAmB,EAAE,MAAc;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,OAA+B;QAC9C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAAuB;QAC3C,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAExB,MAAM,QAAQ,GAA2B;YACvC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,iBAAiB;YACrC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC;QAEF,MAAM,QAAQ,GAAG,aAAa,MAAM,CAAC,SAAS,OAAO,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEtD,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAE5D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,KAAc,EAAE,MAAe;QAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,UAAU,GAA6B,EAAE,CAAC;QAEhD,sCAAsC;QACtC,MAAM,MAAM,GAAG,KAAK;aACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAChE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;YAClD,OAAO,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;QAEL,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC1E,MAAM,QAAQ,GAA2B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAE7D,IAAI,MAAM,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;oBAC1C,SAAS;gBACX,CAAC;gBAED,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAE1B,IAAI,KAAK,IAAI,UAAU,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;oBACxC,MAAM;gBACR,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,YAAoB;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,YAAY,OAAO,CAAC,CAAC;QAE9E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,YAAY,KAAK,GAAG,EAAE,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QAajB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAE3C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,gBAAgB,EAAE,CAAC;gBACnB,qBAAqB,EAAE,CAAC;gBACxB,iBAAiB,EAAE,CAAC;gBACpB,mBAAmB,EAAE,CAAC;gBACtB,YAAY,EAAE,CAAC;gBACf,iBAAiB,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;aACrE,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;QAC3E,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QACtE,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAElE,MAAM,gBAAgB,GAAG;YACvB,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,MAAM;YACxE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM;YAC5D,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM;YAC9D,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,MAAM;SACzE,CAAC;QAEF,OAAO;YACL,gBAAgB,EAAE,UAAU,CAAC,MAAM;YACnC,qBAAqB,EAAE,UAAU;YACjC,iBAAiB,EAAE,MAAM;YACzB,mBAAmB,EAAE,WAAW;YAChC,YAAY,EAAE,UAAU,GAAG,UAAU,CAAC,MAAM;YAC5C,iBAAiB,EAAE,gBAAgB;SACpC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,yBAAyB;YACzB,MAAM,OAAO,GACX,IAAI,CAAC,cAAc,CAAC,UAAU;gBAC9B,IAAI,CAAC,cAAc,CAAC,IAAI;gBACxB,IAAI,CAAC,cAAc,CAAC,KAAK;gBACzB,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YAEnC,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzC,SAAS,CAAC,IAAI,CACZ,eAAe,IAAI,CAAC,SAAS,iCAAiC,IAAI,CAAC,UAAU,GAAG,CACjF,CAAC;YACJ,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU;oBAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACjE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI;oBAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK;oBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY;oBAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAEjE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,SAAS,CAAC,IAAI,CACZ,eAAe,IAAI,CAAC,SAAS,4BAA4B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/E,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;YAC/B,SAAS,CAAC,IAAI,CACZ,oBAAoB,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,gBAAgB,GAAG,CACxH,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,8BAA8B,KAAK,CAAC,mBAAmB,IAAI,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAAc;QAMlC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE5D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,gBAAgB,EAAE,CAAC;gBACnB,mBAAmB,EAAE,EAAE;gBACvB,mBAAmB,EAAE,CAAC;gBACtB,aAAa,EAAE,EAAE;aAClB,CAAC;QACJ,CAAC;QAED,sBAAsB;QACtB,MAAM,UAAU,GAA2B,EAAE,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CACjF,CAAC;QAEF,gBAAgB;QAChB,MAAM,YAAY,GAAG,UAAU;aAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,MAAM,GAAG;gBACb,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACtC,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QACvD,CAAC,CAAC,CAAC;QAEL,OAAO;YACL,gBAAgB,EAAE,UAAU,CAAC,MAAM;YACnC,mBAAmB,EAAE,UAAU;YAC/B,mBAAmB,EAAE,WAAW;YAChC,aAAa,EAAE,YAAY;SAC5B,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,sBAAsB,CAAC,WAAW,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC;QACzD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAE3C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,iCAAiC,CAAC;QAC3C,CAAC;QAED,qCAAqC;QACrC,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QAEzE,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC9B,6DAA6D;YAC7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;QAEhE,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,8DAA8D;QAC9D,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,WAAW;oBACvB,CAAC,CAAC,6BAA6B,WAAW,EAAE;oBAC5C,CAAC,CAAC,wCAAwC,CAAC;gBAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC5F,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;oBACvD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;wBAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBACrF,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,+CAA+C;YACjD,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,8CAA8C,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,SAAS,GAAG,CAAC,CAAC;YAC1F,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG;oBAChB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;oBAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;oBAC5C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;oBAC7C,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;iBACnD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,MAAM,SAAS,EAAE,CAAC,CAAC;YAC7F,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,oCAAoC;QACpC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,8BAA8B,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,iBAAiB,CAAC,UAAoC;QAC5D,OAAO,UAAU;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;YAC/B,OAAO;gBACL,iBAAiB,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU,EAAE;gBACrD,WAAW,IAAI,CAAC,MAAM,EAAE;gBACxB,uBAAuB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE;gBAC5K,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;aACpD;iBACE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;CACF"}
@@ -1,24 +0,0 @@
1
- import type { KnowledgeEntry, KnowledgeType, KnowledgeCategory } from '../types.js';
2
- export declare class KnowledgeManager {
3
- private knowledgePath;
4
- constructor(projectRoot: string, rulebookDir?: string);
5
- private ensureDir;
6
- add(type: KnowledgeType, title: string, options: {
7
- category: KnowledgeCategory;
8
- description: string;
9
- example?: string;
10
- whenToUse?: string;
11
- whenNotToUse?: string;
12
- tags?: string[];
13
- source?: KnowledgeEntry['source'];
14
- }): Promise<KnowledgeEntry>;
15
- list(type?: KnowledgeType, category?: KnowledgeCategory): Promise<KnowledgeEntry[]>;
16
- show(id: string): Promise<{
17
- entry: KnowledgeEntry;
18
- content: string;
19
- } | null>;
20
- remove(id: string): Promise<boolean>;
21
- getForGenerator(): Promise<string>;
22
- private renderMarkdown;
23
- }
24
- //# sourceMappingURL=knowledge-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"knowledge-manager.d.ts","sourceRoot":"","sources":["../../src/core/knowledge-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAiBpF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,aAAa,CAAS;gBAElB,WAAW,EAAE,MAAM,EAAE,WAAW,GAAE,MAAoB;IAIlE,OAAO,CAAC,SAAS;IAoBX,GAAG,CACP,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QACP,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;KACnC,GACA,OAAO,CAAC,cAAc,CAAC;IA6BpB,IAAI,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAyBnF,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,cAAc,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAiB5E,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAepC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IA2BxC,OAAO,CAAC,cAAc;CAwBvB"}
@@ -1,173 +0,0 @@
1
- import { existsSync, mkdirSync, readdirSync, rmSync } from 'fs';
2
- import { join } from 'path';
3
- import { readFile as readFileUtil, writeFile as writeFileUtil } from '../utils/file-system.js';
4
- const KNOWLEDGE_DIR = 'knowledge';
5
- const PATTERNS_DIR = 'patterns';
6
- const ANTI_PATTERNS_DIR = 'anti-patterns';
7
- function slugify(title) {
8
- return title
9
- .toLowerCase()
10
- .replace(/[^a-z0-9]+/g, '-')
11
- .replace(/^-|-$/g, '');
12
- }
13
- function subdir(type) {
14
- return type === 'pattern' ? PATTERNS_DIR : ANTI_PATTERNS_DIR;
15
- }
16
- export class KnowledgeManager {
17
- knowledgePath;
18
- constructor(projectRoot, rulebookDir = '.rulebook') {
19
- this.knowledgePath = join(projectRoot, rulebookDir, KNOWLEDGE_DIR);
20
- }
21
- ensureDir(type) {
22
- if (!existsSync(this.knowledgePath)) {
23
- mkdirSync(this.knowledgePath, { recursive: true });
24
- }
25
- if (type) {
26
- const dir = join(this.knowledgePath, subdir(type));
27
- if (!existsSync(dir)) {
28
- mkdirSync(dir, { recursive: true });
29
- }
30
- }
31
- else {
32
- // Ensure both
33
- for (const d of [PATTERNS_DIR, ANTI_PATTERNS_DIR]) {
34
- const dir = join(this.knowledgePath, d);
35
- if (!existsSync(dir)) {
36
- mkdirSync(dir, { recursive: true });
37
- }
38
- }
39
- }
40
- }
41
- async add(type, title, options) {
42
- this.ensureDir(type);
43
- const id = slugify(title);
44
- const dir = join(this.knowledgePath, subdir(type));
45
- const entry = {
46
- id,
47
- type,
48
- title,
49
- category: options.category,
50
- description: options.description,
51
- example: options.example,
52
- whenToUse: options.whenToUse,
53
- whenNotToUse: options.whenNotToUse,
54
- createdAt: new Date().toISOString(),
55
- tags: options.tags ?? [],
56
- source: options.source ?? 'manual',
57
- };
58
- // Write markdown
59
- const md = this.renderMarkdown(entry);
60
- await writeFileUtil(join(dir, `${id}.md`), md);
61
- // Write metadata
62
- await writeFileUtil(join(dir, `${id}.metadata.json`), JSON.stringify(entry, null, 2));
63
- return entry;
64
- }
65
- async list(type, category) {
66
- this.ensureDir();
67
- const types = type ? [type] : ['pattern', 'anti-pattern'];
68
- const entries = [];
69
- for (const t of types) {
70
- const dir = join(this.knowledgePath, subdir(t));
71
- if (!existsSync(dir))
72
- continue;
73
- const files = readdirSync(dir).filter((f) => f.endsWith('.metadata.json'));
74
- for (const file of files) {
75
- const raw = await readFileUtil(join(dir, file));
76
- if (!raw)
77
- continue;
78
- try {
79
- const meta = JSON.parse(raw);
80
- if (category && meta.category !== category)
81
- continue;
82
- entries.push(meta);
83
- }
84
- catch {
85
- // skip malformed
86
- }
87
- }
88
- }
89
- return entries.sort((a, b) => a.title.localeCompare(b.title));
90
- }
91
- async show(id) {
92
- this.ensureDir();
93
- // Search both dirs
94
- for (const t of ['pattern', 'anti-pattern']) {
95
- const dir = join(this.knowledgePath, subdir(t));
96
- if (!existsSync(dir))
97
- continue;
98
- const metaPath = join(dir, `${id}.metadata.json`);
99
- if (!existsSync(metaPath))
100
- continue;
101
- const raw = await readFileUtil(metaPath);
102
- if (!raw)
103
- continue;
104
- const entry = JSON.parse(raw);
105
- const content = (await readFileUtil(join(dir, `${id}.md`))) ?? '';
106
- return { entry, content };
107
- }
108
- return null;
109
- }
110
- async remove(id) {
111
- this.ensureDir();
112
- for (const t of ['pattern', 'anti-pattern']) {
113
- const dir = join(this.knowledgePath, subdir(t));
114
- if (!existsSync(dir))
115
- continue;
116
- const metaPath = join(dir, `${id}.metadata.json`);
117
- if (!existsSync(metaPath))
118
- continue;
119
- const mdPath = join(dir, `${id}.md`);
120
- if (existsSync(mdPath))
121
- rmSync(mdPath);
122
- rmSync(metaPath);
123
- return true;
124
- }
125
- return false;
126
- }
127
- async getForGenerator() {
128
- const patterns = await this.list('pattern');
129
- const antiPatterns = await this.list('anti-pattern');
130
- if (patterns.length === 0 && antiPatterns.length === 0)
131
- return '';
132
- const lines = ['## Project Knowledge', ''];
133
- if (patterns.length > 0) {
134
- lines.push('### Patterns', '', 'The following patterns are enforced in this project:', '');
135
- for (const p of patterns) {
136
- lines.push(`- **${p.title}** → [spec](/.rulebook/knowledge/patterns/${p.id}.md)`);
137
- }
138
- lines.push('');
139
- }
140
- if (antiPatterns.length > 0) {
141
- lines.push('### Anti-Patterns to Avoid', '');
142
- for (const a of antiPatterns) {
143
- lines.push(`- **${a.title}** → [details](/.rulebook/knowledge/anti-patterns/${a.id}.md)`);
144
- }
145
- lines.push('');
146
- }
147
- return lines.join('\n');
148
- }
149
- renderMarkdown(e) {
150
- const lines = [
151
- `# ${e.title}`,
152
- '',
153
- `**Category**: ${e.category}`,
154
- `**Tags**: ${e.tags.join(', ') || 'none'}`,
155
- '',
156
- '## Description',
157
- '',
158
- e.description,
159
- ];
160
- if (e.example) {
161
- lines.push('', '## Example', '', e.example);
162
- }
163
- if (e.whenToUse) {
164
- lines.push('', '## When to Use', '', e.whenToUse);
165
- }
166
- if (e.whenNotToUse) {
167
- lines.push('', '## When NOT to Use', '', e.whenNotToUse);
168
- }
169
- lines.push('');
170
- return lines.join('\n');
171
- }
172
- }
173
- //# sourceMappingURL=knowledge-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"knowledge-manager.js","sourceRoot":"","sources":["../../src/core/knowledge-manager.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- import type { Learning, KnowledgeCategory } from '../types.js';
2
- export declare class LearnManager {
3
- private learningsPath;
4
- private ralphHistoryPath;
5
- private decisionManager;
6
- private knowledgeManager;
7
- constructor(projectRoot: string, rulebookDir?: string);
8
- private ensureDir;
9
- capture(title: string, content: string, options?: {
10
- source?: Learning['source'];
11
- relatedTask?: string;
12
- relatedDecision?: number;
13
- tags?: string[];
14
- }): Promise<Learning>;
15
- fromRalph(): Promise<Learning[]>;
16
- list(limit?: number): Promise<Learning[]>;
17
- show(id: string): Promise<{
18
- learning: Learning;
19
- content: string;
20
- } | null>;
21
- promote(id: string, target: 'knowledge' | 'decision', options?: {
22
- title?: string;
23
- category?: KnowledgeCategory;
24
- }): Promise<{
25
- type: 'knowledge' | 'decision';
26
- id: string;
27
- } | null>;
28
- }
29
- //# sourceMappingURL=learn-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"learn-manager.d.ts","sourceRoot":"","sources":["../../src/core/learn-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAa/D,qBAAa,YAAY;IACvB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,gBAAgB,CAAmB;gBAE/B,WAAW,EAAE,MAAM,EAAE,WAAW,GAAE,MAAoB;IAQlE,OAAO,CAAC,SAAS;IAMX,OAAO,CACX,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACZ,GACL,OAAO,CAAC,QAAQ,CAAC;IA0Cd,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAyChC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAoBzC,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAazE,OAAO,CACX,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,WAAW,GAAG,UAAU,EAChC,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,iBAAiB,CAAC;KACzB,GACL,OAAO,CAAC;QAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAkClE"}