mcp-efficiency-engine 0.1.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 (360) hide show
  1. package/.github/CODEOWNERS +40 -0
  2. package/.github/GITHUB_MCP_INTEGRATION.md +366 -0
  3. package/.github/ISSUE_TEMPLATE/bug.md +51 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.md +45 -0
  5. package/.github/ISSUE_TEMPLATE/question.md +18 -0
  6. package/.github/agents/backend.agent.md +18 -0
  7. package/.github/agents/community-manager.agent.md +18 -0
  8. package/.github/agents/dba.agent.md +18 -0
  9. package/.github/agents/frontend-agent.agent.md +18 -0
  10. package/.github/agents/github-repository-manager.agent.md +338 -0
  11. package/.github/agents/iot.agent.md +20 -0
  12. package/.github/agents/legacy.agent.md +18 -0
  13. package/.github/agents/rag-azure.agent.md +18 -0
  14. package/.github/agents/rag-local.agent.md +18 -0
  15. package/.github/agents/snapshot.agent.md +18 -0
  16. package/.github/agents/ux-ui.agent.md +18 -0
  17. package/.github/agents/wiki-agent.agent.md +23 -0
  18. package/.github/copilot-instructions.md +44 -0
  19. package/.github/instructions/always-on-optimization.instructions.md +54 -0
  20. package/.github/prompts/auto-route.prompt.md +33 -0
  21. package/.github/prompts/azure-rag.query.prompt.md +19 -0
  22. package/.github/prompts/backend.fix-bug.prompt.md +13 -0
  23. package/.github/prompts/cavecrew.prompt.md +16 -0
  24. package/.github/prompts/caveman-commit.prompt.md +14 -0
  25. package/.github/prompts/caveman-compress.prompt.md +15 -0
  26. package/.github/prompts/caveman-debug.prompt.md +13 -0
  27. package/.github/prompts/caveman-help.prompt.md +11 -0
  28. package/.github/prompts/caveman-review.prompt.md +15 -0
  29. package/.github/prompts/caveman-stats.prompt.md +11 -0
  30. package/.github/prompts/caveman.prompt.md +11 -0
  31. package/.github/prompts/community.post.prompt.md +14 -0
  32. package/.github/prompts/dba.query-review.prompt.md +15 -0
  33. package/.github/prompts/dev.fix-bug.prompt.md +13 -0
  34. package/.github/prompts/frontend.code.prompt.md +13 -0
  35. package/.github/prompts/legacy.impact-analysis.prompt.md +14 -0
  36. package/.github/prompts/project.kickoff-analysis.prompt.md +51 -0
  37. package/.github/prompts/rag.knowledge-answer.prompt.md +13 -0
  38. package/.github/prompts/token-saver-review.prompt.md +14 -0
  39. package/.github/prompts/ux-ui.review.prompt.md +14 -0
  40. package/.github/pull_request_template.md +71 -0
  41. package/.github/skills/ahorro-tokens/SKILL.md +36 -0
  42. package/.github/skills/azure-rag-enterprise/SKILL.md +24 -0
  43. package/.github/skills/backend-coding/SKILL.md +24 -0
  44. package/.github/skills/cavecrew/SKILL.md +17 -0
  45. package/.github/skills/caveman/SKILL.md +25 -0
  46. package/.github/skills/caveman-commit/SKILL.md +15 -0
  47. package/.github/skills/caveman-compress/SKILL.md +14 -0
  48. package/.github/skills/caveman-help/SKILL.md +19 -0
  49. package/.github/skills/caveman-mode/SKILL.md +43 -0
  50. package/.github/skills/caveman-review/SKILL.md +16 -0
  51. package/.github/skills/caveman-stats/SKILL.md +13 -0
  52. package/.github/skills/community-content/SKILL.md +22 -0
  53. package/.github/skills/database-analysis/SKILL.md +23 -0
  54. package/.github/skills/dev-coding/SKILL.md +24 -0
  55. package/.github/skills/frontend-coding/SKILL.md +24 -0
  56. package/.github/skills/human-in-the-loop/SKILL.md +47 -0
  57. package/.github/skills/iot-architecture/SKILL.md +22 -0
  58. package/.github/skills/legacy-migration/SKILL.md +22 -0
  59. package/.github/skills/rag-knowledge/SKILL.md +21 -0
  60. package/.github/skills/token-saver/SKILL.md +36 -0
  61. package/.github/skills/ux-ui-governance/SKILL.md +24 -0
  62. package/.github/skills/wiki-tools.json +24 -0
  63. package/.github/workflows/auto-devlog.yml +56 -0
  64. package/.github/workflows/auto-manage-issues.yml +64 -0
  65. package/.github/workflows/auto-sync.yml +54 -0
  66. package/.github/workflows/autodocs-sync.yml +114 -0
  67. package/.github/workflows/ci.yml +68 -0
  68. package/.github/workflows/pages.yml +59 -0
  69. package/.github/workflows/routing-evals.yml +59 -0
  70. package/.github/workflows/techriders-coverage-effective.yml +91 -0
  71. package/.vscode/mcp.json +44 -0
  72. package/AGENTS.md +160 -0
  73. package/ARCHITECTURE.md +57 -0
  74. package/FINAL_USAGE_GUIDE.md +106 -0
  75. package/LICENSE +21 -0
  76. package/README.md +385 -0
  77. package/README_WIKI.md +130 -0
  78. package/autodocs/README.md +22 -0
  79. package/autodocs/schema/wiki-node.schema.json +56 -0
  80. package/autolearning/feedback-loop.md +90 -0
  81. package/bin/install-host.js +326 -0
  82. package/bin/mcpee.js +116 -0
  83. package/context/repomix/repomix.config.json +20 -0
  84. package/memory/cross-memory-reasoning.md +17 -0
  85. package/memory/mempry-registry.yml +16 -0
  86. package/observability/evals/chat-token-usage-report.json +64 -0
  87. package/observability/evals/chat-token-usage-report.md +33 -0
  88. package/observability/evals/iteration-value-report.json +76 -0
  89. package/observability/evals/iteration-value-report.md +39 -0
  90. package/observability/evals/learning-loop-report.json +268 -0
  91. package/observability/evals/learning-loop-report.md +37 -0
  92. package/observability/evals/repo-intake-eval-cases.md +23 -0
  93. package/observability/evals/routing-eval-cases.json +68 -0
  94. package/observability/evals/routing-eval-cases.md +25 -0
  95. package/observability/evals/routing-eval-report.json +72 -0
  96. package/observability/evaluation.md +34 -0
  97. package/observability/logs/copilot-usage-ingest-report.json +13 -0
  98. package/observability/logs/iteration-metrics.jsonl +75 -0
  99. package/observability/logs/learning-feedback.jsonl +152 -0
  100. package/observability/logs/routing-decisions.jsonl +333 -0
  101. package/observability/logs/session/agent-pipeline-preflight-20260701-004146.log +8 -0
  102. package/observability/logs/session/agent-pipeline-preflight-20260701-005554.log +8 -0
  103. package/observability/logs/session/agent-pipeline-preflight-20260701-010351.log +8 -0
  104. package/observability/logs/session/agent-pipeline-preflight-20260704-145829.log +8 -0
  105. package/observability/logs/session/agent-pipeline-preflight-20260704-150021.log +8 -0
  106. package/observability/logs/session/agent-pipeline-preflight-20260704-154328.log +8 -0
  107. package/observability/logs/session/bye-20260629-221513.json +39 -0
  108. package/observability/logs/session/bye-20260629-221545.json +59 -0
  109. package/observability/logs/session/bye-20260629-222007.json +52 -0
  110. package/observability/logs/session/bye-20260629-222133.json +59 -0
  111. package/observability/logs/session/bye-20260629-222412.json +45 -0
  112. package/observability/logs/session/bye-20260629-223224.json +52 -0
  113. package/observability/logs/session/bye-20260629-224050.json +59 -0
  114. package/observability/logs/session/bye-20260630-105732.json +24 -0
  115. package/observability/logs/session/bye-20260630-211536.json +87 -0
  116. package/observability/logs/session/bye-20260630-223423.json +87 -0
  117. package/observability/logs/session/bye-20260630-232534.json +87 -0
  118. package/observability/logs/session/bye-20260701-003638.json +126 -0
  119. package/observability/logs/session/bye-20260701-003849.json +126 -0
  120. package/observability/logs/session/bye-20260701-004315.json +138 -0
  121. package/observability/logs/session/bye-20260701-004559.json +76 -0
  122. package/observability/logs/session/bye-20260701-005913.json +138 -0
  123. package/observability/logs/session/bye-20260701-010753.json +138 -0
  124. package/observability/logs/session/bye-20260703-194106.json +24 -0
  125. package/observability/logs/session/bye-20260703-233443.json +76 -0
  126. package/observability/logs/session/bye-20260703-233653.json +76 -0
  127. package/observability/logs/session/bye-20260704-150317.json +152 -0
  128. package/observability/logs/session/bye-20260704-150929.json +75 -0
  129. package/observability/logs/session/bye-20260704-151050.json +75 -0
  130. package/observability/logs/session/bye-20260705-115458.json +165 -0
  131. package/observability/logs/session/codegraph-status-20260701-004228.log +39 -0
  132. package/observability/logs/session/codegraph-status-20260701-004310.log +39 -0
  133. package/observability/logs/session/codegraph-status-20260701-005637.log +39 -0
  134. package/observability/logs/session/codegraph-status-20260701-005908.log +39 -0
  135. package/observability/logs/session/codegraph-status-20260701-010444.log +39 -0
  136. package/observability/logs/session/codegraph-status-20260701-010747.log +39 -0
  137. package/observability/logs/session/codegraph-status-20260704-150137.log +26 -0
  138. package/observability/logs/session/codegraph-status-20260704-150313.log +28 -0
  139. package/observability/logs/session/codegraph-status-20260704-154445.log +26 -0
  140. package/observability/logs/session/codegraph-status-20260705-115454.log +27 -0
  141. package/observability/logs/session/codegraph-sync-20260701-004211.log +88 -0
  142. package/observability/logs/session/codegraph-sync-20260701-004241.log +82 -0
  143. package/observability/logs/session/codegraph-sync-20260701-005620.log +89 -0
  144. package/observability/logs/session/codegraph-sync-20260701-005840.log +88 -0
  145. package/observability/logs/session/codegraph-sync-20260701-010419.log +93 -0
  146. package/observability/logs/session/codegraph-sync-20260701-010609.log +90 -0
  147. package/observability/logs/session/codegraph-sync-20260704-145856.log +70 -0
  148. package/observability/logs/session/codegraph-sync-20260704-150047.log +53 -0
  149. package/observability/logs/session/codegraph-sync-20260704-150204.log +44 -0
  150. package/observability/logs/session/codegraph-sync-20260704-154353.log +26 -0
  151. package/observability/logs/session/codegraph-sync-20260705-115337.log +32 -0
  152. package/observability/logs/session/hi-20260629-221459.json +38 -0
  153. package/observability/logs/session/hi-20260629-221945.json +59 -0
  154. package/observability/logs/session/hi-20260629-222108.json +66 -0
  155. package/observability/logs/session/hi-20260629-222352.json +45 -0
  156. package/observability/logs/session/hi-20260629-225719.json +59 -0
  157. package/observability/logs/session/hi-20260629-233722.json +52 -0
  158. package/observability/logs/session/hi-20260629-233913.json +198 -0
  159. package/observability/logs/session/hi-20260630-110156.json +177 -0
  160. package/observability/logs/session/hi-20260630-191243.json +184 -0
  161. package/observability/logs/session/hi-20260630-230050.json +234 -0
  162. package/observability/logs/session/hi-20260630-230523.json +227 -0
  163. package/observability/logs/session/hi-20260630-230855.json +227 -0
  164. package/observability/logs/session/hi-20260630-231638.json +227 -0
  165. package/observability/logs/session/hi-20260630-231756.json +219 -0
  166. package/observability/logs/session/hi-20260701-002842.json +234 -0
  167. package/observability/logs/session/hi-20260701-003458.json +282 -0
  168. package/observability/logs/session/hi-20260701-004233.json +290 -0
  169. package/observability/logs/session/hi-20260701-004554.json +236 -0
  170. package/observability/logs/session/hi-20260701-005641.json +290 -0
  171. package/observability/logs/session/hi-20260701-010450.json +290 -0
  172. package/observability/logs/session/hi-20260703-233854.json +312 -0
  173. package/observability/logs/session/hi-20260703-234448.json +318 -0
  174. package/observability/logs/session/hi-20260704-145907.json +353 -0
  175. package/observability/logs/session/hi-20260704-150141.json +392 -0
  176. package/observability/logs/session/hi-20260704-154448.json +392 -0
  177. package/observability/logs/session/iteration-value-refresh-20260701-004309.log +3 -0
  178. package/observability/logs/session/iteration-value-refresh-20260701-005907.log +3 -0
  179. package/observability/logs/session/iteration-value-refresh-20260701-010747.log +3 -0
  180. package/observability/logs/session/iteration-value-refresh-20260704-150312.log +3 -0
  181. package/observability/logs/session/iteration-value-refresh-20260705-115453.log +3 -0
  182. package/observability/logs/session/learning-loop-refresh-20260701-004309.log +3 -0
  183. package/observability/logs/session/learning-loop-refresh-20260701-005906.log +3 -0
  184. package/observability/logs/session/learning-loop-refresh-20260701-010745.log +3 -0
  185. package/observability/logs/session/learning-loop-refresh-20260704-150309.log +3 -0
  186. package/observability/logs/session/learning-loop-refresh-20260705-115450.log +3 -0
  187. package/observability/logs/session/project-notes-refresh-20260701-004227.log +1 -0
  188. package/observability/logs/session/project-notes-refresh-20260701-004308.log +1 -0
  189. package/observability/logs/session/project-notes-refresh-20260701-005636.log +1 -0
  190. package/observability/logs/session/project-notes-refresh-20260701-005906.log +1 -0
  191. package/observability/logs/session/project-notes-refresh-20260701-010443.log +1 -0
  192. package/observability/logs/session/project-notes-refresh-20260701-010744.log +1 -0
  193. package/observability/logs/session/project-notes-refresh-20260704-150133.log +1 -0
  194. package/observability/logs/session/project-notes-refresh-20260704-150309.log +1 -0
  195. package/observability/logs/session/project-notes-refresh-20260704-154442.log +1 -0
  196. package/observability/logs/session/project-notes-refresh-20260705-115449.log +1 -0
  197. package/observability/logs/session/repo-intake-20260701-004218.log +6 -0
  198. package/observability/logs/session/repo-intake-20260701-005626.log +6 -0
  199. package/observability/logs/session/repo-intake-20260701-010433.log +6 -0
  200. package/observability/logs/session/repo-intake-20260704-150053.log +6 -0
  201. package/observability/logs/session/repo-intake-20260704-154404.log +6 -0
  202. package/observability/logs/session/repo-intake-refresh-20260701-004247.log +6 -0
  203. package/observability/logs/session/repo-intake-refresh-20260701-005847.log +6 -0
  204. package/observability/logs/session/repo-intake-refresh-20260701-010615.log +6 -0
  205. package/observability/logs/session/repo-intake-refresh-20260704-150209.log +6 -0
  206. package/observability/logs/session/repo-intake-refresh-20260705-115342.log +6 -0
  207. package/observability/logs/session/repo-registry-validation-20260701-004234.log +2 -0
  208. package/observability/logs/session/repo-registry-validation-20260701-004556.log +2 -0
  209. package/observability/logs/session/repo-registry-validation-20260701-005833.log +2 -0
  210. package/observability/logs/session/repo-registry-validation-20260701-010601.log +2 -0
  211. package/observability/logs/session/repo-registry-validation-20260704-150155.log +2 -0
  212. package/observability/logs/session/repo-registry-validation-20260705-115323.log +2 -0
  213. package/observability/logs/session/repomix-refresh-20260701-003823.log +4236 -0
  214. package/observability/logs/session/repomix-refresh-20260701-004251.log +4275 -0
  215. package/observability/logs/session/repomix-refresh-20260701-005850.log +4248 -0
  216. package/observability/logs/session/repomix-refresh-20260701-010619.log +6531 -0
  217. package/observability/logs/session/repomix-refresh-20260704-150239.log +652 -0
  218. package/observability/logs/session/repomix-refresh-20260705-115419.log +178 -0
  219. package/observability/logs/session/routing-evals-20260701-004221.log +2 -0
  220. package/observability/logs/session/routing-evals-20260701-004235.log +2 -0
  221. package/observability/logs/session/routing-evals-20260701-005629.log +2 -0
  222. package/observability/logs/session/routing-evals-20260701-005834.log +2 -0
  223. package/observability/logs/session/routing-evals-20260701-010437.log +2 -0
  224. package/observability/logs/session/routing-evals-20260701-010603.log +2 -0
  225. package/observability/logs/session/routing-evals-20260704-150125.log +2 -0
  226. package/observability/logs/session/routing-evals-20260704-150157.log +2 -0
  227. package/observability/logs/session/routing-evals-20260704-154434.log +2 -0
  228. package/observability/logs/session/routing-evals-20260705-115327.log +2 -0
  229. package/observability/logs/session/sibling-discovery-refresh-20260701-004250.log +3 -0
  230. package/observability/logs/session/sibling-discovery-refresh-20260701-005850.log +3 -0
  231. package/observability/logs/session/sibling-discovery-refresh-20260701-010618.log +3 -0
  232. package/observability/logs/session/sibling-discovery-refresh-20260704-150238.log +3 -0
  233. package/observability/logs/session/sibling-discovery-refresh-20260705-115418.log +3 -0
  234. package/observability/logs.schema.json +95 -0
  235. package/observability/logs.schema.md +26 -0
  236. package/observability/metrics.md +35 -0
  237. package/observability/routing-evaluator.md +37 -0
  238. package/observability/scoring-rubric.md +38 -0
  239. package/optimization/ALWAYS_ON_OPTIMIZATION.md +98 -0
  240. package/optimization/caveman-mode.md +62 -0
  241. package/optimization/examples/login-bug.md +25 -0
  242. package/optimization/examples/sla-query.md +25 -0
  243. package/optimization/optimization-routing.md +30 -0
  244. package/optimization/policies/response-style.policy.md +45 -0
  245. package/optimization/policies/token-budget.policy.md +28 -0
  246. package/optimization/profiles/always-on.profile.md +19 -0
  247. package/optimization/profiles/architecture.profile.md +20 -0
  248. package/optimization/profiles/debug.profile.md +20 -0
  249. package/optimization/profiles/enterprise-rag.profile.md +20 -0
  250. package/optimization/profiles/training.profile.md +20 -0
  251. package/optimization/token-saver.md +58 -0
  252. package/orchestrator/corporate-routing.md +51 -0
  253. package/orchestrator/decision-matrix.md +33 -0
  254. package/orchestrator/fallback.md +29 -0
  255. package/orchestrator/repo-routing.md +58 -0
  256. package/orchestrator/router.md +75 -0
  257. package/orchestrator/wiki/__init__.py +5 -0
  258. package/orchestrator/wiki/graph_consolidator.py +506 -0
  259. package/orchestrator/wiki/incremental_engine.py +57 -0
  260. package/orchestrator/wiki/plugin_manager.py +40 -0
  261. package/package.json +70 -0
  262. package/policies/context-policy.md +25 -0
  263. package/policies/cost-policy.md +25 -0
  264. package/policies/repo-intake-policy.md +36 -0
  265. package/policies/security-policy.md +25 -0
  266. package/repo-intake/README.md +81 -0
  267. package/repo-intake/templates/agent.template.md +4 -0
  268. package/repo-intake/templates/context-manifest.template.md +4 -0
  269. package/repo-intake/templates/skill.template.md +3 -0
  270. package/repo-registry/repos.schema.json +102 -0
  271. package/repo-registry/repos.template.json +26 -0
  272. package/requirements.txt +1 -0
  273. package/scripts/README.md +109 -0
  274. package/scripts/__init__.py +0 -0
  275. package/scripts/bootstrap-portable.cmd +4 -0
  276. package/scripts/bootstrap-portable.ps1 +90 -0
  277. package/scripts/context/azure-rag-mcp-adapter.py +1 -0
  278. package/scripts/context/build-graphify.ps1 +1 -0
  279. package/scripts/context/build-repomix.ps1 +1 -0
  280. package/scripts/discovery/discover-boost-repos.cmd +4 -0
  281. package/scripts/discovery/discover-boost-repos.py +186 -0
  282. package/scripts/discovery/refresh-project-notes.py +179 -0
  283. package/scripts/github/INSTALL.md +295 -0
  284. package/scripts/github/README.md +455 -0
  285. package/scripts/github/apply-boost-templates.ps1 +163 -0
  286. package/scripts/github/apply-single-repo.ps1 +85 -0
  287. package/scripts/github/create-devlog.ps1 +380 -0
  288. package/scripts/github/manage-issues.ps1 +332 -0
  289. package/scripts/github/sync-repo.ps1 +267 -0
  290. package/scripts/intake/agent-pipeline-preflight.py +151 -0
  291. package/scripts/intake/init-template-registry.cmd +4 -0
  292. package/scripts/intake/init-template-registry.ps1 +258 -0
  293. package/scripts/intake/repo-intake.py +354 -0
  294. package/scripts/intake/resolve-routing.py +620 -0
  295. package/scripts/intake/run-repo-intake.cmd +4 -0
  296. package/scripts/intake/run-repo-intake.ps1 +46 -0
  297. package/scripts/intake/run-routing-evals.py +147 -0
  298. package/scripts/intake/validate-database-routing.py +91 -0
  299. package/scripts/intake/validate-rag-routing.py +85 -0
  300. package/scripts/intake/validate-repo-registry.ps1 +20 -0
  301. package/scripts/intake/validate-repo-registry.py +286 -0
  302. package/scripts/intake/validate-security.py +170 -0
  303. package/scripts/learning/autolearning-gate.py +71 -0
  304. package/scripts/learning/chat-token-usage-report.py +326 -0
  305. package/scripts/learning/ingest-copilot-session-usage.py +421 -0
  306. package/scripts/learning/iteration-value-report.py +275 -0
  307. package/scripts/learning/learning-loop-report.py +272 -0
  308. package/scripts/learning/record-iteration-metrics.py +116 -0
  309. package/scripts/learning/record-learning-feedback.py +91 -0
  310. package/scripts/ops/bye.ps1 +620 -0
  311. package/scripts/ops/compare-demo-results.ps1 +826 -0
  312. package/scripts/ops/demo1.ps1 +11 -0
  313. package/scripts/ops/demo2.ps1 +11 -0
  314. package/scripts/ops/demo3.ps1 +11 -0
  315. package/scripts/ops/demo4.ps1 +11 -0
  316. package/scripts/ops/hi.ps1 +1045 -0
  317. package/scripts/ops/llm-token-probe.py +164 -0
  318. package/scripts/ops/run-all-demos.ps1 +39 -0
  319. package/scripts/ops/run-demo-block.ps1 +85 -0
  320. package/scripts/ops/run-demo-session.ps1 +532 -0
  321. package/scripts/setup/optimize-engines.ps1 +183 -0
  322. package/scripts/setup/setup-codegraph.ps1 +3 -0
  323. package/scripts/setup/setup-gitnexus.ps1 +3 -0
  324. package/scripts/setup/setup-graphify.ps1 +2 -0
  325. package/scripts/setup/setup-prerequisites.ps1 +205 -0
  326. package/scripts/setup/start-gitnexus.ps1 +71 -0
  327. package/scripts/setup/validate-context.ps1 +361 -0
  328. package/scripts/wiki/__init__.py +0 -0
  329. package/scripts/wiki/compiler_main.py +189 -0
  330. package/scripts/wiki/normalizer.py +206 -0
  331. package/scripts/wiki/providers/base_provider.py +25 -0
  332. package/scripts/wiki/providers/codegraph_provider.py +49 -0
  333. package/scripts/wiki/providers/graphify_provider.py +49 -0
  334. package/scripts/wiki/providers/repo_content_provider.py +408 -0
  335. package/scripts/wiki/query_autodocs.py +60 -0
  336. package/scripts/wiki/validator.py +183 -0
  337. package/scripts/wiki/wiki_compiler.py +5 -0
  338. package/specs/architecture.spec.md +32 -0
  339. package/specs/azure-rag.spec.md +28 -0
  340. package/specs/coding-standards.spec.md +24 -0
  341. package/specs/database.spec.md +29 -0
  342. package/specs/migration.spec.md +26 -0
  343. package/specs/observability.spec.md +24 -0
  344. package/specs/optimization.spec.md +31 -0
  345. package/specs/rag.spec.md +30 -0
  346. package/specs/repo-intake.spec.md +25 -0
  347. package/specs/routing.spec.md +24 -0
  348. package/specs/security.spec.md +30 -0
  349. package/specs/wiki/provider-contract.json +33 -0
  350. package/specs/wiki/unified-knowledge-graph.json +25 -0
  351. package/templates/BOOST_README_TEMPLATE.md +96 -0
  352. package/templates/CODEOWNERS_TEMPLATE.txt +29 -0
  353. package/templates/LICENSE_MIT_TEMPLATE.txt +21 -0
  354. package/templates/PERSONAL_README_TEMPLATE.md +90 -0
  355. package/templates/README_boost_RAG_Azure.md +46 -0
  356. package/templates/README_boost_azure_iot_edge.md +48 -0
  357. package/templates/README_boost_backend.md +47 -0
  358. package/templates/README_boost_dba.md +57 -0
  359. package/templates/ci.yml.template +73 -0
  360. package/tooling/tooling.manifest.json +72 -0
@@ -0,0 +1,39 @@
1
+ # Iteration Value Report
2
+
3
+ - timestamp: 2026-07-05T09:54:54.568327+00:00
4
+ - events: 305
5
+ - events_with_event_id: 247
6
+ - metrics_covered: 7
7
+ - feedback_confirmed: 101
8
+ - confirmed_success: 101
9
+
10
+ ## KPI
11
+
12
+ - metrics_coverage_rate: 2.83%
13
+ - confirmed_feedback_rate: 40.89%
14
+ - confirmed_success_rate: 100.0%
15
+ - total_tokens: 6474
16
+ - total_cost_usd: 0.0542
17
+ - tokens_per_confirmed_success: 64.1
18
+ - cost_per_confirmed_success_usd: 0.000537
19
+
20
+ ## Breakdown
21
+
22
+ ### Tool mode
23
+ - hybrid: count=2, tokens=2400, cost_usd=0.02
24
+ - local-only: count=4, tokens=4044, cost_usd=0.0342
25
+ - model-only: count=1, tokens=30, cost_usd=0.0
26
+
27
+ ### Model
28
+ - GPT-5.3-Codex: count=7, tokens=6474, cost_usd=0.0542
29
+
30
+ ### Engine
31
+ - Azure RAG Builder: count=1, tokens=1200, cost_usd=0.01
32
+ - CodeGraph: count=4, tokens=2874, cost_usd=0.0242
33
+ - GitNexus: count=1, tokens=1200, cost_usd=0.01
34
+ - Graphify: count=1, tokens=1200, cost_usd=0.01
35
+
36
+ ## Assessment
37
+
38
+ - has_value_signal: True
39
+ - notes: Value signal available. Track trend, not one-point absolute values.
@@ -0,0 +1,268 @@
1
+ {
2
+ "timestamp": "2026-07-05T09:54:51.179894+00:00",
3
+ "source": "C:\\repo\\mcp-efficiency-engine\\observability\\logs\\routing-decisions.jsonl",
4
+ "feedback_source": "C:\\repo\\mcp-efficiency-engine\\observability\\logs\\learning-feedback.jsonl",
5
+ "total_events": 305,
6
+ "pending_events": 197,
7
+ "confirmed_events": 108,
8
+ "kpis": {
9
+ "fallback_rate": 0.1475,
10
+ "grounded_rate": 0.8492,
11
+ "success_rate": 1.0,
12
+ "confidence_avg": 0.945
13
+ },
14
+ "thresholds": {
15
+ "fallback_rate_max": 0.2,
16
+ "grounded_rate_min": 0.8,
17
+ "confidence_avg_min": 0.8
18
+ },
19
+ "health": {
20
+ "fallback_ok": true,
21
+ "grounded_ok": true,
22
+ "confidence_ok": true
23
+ },
24
+ "patterns": [
25
+ {
26
+ "pattern": "azure-rag+info",
27
+ "total": 4,
28
+ "fallback_rate": 0.0,
29
+ "grounded_rate": 1.0,
30
+ "pending_count": 4,
31
+ "confirmed_count": 0,
32
+ "success_rate": 0.0,
33
+ "confidence_avg": 0.0,
34
+ "engines": {
35
+ "Azure RAG Builder": 4
36
+ },
37
+ "agents": {
38
+ "rag-azure": 4
39
+ }
40
+ },
41
+ {
42
+ "pattern": "azure-rag+knowledge-grounded",
43
+ "total": 52,
44
+ "fallback_rate": 0.0,
45
+ "grounded_rate": 1.0,
46
+ "pending_count": 38,
47
+ "confirmed_count": 14,
48
+ "success_rate": 1.0,
49
+ "confidence_avg": 0.946,
50
+ "engines": {
51
+ "Azure RAG Builder": 52
52
+ },
53
+ "agents": {
54
+ "rag-azure": 52
55
+ }
56
+ },
57
+ {
58
+ "pattern": "backend+bug-fix",
59
+ "total": 12,
60
+ "fallback_rate": 0.0,
61
+ "grounded_rate": 1.0,
62
+ "pending_count": 0,
63
+ "confirmed_count": 12,
64
+ "success_rate": 1.0,
65
+ "confidence_avg": 0.95,
66
+ "engines": {
67
+ "CodeGraph": 12
68
+ },
69
+ "agents": {
70
+ "backend": 12
71
+ }
72
+ },
73
+ {
74
+ "pattern": "dba+analysis",
75
+ "total": 51,
76
+ "fallback_rate": 0.0,
77
+ "grounded_rate": 1.0,
78
+ "pending_count": 37,
79
+ "confirmed_count": 14,
80
+ "success_rate": 1.0,
81
+ "confidence_avg": 0.946,
82
+ "engines": {
83
+ "Graphify": 51
84
+ },
85
+ "agents": {
86
+ "dba": 51
87
+ }
88
+ },
89
+ {
90
+ "pattern": "dba+sql",
91
+ "total": 18,
92
+ "fallback_rate": 0.0,
93
+ "grounded_rate": 1.0,
94
+ "pending_count": 11,
95
+ "confirmed_count": 7,
96
+ "success_rate": 1.0,
97
+ "confidence_avg": 0.95,
98
+ "engines": {
99
+ "Graphify": 18
100
+ },
101
+ "agents": {
102
+ "dba": 18
103
+ }
104
+ },
105
+ {
106
+ "pattern": "dev+bug-fix",
107
+ "total": 50,
108
+ "fallback_rate": 0.06,
109
+ "grounded_rate": 1.0,
110
+ "pending_count": 47,
111
+ "confirmed_count": 3,
112
+ "success_rate": 1.0,
113
+ "confidence_avg": 0.917,
114
+ "engines": {
115
+ "CodeGraph": 50
116
+ },
117
+ "agents": {
118
+ "backend": 50
119
+ }
120
+ },
121
+ {
122
+ "pattern": "dev+info",
123
+ "total": 2,
124
+ "fallback_rate": 0.0,
125
+ "grounded_rate": 0.5,
126
+ "pending_count": 2,
127
+ "confirmed_count": 0,
128
+ "success_rate": 0.0,
129
+ "confidence_avg": 0.0,
130
+ "engines": {
131
+ "CodeGraph": 2
132
+ },
133
+ "agents": {
134
+ "backend": 2
135
+ }
136
+ },
137
+ {
138
+ "pattern": "frontend+bug-fix",
139
+ "total": 1,
140
+ "fallback_rate": 1.0,
141
+ "grounded_rate": 0.0,
142
+ "pending_count": 1,
143
+ "confirmed_count": 0,
144
+ "success_rate": 0.0,
145
+ "confidence_avg": 0.0,
146
+ "engines": {
147
+ "CodeGraph": 1
148
+ },
149
+ "agents": {
150
+ "frontend-agent": 1
151
+ }
152
+ },
153
+ {
154
+ "pattern": "frontend+feature",
155
+ "total": 14,
156
+ "fallback_rate": 0.0,
157
+ "grounded_rate": 1.0,
158
+ "pending_count": 2,
159
+ "confirmed_count": 12,
160
+ "success_rate": 1.0,
161
+ "confidence_avg": 0.95,
162
+ "engines": {
163
+ "CodeGraph": 14
164
+ },
165
+ "agents": {
166
+ "frontend-agent": 14
167
+ }
168
+ },
169
+ {
170
+ "pattern": "incremental-json-projection",
171
+ "total": 7,
172
+ "fallback_rate": 0.0,
173
+ "grounded_rate": 1.0,
174
+ "pending_count": 0,
175
+ "confirmed_count": 7,
176
+ "success_rate": 1.0,
177
+ "confidence_avg": 0.91,
178
+ "engines": {
179
+ "CodeGraph": 7
180
+ },
181
+ "agents": {
182
+ "autodocs-agent": 7
183
+ }
184
+ },
185
+ {
186
+ "pattern": "iot+architecture",
187
+ "total": 1,
188
+ "fallback_rate": 0.0,
189
+ "grounded_rate": 1.0,
190
+ "pending_count": 1,
191
+ "confirmed_count": 0,
192
+ "success_rate": 0.0,
193
+ "confidence_avg": 0.0,
194
+ "engines": {
195
+ "GitNexus/CodeGraph + Graphify": 1
196
+ },
197
+ "agents": {
198
+ "iot": 1
199
+ }
200
+ },
201
+ {
202
+ "pattern": "legacy+migration",
203
+ "total": 53,
204
+ "fallback_rate": 0.7358,
205
+ "grounded_rate": 0.3208,
206
+ "pending_count": 39,
207
+ "confirmed_count": 14,
208
+ "success_rate": 1.0,
209
+ "confidence_avg": 0.946,
210
+ "engines": {
211
+ "GitNexus": 53
212
+ },
213
+ "agents": {
214
+ "legacy": 53
215
+ }
216
+ },
217
+ {
218
+ "pattern": "rag+info",
219
+ "total": 21,
220
+ "fallback_rate": 0.0952,
221
+ "grounded_rate": 0.9048,
222
+ "pending_count": 8,
223
+ "confirmed_count": 13,
224
+ "success_rate": 1.0,
225
+ "confidence_avg": 0.95,
226
+ "engines": {
227
+ "CodeGraph": 1,
228
+ "Graphify": 20
229
+ },
230
+ "agents": {
231
+ "backend": 1,
232
+ "rag-local": 20
233
+ }
234
+ },
235
+ {
236
+ "pattern": "unknown-domain+info",
237
+ "total": 6,
238
+ "fallback_rate": 0.0,
239
+ "grounded_rate": 0.0,
240
+ "pending_count": 6,
241
+ "confirmed_count": 0,
242
+ "success_rate": 0.0,
243
+ "confidence_avg": 0.0,
244
+ "engines": {
245
+ "CodeGraph": 6
246
+ },
247
+ "agents": {
248
+ "backend": 6
249
+ }
250
+ },
251
+ {
252
+ "pattern": "ux-ui+review",
253
+ "total": 13,
254
+ "fallback_rate": 0.0,
255
+ "grounded_rate": 1.0,
256
+ "pending_count": 1,
257
+ "confirmed_count": 12,
258
+ "success_rate": 1.0,
259
+ "confidence_avg": 0.95,
260
+ "engines": {
261
+ "Graphify": 13
262
+ },
263
+ "agents": {
264
+ "ux-ui": 13
265
+ }
266
+ }
267
+ ]
268
+ }
@@ -0,0 +1,37 @@
1
+ # Learning Loop Report
2
+
3
+ - timestamp: 2026-07-05T09:54:51.179894+00:00
4
+ - total_events: 305
5
+ - pending_events: 197
6
+ - confirmed_events: 108
7
+
8
+ ## Global KPIs
9
+
10
+ - fallback_rate: 14.75%
11
+ - grounded_rate: 84.92%
12
+ - success_rate: 100.0%
13
+ - confidence_avg: 0.945
14
+
15
+ ## Health
16
+
17
+ - fallback_ok: True
18
+ - grounded_ok: True
19
+ - confidence_ok: True
20
+
21
+ ## Patterns
22
+
23
+ - azure-rag+info: total=4, pending=4, confirmed=0, fallback=0.0%, grounded=100.0%, confidence=0.0
24
+ - azure-rag+knowledge-grounded: total=52, pending=38, confirmed=14, fallback=0.0%, grounded=100.0%, confidence=0.946
25
+ - backend+bug-fix: total=12, pending=0, confirmed=12, fallback=0.0%, grounded=100.0%, confidence=0.95
26
+ - dba+analysis: total=51, pending=37, confirmed=14, fallback=0.0%, grounded=100.0%, confidence=0.946
27
+ - dba+sql: total=18, pending=11, confirmed=7, fallback=0.0%, grounded=100.0%, confidence=0.95
28
+ - dev+bug-fix: total=50, pending=47, confirmed=3, fallback=6.0%, grounded=100.0%, confidence=0.917
29
+ - dev+info: total=2, pending=2, confirmed=0, fallback=0.0%, grounded=50.0%, confidence=0.0
30
+ - frontend+bug-fix: total=1, pending=1, confirmed=0, fallback=100.0%, grounded=0.0%, confidence=0.0
31
+ - frontend+feature: total=14, pending=2, confirmed=12, fallback=0.0%, grounded=100.0%, confidence=0.95
32
+ - incremental-json-projection: total=7, pending=0, confirmed=7, fallback=0.0%, grounded=100.0%, confidence=0.91
33
+ - iot+architecture: total=1, pending=1, confirmed=0, fallback=0.0%, grounded=100.0%, confidence=0.0
34
+ - legacy+migration: total=53, pending=39, confirmed=14, fallback=73.58%, grounded=32.08%, confidence=0.946
35
+ - rag+info: total=21, pending=8, confirmed=13, fallback=9.52%, grounded=90.48%, confidence=0.95
36
+ - unknown-domain+info: total=6, pending=6, confirmed=0, fallback=0.0%, grounded=0.0%, confidence=0.0
37
+ - ux-ui+review: total=13, pending=1, confirmed=12, fallback=0.0%, grounded=100.0%, confidence=0.95
@@ -0,0 +1,23 @@
1
+ # Repo Intake Eval Cases
2
+
3
+ Casos minimos para validar que el intake registra capacidades y dominios esperados.
4
+
5
+ ## Matriz base
6
+
7
+ 1. `boostDBA` -> `domain=dba`, motor esperado `Graphify`.
8
+ 1. `boost_azure_rag` -> `domain=azure-rag`, motor esperado `Azure RAG Builder`.
9
+ 1. `boost_iot` -> `domain=iot`, agente esperado `iot`.
10
+
11
+ ## Criterios de aprobacion
12
+
13
+ 1. Repo aparece en `repo-registry/repos.yml` con `approval.status=approved`.
14
+ 1. Se genera capability en `repo-intake/generated/v2/<slug>/<version>/capabilities/capability.json`.
15
+ 1. No hay errores en `validate-repo-registry.ps1 -Strict`.
16
+
17
+ ## Comandos
18
+
19
+ ```powershell
20
+ pwsh -NoProfile -ExecutionPolicy Bypass -File .\scripts\intake\validate-repo-registry.ps1 -Strict
21
+ .\scripts\intake\run-repo-intake.ps1
22
+ ```
23
+
@@ -0,0 +1,68 @@
1
+ {
2
+ "cases": [
3
+ {
4
+ "id": "case-login-bug",
5
+ "input": "Arregla bug de login",
6
+ "intent": "bug-fix",
7
+ "domain": "backend",
8
+ "source_type": "code",
9
+ "capability": "backend-coding"
10
+ },
11
+ {
12
+ "id": "case-sla-grounding",
13
+ "input": "Necesito fuentes SLA reales",
14
+ "intent": "knowledge-grounded",
15
+ "domain": "azure-rag",
16
+ "source_type": "corporate-docs",
17
+ "capability": "azure-rag-enterprise"
18
+ },
19
+ {
20
+ "id": "case-dba-analysis",
21
+ "input": "Analiza schema SQL",
22
+ "intent": "analysis",
23
+ "domain": "dba",
24
+ "source_type": "technical-docs",
25
+ "capability": "database-analysis"
26
+ },
27
+ {
28
+ "id": "case-dba-sql-intent",
29
+ "input": "Analiza esquema SQL de la tabla de pedidos",
30
+ "intent": "sql",
31
+ "domain": "dba",
32
+ "source_type": "technical-docs",
33
+ "capability": "database-analysis"
34
+ },
35
+ {
36
+ "id": "case-legacy-migration",
37
+ "input": "Plan de migracion legacy",
38
+ "intent": "migration",
39
+ "domain": "legacy",
40
+ "source_type": "code",
41
+ "capability": "legacy-migration"
42
+ },
43
+ {
44
+ "id": "case-rag-tech-docs-local",
45
+ "input": "explica guia tecnica local",
46
+ "intent": "info",
47
+ "domain": "rag",
48
+ "source_type": "technical-docs",
49
+ "capability": "rag-knowledge"
50
+ },
51
+ {
52
+ "id": "case-frontend-feature",
53
+ "input": "Implementar nuevo componente de checkout",
54
+ "intent": "feature",
55
+ "domain": "frontend",
56
+ "source_type": "code",
57
+ "capability": "frontend-coding"
58
+ },
59
+ {
60
+ "id": "case-ux-ui-review",
61
+ "input": "Revisar consistencia y accesibilidad del design system",
62
+ "intent": "review",
63
+ "domain": "ux-ui",
64
+ "source_type": "technical-docs",
65
+ "capability": "ux-ui-governance"
66
+ }
67
+ ]
68
+ }
@@ -0,0 +1,25 @@
1
+ # Routing Eval Cases
2
+
3
+ ## Casos base
4
+
5
+ 1. `bug login` -> `backend` + `CodeGraph` + Caveman `full`.
6
+ 1. `SLA` -> `rag-azure` + `Azure RAG Builder` + `sources` no vacio.
7
+ 1. `arquitectura` -> `rag-local`/`dba` segun dominio con `Graphify`.
8
+ 1. `legacy migration` -> `legacy` + `GitNexus` + `hitl.required=true` cuando haya alto impacto/fallback.
9
+
10
+ ## Suite ejecutable JSON-first
11
+
12
+ - `observability/evals/routing-eval-cases.json`
13
+
14
+ ## Runner
15
+
16
+ ```powershell
17
+ py -3 .\scripts\intake\run-routing-evals.py
18
+ ```
19
+
20
+ ## Criterios de pase
21
+
22
+ 1. `cases_failed = 0`.
23
+ 1. Coincidencia exacta de `agent` y `engine` por caso.
24
+ 1. `prompt.exists = true` en todos los casos.
25
+
@@ -0,0 +1,72 @@
1
+ {
2
+ "timestamp": "2026-07-05T09:53:37.247596+00:00",
3
+ "cases_total": 8,
4
+ "cases_passed": 8,
5
+ "cases_failed": 0,
6
+ "results": [
7
+ {
8
+ "id": "case-login-bug",
9
+ "ok": true,
10
+ "event_id": "2ffca0b3-6e27-4044-af22-a18213974750",
11
+ "feedback_recorded": true,
12
+ "feedback_output": "Feedback recorded for event_id: 2ffca0b3-6e27-4044-af22-a18213974750\nOutput: C:\\repo\\mcp-efficiency-engine\\observability\\logs\\learning-feedback.jsonl\n",
13
+ "output": "{\n \"event_id\": \"2ffca0b3-6e27-4044-af22-a18213974750\",\n \"timestamp\": \"2026-07-05T09:53:28.805628+00:00\",\n \"input\": \"Arregla bug de login\",\n \"intent\": \"bug-fix\",\n \"domain\": \"backend\",\n \"source_type\": \"code\",\n \"agent\": \"backend\",\n \"engine\": \"CodeGraph\",\n \"optimization_profile\": \"strict+full\",\n \"fallback\": false,\n \"grounded\": true,\n \"sources\": [\n \"repo:boost_backend\"\n ],\n \"notes\": \"selected_by=capability\",\n \"prompt\": {\n \"selected\": \".github/prompts/backend.fix-bug.prompt.md\",\n \"exists\": true,\n \"selection_mode\": \"auto\"\n },\n \"skill\": {\n \"selected\": \".github/skills/backend-coding/SKILL.md\",\n \"exists\": true,\n \"selection_mode\": \"auto\"\n },\n \"optimization\": {\n \"token_saver\": \"always_on\",\n \"token_saver_profile\": \"strict\",\n \"caveman\": \"always_on\",\n \"caveman_profile\": \"full\",\n \"sources_preserved\": true,\n \"context_reduction_strategy\": \"symbol\"\n },\n \"memory\": {\n \"selected\": [\n \"repo-memory\",\n \"routing-memory\",\n \"code-memory\"\n ],\n \"reason\": \"code route uses structural retrieval\"\n },\n \"requirements\": [\n \"token-saver-mcp\",\n \"codebase-memory-mcp\",\n \"codegraph-command\",\n \"codegraph-index\"\n ],\n \"learning\": {\n \"used_pattern\": \"backend+bug-fix\",\n \"success\": null,\n \"outcome_status\": \"pending\",\n \"fallback\": false,\n \"confidence\": 0.9\n },\n \"hitl\": {\n \"mode\": \"always_on_auto\",\n \"required\": false,\n \"action\": \"none\",\n \"reason\": \"low_risk_route\"\n },\n \"telemetry\": {\n \"iteration_metrics_recorded\": false,\n \"metrics_output\": \"\"\n }\n}\nEvent appended to: C:\\repo\\mcp-efficiency-engine\\observability\\logs\\routing-decisions.jsonl\n"
14
+ },
15
+ {
16
+ "id": "case-sla-grounding",
17
+ "ok": true,
18
+ "event_id": "eff45ff1-30e0-4f86-acc1-8c2898e52527",
19
+ "feedback_recorded": true,
20
+ "feedback_output": "Feedback recorded for event_id: eff45ff1-30e0-4f86-acc1-8c2898e52527\nOutput: C:\\repo\\mcp-efficiency-engine\\observability\\logs\\learning-feedback.jsonl\n",
21
+ "output": "{\n \"event_id\": \"eff45ff1-30e0-4f86-acc1-8c2898e52527\",\n \"timestamp\": \"2026-07-05T09:53:29.907978+00:00\",\n \"input\": \"Necesito fuentes SLA reales\",\n \"intent\": \"knowledge-grounded\",\n \"domain\": \"azure-rag\",\n \"source_type\": \"corporate-docs\",\n \"agent\": \"rag-azure\",\n \"engine\": \"Azure RAG Builder\",\n \"optimization_profile\": \"evidence-first+evidence-first\",\n \"fallback\": false,\n \"grounded\": true,\n \"sources\": [\n \"repo:boost_azure_rag\"\n ],\n \"notes\": \"selected_by=capability\",\n \"prompt\": {\n \"selected\": \".github/prompts/azure-rag.query.prompt.md\",\n \"exists\": true,\n \"selection_mode\": \"auto\"\n },\n \"skill\": {\n \"selected\": \".github/skills/azure-rag-enterprise/SKILL.md\",\n \"exists\": true,\n \"selection_mode\": \"auto\"\n },\n \"optimization\": {\n \"token_saver\": \"always_on\",\n \"token_saver_profile\": \"evidence-first\",\n \"caveman\": \"always_on\",\n \"caveman_profile\": \"evidence-first\",\n \"sources_preserved\": true,\n \"context_reduction_strategy\": \"chunk\"\n },\n \"memory\": {\n \"selected\": [\n \"repo-memory\",\n \"routing-memory\",\n \"enterprise-memory\"\n ],\n \"reason\": \"corporate evidence route\"\n },\n \"requirements\": [\n \"token-saver-mcp\",\n \"codebase-memory-mcp\",\n \"azure-rag-connector\"\n ],\n \"learning\": {\n \"used_pattern\": \"azure-rag+knowledge-grounded\",\n \"success\": null,\n \"outcome_status\": \"pending\",\n \"fallback\": false,\n \"confidence\": 0.9\n },\n \"hitl\": {\n \"mode\": \"always_on_auto\",\n \"required\": false,\n \"action\": \"none\",\n \"reason\": \"low_risk_route\"\n },\n \"telemetry\": {\n \"iteration_metrics_recorded\": false,\n \"metrics_output\": \"\"\n }\n}\nEvent appended to: C:\\repo\\mcp-efficiency-engine\\observability\\logs\\routing-decisions.jsonl\n"
22
+ },
23
+ {
24
+ "id": "case-dba-analysis",
25
+ "ok": true,
26
+ "event_id": "c2173480-9c3f-4e5e-a40b-17bc3c8effaf",
27
+ "feedback_recorded": true,
28
+ "feedback_output": "Feedback recorded for event_id: c2173480-9c3f-4e5e-a40b-17bc3c8effaf\nOutput: C:\\repo\\mcp-efficiency-engine\\observability\\logs\\learning-feedback.jsonl\n",
29
+ "output": "{\n \"event_id\": \"c2173480-9c3f-4e5e-a40b-17bc3c8effaf\",\n \"timestamp\": \"2026-07-05T09:53:30.851086+00:00\",\n \"input\": \"Analiza schema SQL\",\n \"intent\": \"analysis\",\n \"domain\": \"dba\",\n \"source_type\": \"technical-docs\",\n \"agent\": \"dba\",\n \"engine\": \"Graphify\",\n \"optimization_profile\": \"balanced+lite\",\n \"fallback\": false,\n \"grounded\": true,\n \"sources\": [\n \"repo:boost_dba\",\n \"graphify:index\"\n ],\n \"notes\": \"selected_by=capability\",\n \"prompt\": {\n \"selected\": \".github/prompts/dba.query-review.prompt.md\",\n \"exists\": true,\n \"selection_mode\": \"auto\"\n },\n \"skill\": {\n \"selected\": \".github/skills/database-analysis/SKILL.md\",\n \"exists\": true,\n \"selection_mode\": \"auto\"\n },\n \"optimization\": {\n \"token_saver\": \"always_on\",\n \"token_saver_profile\": \"balanced\",\n \"caveman\": \"always_on\",\n \"caveman_profile\": \"lite\",\n \"sources_preserved\": true,\n \"context_reduction_strategy\": \"manifest\"\n },\n \"memory\": {\n \"selected\": [\n \"repo-memory\",\n \"routing-memory\",\n \"knowledge-memory\"\n ],\n \"reason\": \"technical docs route\"\n },\n \"requirements\": [\n \"token-saver-mcp\",\n \"codebase-memory-mcp\",\n \"graphify-index\"\n ],\n \"learning\": {\n \"used_pattern\": \"dba+analysis\",\n \"success\": null,\n \"outcome_status\": \"pending\",\n \"fallback\": false,\n \"confidence\": 0.9\n },\n \"hitl\": {\n \"mode\": \"always_on_auto\",\n \"required\": false,\n \"action\": \"none\",\n \"reason\": \"low_risk_route\"\n },\n \"telemetry\": {\n \"iteration_metrics_recorded\": false,\n \"metrics_output\": \"\"\n }\n}\nEvent appended to: C:\\repo\\mcp-efficiency-engine\\observability\\logs\\routing-decisions.jsonl\n"
30
+ },
31
+ {
32
+ "id": "case-dba-sql-intent",
33
+ "ok": true,
34
+ "event_id": "7a5907f7-edf3-477f-82a4-4f354648a1ae",
35
+ "feedback_recorded": true,
36
+ "feedback_output": "Feedback recorded for event_id: 7a5907f7-edf3-477f-82a4-4f354648a1ae\nOutput: C:\\repo\\mcp-efficiency-engine\\observability\\logs\\learning-feedback.jsonl\n",
37
+ "output": "{\n \"event_id\": \"7a5907f7-edf3-477f-82a4-4f354648a1ae\",\n \"timestamp\": \"2026-07-05T09:53:31.748935+00:00\",\n \"input\": \"Analiza esquema SQL de la tabla de pedidos\",\n \"intent\": \"sql\",\n \"domain\": \"dba\",\n \"source_type\": \"technical-docs\",\n \"agent\": \"dba\",\n \"engine\": \"Graphify\",\n \"optimization_profile\": \"balanced+lite\",\n \"fallback\": false,\n \"grounded\": true,\n \"sources\": [\n \"repo:boost_dba\",\n \"graphify:index\"\n ],\n \"notes\": \"selected_by=capability\",\n \"prompt\": {\n \"selected\": \".github/prompts/dba.query-review.prompt.md\",\n \"exists\": true,\n \"selection_mode\": \"auto\"\n },\n \"skill\": {\n \"selected\": \".github/skills/database-analysis/SKILL.md\",\n \"exists\": true,\n \"selection_mode\": \"auto\"\n },\n \"optimization\": {\n \"token_saver\": \"always_on\",\n \"token_saver_profile\": \"balanced\",\n \"caveman\": \"always_on\",\n \"caveman_profile\": \"lite\",\n \"sources_preserved\": true,\n \"context_reduction_strategy\": \"manifest\"\n },\n \"memory\": {\n \"selected\": [\n \"repo-memory\",\n \"routing-memory\",\n \"knowledge-memory\"\n ],\n \"reason\": \"technical docs route\"\n },\n \"requirements\": [\n \"token-saver-mcp\",\n \"codebase-memory-mcp\",\n \"graphify-index\"\n ],\n \"learning\": {\n \"used_pattern\": \"dba+sql\",\n \"success\": null,\n \"outcome_status\": \"pending\",\n \"fallback\": false,\n \"confidence\": 0.9\n },\n \"hitl\": {\n \"mode\": \"always_on_auto\",\n \"required\": false,\n \"action\": \"none\",\n \"reason\": \"low_risk_route\"\n },\n \"telemetry\": {\n \"iteration_metrics_recorded\": false,\n \"metrics_output\": \"\"\n }\n}\nEvent appended to: C:\\repo\\mcp-efficiency-engine\\observability\\logs\\routing-decisions.jsonl\n"
38
+ },
39
+ {
40
+ "id": "case-legacy-migration",
41
+ "ok": true,
42
+ "event_id": "d8577530-5805-413f-b4c3-2c244800f5e2",
43
+ "feedback_recorded": true,
44
+ "feedback_output": "Feedback recorded for event_id: d8577530-5805-413f-b4c3-2c244800f5e2\nOutput: C:\\repo\\mcp-efficiency-engine\\observability\\logs\\learning-feedback.jsonl\n",
45
+ "output": "{\n \"event_id\": \"d8577530-5805-413f-b4c3-2c244800f5e2\",\n \"timestamp\": \"2026-07-05T09:53:32.678151+00:00\",\n \"input\": \"Plan de migracion legacy\",\n \"intent\": \"migration\",\n \"domain\": \"legacy\",\n \"source_type\": \"code\",\n \"agent\": \"legacy\",\n \"engine\": \"GitNexus\",\n \"optimization_profile\": \"strict+full\",\n \"fallback\": false,\n \"grounded\": true,\n \"sources\": [\n \"repo:boost_architect_forensics_expert\",\n \"gitnexus:index\"\n ],\n \"notes\": \"selected_by=capability\",\n \"prompt\": {\n \"selected\": \".github/prompts/legacy.impact-analysis.prompt.md\",\n \"exists\": true,\n \"selection_mode\": \"auto\"\n },\n \"skill\": {\n \"selected\": \".github/skills/legacy-migration/SKILL.md\",\n \"exists\": true,\n \"selection_mode\": \"auto\"\n },\n \"optimization\": {\n \"token_saver\": \"always_on\",\n \"token_saver_profile\": \"strict\",\n \"caveman\": \"always_on\",\n \"caveman_profile\": \"full\",\n \"sources_preserved\": true,\n \"context_reduction_strategy\": \"symbol\"\n },\n \"memory\": {\n \"selected\": [\n \"repo-memory\",\n \"routing-memory\",\n \"code-memory\"\n ],\n \"reason\": \"code route uses structural retrieval\"\n },\n \"requirements\": [\n \"token-saver-mcp\",\n \"codebase-memory-mcp\",\n \"gitnexus-command\"\n ],\n \"learning\": {\n \"used_pattern\": \"legacy+migration\",\n \"success\": null,\n \"outcome_status\": \"pending\",\n \"fallback\": false,\n \"confidence\": 0.9\n },\n \"hitl\": {\n \"mode\": \"always_on_auto\",\n \"required\": true,\n \"action\": \"request_human_confirmation\",\n \"reason\": \"high_impact:migration\"\n },\n \"telemetry\": {\n \"iteration_metrics_recorded\": false,\n \"metrics_output\": \"\"\n }\n}\nEvent appended to: C:\\repo\\mcp-efficiency-engine\\observability\\logs\\routing-decisions.jsonl\n"
46
+ },
47
+ {
48
+ "id": "case-rag-tech-docs-local",
49
+ "ok": true,
50
+ "event_id": "3ed21e66-70e2-430d-9b21-2835424db5f2",
51
+ "feedback_recorded": true,
52
+ "feedback_output": "Feedback recorded for event_id: 3ed21e66-70e2-430d-9b21-2835424db5f2\nOutput: C:\\repo\\mcp-efficiency-engine\\observability\\logs\\learning-feedback.jsonl\n",
53
+ "output": "{\n \"event_id\": \"3ed21e66-70e2-430d-9b21-2835424db5f2\",\n \"timestamp\": \"2026-07-05T09:53:33.597089+00:00\",\n \"input\": \"explica guia tecnica local\",\n \"intent\": \"info\",\n \"domain\": \"rag\",\n \"source_type\": \"technical-docs\",\n \"agent\": \"rag-local\",\n \"engine\": \"Graphify\",\n \"optimization_profile\": \"balanced+lite\",\n \"fallback\": false,\n \"grounded\": true,\n \"sources\": [\n \"graphify:index\"\n ],\n \"notes\": \"selected_by=domain_default_expected\",\n \"prompt\": {\n \"selected\": \".github/prompts/rag.knowledge-answer.prompt.md\",\n \"exists\": true,\n \"selection_mode\": \"auto\"\n },\n \"skill\": {\n \"selected\": \".github/skills/rag-knowledge/SKILL.md\",\n \"exists\": true,\n \"selection_mode\": \"auto\"\n },\n \"optimization\": {\n \"token_saver\": \"always_on\",\n \"token_saver_profile\": \"balanced\",\n \"caveman\": \"always_on\",\n \"caveman_profile\": \"lite\",\n \"sources_preserved\": true,\n \"context_reduction_strategy\": \"manifest\"\n },\n \"memory\": {\n \"selected\": [\n \"repo-memory\",\n \"routing-memory\",\n \"knowledge-memory\"\n ],\n \"reason\": \"technical docs route\"\n },\n \"requirements\": [\n \"token-saver-mcp\",\n \"codebase-memory-mcp\",\n \"graphify-index\"\n ],\n \"learning\": {\n \"used_pattern\": \"rag+info\",\n \"success\": null,\n \"outcome_status\": \"pending\",\n \"fallback\": false,\n \"confidence\": 0.9\n },\n \"hitl\": {\n \"mode\": \"always_on_auto\",\n \"required\": false,\n \"action\": \"none\",\n \"reason\": \"low_risk_route\"\n },\n \"telemetry\": {\n \"iteration_metrics_recorded\": false,\n \"metrics_output\": \"\"\n }\n}\nEvent appended to: C:\\repo\\mcp-efficiency-engine\\observability\\logs\\routing-decisions.jsonl\n"
54
+ },
55
+ {
56
+ "id": "case-frontend-feature",
57
+ "ok": true,
58
+ "event_id": "57258e0f-0d70-4b10-b5d3-6dfc7354c8f1",
59
+ "feedback_recorded": true,
60
+ "feedback_output": "Feedback recorded for event_id: 57258e0f-0d70-4b10-b5d3-6dfc7354c8f1\nOutput: C:\\repo\\mcp-efficiency-engine\\observability\\logs\\learning-feedback.jsonl\n",
61
+ "output": "{\n \"event_id\": \"57258e0f-0d70-4b10-b5d3-6dfc7354c8f1\",\n \"timestamp\": \"2026-07-05T09:53:34.727844+00:00\",\n \"input\": \"Implementar nuevo componente de checkout\",\n \"intent\": \"feature\",\n \"domain\": \"frontend\",\n \"source_type\": \"code\",\n \"agent\": \"frontend-agent\",\n \"engine\": \"CodeGraph\",\n \"optimization_profile\": \"strict+full\",\n \"fallback\": false,\n \"grounded\": true,\n \"sources\": [\n \"repo:boost_frontend\"\n ],\n \"notes\": \"selected_by=capability\",\n \"prompt\": {\n \"selected\": \".github/prompts/frontend.code.prompt.md\",\n \"exists\": true,\n \"selection_mode\": \"auto\"\n },\n \"skill\": {\n \"selected\": \".github/skills/frontend-coding/SKILL.md\",\n \"exists\": true,\n \"selection_mode\": \"auto\"\n },\n \"optimization\": {\n \"token_saver\": \"always_on\",\n \"token_saver_profile\": \"strict\",\n \"caveman\": \"always_on\",\n \"caveman_profile\": \"full\",\n \"sources_preserved\": true,\n \"context_reduction_strategy\": \"symbol\"\n },\n \"memory\": {\n \"selected\": [\n \"repo-memory\",\n \"routing-memory\",\n \"code-memory\"\n ],\n \"reason\": \"code route uses structural retrieval\"\n },\n \"requirements\": [\n \"token-saver-mcp\",\n \"codebase-memory-mcp\",\n \"codegraph-command\",\n \"codegraph-index\"\n ],\n \"learning\": {\n \"used_pattern\": \"frontend+feature\",\n \"success\": null,\n \"outcome_status\": \"pending\",\n \"fallback\": false,\n \"confidence\": 0.9\n },\n \"hitl\": {\n \"mode\": \"always_on_auto\",\n \"required\": false,\n \"action\": \"none\",\n \"reason\": \"low_risk_route\"\n },\n \"telemetry\": {\n \"iteration_metrics_recorded\": false,\n \"metrics_output\": \"\"\n }\n}\nEvent appended to: C:\\repo\\mcp-efficiency-engine\\observability\\logs\\routing-decisions.jsonl\n"
62
+ },
63
+ {
64
+ "id": "case-ux-ui-review",
65
+ "ok": true,
66
+ "event_id": "a7c73bfe-7d7c-4634-ac0e-c19026f90180",
67
+ "feedback_recorded": true,
68
+ "feedback_output": "Feedback recorded for event_id: a7c73bfe-7d7c-4634-ac0e-c19026f90180\nOutput: C:\\repo\\mcp-efficiency-engine\\observability\\logs\\learning-feedback.jsonl\n",
69
+ "output": "{\n \"event_id\": \"a7c73bfe-7d7c-4634-ac0e-c19026f90180\",\n \"timestamp\": \"2026-07-05T09:53:36.434832+00:00\",\n \"input\": \"Revisar consistencia y accesibilidad del design system\",\n \"intent\": \"review\",\n \"domain\": \"ux-ui\",\n \"source_type\": \"technical-docs\",\n \"agent\": \"ux-ui\",\n \"engine\": \"Graphify\",\n \"optimization_profile\": \"balanced+lite\",\n \"fallback\": false,\n \"grounded\": true,\n \"sources\": [\n \"repo:boost_design_ux_with_intent\",\n \"graphify:index\"\n ],\n \"notes\": \"selected_by=capability\",\n \"prompt\": {\n \"selected\": \".github/prompts/ux-ui.review.prompt.md\",\n \"exists\": true,\n \"selection_mode\": \"auto\"\n },\n \"skill\": {\n \"selected\": \".github/skills/ux-ui-governance/SKILL.md\",\n \"exists\": true,\n \"selection_mode\": \"auto\"\n },\n \"optimization\": {\n \"token_saver\": \"always_on\",\n \"token_saver_profile\": \"balanced\",\n \"caveman\": \"always_on\",\n \"caveman_profile\": \"lite\",\n \"sources_preserved\": true,\n \"context_reduction_strategy\": \"manifest\"\n },\n \"memory\": {\n \"selected\": [\n \"repo-memory\",\n \"routing-memory\",\n \"knowledge-memory\"\n ],\n \"reason\": \"technical docs route\"\n },\n \"requirements\": [\n \"token-saver-mcp\",\n \"codebase-memory-mcp\",\n \"graphify-index\"\n ],\n \"learning\": {\n \"used_pattern\": \"ux-ui+review\",\n \"success\": null,\n \"outcome_status\": \"pending\",\n \"fallback\": false,\n \"confidence\": 0.9\n },\n \"hitl\": {\n \"mode\": \"always_on_auto\",\n \"required\": false,\n \"action\": \"none\",\n \"reason\": \"low_risk_route\"\n },\n \"telemetry\": {\n \"iteration_metrics_recorded\": false,\n \"metrics_output\": \"\"\n }\n}\nEvent appended to: C:\\repo\\mcp-efficiency-engine\\observability\\logs\\routing-decisions.jsonl\n"
70
+ }
71
+ ]
72
+ }
@@ -0,0 +1,34 @@
1
+ # Evaluation
2
+
3
+ Evalua inputs esperados vs agente/motor real y perfil de optimizacion aplicado.
4
+
5
+ ## Objetivo
6
+
7
+ - Validar que routing, grounding y optimizacion cumplen contrato.
8
+ - Detectar regresiones antes de impactar operacion.
9
+
10
+ ## Fuente de verdad
11
+
12
+ - Casos: `observability/evals/routing-eval-cases.json`
13
+ - Runner: `scripts/intake/run-routing-evals.py`
14
+ - Reporte: `observability/evals/routing-eval-report.json`
15
+ - Eventos: `observability/logs/routing-decisions.jsonl`
16
+
17
+ ## Criterios de aprobacion
18
+
19
+ 1. `cases_failed = 0`.
20
+ 1. `prompt.exists = true` en todos los casos.
21
+ 1. `agent` y `engine` esperados por caso.
22
+ 1. `hitl.required = true` en rutas de alto impacto.
23
+
24
+ ## Semaforo
25
+
26
+ - `OK`: `cases_failed = 0`.
27
+ - `WARN`: 1 caso fallado o desvio leve de perfil.
28
+ - `FAIL`: 2+ casos fallados o HITL incorrecto en alto riesgo.
29
+
30
+ ## Ejecucion
31
+
32
+ ```powershell
33
+ py -3 .\scripts\intake\run-routing-evals.py
34
+ ```
@@ -0,0 +1,13 @@
1
+ {
2
+ "timestamp": "2026-07-05T09:54:53.104912+00:00",
3
+ "session_log": "C:\\Users\\sergio.hierro.cinos\\AppData\\Roaming\\Code\\User\\workspaceStorage\\52c8c5ec726bf4047d40cb00b7487a0b\\GitHub.copilot-chat\\debug-logs\\013fa51d-1313-48db-b022-d8df5b6f81cd\\main.jsonl",
4
+ "chat_session_log": "C:\\Users\\sergio.hierro.cinos\\AppData\\Roaming\\Code\\User\\workspaceStorage\\52c8c5ec726bf4047d40cb00b7487a0b\\chatSessions\\013fa51d-1313-48db-b022-d8df5b6f81cd.jsonl",
5
+ "metrics_log": "observability/logs/iteration-metrics.jsonl",
6
+ "scanned_events": 9,
7
+ "usage_events_detected": 8,
8
+ "inserted": 8,
9
+ "updated_existing": 0,
10
+ "skipped_duplicates": 0,
11
+ "status": "ok",
12
+ "note": "If status=no-usage-fields-found, this VS Code debug log currently does not expose per-turn token usage in a parseable shape."
13
+ }