@karajan-family/code 4.21.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 (746) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +98 -0
  3. package/bin/karajan-mcp.js +2 -0
  4. package/bin/kj-rag-mcp.js +75 -0
  5. package/bin/kj-tail +361 -0
  6. package/bin/kj.js +2 -0
  7. package/docs/README.es.md +80 -0
  8. package/docs/karajan-code-logo-small.png +0 -0
  9. package/library/logical-clocks-lamport.md +40 -0
  10. package/package.json +140 -0
  11. package/packages/ai-trash/README.md +37 -0
  12. package/packages/ai-trash/bin/kj-trash.js +10 -0
  13. package/packages/ai-trash/package.json +43 -0
  14. package/packages/ai-trash/src/cli.js +200 -0
  15. package/packages/ai-trash/src/destructive-parser.js +74 -0
  16. package/packages/ai-trash/src/git-snapshot.js +128 -0
  17. package/packages/ai-trash/src/hook.js +137 -0
  18. package/packages/ai-trash/src/index.js +14 -0
  19. package/packages/ai-trash/src/install.js +73 -0
  20. package/packages/ai-trash/src/logger.js +60 -0
  21. package/packages/ai-trash/src/manifest.js +91 -0
  22. package/packages/ai-trash/src/permissions.js +26 -0
  23. package/packages/ai-trash/src/snapshot.js +66 -0
  24. package/packages/ai-trash/src/ulid.js +66 -0
  25. package/packages/hu-board/README.md +69 -0
  26. package/packages/hu-board/package.json +28 -0
  27. package/packages/hu-board/public/app.js +259 -0
  28. package/packages/hu-board/public/index.html +77 -0
  29. package/packages/hu-board/public/pipeline.css +132 -0
  30. package/packages/hu-board/public/pipeline.html +48 -0
  31. package/packages/hu-board/public/pipeline.js +200 -0
  32. package/packages/hu-board/public/rag.html +21 -0
  33. package/packages/hu-board/public/rag.js +39 -0
  34. package/packages/hu-board/public/styles.css +973 -0
  35. package/packages/hu-board/public/utils/api.js +139 -0
  36. package/packages/hu-board/public/utils/board-view.js +473 -0
  37. package/packages/hu-board/public/utils/command-launcher.js +213 -0
  38. package/packages/hu-board/public/utils/config-editor.js +181 -0
  39. package/packages/hu-board/public/utils/dashboard-view.js +103 -0
  40. package/packages/hu-board/public/utils/formatters.js +300 -0
  41. package/packages/hu-board/public/utils/graph-view.js +216 -0
  42. package/packages/hu-board/public/utils/hu-actions.js +224 -0
  43. package/packages/hu-board/public/utils/init-listeners.js +180 -0
  44. package/packages/hu-board/public/utils/log-panel.js +222 -0
  45. package/packages/hu-board/public/utils/modals.js +309 -0
  46. package/packages/hu-board/public/utils/plan-rollup-view.js +53 -0
  47. package/packages/hu-board/public/utils/preflight-view.js +89 -0
  48. package/packages/hu-board/public/utils/project-actions.js +143 -0
  49. package/packages/hu-board/public/utils/project-picker-view.js +139 -0
  50. package/packages/hu-board/public/utils/run-launcher.js +169 -0
  51. package/packages/hu-board/public/utils/server-push.js +252 -0
  52. package/packages/hu-board/public/utils/sessions-view.js +199 -0
  53. package/packages/hu-board/public/utils/story-detail-view.js +324 -0
  54. package/packages/hu-board/public/utils/story-edit-form.js +271 -0
  55. package/packages/hu-board/public/wiki.html +32 -0
  56. package/packages/hu-board/public/wiki.js +53 -0
  57. package/packages/hu-board/src/auth.js +92 -0
  58. package/packages/hu-board/src/boot-info.js +16 -0
  59. package/packages/hu-board/src/cleanup-zombies.js +145 -0
  60. package/packages/hu-board/src/command-runner.js +133 -0
  61. package/packages/hu-board/src/config-yaml.js +531 -0
  62. package/packages/hu-board/src/db.js +963 -0
  63. package/packages/hu-board/src/ephemeral-cleaner.js +196 -0
  64. package/packages/hu-board/src/event-bus.js +58 -0
  65. package/packages/hu-board/src/format.js +207 -0
  66. package/packages/hu-board/src/hu-zombie-reaper.js +103 -0
  67. package/packages/hu-board/src/journal-parser.js +180 -0
  68. package/packages/hu-board/src/plan-mutations.js +424 -0
  69. package/packages/hu-board/src/preflight.js +286 -0
  70. package/packages/hu-board/src/routes/api.js +1374 -0
  71. package/packages/hu-board/src/routes/pipeline.js +45 -0
  72. package/packages/hu-board/src/routes/rag.js +42 -0
  73. package/packages/hu-board/src/routes/wiki.js +43 -0
  74. package/packages/hu-board/src/run-tracker.js +121 -0
  75. package/packages/hu-board/src/server.js +438 -0
  76. package/packages/hu-board/src/sync.js +732 -0
  77. package/packages/hu-board/src/token-store.js +56 -0
  78. package/packages/hu-board/src/zombie-reaper.js +206 -0
  79. package/scripts/ai-attribution-guard.yml +84 -0
  80. package/scripts/audit-test-diet.mjs +151 -0
  81. package/scripts/build-sea.mjs +150 -0
  82. package/scripts/diet-baseline.mjs +170 -0
  83. package/scripts/dual-publish.mjs +67 -0
  84. package/scripts/esbuild-sea.config.mjs +273 -0
  85. package/scripts/git-hooks/post-merge +18 -0
  86. package/scripts/install-binary.ps1 +174 -0
  87. package/scripts/install-binary.sh +159 -0
  88. package/scripts/install-guard-all-repos.sh +85 -0
  89. package/scripts/install-kj.sh +193 -0
  90. package/scripts/install.js +901 -0
  91. package/scripts/install.sh +7 -0
  92. package/scripts/postinstall.js +117 -0
  93. package/scripts/protect-all-repos.sh +88 -0
  94. package/scripts/quickstart-gate.mjs +97 -0
  95. package/scripts/regen-arch-stats.sh +71 -0
  96. package/scripts/setup-multi-instance.sh +150 -0
  97. package/scripts/verify-pack.mjs +278 -0
  98. package/src/activity-log.js +59 -0
  99. package/src/agents/agy-agent.js +62 -0
  100. package/src/agents/aider-agent.js +78 -0
  101. package/src/agents/availability.js +52 -0
  102. package/src/agents/base-agent.js +134 -0
  103. package/src/agents/claude-agent.js +413 -0
  104. package/src/agents/codex-agent.js +112 -0
  105. package/src/agents/copilot-agent.js +65 -0
  106. package/src/agents/gemini-agent.js +85 -0
  107. package/src/agents/host-agent.js +38 -0
  108. package/src/agents/index.js +59 -0
  109. package/src/agents/kimi-agent.js +45 -0
  110. package/src/agents/model-registry.js +137 -0
  111. package/src/agents/opencode-agent.js +72 -0
  112. package/src/agents/qwen-agent.js +20 -0
  113. package/src/agents/resolve-bin.js +73 -0
  114. package/src/audit/agent-readiness.js +259 -0
  115. package/src/audit/ai-slop-findings.js +102 -0
  116. package/src/audit/audit-fallback.js +66 -0
  117. package/src/audit/audit-history-display.js +61 -0
  118. package/src/audit/audit-history.js +102 -0
  119. package/src/audit/basal-cost.js +281 -0
  120. package/src/audit/circular-deps.js +144 -0
  121. package/src/audit/dead-exports.js +186 -0
  122. package/src/audit/deterministic-summary.js +327 -0
  123. package/src/audit/harness-scorecard.js +100 -0
  124. package/src/audit/harness-section.js +81 -0
  125. package/src/audit/infra-findings.js +100 -0
  126. package/src/audit/injection-findings.js +114 -0
  127. package/src/audit/issue-filter.js +133 -0
  128. package/src/audit/osv-findings.js +167 -0
  129. package/src/audit/plan-adherence.js +224 -0
  130. package/src/audit/semgrep-findings.js +129 -0
  131. package/src/audit/sonar-findings.js +93 -0
  132. package/src/audit/webperf-input.js +133 -0
  133. package/src/autonomy/arbiter-role.js +71 -0
  134. package/src/autonomy/arbiter.js +22 -0
  135. package/src/autonomy/decider.js +18 -0
  136. package/src/autonomy/decision-resolver.js +58 -0
  137. package/src/autonomy/outcome-report.js +55 -0
  138. package/src/autonomy/policy.js +41 -0
  139. package/src/autonomy/stage-ask.js +30 -0
  140. package/src/bootstrap.js +276 -0
  141. package/src/brain/agent-error-classifier.js +116 -0
  142. package/src/brain/decision-tracker.js +125 -0
  143. package/src/brain/decisor.js +243 -0
  144. package/src/brain/solomon-consult.js +171 -0
  145. package/src/brain/standby-scheduler.js +8 -0
  146. package/src/brain/standby-store.js +12 -0
  147. package/src/brain/with-brain-recovery.js +235 -0
  148. package/src/budget/comparison.js +96 -0
  149. package/src/canvas/parse-md.js +238 -0
  150. package/src/canvas/schema.js +101 -0
  151. package/src/canvas/to-flat.js +85 -0
  152. package/src/canvas/validate.js +163 -0
  153. package/src/checks/ai-surface.js +79 -0
  154. package/src/checks/ai-trash.js +34 -0
  155. package/src/checks/binaries.js +207 -0
  156. package/src/checks/ci.js +105 -0
  157. package/src/checks/config-files.js +217 -0
  158. package/src/checks/dir-setup.js +103 -0
  159. package/src/checks/guarantee-level.js +38 -0
  160. package/src/checks/hardware.js +150 -0
  161. package/src/checks/harness-scorecard.js +41 -0
  162. package/src/checks/mcp-health.js +169 -0
  163. package/src/checks/method.js +73 -0
  164. package/src/checks/native-build.js +67 -0
  165. package/src/checks/node.js +70 -0
  166. package/src/checks/ollama.js +41 -0
  167. package/src/checks/orphans.js +77 -0
  168. package/src/checks/ports.js +188 -0
  169. package/src/checks/project-checks.js +245 -0
  170. package/src/checks/qmd.js +41 -0
  171. package/src/checks/rag-hooks.js +54 -0
  172. package/src/checks/release-check.js +102 -0
  173. package/src/checks/rtk.js +36 -0
  174. package/src/checks/runner.js +326 -0
  175. package/src/checks/skills.js +53 -0
  176. package/src/checks/sonar.js +67 -0
  177. package/src/checks/squeezr.js +36 -0
  178. package/src/checks/system.js +53 -0
  179. package/src/checks/tokens.js +172 -0
  180. package/src/checks/types.js +103 -0
  181. package/src/ci/dispatch.js +99 -0
  182. package/src/ci/index.js +3 -0
  183. package/src/ci/pr-diff.js +26 -0
  184. package/src/ci/repo.js +45 -0
  185. package/src/cli/_shared.js +30 -0
  186. package/src/cli/advanced-commands.js +61 -0
  187. package/src/cli/register-meta.js +772 -0
  188. package/src/cli/register-pipeline.js +335 -0
  189. package/src/cli/register-plan.js +224 -0
  190. package/src/cli/register-roles-skills.js +54 -0
  191. package/src/cli/register-sonar.js +28 -0
  192. package/src/cli/register-standby.js +26 -0
  193. package/src/cli.js +155 -0
  194. package/src/commands/advanced.js +31 -0
  195. package/src/commands/agent-run.js +63 -0
  196. package/src/commands/agents.js +105 -0
  197. package/src/commands/architect.js +123 -0
  198. package/src/commands/audit.js +430 -0
  199. package/src/commands/autorun.js +49 -0
  200. package/src/commands/board.js +458 -0
  201. package/src/commands/check.js +40 -0
  202. package/src/commands/clean.js +145 -0
  203. package/src/commands/code.js +45 -0
  204. package/src/commands/config.js +74 -0
  205. package/src/commands/discover.js +105 -0
  206. package/src/commands/doctor.js +251 -0
  207. package/src/commands/env.js +207 -0
  208. package/src/commands/harden.js +203 -0
  209. package/src/commands/hu.js +210 -0
  210. package/src/commands/identity.js +60 -0
  211. package/src/commands/init.js +950 -0
  212. package/src/commands/install-tools.js +432 -0
  213. package/src/commands/mutate.js +94 -0
  214. package/src/commands/ollama.js +44 -0
  215. package/src/commands/onboard.js +45 -0
  216. package/src/commands/plan/_shared.js +55 -0
  217. package/src/commands/plan/add-hu.js +23 -0
  218. package/src/commands/plan/delete.js +9 -0
  219. package/src/commands/plan/fix.js +99 -0
  220. package/src/commands/plan/generate.js +532 -0
  221. package/src/commands/plan/index.js +13 -0
  222. package/src/commands/plan/list.js +21 -0
  223. package/src/commands/plan/migrate-result.js +41 -0
  224. package/src/commands/plan/ready.js +46 -0
  225. package/src/commands/plan/remove-hu.js +17 -0
  226. package/src/commands/plan/share.js +85 -0
  227. package/src/commands/plan/show.js +81 -0
  228. package/src/commands/plan/unshare.js +41 -0
  229. package/src/commands/plan/validate.js +20 -0
  230. package/src/commands/plan.js +17 -0
  231. package/src/commands/policy.js +164 -0
  232. package/src/commands/privacy.js +45 -0
  233. package/src/commands/qmd.js +86 -0
  234. package/src/commands/rag-mcp.js +18 -0
  235. package/src/commands/rag.js +173 -0
  236. package/src/commands/report-issue.js +77 -0
  237. package/src/commands/report.js +469 -0
  238. package/src/commands/researcher.js +54 -0
  239. package/src/commands/resume.js +68 -0
  240. package/src/commands/review-gate.js +355 -0
  241. package/src/commands/review.js +89 -0
  242. package/src/commands/roles.js +116 -0
  243. package/src/commands/run.js +185 -0
  244. package/src/commands/scan.js +18 -0
  245. package/src/commands/skills.js +86 -0
  246. package/src/commands/sonar.js +53 -0
  247. package/src/commands/standby.js +117 -0
  248. package/src/commands/start.js +121 -0
  249. package/src/commands/status.js +36 -0
  250. package/src/commands/sync.js +103 -0
  251. package/src/commands/telemetry.js +70 -0
  252. package/src/commands/tournament.js +85 -0
  253. package/src/commands/triage.js +78 -0
  254. package/src/commands/undo.js +62 -0
  255. package/src/commands/watch.js +46 -0
  256. package/src/commands/webperf.js +162 -0
  257. package/src/commands/worktree.js +76 -0
  258. package/src/config/defaults.js +270 -0
  259. package/src/config/loader.js +204 -0
  260. package/src/config/overrides.js +220 -0
  261. package/src/config/role-resolver.js +171 -0
  262. package/src/config/schema.js +299 -0
  263. package/src/config/test-harness.js +78 -0
  264. package/src/config.js +34 -0
  265. package/src/domains/domain-loader.js +245 -0
  266. package/src/domains/domain-registry.js +140 -0
  267. package/src/domains/domain-synthesizer.js +129 -0
  268. package/src/environment/adr.js +45 -0
  269. package/src/environment/board-access.js +97 -0
  270. package/src/environment/board-select.js +59 -0
  271. package/src/environment/briefs.js +129 -0
  272. package/src/environment/issue-report.js +72 -0
  273. package/src/environment/mcp-wiring.js +44 -0
  274. package/src/environment/playbook.js +127 -0
  275. package/src/git/automation.js +334 -0
  276. package/src/git/hu-automation.js +171 -0
  277. package/src/git/hu-snapshot.js +10 -0
  278. package/src/golden/asserter.js +92 -0
  279. package/src/golden/loader.js +52 -0
  280. package/src/golden/runner.js +92 -0
  281. package/src/golden/schema.js +41 -0
  282. package/src/guards/intent-guard.js +161 -0
  283. package/src/guards/output-guard.js +149 -0
  284. package/src/guards/perf-guard.js +126 -0
  285. package/src/guards/policy-guard.js +90 -0
  286. package/src/guards/policy-resolver.js +85 -0
  287. package/src/guards/secret-redactor.js +71 -0
  288. package/src/harden/advisory.js +203 -0
  289. package/src/harden/alternatives.js +50 -0
  290. package/src/harden/check.js +81 -0
  291. package/src/harden/config-engine.js +128 -0
  292. package/src/harden/config-templates.js +122 -0
  293. package/src/harden/guidelines-engine.js +48 -0
  294. package/src/harden/guidelines-templates.js +36 -0
  295. package/src/harden/harden-engine.js +80 -0
  296. package/src/harden/harness-hooks.js +107 -0
  297. package/src/harden/hook-commands.js +25 -0
  298. package/src/harden/hook-templates.js +183 -0
  299. package/src/harden/interactive.js +76 -0
  300. package/src/harden/sentinel-hooks.js +721 -0
  301. package/src/harden/stack-roots.js +105 -0
  302. package/src/harden/test-on-push.js +38 -0
  303. package/src/harden/workflow-engine.js +116 -0
  304. package/src/harden/workflow-templates.js +285 -0
  305. package/src/hu/acceptance-runner.js +138 -0
  306. package/src/hu/auto-generator.js +358 -0
  307. package/src/hu/graph.js +71 -0
  308. package/src/hu/lazy-planner.js +109 -0
  309. package/src/hu/model-router.js +108 -0
  310. package/src/hu/parallel-executor.js +94 -0
  311. package/src/hu/split-validator.js +143 -0
  312. package/src/hu/splitting-detector.js +158 -0
  313. package/src/hu/splitting-generator.js +175 -0
  314. package/src/hu/store.js +392 -0
  315. package/src/hu/worktree-bootstrap.js +59 -0
  316. package/src/identity/bootstrap.js +48 -0
  317. package/src/identity/compare.js +38 -0
  318. package/src/identity/detect.js +51 -0
  319. package/src/identity/store.js +66 -0
  320. package/src/infrastructure/command-runner.js +44 -0
  321. package/src/infrastructure/environment.js +38 -0
  322. package/src/infrastructure/file-system-service.js +63 -0
  323. package/src/infrastructure/mocks.js +182 -0
  324. package/src/lang/chunk-go.js +94 -0
  325. package/src/lang/chunk-java.js +90 -0
  326. package/src/lang/chunk-python.js +88 -0
  327. package/src/lang/chunk-rust.js +102 -0
  328. package/src/lang/go.js +14 -0
  329. package/src/lang/java.js +16 -0
  330. package/src/lang/js.js +8 -0
  331. package/src/lang/python.js +14 -0
  332. package/src/lang/registry.js +79 -0
  333. package/src/lang/rust.js +14 -0
  334. package/src/lang/tree-sitter-loader.js +45 -0
  335. package/src/mcp/direct-role-runner.js +112 -0
  336. package/src/mcp/error-classifiers.js +66 -0
  337. package/src/mcp/handlers/direct-handlers.js +486 -0
  338. package/src/mcp/handlers/hu-handlers.js +93 -0
  339. package/src/mcp/handlers/management-handlers.js +265 -0
  340. package/src/mcp/handlers/rag-handler.js +52 -0
  341. package/src/mcp/handlers/run-handler.js +313 -0
  342. package/src/mcp/orphan-guard.js +131 -0
  343. package/src/mcp/preflight.js +47 -0
  344. package/src/mcp/progress.js +149 -0
  345. package/src/mcp/response-compressor.js +81 -0
  346. package/src/mcp/run-kj.js +135 -0
  347. package/src/mcp/server-handlers.js +79 -0
  348. package/src/mcp/server.js +66 -0
  349. package/src/mcp/shared-helpers.js +297 -0
  350. package/src/mcp/sovereignty-guard.js +112 -0
  351. package/src/mcp/suggest-handler.js +92 -0
  352. package/src/mcp/tool-arg-normalizers.js +16 -0
  353. package/src/mcp/tools.js +432 -0
  354. package/src/mutate/diff-scope.js +105 -0
  355. package/src/mutate/reviewer-signal.js +76 -0
  356. package/src/mutate/runner.js +72 -0
  357. package/src/mutate/tool-registry.js +90 -0
  358. package/src/onboarder/cache.js +24 -0
  359. package/src/onboarder/collectors/framework-multilang.js +64 -0
  360. package/src/onboarder/collectors/index.js +136 -0
  361. package/src/orchestrator/agent-fallback.js +81 -0
  362. package/src/orchestrator/brain-coordinator.js +186 -0
  363. package/src/orchestrator/ci-integration.js +139 -0
  364. package/src/orchestrator/config-init.js +510 -0
  365. package/src/orchestrator/direct-actions.js +217 -0
  366. package/src/orchestrator/drivers/error-recovery.js +287 -0
  367. package/src/orchestrator/drivers/init-context.js +227 -0
  368. package/src/orchestrator/drivers/iteration-loop.js +380 -0
  369. package/src/orchestrator/drivers/iteration-phases/coder-and-refactorer.js +69 -0
  370. package/src/orchestrator/drivers/iteration-phases/guards.js +84 -0
  371. package/src/orchestrator/drivers/iteration-phases/handle-approved.js +29 -0
  372. package/src/orchestrator/drivers/iteration-phases/quality-gates.js +114 -0
  373. package/src/orchestrator/drivers/iteration-phases/reviewer-gate.js +60 -0
  374. package/src/orchestrator/drivers/post-loop.js +383 -0
  375. package/src/orchestrator/drivers/pre-loop-phases/auto-hu-batch.js +136 -0
  376. package/src/orchestrator/drivers/pre-loop-phases/config-deprecations.js +47 -0
  377. package/src/orchestrator/drivers/pre-loop-phases/ensure-addyosmani-skills.js +84 -0
  378. package/src/orchestrator/drivers/pre-loop-phases/inject-loaded-plan.js +391 -0
  379. package/src/orchestrator/drivers/pre-loop.js +507 -0
  380. package/src/orchestrator/drivers/run-hu-batch.js +427 -0
  381. package/src/orchestrator/feedback-enrichment.js +140 -0
  382. package/src/orchestrator/feedback-queue.js +151 -0
  383. package/src/orchestrator/flow-control.js +170 -0
  384. package/src/orchestrator/flow-runner.js +364 -0
  385. package/src/orchestrator/fs-leak-detector.js +210 -0
  386. package/src/orchestrator/hu-scheduler.js +114 -0
  387. package/src/orchestrator/hu-sub-pipeline.js +616 -0
  388. package/src/orchestrator/integrations.js +81 -0
  389. package/src/orchestrator/iteration-gate.js +73 -0
  390. package/src/orchestrator/iteration-stages.js +9 -0
  391. package/src/orchestrator/parallel-limiter.js +74 -0
  392. package/src/orchestrator/pipeline-context.js +72 -0
  393. package/src/orchestrator/post-loop-stages.js +468 -0
  394. package/src/orchestrator/pre-loop-stages.js +11 -0
  395. package/src/orchestrator/preflight-checks.js +462 -0
  396. package/src/orchestrator/repair/repair-detector.js +117 -0
  397. package/src/orchestrator/repair/repair-runner.js +142 -0
  398. package/src/orchestrator/reviewer-fallback.js +45 -0
  399. package/src/orchestrator/role-output-compressor.js +189 -0
  400. package/src/orchestrator/session-journal.js +308 -0
  401. package/src/orchestrator/solomon-escalation.js +305 -0
  402. package/src/orchestrator/solomon-rules.js +212 -0
  403. package/src/orchestrator/stages/architect-stage.js +172 -0
  404. package/src/orchestrator/stages/coder-stage.js +480 -0
  405. package/src/orchestrator/stages/domain-curator-stage.js +82 -0
  406. package/src/orchestrator/stages/hu-reviewer-phases/detect-and-apply-splits.js +127 -0
  407. package/src/orchestrator/stages/hu-reviewer-stage.js +394 -0
  408. package/src/orchestrator/stages/perf-stage.js +140 -0
  409. package/src/orchestrator/stages/planner-stage.js +85 -0
  410. package/src/orchestrator/stages/rag-context-stage.js +77 -0
  411. package/src/orchestrator/stages/rag-preload-decisor.js +58 -0
  412. package/src/orchestrator/stages/research-stage.js +69 -0
  413. package/src/orchestrator/stages/reviewer-stage.js +422 -0
  414. package/src/orchestrator/stages/sonar-stage.js +421 -0
  415. package/src/orchestrator/stages/stage-classes.js +84 -0
  416. package/src/orchestrator/stages/stage-executor.js +155 -0
  417. package/src/orchestrator/stages/tdd-discipline-stage.js +56 -0
  418. package/src/orchestrator/stages/tool-judge-stage.js +53 -0
  419. package/src/orchestrator/stages/triage-stage.js +172 -0
  420. package/src/orchestrator/standby.js +71 -0
  421. package/src/orchestrator/verification-gate.js +183 -0
  422. package/src/orchestrator.js +22 -0
  423. package/src/plan/adr-generator.js +170 -0
  424. package/src/plan/adr-loader.js +60 -0
  425. package/src/plan/plan-executor.js +100 -0
  426. package/src/plan/plan-fixer.js +192 -0
  427. package/src/plan/plan-hu-ops.js +16 -0
  428. package/src/plan/plan-id.js +4 -0
  429. package/src/plan/plan-migrate-result.js +24 -0
  430. package/src/plan/plan-reviewer.js +236 -0
  431. package/src/plan/plan-schema.js +334 -0
  432. package/src/plan/plan-store.js +260 -0
  433. package/src/plan/plan-structural-pass.js +122 -0
  434. package/src/plan/plan-validation.js +4 -0
  435. package/src/plan/preflight-hu.js +105 -0
  436. package/src/plan/spec-detector.js +61 -0
  437. package/src/plan/tests-synthesizer.js +131 -0
  438. package/src/planning-game/adapter.js +108 -0
  439. package/src/planning-game/architect-adrs.js +45 -0
  440. package/src/planning-game/client.js +108 -0
  441. package/src/planning-game/decomposition.js +87 -0
  442. package/src/planning-game/pipeline-adapter.js +251 -0
  443. package/src/plugins/loader.js +67 -0
  444. package/src/policy/add.js +111 -0
  445. package/src/policy/decisions.js +42 -0
  446. package/src/policy/engine.js +82 -0
  447. package/src/policy/exceptions.js +60 -0
  448. package/src/privacy/onboarding.js +35 -0
  449. package/src/privacy/scan.js +120 -0
  450. package/src/prompts/arbiter.js +38 -0
  451. package/src/prompts/architect.js +103 -0
  452. package/src/prompts/audit.js +474 -0
  453. package/src/prompts/coder.js +287 -0
  454. package/src/prompts/diff-clip.js +27 -0
  455. package/src/prompts/discover.js +222 -0
  456. package/src/prompts/hu-reviewer.js +219 -0
  457. package/src/prompts/planner.js +312 -0
  458. package/src/prompts/prompt-layout.js +80 -0
  459. package/src/prompts/prompt-resolver.js +120 -0
  460. package/src/prompts/reviewer.js +75 -0
  461. package/src/prompts/rtk-snippet.js +25 -0
  462. package/src/prompts/spec-reviewer.js +66 -0
  463. package/src/prompts/split-signal.js +82 -0
  464. package/src/prompts/start-decision.js +52 -0
  465. package/src/prompts/tool-correctness-judge.js +31 -0
  466. package/src/prompts/triage.js +57 -0
  467. package/src/rag/auto-update.js +72 -0
  468. package/src/rag/chunker-ast.js +56 -0
  469. package/src/rag/chunker.js +132 -0
  470. package/src/rag/embedder.js +2 -0
  471. package/src/rag/embedders/_cloud-base.js +2 -0
  472. package/src/rag/embedders/cohere.js +2 -0
  473. package/src/rag/embedders/factory.js +2 -0
  474. package/src/rag/embedders/mistral.js +2 -0
  475. package/src/rag/embedders/onnx.js +2 -0
  476. package/src/rag/embedders/openai.js +2 -0
  477. package/src/rag/embedders/voyage.js +2 -0
  478. package/src/rag/eval.js +61 -0
  479. package/src/rag/governed-embedder.js +39 -0
  480. package/src/rag/indexer.js +199 -0
  481. package/src/rag/library.js +62 -0
  482. package/src/rag/ollama-capability.js +59 -0
  483. package/src/rag/ollama-manager.js +98 -0
  484. package/src/rag/onnx-fallback.js +69 -0
  485. package/src/rag/rerank.js +4 -0
  486. package/src/rag/retriever.js +2 -0
  487. package/src/rag/vec-store.js +17 -0
  488. package/src/rag/watcher.js +62 -0
  489. package/src/rag/where-parser.js +4 -0
  490. package/src/repeat-detector.js +88 -0
  491. package/src/review/card-first.js +99 -0
  492. package/src/review/card-verify.js +83 -0
  493. package/src/review/diff-generator.js +112 -0
  494. package/src/review/gate-gitignore.js +77 -0
  495. package/src/review/git-stash-helper.js +104 -0
  496. package/src/review/mutation-pregate.js +48 -0
  497. package/src/review/one-shot-review.js +122 -0
  498. package/src/review/parser.js +80 -0
  499. package/src/review/policy-gate.js +26 -0
  500. package/src/review/profiles.js +66 -0
  501. package/src/review/reviewer-fallback.js +125 -0
  502. package/src/review/schema.js +31 -0
  503. package/src/review/scope-filter.js +152 -0
  504. package/src/review/snapshot-diff.js +122 -0
  505. package/src/review/solomon-arbitration.js +113 -0
  506. package/src/review/sonar-pregate.js +63 -0
  507. package/src/review/tdd-discipline.js +90 -0
  508. package/src/review/tdd-policy.js +69 -0
  509. package/src/review/tests-with-code.js +33 -0
  510. package/src/review/verdict-store.js +87 -0
  511. package/src/review/workspace.js +21 -0
  512. package/src/roles/agent-role.js +194 -0
  513. package/src/roles/architect-role.js +77 -0
  514. package/src/roles/audit-role.js +258 -0
  515. package/src/roles/base-role.js +165 -0
  516. package/src/roles/coder-role.js +107 -0
  517. package/src/roles/commiter-role.js +110 -0
  518. package/src/roles/discover-role.js +81 -0
  519. package/src/roles/domain-curator-role.js +141 -0
  520. package/src/roles/hu-reviewer-role.js +64 -0
  521. package/src/roles/impeccable-role.js +85 -0
  522. package/src/roles/index.js +18 -0
  523. package/src/roles/karajan-brain-role.js +134 -0
  524. package/src/roles/onboarder-role.js +61 -0
  525. package/src/roles/perf-role.js +122 -0
  526. package/src/roles/planner-role.js +151 -0
  527. package/src/roles/refactorer-role.js +30 -0
  528. package/src/roles/repairer-role.js +181 -0
  529. package/src/roles/researcher-role.js +70 -0
  530. package/src/roles/reviewer-role.js +104 -0
  531. package/src/roles/security-role.js +73 -0
  532. package/src/roles/solomon-role.js +265 -0
  533. package/src/roles/sonar-role.js +70 -0
  534. package/src/roles/spec-reviewer-role.js +106 -0
  535. package/src/roles/tester-role.js +235 -0
  536. package/src/roles/tool-correctness-judge-role.js +78 -0
  537. package/src/roles/triage-role.js +99 -0
  538. package/src/session/journal/decisions-writer.js +200 -0
  539. package/src/session/journal/iteration-logger.js +194 -0
  540. package/src/session/journal/summary-writer.js +320 -0
  541. package/src/session/journal/tree-writer.js +164 -0
  542. package/src/session/journal/write-all.js +89 -0
  543. package/src/session/mutators.js +339 -0
  544. package/src/session/runtime-overrides.js +59 -0
  545. package/src/session/store.js +106 -0
  546. package/src/session-cleanup.js +116 -0
  547. package/src/skills/addyosmani-catalog.js +315 -0
  548. package/src/skills/addyosmani-role-map.js +139 -0
  549. package/src/skills/openskills-client.js +157 -0
  550. package/src/skills/semantic-detector.js +167 -0
  551. package/src/skills/skill-detector.js +385 -0
  552. package/src/skills/skill-loader.js +219 -0
  553. package/src/skills/skills-cache.js +128 -0
  554. package/src/sonar/api.js +128 -0
  555. package/src/sonar/cloud-scanner.js +78 -0
  556. package/src/sonar/config-resolver.js +88 -0
  557. package/src/sonar/credentials.js +60 -0
  558. package/src/sonar/discovery.js +124 -0
  559. package/src/sonar/enforcer.js +19 -0
  560. package/src/sonar/issue-filter.js +12 -0
  561. package/src/sonar/manager.js +181 -0
  562. package/src/sonar/project-key.js +120 -0
  563. package/src/sonar/scanner.js +307 -0
  564. package/src/sonar/token-bootstrap.js +205 -0
  565. package/src/sonar/token-recovery.js +67 -0
  566. package/src/spec-review/refine-loop.js +58 -0
  567. package/src/spec-review/run-spec-review.js +119 -0
  568. package/src/start/assessment.js +74 -0
  569. package/src/start/maturity.js +73 -0
  570. package/src/start/start-decider-role.js +79 -0
  571. package/src/start/sweep.js +157 -0
  572. package/src/sync/apply-canvas-patch.js +55 -0
  573. package/src/sync/detect-drift.js +113 -0
  574. package/src/tournament/crown.js +88 -0
  575. package/src/tournament/judge.js +150 -0
  576. package/src/tournament/run.js +142 -0
  577. package/src/tournament/scoreboard.js +124 -0
  578. package/src/tracker-bootstrap.js +44 -0
  579. package/src/types/agent.js +55 -0
  580. package/src/types/config.js +114 -0
  581. package/src/types/hu.js +47 -0
  582. package/src/types/index.js +38 -0
  583. package/src/types/policy.js +43 -0
  584. package/src/types/session.js +75 -0
  585. package/src/types/solomon.js +87 -0
  586. package/src/types/stage.js +68 -0
  587. package/src/utils/agent-detect.js +93 -0
  588. package/src/utils/ai-trash.js +48 -0
  589. package/src/utils/async-lock.js +31 -0
  590. package/src/utils/atomic-write.js +6 -0
  591. package/src/utils/banner.js +66 -0
  592. package/src/utils/binary-sources.js +70 -0
  593. package/src/utils/board-prompt-bridge.js +108 -0
  594. package/src/utils/budget.js +229 -0
  595. package/src/utils/cli-ask-question.js +93 -0
  596. package/src/utils/cli-progress.js +220 -0
  597. package/src/utils/cli-run-log.js +83 -0
  598. package/src/utils/cwd-confirm.js +39 -0
  599. package/src/utils/derive-project-name-from-cwd.js +119 -0
  600. package/src/utils/display/event-handlers.js +403 -0
  601. package/src/utils/display/formatters.js +132 -0
  602. package/src/utils/display/header.js +47 -0
  603. package/src/utils/display/resume-hint.js +41 -0
  604. package/src/utils/display/session-summary.js +118 -0
  605. package/src/utils/display/solomon.js +42 -0
  606. package/src/utils/display/spec-findings.js +44 -0
  607. package/src/utils/doc-links.js +29 -0
  608. package/src/utils/docker-install.js +34 -0
  609. package/src/utils/escape-regexp.js +15 -0
  610. package/src/utils/events.js +35 -0
  611. package/src/utils/fs.js +19 -0
  612. package/src/utils/garbage-collector.js +481 -0
  613. package/src/utils/git.js +279 -0
  614. package/src/utils/home-migration.js +87 -0
  615. package/src/utils/injection-guard.js +186 -0
  616. package/src/utils/install-hints.js +180 -0
  617. package/src/utils/json-extract.js +64 -0
  618. package/src/utils/locale.js +59 -0
  619. package/src/utils/logger.js +96 -0
  620. package/src/utils/managed-markers.js +93 -0
  621. package/src/utils/manifest-sniff.js +82 -0
  622. package/src/utils/messages.js +61 -0
  623. package/src/utils/model-selector.js +107 -0
  624. package/src/utils/os-detect.js +79 -0
  625. package/src/utils/paths.js +13 -0
  626. package/src/utils/pending-user-action.js +95 -0
  627. package/src/utils/port-check.js +6 -0
  628. package/src/utils/port-occupant.js +96 -0
  629. package/src/utils/pricing.js +29 -0
  630. package/src/utils/process.js +4 -0
  631. package/src/utils/project-detect.js +160 -0
  632. package/src/utils/prompt-project-name.js +35 -0
  633. package/src/utils/provider-env.js +116 -0
  634. package/src/utils/qmd-collection.js +72 -0
  635. package/src/utils/qmd-detect.js +18 -0
  636. package/src/utils/qmd-install.js +37 -0
  637. package/src/utils/quota-simulator.js +56 -0
  638. package/src/utils/rate-limit-detector.js +181 -0
  639. package/src/utils/repo-cleaner.js +79 -0
  640. package/src/utils/retry.js +88 -0
  641. package/src/utils/role-assigner.js +137 -0
  642. package/src/utils/role-env.js +58 -0
  643. package/src/utils/rtk-detect.js +18 -0
  644. package/src/utils/rtk-install.js +38 -0
  645. package/src/utils/rtk-wrapper.js +87 -0
  646. package/src/utils/run-context.js +75 -0
  647. package/src/utils/run-log.js +217 -0
  648. package/src/utils/run-registry.js +9 -0
  649. package/src/utils/shared-paths.js +12 -0
  650. package/src/utils/squeezr-detect.js +21 -0
  651. package/src/utils/squeezr-install.js +37 -0
  652. package/src/utils/stack-detect.js +135 -0
  653. package/src/utils/stall-detector.js +159 -0
  654. package/src/utils/status-dashboard.js +254 -0
  655. package/src/utils/task-file.js +109 -0
  656. package/src/utils/telemetry.js +124 -0
  657. package/src/utils/templates-root.js +61 -0
  658. package/src/utils/tool-call-extractor.js +56 -0
  659. package/src/utils/tool-governor.js +116 -0
  660. package/src/utils/tool-installer.js +93 -0
  661. package/src/utils/update-check.js +280 -0
  662. package/src/utils/vector-store-orphans.js +89 -0
  663. package/src/utils/welcome.js +47 -0
  664. package/src/utils/with-timeout.js +42 -0
  665. package/src/utils/wizard.js +47 -0
  666. package/src/webperf/cwv-gate.js +94 -0
  667. package/src/webperf/devtools-detect.js +112 -0
  668. package/src/webperf/scanner.js +209 -0
  669. package/src/webperf/webperf-role-integration.js +66 -0
  670. package/templates/coder-rules.md +45 -0
  671. package/templates/docker-compose.sonar.yml +60 -0
  672. package/templates/domains/example-dental.md +57 -0
  673. package/templates/kj.config.yml +128 -0
  674. package/templates/review-rules.md +17 -0
  675. package/templates/roles/architect/anthropic.md +74 -0
  676. package/templates/roles/architect/default.md +72 -0
  677. package/templates/roles/architect/google.md +61 -0
  678. package/templates/roles/architect/openai.md +60 -0
  679. package/templates/roles/architect/opencode.md +59 -0
  680. package/templates/roles/architect.md +76 -0
  681. package/templates/roles/audit.md +68 -0
  682. package/templates/roles/coder/anthropic.md +81 -0
  683. package/templates/roles/coder/default.md +78 -0
  684. package/templates/roles/coder/google.md +87 -0
  685. package/templates/roles/coder/openai.md +68 -0
  686. package/templates/roles/coder/opencode.md +58 -0
  687. package/templates/roles/coder.md +152 -0
  688. package/templates/roles/commiter.md +44 -0
  689. package/templates/roles/discover.md +167 -0
  690. package/templates/roles/domain-curator.md +52 -0
  691. package/templates/roles/hu-reviewer.md +236 -0
  692. package/templates/roles/impeccable-design.md +87 -0
  693. package/templates/roles/impeccable.md +125 -0
  694. package/templates/roles/karajan-brain.md +95 -0
  695. package/templates/roles/onboarder.md +45 -0
  696. package/templates/roles/planner/anthropic.md +59 -0
  697. package/templates/roles/planner/default.md +57 -0
  698. package/templates/roles/planner/google.md +75 -0
  699. package/templates/roles/planner/openai.md +55 -0
  700. package/templates/roles/planner/opencode.md +62 -0
  701. package/templates/roles/planner.md +61 -0
  702. package/templates/roles/refactorer.md +48 -0
  703. package/templates/roles/repairer.md +103 -0
  704. package/templates/roles/researcher.md +41 -0
  705. package/templates/roles/reviewer/anthropic.md +61 -0
  706. package/templates/roles/reviewer/default.md +62 -0
  707. package/templates/roles/reviewer/google.md +63 -0
  708. package/templates/roles/reviewer/openai.md +57 -0
  709. package/templates/roles/reviewer/opencode.md +42 -0
  710. package/templates/roles/reviewer-paranoid.md +38 -0
  711. package/templates/roles/reviewer-relaxed.md +34 -0
  712. package/templates/roles/reviewer-strict.md +37 -0
  713. package/templates/roles/reviewer.md +62 -0
  714. package/templates/roles/security.md +54 -0
  715. package/templates/roles/solomon/anthropic.md +71 -0
  716. package/templates/roles/solomon/default.md +83 -0
  717. package/templates/roles/solomon/google.md +61 -0
  718. package/templates/roles/solomon/openai.md +53 -0
  719. package/templates/roles/solomon/opencode.md +55 -0
  720. package/templates/roles/solomon.md +83 -0
  721. package/templates/roles/sonar.md +49 -0
  722. package/templates/roles/spec-reviewer.md +47 -0
  723. package/templates/roles/tester.md +50 -0
  724. package/templates/roles/triage.md +69 -0
  725. package/templates/skills/kj-architect.md +45 -0
  726. package/templates/skills/kj-audit.md +63 -0
  727. package/templates/skills/kj-board.md +16 -0
  728. package/templates/skills/kj-code.md +51 -0
  729. package/templates/skills/kj-csv-transform.md +40 -0
  730. package/templates/skills/kj-data-report.md +44 -0
  731. package/templates/skills/kj-discover.md +24 -0
  732. package/templates/skills/kj-rag-query.md +50 -0
  733. package/templates/skills/kj-review.md +47 -0
  734. package/templates/skills/kj-run.md +73 -0
  735. package/templates/skills/kj-security.md +49 -0
  736. package/templates/skills/kj-sonar.md +41 -0
  737. package/templates/skills/kj-sql-analysis.md +40 -0
  738. package/templates/skills/kj-test.md +40 -0
  739. package/templates/workflows/automerge.yml +30 -0
  740. package/templates/workflows/houston-override.yml +46 -0
  741. package/templates/workflows/kj-ci-gateway.yml +58 -0
  742. package/vendor/tree-sitter-grammars/README.md +21 -0
  743. package/vendor/tree-sitter-grammars/go.wasm +0 -0
  744. package/vendor/tree-sitter-grammars/java.wasm +0 -0
  745. package/vendor/tree-sitter-grammars/python.wasm +0 -0
  746. package/vendor/tree-sitter-grammars/rust.wasm +0 -0
@@ -0,0 +1,63 @@
1
+ # Reviewer Role (Gemini-optimized)
2
+
3
+ You are the Reviewer. Review code changes against task requirements and quality standards.
4
+
5
+ ## Scope (non-negotiable)
6
+
7
+ - Review ONLY files present in the diff.
8
+ - Untouched-file problems go into `non_blocking_suggestions` with an "out of scope" note — NEVER in `blocking_issues`.
9
+
10
+ ## Review priorities (ordered)
11
+
12
+ 1. Security
13
+ 2. Correctness
14
+ 3. Tests
15
+ 4. Architecture
16
+ 5. Style (only if egregious)
17
+
18
+ ## Examples
19
+
20
+ ### Example 1 — Security block
21
+
22
+ Diff adds:
23
+ ```js
24
+ const q = `SELECT * FROM users WHERE email = '${email}'`;
25
+ ```
26
+ Response: BLOCK with severity `critical` and suggested_fix "Use parameterized queries via the pg driver's `$1` placeholder."
27
+
28
+ ### Example 2 — Style non-block
29
+
30
+ Diff adds a well-tested function with unusual variable names (`x`, `y` instead of descriptive). Response: APPROVE with `non_blocking_suggestions: ["Consider more descriptive names: x → userIndex, y → cursor"]`. Confidence 0.9.
31
+
32
+ ### Example 3 — File overwrite block
33
+
34
+ Diff shows 120 lines deleted + 80 added in `styles/brand.css`, including removal of CSS custom properties that defined corporate colors. Response: BLOCK with severity `critical` — "Full file overwrite detected — brand colors removed. Revert and apply targeted edits only."
35
+
36
+ ### Example 4 — Missing test
37
+
38
+ Diff adds a `divide(a, b)` function with no test. Response: BLOCK with severity `major` — "No test for the divide-by-zero edge case."
39
+
40
+ ## Rules
41
+
42
+ - Block only for concrete production risk in CHANGED files.
43
+ - Style NEVER blocks approval.
44
+ - Reject only if confidence < 0.70.
45
+
46
+ ## Output
47
+
48
+ Strict JSON, exactly this shape:
49
+
50
+ ```json
51
+ {
52
+ "ok": true,
53
+ "result": {
54
+ "approved": true,
55
+ "blocking_issues": [],
56
+ "non_blocking_suggestions": ["..."],
57
+ "confidence": 0.95
58
+ },
59
+ "summary": "..."
60
+ }
61
+ ```
62
+
63
+ When `approved=false`, each `blocking_issue` MUST include id, file, line, severity, description, suggested_fix.
@@ -0,0 +1,57 @@
1
+ # Reviewer Role
2
+
3
+ You are the Reviewer. Review code changes against task requirements and quality standards.
4
+
5
+ ## SCOPE (non-negotiable)
6
+
7
+ - Review ONLY files present in the diff.
8
+ - Issues in untouched files → `non_blocking_suggestions` with an "out of scope" note. NEVER as `blocking_issues`.
9
+
10
+ ## REVIEW PRIORITIES (ordered)
11
+
12
+ 1. Security (secrets, injection, broken auth, SSRF)
13
+ 2. Correctness (logic, edge cases, broken tests)
14
+ 3. Tests (coverage, meaningful assertions)
15
+ 4. Architecture (SOLID, duplication)
16
+ 5. Style (only if egregious)
17
+
18
+ ## RULES
19
+
20
+ - Block only for concrete production risk in CHANGED files.
21
+ - Style NEVER blocks approval.
22
+ - Reject only if confidence < 0.70.
23
+ - Wholesale file overwrite (mass deletions + additions) = BLOCKING. Check for reverted brand colors, lost CSS, removed functionality, overwritten config.
24
+
25
+ ## OUTPUT (strict JSON)
26
+
27
+ Approve:
28
+ ```json
29
+ {
30
+ "ok": true,
31
+ "result": {
32
+ "approved": true,
33
+ "blocking_issues": [],
34
+ "non_blocking_suggestions": ["Optional improvement ideas"],
35
+ "confidence": 0.95
36
+ },
37
+ "summary": "Approved: all changes look correct and well-tested"
38
+ }
39
+ ```
40
+
41
+ Reject:
42
+ ```json
43
+ {
44
+ "ok": true,
45
+ "result": {
46
+ "approved": false,
47
+ "blocking_issues": [
48
+ { "id": "R-1", "file": "src/foo.js", "line": 42, "severity": "critical", "description": "SQL injection vulnerability", "suggested_fix": "Use parameterized queries instead of string concatenation" }
49
+ ],
50
+ "non_blocking_suggestions": [],
51
+ "confidence": 0.9
52
+ },
53
+ "summary": "Rejected: 1 critical security issue found"
54
+ }
55
+ ```
56
+
57
+ Every `blocking_issue` MUST include: id, file, line, severity, description, suggested_fix.
@@ -0,0 +1,42 @@
1
+ # Reviewer
2
+
3
+ Role: review code changes in the diff. Approve or reject.
4
+
5
+ ## Rules
6
+
7
+ 1. Review ONLY files present in the diff.
8
+ 2. Issues in untouched files → `non_blocking_suggestions` with "(out of scope)". Never in `blocking_issues`.
9
+ 3. Priorities in order: security > correctness > tests > architecture > style.
10
+ 4. Block only for concrete production risk in CHANGED files.
11
+ 5. Style never blocks approval.
12
+ 6. Reject only if confidence < 0.70.
13
+ 7. File overwrite detection: if a file has mass deletions + additions (entire rewrite), block as critical. Check for lost brand colors, CSS, config values.
14
+
15
+ ## Output
16
+
17
+ Return exactly this JSON shape. Nothing before. Nothing after.
18
+
19
+ ```json
20
+ {
21
+ "ok": true,
22
+ "result": {
23
+ "approved": true,
24
+ "blocking_issues": [],
25
+ "non_blocking_suggestions": [],
26
+ "confidence": 0.9
27
+ },
28
+ "summary": "short sentence"
29
+ }
30
+ ```
31
+
32
+ If `approved` is false:
33
+ - `blocking_issues` must be non-empty.
34
+ - Each issue must have: id (string), file (string), line (number), severity ("critical" | "major" | "minor"), description (string), suggested_fix (string).
35
+
36
+ If `approved` is true:
37
+ - `blocking_issues` must be `[]`.
38
+
39
+ Rules for the JSON:
40
+ - Exact keys only. No extras.
41
+ - `confidence` is a number between 0 and 1.
42
+ - No text outside the code block.
@@ -0,0 +1,38 @@
1
+ # Reviewer Role — Paranoid Mode
2
+
3
+ You are the **Reviewer** in paranoid mode. Every change is suspect until proven safe. Be extremely thorough.
4
+
5
+ ## Review priorities (in order)
6
+
7
+ 1. **Security** — treat every input as hostile; check for injection, SSRF, path traversal, prototype pollution, secret leaks
8
+ 2. **Correctness** — trace every code path; verify edge cases, null/undefined, integer overflow, race conditions
9
+ 3. **Tests** — demand high coverage; reject if critical paths lack assertions
10
+ 4. **Data integrity** — validate schemas, migrations, backwards compatibility
11
+ 5. **Architecture** — coupling, abstraction leaks, violation of established patterns
12
+ 6. **Style** — flag inconsistencies that could hide bugs
13
+
14
+ ## Rules
15
+
16
+ - **Default to rejection.** Approve only when you are highly confident there are zero risks.
17
+ - Flag any file that was entirely replaced (not surgically edited) as BLOCKING.
18
+ - Flag missing error handling as BLOCKING.
19
+ - Flag missing input validation as BLOCKING.
20
+ - Require explicit tests for every new public function.
21
+ - If confidence < 0.85, reject and explain what you cannot verify.
22
+ - Style issues are BLOCKING only when they obscure logic (ambiguous names, deeply nested ternaries).
23
+
24
+ ## Output format
25
+
26
+ Return a strict JSON object:
27
+ ```json
28
+ {
29
+ "ok": true,
30
+ "result": {
31
+ "approved": boolean,
32
+ "blocking_issues": [],
33
+ "non_blocking_suggestions": [],
34
+ "confidence": number,
35
+ "summary": "string"
36
+ }
37
+ }
38
+ ```
@@ -0,0 +1,34 @@
1
+ # Reviewer Role — Relaxed Mode
2
+
3
+ You are the **Reviewer** in relaxed mode. Focus only on what truly matters.
4
+
5
+ ## Review priorities (in order)
6
+
7
+ 1. **Security** — only critical vulnerabilities (secrets in code, SQL injection, XSS)
8
+ 2. **Correctness** — only clear logic errors that would break functionality
9
+ 3. **Tests** — only flag if zero tests exist for critical new logic
10
+
11
+ ## Rules
12
+
13
+ - Only block on critical security vulnerabilities or clear correctness bugs.
14
+ - Architecture, style, and naming issues are NEVER blocking.
15
+ - Missing tests are non-blocking unless the change is in a critical path.
16
+ - Trust the developer's intent; suggest improvements as non-blocking only.
17
+ - Confidence threshold: reject only if < 0.60.
18
+ - Prefer approving with suggestions over rejecting.
19
+
20
+ ## Output format
21
+
22
+ Return a strict JSON object:
23
+ ```json
24
+ {
25
+ "ok": true,
26
+ "result": {
27
+ "approved": boolean,
28
+ "blocking_issues": [],
29
+ "non_blocking_suggestions": [],
30
+ "confidence": number,
31
+ "summary": "string"
32
+ }
33
+ }
34
+ ```
@@ -0,0 +1,37 @@
1
+ # Reviewer Role — Strict Mode
2
+
3
+ You are the **Reviewer** in strict mode. High standards, but practical.
4
+
5
+ ## Review priorities (in order)
6
+
7
+ 1. **Security** — vulnerabilities, exposed secrets, injection vectors
8
+ 2. **Correctness** — logic errors, edge cases, broken tests
9
+ 3. **Tests** — adequate coverage for changed code, meaningful assertions
10
+ 4. **Architecture** — patterns, maintainability, SOLID principles
11
+ 5. **Style** — naming, formatting (flag if inconsistent with codebase)
12
+
13
+ ## Rules
14
+
15
+ - Block on any security issue, regardless of severity.
16
+ - Block on logic errors that could reach production.
17
+ - Block if test coverage for new code is insufficient.
18
+ - Require error handling for external calls (network, filesystem, user input).
19
+ - Flag file overwrites (massive deletions + additions) as BLOCKING.
20
+ - Style issues are non-blocking unless they create ambiguity.
21
+ - Confidence threshold: reject if < 0.80.
22
+
23
+ ## Output format
24
+
25
+ Return a strict JSON object:
26
+ ```json
27
+ {
28
+ "ok": true,
29
+ "result": {
30
+ "approved": boolean,
31
+ "blocking_issues": [],
32
+ "non_blocking_suggestions": [],
33
+ "confidence": number,
34
+ "summary": "string"
35
+ }
36
+ }
37
+ ```
@@ -0,0 +1,62 @@
1
+ # Reviewer Role
2
+
3
+ You are the **Reviewer** in a multi-role AI pipeline. Your job is to review code changes against task requirements and quality standards.
4
+
5
+ ## Scope constraint
6
+
7
+ - **Review only the files present in the diff.** Keep every finding scoped to what this change touched.
8
+ - If you notice problems in untouched files, mention them as `non_blocking_suggestions` with a note that they are outside the current scope — never as `blocking_issues`.
9
+ - Your job is to review THIS change, not audit the entire codebase.
10
+
11
+ ## Review priorities (in order)
12
+
13
+ 1. **Security** — vulnerabilities, exposed secrets, injection vectors
14
+ 2. **Correctness** — logic errors, edge cases, broken tests
15
+ 3. **Tests** — adequate coverage, meaningful assertions
16
+ 4. **Architecture** — patterns, maintainability, SOLID principles
17
+ 5. **Style** — naming, formatting (only flag if egregious)
18
+
19
+ ## Rules
20
+
21
+ - Focus on security, correctness, and tests first.
22
+ - Only raise blocking issues for concrete production risks in the changed files.
23
+ - Keep non-blocking suggestions separate.
24
+ - Let style preferences pass; reserve blocking for concrete production risks.
25
+ - Confidence threshold: reject only if < 0.70.
26
+
27
+ ## File overwrite detection (BLOCKING)
28
+
29
+ - If the diff shows an entire file was replaced (massive deletions + additions instead of targeted edits), flag it as BLOCKING.
30
+ - Check specifically for: reverted brand colors, lost CSS styles, removed existing functionality, overwritten config values.
31
+
32
+ ## Output format
33
+
34
+ Return a strict JSON object:
35
+ ```json
36
+ {
37
+ "ok": true,
38
+ "result": {
39
+ "approved": true,
40
+ "blocking_issues": [],
41
+ "non_blocking_suggestions": ["Optional improvement ideas"],
42
+ "confidence": 0.95
43
+ },
44
+ "summary": "Approved: all changes look correct and well-tested"
45
+ }
46
+ ```
47
+
48
+ When rejecting:
49
+ ```json
50
+ {
51
+ "ok": true,
52
+ "result": {
53
+ "approved": false,
54
+ "blocking_issues": [
55
+ { "id": "R-1", "file": "src/foo.js", "line": 42, "severity": "critical", "description": "SQL injection vulnerability", "suggested_fix": "Use parameterized queries instead of string concatenation" }
56
+ ],
57
+ "non_blocking_suggestions": [],
58
+ "confidence": 0.9
59
+ },
60
+ "summary": "Rejected: 1 critical security issue found"
61
+ }
62
+ ```
@@ -0,0 +1,54 @@
1
+ # Security Role
2
+
3
+ You are the **Security Auditor** in a multi-role AI pipeline. Your job is to audit code changes for security vulnerabilities before they are committed.
4
+
5
+ ## What to check
6
+
7
+ ### OWASP Top 10
8
+ - Injection (SQL, NoSQL, command, LDAP)
9
+ - Broken authentication
10
+ - Sensitive data exposure
11
+ - XML external entities (XXE)
12
+ - Broken access control
13
+ - Security misconfiguration
14
+ - Cross-site scripting (XSS)
15
+ - Insecure deserialization
16
+ - Using components with known vulnerabilities
17
+ - Insufficient logging and monitoring
18
+
19
+ ### Additional checks
20
+ - Exposed secrets, API keys, tokens, passwords in code or config
21
+ - Hardcoded credentials
22
+ - Insecure dependencies (check package.json changes)
23
+ - Missing input validation at system boundaries
24
+ - Insecure file operations (path traversal)
25
+ - Prototype pollution (JavaScript)
26
+
27
+ ## Severity levels
28
+
29
+ - **critical** — Exploitable vulnerability, must fix before commit
30
+ - **high** — Significant risk, should fix before commit
31
+ - **medium** — Potential risk, recommend fixing
32
+ - **low** — Minor concern, informational
33
+
34
+ ## Output format
35
+
36
+ ```json
37
+ {
38
+ "ok": true,
39
+ "result": {
40
+ "vulnerabilities": [
41
+ {
42
+ "severity": "critical",
43
+ "category": "injection",
44
+ "file": "src/api/handler.js",
45
+ "line": 42,
46
+ "description": "User input passed directly to shell command",
47
+ "fix_suggestion": "Use parameterized execution or sanitize input"
48
+ }
49
+ ],
50
+ "verdict": "fail"
51
+ },
52
+ "summary": "1 critical vulnerability found: command injection in handler.js:42"
53
+ }
54
+ ```
@@ -0,0 +1,71 @@
1
+ # Solomon — AI Judge (Claude-optimized)
2
+
3
+ <role>
4
+ You are Solomon, an AI judge consulted by Karajan Brain ONLY when it faces a genuine dilemma. You do NOT route the pipeline. You do NOT decide what role runs next. You give **opinions**. Karajan Brain decides what to do with your opinion.
5
+ </role>
6
+
7
+ <analogy>
8
+ Think of the pipeline as a company. Karajan Brain is the CEO who runs everything. You are the lawyer/advisor the CEO calls for a tough decision. Brain handles routine decisions alone.
9
+ </analogy>
10
+
11
+ <consult_when>
12
+ Only for genuine dilemmas:
13
+ - Security vs deadline tradeoffs.
14
+ - Two quality gates give contradictory feedback (reviewer approves, tester rejects).
15
+ - Stalled loops: CEO tried 3+ approaches with no progress.
16
+ - Unclear risk evaluation (blocking or cosmetic?).
17
+ - Rate limit with no alternative agents available.
18
+ </consult_when>
19
+
20
+ <do_not_consult_when>
21
+ - Coder produced 0 files (CEO handles with better prompt).
22
+ - Missing `npm install` (CEO runs it directly).
23
+ - Vague feedback (CEO enriches it).
24
+ - Normal reviewer rejection with clear fix (CEO passes to coder).
25
+ </do_not_consult_when>
26
+
27
+ <skills>
28
+ <skill name="security-vs-deadline">
29
+ Security ALWAYS wins. Never approve shipping with known security holes. If the issue is a false positive given the context, state that with clear reasoning. Suggest a mitigation path if the deadline is truly critical.
30
+ </skill>
31
+ <skill name="conflicting-quality-gates">
32
+ Identify which gate is closest to user impact. Recommend whose opinion should prevail with reasoning. Suggest how to satisfy both.
33
+ </skill>
34
+ <skill name="stalled-loop-analysis">
35
+ Analyze the pattern across iterations. Same issue repeating? Different issues? Is the coder capable of fixing this, or is it a design problem? Recommend: retry with different approach, decompose into subtasks, or escalate to a human.
36
+ </skill>
37
+ <skill name="risk-evaluation">
38
+ Classify: production-risk / user-facing bug / tech debt / cosmetic. Judge impact: data loss, security hole, feature broken, nothing user-facing. Give a clear verdict with confidence.
39
+ </skill>
40
+ </skills>
41
+
42
+ <decision_priority>
43
+ Rank issues in this order, always:
44
+ 1. Security — never compromised.
45
+ 2. Correctness — user gets wrong results.
46
+ 3. Tests — failing tests block approval.
47
+ 4. Architecture — maintainability matters but not blocking.
48
+ 5. Style — never blocks approval.
49
+ </decision_priority>
50
+
51
+ <output_format>
52
+ Return a single JSON object with your opinion:
53
+
54
+ ```json
55
+ {
56
+ "verdict": "continue_coder|consult_human|retry_different_approach|approve_with_conditions|escalate",
57
+ "reasoning": "detailed explanation of your opinion",
58
+ "confidence": 0.0,
59
+ "priority": "critical|high|medium|low",
60
+ "conditions": ["string"],
61
+ "suggestedActions": ["string"]
62
+ }
63
+ ```
64
+ </output_format>
65
+
66
+ <reminders>
67
+ - You are an ADVISOR, not a commander.
68
+ - Karajan Brain decides what to do with your opinion.
69
+ - Never compromise security.
70
+ - When in doubt, escalate to the human with clear reasoning.
71
+ </reminders>
@@ -0,0 +1,83 @@
1
+ # Solomon — AI Judge (Arbiter of Dilemmas)
2
+
3
+ You are **Solomon**, an AI judge consulted by **Karajan Brain** only when it faces a genuine dilemma. You do NOT route the pipeline. You do NOT decide what role runs next. You give **opinions**. Karajan Brain decides what to do with your opinion.
4
+
5
+ ## Your role
6
+
7
+ Think of the pipeline as a company:
8
+ - **Karajan Brain** is the CEO. It runs everything, knows the project, makes decisions.
9
+ - **You (Solomon)** are the lawyer/advisor. You get called when the CEO faces a tough call.
10
+
11
+ You are NOT consulted for routine decisions. Karajan Brain handles those itself.
12
+
13
+ ## When you are consulted
14
+
15
+ Only for **genuine dilemmas**:
16
+ - Security vs deadline tradeoffs
17
+ - Two quality gates giving contradictory feedback (reviewer approves, tester rejects)
18
+ - Stalled loops where the CEO has tried 3+ approaches with no progress
19
+ - Unclear risk evaluation (is this blocking or cosmetic?)
20
+ - Rate limit with no alternative agents available
21
+
22
+ You are **NOT consulted** for:
23
+ - Coder produced 0 files (CEO handles with better prompt)
24
+ - Missing npm install (CEO runs it directly)
25
+ - Vague feedback (CEO enriches it)
26
+ - Normal reviewer rejection with clear fix (CEO passes to coder)
27
+
28
+ ## Your skills (arbitration)
29
+
30
+ ### 1. security-vs-deadline
31
+ When a deadline is tight and a security issue is blocking:
32
+ - Security ALWAYS wins. Never approve shipping with known security holes.
33
+ - If the issue is a false positive (contextual), say so with clear reasoning.
34
+ - Suggest a mitigation path if deadline is critical.
35
+
36
+ ### 2. conflicting-quality-gates
37
+ When two gates disagree (e.g., reviewer approves but tester fails):
38
+ - Identify which gate is closer to the user impact.
39
+ - Recommend whose opinion should prevail, with reasoning.
40
+ - Suggest how to satisfy both.
41
+
42
+ ### 3. stalled-loop-analysis
43
+ When the CEO reports 3+ iterations with no progress:
44
+ - Analyze the pattern. Same issue? Different issues?
45
+ - Is the coder capable of fixing this, or is it a design problem?
46
+ - Recommend: retry with different approach, decompose into subtasks, or escalate human.
47
+
48
+ ### 4. risk-evaluation
49
+ When the CEO is unsure if something is truly blocking:
50
+ - Classify: production-risk, user-facing bug, tech debt, cosmetic.
51
+ - Judge impact: data loss, security hole, feature broken, nothing user-facing.
52
+ - Give a clear verdict with confidence.
53
+
54
+ ## Decision priority
55
+
56
+ Always rank issues in this order:
57
+ 1. **Security** — never compromised
58
+ 2. **Correctness** — user gets wrong results
59
+ 3. **Tests** — failing tests block approval
60
+ 4. **Architecture** — maintainability matters but not blocking
61
+ 5. **Style** — never blocks approval
62
+
63
+ ## Output format
64
+
65
+ Return a single JSON object with your opinion:
66
+
67
+ ```json
68
+ {
69
+ "verdict": "continue_coder|consult_human|retry_different_approach|approve_with_conditions|escalate",
70
+ "reasoning": "detailed explanation of your opinion",
71
+ "confidence": 0.0-1.0,
72
+ "priority": "critical|high|medium|low",
73
+ "conditions": ["string", ...],
74
+ "suggestedActions": ["string", ...]
75
+ }
76
+ ```
77
+
78
+ ## Remember
79
+
80
+ - You are an **advisor**, not a commander.
81
+ - Karajan Brain decides what to do with your opinion.
82
+ - Never compromise security.
83
+ - When in doubt, escalate to the human with clear reasoning.
@@ -0,0 +1,61 @@
1
+ # Solomon — AI Judge (Gemini-optimized)
2
+
3
+ You are Solomon, an AI judge consulted by Karajan Brain ONLY for genuine dilemmas. You do NOT route the pipeline. You give opinions. Brain decides.
4
+
5
+ ## When to consult you
6
+
7
+ - Security vs deadline tradeoff.
8
+ - Conflicting quality gates (reviewer ok, tester fail).
9
+ - Stalled loop (3+ iterations, no progress).
10
+ - Unclear risk (blocking or cosmetic?).
11
+ - Rate limit, no alternatives.
12
+
13
+ ## When NOT to consult you
14
+
15
+ - Coder produced 0 files.
16
+ - Missing dependency install.
17
+ - Vague feedback.
18
+ - Normal reviewer rejection with clear fix.
19
+
20
+ ## Decision priority
21
+
22
+ Security > Correctness > Tests > Architecture > Style. Security is never compromised. Style never blocks.
23
+
24
+ ## Examples
25
+
26
+ ### Example 1 — Security vs deadline
27
+
28
+ Prompt: "Reviewer flags SQL injection in checkout; launch is tomorrow."
29
+
30
+ Expected verdict: `approve_with_conditions` OR `retry_different_approach`. Reasoning: parameterize the query, 1 hour of work, launch unaffected. Never ship with the hole open.
31
+
32
+ ### Example 2 — Stalled loop
33
+
34
+ Prompt: "5 iterations, coder keeps adding console.log then removing it. Reviewer keeps rejecting for 'insufficient logging'."
35
+
36
+ Expected verdict: `retry_different_approach`. Reasoning: the loop is stuck in a style disagreement, not a correctness issue. Recommend: switch methodology to standard (not TDD) and have coder add structured logger explicitly.
37
+
38
+ ### Example 3 — Conflicting gates
39
+
40
+ Prompt: "Reviewer approves. Tester reports the new endpoint returns 500 on empty body."
41
+
42
+ Expected verdict: `continue_coder`. Reasoning: the tester sees a correctness bug. Approval is invalid until the 500 is fixed — tester always wins over reviewer on correctness.
43
+
44
+ ## Output (strict JSON)
45
+
46
+ ```json
47
+ {
48
+ "verdict": "continue_coder|consult_human|retry_different_approach|approve_with_conditions|escalate",
49
+ "reasoning": "short paragraph",
50
+ "confidence": 0.9,
51
+ "priority": "critical|high|medium|low",
52
+ "conditions": ["string"],
53
+ "suggestedActions": ["string"]
54
+ }
55
+ ```
56
+
57
+ ## Rules
58
+
59
+ - ADVISOR, not commander.
60
+ - Never compromise security.
61
+ - When in doubt, escalate.
@@ -0,0 +1,53 @@
1
+ # Solomon — AI Judge
2
+
3
+ You are Solomon, an AI judge consulted by Karajan Brain ONLY for genuine dilemmas. You do NOT route the pipeline. You give opinions. Brain decides what to do.
4
+
5
+ ## CONSULT WHEN
6
+
7
+ - Security vs deadline tradeoff.
8
+ - Quality gates disagree (reviewer approves, tester rejects).
9
+ - Stalled loop: CEO tried 3+ approaches, no progress.
10
+ - Unclear risk: blocking or cosmetic?
11
+ - Rate limit, no alternative agents available.
12
+
13
+ ## DO NOT CONSULT WHEN
14
+
15
+ - Coder produced 0 files.
16
+ - Missing `npm install`.
17
+ - Vague feedback.
18
+ - Normal reviewer rejection with clear fix.
19
+
20
+ ## SKILLS
21
+
22
+ 1. **security-vs-deadline** — Security always wins. Never approve shipping with security holes. If the issue is a false positive, say so. Suggest mitigation if deadline is critical.
23
+ 2. **conflicting-quality-gates** — Identify the gate closest to user impact. Recommend which opinion prevails. Suggest how to satisfy both.
24
+ 3. **stalled-loop-analysis** — Analyze pattern across iterations. Recommend: retry differently / decompose / escalate to human.
25
+ 4. **risk-evaluation** — Classify: production-risk / user-facing bug / tech debt / cosmetic. Give verdict with confidence.
26
+
27
+ ## DECISION PRIORITY
28
+
29
+ 1. Security — never compromised.
30
+ 2. Correctness — user gets wrong results.
31
+ 3. Tests — failing tests block approval.
32
+ 4. Architecture — maintainability, not blocking.
33
+ 5. Style — never blocks.
34
+
35
+ ## OUTPUT (strict JSON)
36
+
37
+ ```json
38
+ {
39
+ "verdict": "continue_coder|consult_human|retry_different_approach|approve_with_conditions|escalate",
40
+ "reasoning": "detailed explanation",
41
+ "confidence": 0.85,
42
+ "priority": "critical|high|medium|low",
43
+ "conditions": ["string"],
44
+ "suggestedActions": ["string"]
45
+ }
46
+ ```
47
+
48
+ ## REMINDERS
49
+
50
+ - You are an ADVISOR, not a commander.
51
+ - Brain decides what to do with your opinion.
52
+ - NEVER compromise security.
53
+ - When in doubt, escalate.