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
package/README.md ADDED
@@ -0,0 +1,385 @@
1
+ <!-- markdownlint-disable MD013 -->
2
+
3
+ # MCP Efficiency Engine
4
+
5
+ Motor de orquestación para agentes MCP con routing por dominio, optimización always-on y contratos de intake JSON-first.
6
+
7
+ ## Objetivo
8
+
9
+ Este repositorio centraliza:
10
+
11
+ - Routing corporativo de intención -> agente -> motor.
12
+ - Ingesta de repos "boost" (locales o GitHub) a capacidades consumibles.
13
+ - Optimización operacional (`token-saver` + `caveman`) sin perder grounding.
14
+ - Observabilidad de decisiones de routing, uso y aprendizaje continuo.
15
+
16
+ ## Arquitectura
17
+
18
+ ```mermaid
19
+ flowchart LR
20
+ U[Input usuario] --> R[Router corporativo]
21
+ R --> A[Agente por dominio]
22
+ A --> O[Always-on optimization]
23
+ O --> E[Motor de conocimiento principal]
24
+ E --> X[Respuesta con fuentes + logs]
25
+
26
+ O --> TS[token-saver]
27
+ O --> CV[caveman-mode]
28
+
29
+ E --> CG[CodeGraph]
30
+ E --> GN[GitNexus]
31
+ E --> GF[Graphify]
32
+ E --> AZ[Azure RAG Builder]
33
+ E --> RP[Repomix]
34
+
35
+ X --> OBS[observability/logs]
36
+ X --> INT[repo-intake/generated]
37
+ ```
38
+
39
+ ## Flujos Operativos
40
+
41
+ ### Flujo AutoDocs (wiki-agent)
42
+
43
+ Proyeccion incremental de conocimiento tecnico a Markdown:
44
+
45
+ ```powershell
46
+ py -3 -m scripts.wiki.wiki_compiler
47
+ ```
48
+
49
+ Artefactos de salida:
50
+
51
+ - `autodocs/generated/unified-graph.json`
52
+ - `autodocs/generated/validation-report.json`
53
+ - `autodocs/site/`
54
+
55
+ Automatizacion CI:
56
+
57
+ - `.github/workflows/autodocs-sync.yml`
58
+
59
+ ### Flujo End-to-End De Routing
60
+
61
+ ```mermaid
62
+ sequenceDiagram
63
+ participant U as Usuario
64
+ participant RT as Router
65
+ participant AG as Agente
66
+ participant OP as Optimization
67
+ participant EN as Engine
68
+ participant OB as Observability
69
+
70
+ U->>RT: input + intent
71
+ RT->>RT: resolve domain + capability
72
+ RT->>AG: asigna agente
73
+ AG->>OP: aplica token-saver + caveman
74
+ OP->>EN: consulta principal (CodeGraph/GitNexus/Graphify/Azure/Repomix)
75
+ EN-->>AG: contexto + evidencia
76
+ AG-->>U: respuesta grounded
77
+ AG->>OB: routing-decisions + métricas + feedback
78
+ ```
79
+
80
+ ### Flujo De Intake (Registry -> Capability)
81
+
82
+ ```mermaid
83
+ flowchart TD
84
+ R[repo-registry/repos.yml] --> V[validate-repo-registry]
85
+ V --> I[repo-intake.py]
86
+ I --> S{type}
87
+ S -->|local| L[usar repo local]
88
+ S -->|github| G[clonar/refrescar cache]
89
+ L --> A[generar artifacts]
90
+ G --> A
91
+ A --> M[manifest.json]
92
+ A --> C[capability.json]
93
+ A --> AU[audit-log.jsonl]
94
+ A --> SU[SUMMARY.json]
95
+ SU --> OR[router consume capabilities]
96
+ ```
97
+
98
+ ### Flujo Diario Recomendado
99
+
100
+ ```mermaid
101
+ flowchart LR
102
+ H[hi.ps1] --> W[trabajo diario]
103
+ W --> B[bye.ps1]
104
+ H --> HC[health checks + intake + evals]
105
+ B --> BR[refresh contexto + reportes + snapshot]
106
+ ```
107
+
108
+ ## Routing Base
109
+
110
+ Contrato global en `AGENTS.md`:
111
+
112
+ - `backend` -> `CodeGraph`
113
+ - `frontend-agent` -> `CodeGraph`
114
+ - `legacy` -> `GitNexus`
115
+ - `dba` -> `Graphify`
116
+ - `ux-ui` -> `Graphify`
117
+ - `rag-local` -> `Graphify`
118
+ - `rag-azure` -> `Azure RAG Builder`
119
+ - `iot` -> `GitNexus/CodeGraph + Graphify`
120
+ - `community-manager` -> `Graphify`
121
+ - `snapshot` -> `Repomix`
122
+
123
+ ## Motores Y Herramientas
124
+
125
+ ### Motores Principales
126
+
127
+ | Motor | Uso principal | Cuándo usarlo |
128
+ |---|---|---|
129
+ | CodeGraph | Código repo único, símbolos y call paths | bug/fix/refactor backend o frontend en un repo |
130
+ | GitNexus | Impacto multi-repo, legacy, dependencias | migraciones legacy, análisis de blast radius, seguridad de cambio |
131
+ | Graphify | Documentación técnica local y relaciones de conocimiento | dba, ux-ui, rag-local, análisis de docs estructurados |
132
+ | Azure RAG Builder | Contexto corporativo y fuentes enterprise | contratos, políticas, evidencia corporativa |
133
+ | Repomix | Snapshot/export de contexto | empaquetado de contexto y handoff portable |
134
+
135
+ ### Tooling Operativo Del Repo
136
+
137
+ | Tooling | Rol en el sistema |
138
+ |---|---|
139
+ | token-saver-mcp | reducción de contexto y coste sin perder evidencia |
140
+ | caveman-mode | simplificación de salida y disciplina de respuesta |
141
+ | codebase-memory-mcp | memoria persistente para patrones y feedback |
142
+ | scripts/intake/* | validación de registry, generación de capabilities y resolución de routing |
143
+ | scripts/ops/hi.ps1, scripts/ops/bye.ps1 | ciclo operativo de inicio/cierre con checks y refresh |
144
+ | observability/logs/* | trazabilidad de decisiones, métricas y aprendizaje |
145
+
146
+ ### Mapa Rápido Intent -> Motor
147
+
148
+ ```mermaid
149
+ flowchart TB
150
+ I[Intent detectado] --> D{Dominio}
151
+ D -->|backend/frontend| CG[CodeGraph]
152
+ D -->|legacy| GN[GitNexus]
153
+ D -->|dba/ux-ui/rag-local| GF[Graphify]
154
+ D -->|azure-rag| AZ[Azure RAG Builder]
155
+ D -->|snapshot| RP[Repomix]
156
+ ```
157
+
158
+ ## Estructura Clave
159
+
160
+ - `.github/agents/`: definición de agentes por dominio.
161
+ - `.github/skills/`: skills ejecutables y reutilizables.
162
+ - `.github/prompts/`: prompts de routing por caso.
163
+ - `orchestrator/`: reglas corporativas y matriz de decisión.
164
+ - `repo-registry/`: registro de boosts aprobados.
165
+ - `repo-intake/`: generación de manifests/capabilities/audit.
166
+ - `scripts/`: setup, intake, operaciones, contexto y learning.
167
+ - `observability/`: esquemas, métricas y evaluaciones.
168
+ - `projects/`: artefactos operativos por proyecto.
169
+
170
+ ## Quickstart (Windows)
171
+
172
+ ### 1) Setup inicial
173
+
174
+ ```powershell
175
+ .\scripts\setup\setup-prerequisites.ps1
176
+ ```
177
+
178
+ ### Alternativa npm
179
+
180
+ Si quieres dejarlo auto-instalable en cualquier proyecto, el paquete ahora scaffoldéa el engine en el proyecto host durante `npm install` y luego ejecuta el bootstrap allí mismo.
181
+
182
+ Instalacion directa en un proyecto nuevo o existente:
183
+
184
+ ```powershell
185
+ npm install mcp-efficiency-engine
186
+ ```
187
+
188
+ Comportamiento esperado:
189
+
190
+ - copia al proyecto host los artefactos canonicos del engine (`scripts`, `.github`, `.vscode`, `repo-intake`, `orchestrator`, `policies`, `observability`, `autodocs/schema`, `memory`, etc.)
191
+ - instala motores y herramientas via bootstrap portable
192
+ - si no existe `repo-registry/repos.yml`, pregunta por owner/prefix y si quieres registrar un repo inicial para intake
193
+ - si no añades repos en ese momento, deja el registry plantilla listo para añadirlos despues y rerun de intake
194
+
195
+ Tambien puedes relanzar la instalacion manualmente sobre el proyecto actual:
196
+
197
+ ```powershell
198
+ npx mcp-efficiency-engine install
199
+ npx mcp-efficiency-engine validate -PortableMode
200
+ ```
201
+
202
+ Tambien puedes instalarlo globalmente y usar:
203
+
204
+ ```powershell
205
+ npm install -g mcp-efficiency-engine
206
+ mcpee install
207
+ ```
208
+
209
+ ### 2) Validación mínima
210
+
211
+ ```powershell
212
+ .\scripts\setup\validate-context.ps1
213
+ .\scripts\intake\run-repo-intake.cmd
214
+ py -3 .\scripts\intake\run-routing-evals.py
215
+ ```
216
+
217
+ ### 3) Operación diaria
218
+
219
+ ```powershell
220
+ .\scripts\ops\hi.ps1
221
+ # ... trabajo ...
222
+ .\scripts\ops\bye.ps1
223
+ ```
224
+
225
+ Validación extendida recomendada:
226
+
227
+ ```powershell
228
+ py -3 .\scripts\intake\agent-pipeline-preflight.py
229
+ py -3 .\scripts\intake\validate-repo-registry.py --strict
230
+ ```
231
+
232
+ ## Flujo De Intake
233
+
234
+ `repo-intake` soporta dos modos:
235
+
236
+ - `type=local`: consume un repo existente en disco.
237
+ - `type=github`: clona/refresca cache local y genera los mismos artefactos.
238
+
239
+ Artefactos canónicos:
240
+
241
+ - `repo-intake/generated/<slug>/context-manifests/manifest.json`
242
+ - `repo-intake/generated/<slug>/capabilities/capability.json`
243
+ - `repo-intake/generated/<slug>/audit/audit-log.jsonl`
244
+ - `repo-intake/generated/reports/SUMMARY.json`
245
+
246
+ ## Observabilidad
247
+
248
+ Registros principales:
249
+
250
+ - `observability/logs/routing-decisions.jsonl`
251
+ - `observability/logs/iteration-metrics.jsonl`
252
+ - `observability/logs/session/hi-*.json`
253
+ - `observability/logs/session/bye-*.json`
254
+
255
+ Eventos clave que conviene revisar:
256
+
257
+ - decisiones de routing: agente, engine, fallback, grounding.
258
+ - requirements runtime por ruta resuelta.
259
+ - métricas por iteración (tokens/coste si se reportan).
260
+ - feedback de learning para mejorar rutas futuras.
261
+
262
+ ### Loop De Observabilidad
263
+
264
+ ```mermaid
265
+ flowchart LR
266
+ D[Decision de routing] --> L1[routing-decisions.jsonl]
267
+ E[Ejecución de tarea] --> L2[iteration-metrics.jsonl]
268
+ S[Inicio/Cierre sesión] --> L3[session hi/bye logs]
269
+ L1 --> EV[evals y scoring]
270
+ L2 --> EV
271
+ L3 --> EV
272
+ EV --> A[acciones de ajuste]
273
+ A --> D
274
+ ```
275
+
276
+ ## Optimización Always-On
277
+
278
+ Pilares:
279
+
280
+ - `token-saver`: reduce contexto sin romper grounding.
281
+ - `caveman`: simplifica salida y reduce ruido operacional.
282
+ - Selección de perfil por tipo de fuente (`code`, `technical-docs`, `corporate-docs`, `snapshot`).
283
+
284
+ ```mermaid
285
+ flowchart TD
286
+ IN[Input] --> ST[Detectar source_type]
287
+ ST --> TS[token-saver profile]
288
+ ST --> CV[caveman profile]
289
+ TS --> EX[Engine execution]
290
+ CV --> EX
291
+ EX --> OUT[Output grounded + conciso]
292
+ OUT --> FB[feedback loop]
293
+ ```
294
+
295
+ Referencias:
296
+
297
+ - `optimization/ALWAYS_ON_OPTIMIZATION.md`
298
+ - `optimization/token-saver.md`
299
+ - `optimization/caveman-mode.md`
300
+
301
+ ## Policies Y Guardrails
302
+
303
+ Políticas activas para gobierno, coste, seguridad y intake:
304
+
305
+ - `policies/context-policy.md`
306
+ - `policies/cost-policy.md`
307
+ - `policies/security-policy.md`
308
+ - `policies/repo-intake-policy.md`
309
+
310
+ Reglas operativas clave:
311
+
312
+ - No mezclar todos los motores a la vez.
313
+ - Priorizar evidencia y fuentes cuando aplique.
314
+ - En cambios de alto impacto, activar confirmación humana (HITL).
315
+ - Mantener outputs de proyecto dentro de `projects/<nombre>/`.
316
+
317
+ ## Tooling Operativo
318
+
319
+ Mapa de toolchain por fase:
320
+
321
+ | Fase | Scripts/Tools |
322
+ |---|---|
323
+ | Setup | `scripts/setup/setup-prerequisites.ps1`, `scripts/setup/validate-context.ps1` |
324
+ | Intake | `scripts/intake/validate-repo-registry.py`, `scripts/intake/repo-intake.py`, `scripts/intake/run-repo-intake.cmd` |
325
+ | Routing/Evals | `scripts/intake/resolve-routing.py`, `scripts/intake/run-routing-evals.py`, `scripts/intake/agent-pipeline-preflight.py` |
326
+ | Daily Ops | `scripts/ops/hi.ps1`, `scripts/ops/bye.ps1` |
327
+ | Learning | `scripts/learning/*` |
328
+
329
+ ## Memory Y AutoLearning Loops
330
+
331
+ ### Memory-First
332
+
333
+ La secuencia efectiva de ejecución sigue este orden:
334
+
335
+ 1. Selección de memoria relevante.
336
+ 2. Razonamiento con contexto persistido.
337
+ 3. Uso de herramientas si hace falta.
338
+ 4. Registro de aprendizaje.
339
+
340
+ ```mermaid
341
+ flowchart LR
342
+ M[Memory selection] --> R[Reasoning]
343
+ R --> T[Tool call]
344
+ T --> F[Feedback]
345
+ F --> M
346
+ ```
347
+
348
+ ### AutoLearning
349
+
350
+ ```mermaid
351
+ flowchart TD
352
+ X[Resultado de ejecución] --> RF[record-learning-feedback.py]
353
+ X --> RM[record-iteration-metrics.py]
354
+ RF --> LR[learning-loop-report.py]
355
+ RM --> LR
356
+ LR --> G[autolearning-gate.py]
357
+ G --> P[ajuste de patrones/routing]
358
+ ```
359
+
360
+ Artefactos y docs relacionadas:
361
+
362
+ - `autolearning/feedback-loop.md`
363
+ - `memory/cross-memory-reasoning.md`
364
+ - `scripts/learning/learning-loop-report.py`
365
+ - `scripts/learning/autolearning-gate.py`
366
+
367
+ ## Documentación Recomendada
368
+
369
+ - `FINAL_USAGE_GUIDE.md`
370
+ - `ARCHITECTURE.md`
371
+ - `AGENTS.md`
372
+ - `autodocs/site/guides/01-onboarding.md`
373
+ - `optimization/ALWAYS_ON_OPTIMIZATION.md`
374
+ - `scripts/README.md`
375
+
376
+ ## Convenciones Operativas
377
+
378
+ - JSON-first para artefactos operativos y reportes.
379
+ - Cambios mínimos y seguros; evitar refactors fuera de scope.
380
+ - Outputs específicos por proyecto dentro de `projects/<nombre>/`.
381
+ - Diagnósticos MCP Efficiency Engine preferentemente en `projects/<nombre>/analysis_mcpee/`.
382
+
383
+ ## Licencia
384
+
385
+ MIT. Ver `LICENSE`.
package/README_WIKI.md ADDED
@@ -0,0 +1,130 @@
1
+ # AutoDocs Projection Engine
2
+
3
+ AutoDocs es una capacidad nativa de `mcp-efficiency-engine`. Toma
4
+ conocimiento estructurado de artefactos existentes en `repo-intake/generated/`,
5
+ lo normaliza a un modelo wiki canonico, valida calidad estructural y proyecta
6
+ una wiki interna en `autodocs/site/`.
7
+
8
+ ## Flujo operativo
9
+
10
+ 1. `scripts.wiki.wiki_compiler` carga variables de entorno de la sesion.
11
+ 2. Registra proveedores con `PluginManager` y ejecuta `gather_knowledge()`
12
+ de forma segura.
13
+ 3. `GraphConsolidator` transforma contratos tecnicos en `raw_nodes` y
14
+ `wiki_nodes`.
15
+ 4. `WikiValidator` valida schema, slugs, relaciones y navegacion.
16
+ 5. `IncrementalEngine` calcula nodos nuevos/modificados (dirty) y nodos
17
+ eliminados.
18
+ 6. Solo se renderizan paginas Markdown de nodos dirty; si un nodo desaparece,
19
+ su `.md` se elimina.
20
+ 7. Siempre se regeneran indices, manifests y reportes de validacion.
21
+ 8. Se escribe telemetria en:
22
+ - `observability/logs/iteration-metrics.jsonl`
23
+ - `observability/logs/routing-decisions.jsonl`
24
+
25
+ ## Ejecutar
26
+
27
+ ```powershell
28
+ py -3 -m scripts.wiki.wiki_compiler
29
+ ```
30
+
31
+ ## Actualizacion automatica
32
+
33
+ La actualizacion puede operar en dos modos:
34
+
35
+ 1. Manual local, ejecutando el comando de compilacion.
36
+ 2. Automatica en GitHub Actions con el workflow
37
+ `.github/workflows/autodocs-sync.yml`.
38
+
39
+ El workflow recompila AutoDocs en cambios relevantes y publica actualizaciones
40
+ de:
41
+
42
+ - `autodocs/generated/unified-graph.json`
43
+ - `autodocs/generated/validation-report.json`
44
+ - `autodocs/generated/search-index.json`
45
+ - `autodocs/generated/relations-index.json`
46
+ - `autodocs/site/`
47
+
48
+ Comportamiento por evento:
49
+
50
+ 1. `pull_request`: valida que los artefactos generados ya estan commiteados.
51
+ 2. `push` (main/develop): recompila y auto-commitea cambios si detecta drift.
52
+
53
+ Nota: la telemetria de `observability/logs/*.jsonl` se escribe en ejecucion,
54
+ pero el workflow no la commitea para evitar ruido.
55
+
56
+ ## Contrato de proveedor
57
+
58
+ Todo proveedor debe devolver:
59
+
60
+ ```json
61
+ {
62
+ "provider_id": "string",
63
+ "entities": [
64
+ {
65
+ "id": "string",
66
+ "type": "string",
67
+ "checksum": "string",
68
+ "raw_data": {},
69
+ "relations": [{ "target": "string", "type": "string" }]
70
+ }
71
+ ]
72
+ }
73
+ ```
74
+
75
+ ## Como agregar nuevos proveedores
76
+
77
+ 1. Crea un archivo en `scripts/wiki/providers/`, por ejemplo `my_provider.py`.
78
+ 2. Hereda de `BaseWikiProvider`.
79
+ 3. Define `provider_id` y `gather_knowledge()`.
80
+ 4. Reusa artefactos existentes de `repo-intake/generated/` (no reescanear
81
+ codigo fuente).
82
+ 5. Registra el proveedor en `scripts/wiki/compiler_main.py`.
83
+
84
+ Ejemplo minimo:
85
+
86
+ ```python
87
+ from pathlib import Path
88
+ from scripts.wiki.providers.base_provider import BaseWikiProvider
89
+
90
+
91
+ class MyProvider(BaseWikiProvider):
92
+ provider_id = "my-provider"
93
+
94
+ def __init__(self, generated_root: Path) -> None:
95
+ super().__init__(generated_root)
96
+
97
+ def gather_knowledge(self):
98
+ return {
99
+ "provider_id": self.provider_id,
100
+ "entities": [
101
+ {
102
+ "id": "example",
103
+ "type": "custom",
104
+ "checksum": self._checksum({"example": True}),
105
+ "raw_data": {"example": True},
106
+ "relations": []
107
+ }
108
+ ]
109
+ }
110
+ ```
111
+
112
+ ## Layout de salida
113
+
114
+ - `autodocs/generated/unified-graph.json`
115
+ - `autodocs/generated/validation-report.json`
116
+ - `autodocs/generated/validation-report.md`
117
+ - `autodocs/generated/search-index.json`
118
+ - `autodocs/generated/relations-index.json`
119
+ - `autodocs/generated/section-manifest.json`
120
+ - `autodocs/site/index.md`
121
+ - `autodocs/site/<section>/*.md`
122
+
123
+ ## Notas de diseno
124
+
125
+ - Markdown es solo proyeccion visual.
126
+ - El source of truth es el grafo JSON unificado de AutoDocs.
127
+ - El pipeline es incremental para reducir costo y tiempo.
128
+ - Errores de plugin no detienen la ejecucion global; se registran en
129
+ telemetria.
130
+ - Errores de validacion si bloquean el estado final y hacen fallar CI.
@@ -0,0 +1,22 @@
1
+ # AutoDocs
2
+
3
+ AutoDocs es la wiki interna nativa de `mcp-efficiency-engine`.
4
+
5
+ ## Estructura
6
+
7
+ - `autodocs/generated/`: grafo unificado, reportes de validacion y manifests
8
+ - `autodocs/schema/`: contratos de schema de la wiki
9
+ - `autodocs/site/`: proyeccion Markdown navegable para personas
10
+
11
+ ## Comando canonico
12
+
13
+ ```powershell
14
+ py -3 -m scripts.wiki.wiki_compiler
15
+ ```
16
+
17
+ ## Artefactos clave
18
+
19
+ - `autodocs/generated/unified-graph.json`
20
+ - `autodocs/generated/validation-report.json`
21
+ - `autodocs/generated/search-index.json`
22
+ - `autodocs/site/index.md`
@@ -0,0 +1,56 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://mcp-efficiency-engine.local/autodocs/wiki-node.schema.json",
4
+ "title": "AutoDocs Wiki Node",
5
+ "type": "object",
6
+ "required": [
7
+ "node_id",
8
+ "title",
9
+ "slug",
10
+ "kind",
11
+ "summary",
12
+ "source_refs",
13
+ "navigation"
14
+ ],
15
+ "properties": {
16
+ "node_id": { "type": "string" },
17
+ "title": { "type": "string", "minLength": 1 },
18
+ "slug": { "type": "string", "minLength": 1 },
19
+ "kind": {
20
+ "type": "string",
21
+ "enum": ["agent", "skill", "prompt", "policy", "project", "spec", "report", "capability"]
22
+ },
23
+ "summary": { "type": "string", "minLength": 1 },
24
+ "source_refs": {
25
+ "type": "array",
26
+ "items": { "type": "string" }
27
+ },
28
+ "relations": {
29
+ "type": "array",
30
+ "items": {
31
+ "type": "object",
32
+ "required": ["target", "type"],
33
+ "properties": {
34
+ "target": { "type": "string" },
35
+ "type": { "type": "string" }
36
+ }
37
+ }
38
+ },
39
+ "navigation": {
40
+ "type": "object",
41
+ "required": ["section"],
42
+ "properties": {
43
+ "section": {
44
+ "type": "string",
45
+ "enum": ["capabilities", "agents", "skills", "routing", "projects", "policies", "specs", "observability", "reports", "misc"]
46
+ },
47
+ "weight": { "type": "number" },
48
+ "parent": { "type": "string" },
49
+ "tags": {
50
+ "type": "array",
51
+ "items": { "type": "string" }
52
+ }
53
+ }
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,90 @@
1
+ # AutoLearning Loop
2
+
3
+ ## Objetivo
4
+
5
+ Cerrar el ciclo de mejora continua para que routing, memoria y optimizacion mejoren con evidencia real de ejecucion (no por intuicion).
6
+
7
+ Nombre operativo: AutoLearning (antes Learning Loop).
8
+
9
+ ## Ciclo operativo
10
+
11
+ 1. Input
12
+ 1. Routing decision
13
+ 1. Memory usage
14
+ 1. Result
15
+ 1. Metrics
16
+ 1. Improve next execution
17
+
18
+ ## Fuente de verdad actual
19
+
20
+ - Eventos por ejecucion: observability/logs/routing-decisions.jsonl
21
+ - Campos clave de learning por evento:
22
+ - learning.used_pattern
23
+ - learning.success
24
+ - learning.fallback
25
+ - learning.confidence
26
+ - Campos de calidad de routing:
27
+ - fallback
28
+ - grounded
29
+ - sources
30
+ - notes
31
+
32
+ ## Regla de evaluacion
33
+
34
+ 1. Si sube fallback_rate por patron, revisar capability mapping y defaults.
35
+ 1. Si baja grounded_rate, revisar fuentes/manifests y cobertura de repos aprobados.
36
+ 1. Si confidence media cae, revisar combinacion intent+domain y requirements por engine.
37
+ 1. Registrar cambios y revalidar con routing evals antes de merge.
38
+
39
+ ## Automatizacion
40
+
41
+ - Script: scripts/learning/learning-loop-report.py
42
+ - Script de confirmacion real: scripts/learning/record-learning-feedback.py
43
+ - scripts/intake/run-routing-evals.py confirma automaticamente (source=ci) los eventos de routing que pasan en eval
44
+ - Gate CI: scripts/learning/autolearning-gate.py
45
+ - Salidas:
46
+ - observability/evals/learning-loop-report.json
47
+ - observability/evals/learning-loop-report.md
48
+ - Ejecucion recomendada: al cierre (bye.ps1) y en CI si se endurece governance.
49
+
50
+ ## Confirmacion real (post-ejecucion)
51
+
52
+ El evento de routing nace con `learning.success = null` y `outcome_status = pending`.
53
+
54
+ Cuando existe resultado real (humano, CI o runtime), confirmar con:
55
+
56
+ ```powershell
57
+ py -3 .\scripts\learning\record-learning-feedback.py --success true --source ci --confidence 0.95 --notes "tests green"
58
+ ```
59
+
60
+ Opcionalmente se puede pasar `--event-id` para fijar un evento concreto.
61
+
62
+ ## Coste y valor por iteracion
63
+
64
+ Registrar tokens/coste/modelo/herramientas para una iteracion:
65
+
66
+ ```powershell
67
+ py -3 .\scripts\learning\record-iteration-metrics.py --model "GPT-5.3-Codex" --input-tokens 1200 --output-tokens 450 --local-tools 3 --remote-tools 0 --estimated-cost-usd 0.013
68
+ ```
69
+
70
+ Generar reporte de valor operativo:
71
+
72
+ ```powershell
73
+ py -3 .\scripts\learning\iteration-value-report.py
74
+ ```
75
+
76
+ Salidas:
77
+
78
+ - observability/evals/iteration-value-report.json
79
+ - observability/evals/iteration-value-report.md
80
+
81
+ Para contrastar planes, creditos incluidos o precio oficial de Copilot cuando sea necesario:
82
+
83
+ - https://github.com/features/copilot/plans?ref_cta=View+pricing+and+plans&ref_loc=hero&ref_page=%2Ffeatures_copilot_copilot_business&plans=business
84
+
85
+ ## Criterios minimos de salud
86
+
87
+ 1. fallback_rate <= 0.20 (global) salvo dominios de baja cobertura declarados.
88
+ 1. grounded_rate >= 0.80 global.
89
+ 1. confidence_avg >= 0.80 global.
90
+ 1. patrones con peor calidad deben quedar en backlog con accion correctiva.