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,13 @@
1
+ # caveman-debug.prompt.md
2
+
3
+ Objetivo: resolver debugging con salida corta y accionable.
4
+
5
+ Formato obligatorio:
6
+ - archivo:linea -> problema -> fix
7
+
8
+ Checklist:
9
+ 1. Sintoma reproducible.
10
+ 2. Causa raiz probable.
11
+ 3. Cambio minimo para corregir.
12
+ 4. Validacion posterior al fix.
13
+ 5. Riesgo residual.
@@ -0,0 +1,11 @@
1
+ # caveman-help.prompt.md
2
+
3
+ Mostrar comandos caveman del repo y cuando usar cada uno.
4
+
5
+ Incluir:
6
+ - nombre del comando
7
+ - objetivo
8
+ - ejemplo minimo
9
+
10
+ Regla:
11
+ - priorizar ejemplos cortos y ejecutables.
@@ -0,0 +1,15 @@
1
+ # caveman-review.prompt.md
2
+
3
+ Hacer code review en formato caveman.
4
+
5
+ Orden:
6
+ 1. Findings criticos
7
+ 2. Findings medios
8
+ 3. Riesgos de regresion
9
+
10
+ Formato por finding:
11
+ `archivo:linea -> problema -> fix`
12
+
13
+ Reglas:
14
+ - priorizar bugs reales sobre estilo
15
+ - declarar gaps de test
@@ -0,0 +1,11 @@
1
+ # caveman-stats.prompt.md
2
+
3
+ Objetivo: mostrar estado rapido de eficiencia.
4
+
5
+ Incluir:
6
+ - tokens analizados
7
+ - tokens ahorrados/suprimidos
8
+ - alerts/warnings
9
+ - estimacion de ahorro
10
+
11
+ Si no hay datos, declarar gap y siguiente accion para obtenerlos.
@@ -0,0 +1,11 @@
1
+ # caveman.prompt.md
2
+
3
+ Activar respuesta Caveman en este repo.
4
+
5
+ Si no se especifica nivel, usar `full`.
6
+ Niveles: `lite`, `full`, `ultra`.
7
+
8
+ Estilo base:
9
+ - directo
10
+ - sin relleno
11
+ - con validacion y riesgo/gap
@@ -0,0 +1,14 @@
1
+ # community.post.prompt.md
2
+
3
+ Objetivo: generar contenido de comunidad basado en conocimiento real del repo.
4
+
5
+ Flujo:
6
+ 1. Recuperar contexto en Graphify.
7
+ 2. Extraer 3-5 ideas verificables.
8
+ 3. Redactar pieza clara para audiencia objetivo.
9
+ 4. Cerrar con call-to-action.
10
+
11
+ Reglas:
12
+ - no inventar hechos
13
+ - tono claro y util
14
+ - version corta primero, extendida opcional
@@ -0,0 +1,15 @@
1
+ # dba.query-review.prompt.md
2
+
3
+ Objetivo: revisar consultas SQL y riesgos de rendimiento/seguridad.
4
+
5
+ Flujo:
6
+ 1. Identificar tablas, joins y filtros.
7
+ 2. Detectar riesgos: full scan, cardinalidad, locks, anti-patterns.
8
+ 3. Proponer version mejorada.
9
+ 4. Incluir estrategia de validacion.
10
+
11
+ Salida:
12
+ - query actual
13
+ - hallazgos
14
+ - query propuesta
15
+ - plan de prueba
@@ -0,0 +1,13 @@
1
+ # dev.fix-bug.prompt.md
2
+
3
+ Objetivo: corregir bug con cambio minimo y validacion real.
4
+
5
+ Flujo:
6
+ 1. Explorar simbolos/flujo con CodeGraph.
7
+ 2. Determinar causa raiz.
8
+ 3. Aplicar fix minimo.
9
+ 4. Ejecutar validacion (tests/lint/comando relevante).
10
+ 5. Reportar riesgo residual.
11
+
12
+ Formato de salida:
13
+ Diagnostico -> accion -> validacion -> riesgo/gap
@@ -0,0 +1,13 @@
1
+ # frontend.code.prompt.md
2
+
3
+ Objetivo: implementar o corregir codigo frontend con cambio minimo, preservando UX existente y validacion real.
4
+
5
+ Flujo:
6
+ 1. Explorar componentes, rutas y estado afectados con CodeGraph.
7
+ 2. Determinar causa raiz o alcance de la feature solicitada.
8
+ 3. Aplicar cambio minimo en UI/estado/eventos.
9
+ 4. Ejecutar validacion relevante (tests/lint/build/comando de frontend).
10
+ 5. Reportar riesgo residual y deuda UX pendiente fuera de scope.
11
+
12
+ Formato de salida:
13
+ Diagnostico -> accion -> validacion -> riesgo/gap
@@ -0,0 +1,14 @@
1
+ # legacy.impact-analysis.prompt.md
2
+
3
+ Objetivo: analizar impacto de cambios en codigo legacy/multi-repo.
4
+
5
+ Flujo:
6
+ 1. Identificar simbolo o area a cambiar.
7
+ 2. Mapear dependencias y flujos afectados con GitNexus.
8
+ 3. Clasificar riesgo (alto/medio/bajo).
9
+ 4. Proponer mitigaciones y pruebas.
10
+
11
+ Salida:
12
+ - blast radius
13
+ - riesgos
14
+ - plan seguro de cambio
@@ -0,0 +1,51 @@
1
+ # project.kickoff-analysis.prompt.md
2
+
3
+ Objetivo: analizar un proyecto {projects/} desde cero, seleccionar el agente y motor correctos segun la necesidad real, y dejar un arranque operativo con evidencias, gaps y siguientes pasos.
4
+
5
+ Entrada minima:
6
+ - objetivo del analisis
7
+ - path o nombre del proyecto/boost
8
+ - tipo de fuente esperado (code | technical-docs | corporate-docs | snapshot) si ya se conoce
9
+ - restriccion de salida o artefacto esperado
10
+
11
+ Flujo:
12
+ 1. Hacer onboarding profundo en la primera pasada y recuperar el maximo contexto verificable relevante del proyecto.
13
+ 2. Detectar dominio, intencion y necesidad dominante antes de elegir boost, agente y motor.
14
+ 3. Seleccionar un unico motor principal segun contrato del repo:
15
+ - backend/frontend -> CodeGraph
16
+ - legacy/multi-repo -> GitNexus
17
+ - dba/ux-ui/rag-local -> Graphify
18
+ - rag-azure -> Azure RAG Builder
19
+ - snapshot/export -> Repomix
20
+ 4. Aplicar Always-On completo:
21
+ - token-saver: always_on
22
+ - caveman: always_on
23
+ - memory: always_on
24
+ - learning: always_on
25
+ - HITL: auto si hay riesgo alto
26
+ 5. Analizar el proyecto usando los boosts acorde a las necesidades reales, no por afinidad previa ni por explorar de mas.
27
+ 6. Identificar:
28
+ - que funciona ya
29
+ - que falta para operar
30
+ - que boost/agente cubre cada gap
31
+ - riesgos, bloqueos y dependencias
32
+ 7. Si aplica a un proyecto bajo `projects/`, guardar los artefactos del analisis en `projects/<nombre-proyecto>/analysis_mcpee/`.
33
+
34
+ Salida esperada:
35
+ Diagnostico -> accion -> validacion -> riesgo/gap
36
+
37
+ Checklist de salida:
38
+ - agente recomendado
39
+ - motor recomendado
40
+ - boosts implicados y por que
41
+ - evidencias concretas usadas
42
+ - gaps sin grounding suficiente
43
+ - plan corto de siguientes pasos
44
+ - artefactos a generar o actualizar
45
+
46
+ Reglas:
47
+ - No usar varios motores sin necesidad.
48
+ - No hacer discovery abierto si ya hay una hipotesis operativa suficiente.
49
+ - Priorizar cambios minimos, rutas verificables y evidencia precisa.
50
+ - Si el proyecto define agentes, skills o prompts locales, tratarlos como contrato operativo.
51
+ - Si falta contexto critico, pedir solo el dato minimo imprescindible.
@@ -0,0 +1,13 @@
1
+ # rag.knowledge-answer.prompt.md
2
+
3
+ Objetivo: responder preguntas tecnicas con rag-local y Graphify.
4
+
5
+ Flujo:
6
+ 1. Recuperar solo nodos/chunks relevantes.
7
+ 2. Sintetizar respuesta enfocada a la pregunta.
8
+ 3. Mostrar evidencia o declarar gap.
9
+
10
+ Reglas:
11
+ - no inventar informacion
12
+ - no abrir contexto completo si no hace falta
13
+ - priorizar precision sobre longitud
@@ -0,0 +1,14 @@
1
+ # token-saver-review.prompt.md
2
+
3
+ Objetivo: auditar uso de contexto y reducir coste sin perder grounding.
4
+
5
+ Checklist:
6
+ 1. Detectar retrieval excesivo.
7
+ 2. Detectar salidas largas ignoradas.
8
+ 3. Proponer recortes por prioridad.
9
+ 4. Mantener fuentes criticas cuando la tarea lo exige.
10
+
11
+ Salida:
12
+ - desperdicio detectado
13
+ - accion de ahorro recomendada
14
+ - riesgo por recorte
@@ -0,0 +1,14 @@
1
+ # ux-ui.review.prompt.md
2
+
3
+ Objetivo: revisar y gobernar UX/UI con foco en consistencia, accesibilidad y design intent.
4
+
5
+ Flujo:
6
+ 1. Recuperar contexto de guias/patrones de UX/UI.
7
+ 2. Detectar hallazgos por severidad (critico, alto, medio, bajo).
8
+ 3. Proponer acciones concretas con impacto esperado.
9
+ 4. Cerrar con validacion y riesgos/gaps pendientes.
10
+
11
+ Reglas:
12
+ - no inventar criterios ni fuentes
13
+ - priorizar findings verificables
14
+ - evitar recomendaciones vagas
@@ -0,0 +1,71 @@
1
+ <!--
2
+ MCP Efficiency Engine — Pull Request Template
3
+ Llena todas las secciones antes de enviar el PR.
4
+ -->
5
+
6
+ ## Descripción
7
+
8
+ <!-- Explica qué cambios hace este PR y por qué. -->
9
+
10
+ ## Tipo de cambio
11
+
12
+ - [ ] 🐛 Bugfix (corrección sin breaking changes)
13
+ - [ ] ✨ Feature (nueva funcionalidad)
14
+ - [ ] 📚 Docs (documentación)
15
+ - [ ] ♻️ Refactor (mejora sin cambios funcionales)
16
+ - [ ] ⚙️ Chore (actualizaciones tooling/config)
17
+
18
+ ## Checklist de cambios
19
+
20
+ ### Código y specs
21
+
22
+ - [ ] Los cambios cumplen con `specs/*.spec.md` aplicables
23
+ - [ ] Todos los tests pasan: `py -3 .\scripts\intake\run-routing-evals.py`
24
+ - [ ] Se ejecutó `validate-context.ps1` sin errores
25
+ - [ ] Se ejecutó `compileall` en scripts sin errores
26
+ - [ ] Cambios sin breaking changes o están documentados
27
+
28
+ ### Seguridad y políticas
29
+
30
+ - [ ] Sin secretos, tokens ni credenciales reales
31
+ - [ ] Alineado con `policies/security-policy.md` si aplica
32
+ - [ ] Sin cambios en RBAC o permisos sin justificación
33
+
34
+ ### Documentación
35
+
36
+ - [ ] README o docs actualizados si hay cambios públicos
37
+ - [ ] Cambios en `specs/` incluyen sección `## Validación mínima`
38
+ - [ ] Scripts nuevos incluyen docstring y ayuda
39
+
40
+ ### Validaciones de specs
41
+
42
+ Si aplica a tu cambio, ejecuta:
43
+
44
+ ```bash
45
+ # Routing y arquitectura
46
+ py -3 .\scripts\intake\run-routing-evals.py
47
+
48
+ # Seguridad
49
+ py -3 .\scripts\intake\validate-security.py
50
+
51
+ # Database (si aplica)
52
+ py -3 .\scripts\intake\validate-database-routing.py
53
+
54
+ # RAG local (si aplica)
55
+ py -3 .\scripts\intake\validate-rag-routing.py
56
+
57
+ # Contexto general
58
+ pwsh -NoProfile -ExecutionPolicy Bypass -File .\scripts\setup\validate-context.ps1
59
+ ```
60
+
61
+ ## Enlaces y referencias
62
+
63
+ <!-- Links a issues, specs, arquitectura o decisiones relevantes. -->
64
+
65
+ ## Cambios destacados
66
+
67
+ <!-- Puntos clave que deben revisar: comportamiento, breaking changes, rendimiento, etc. -->
68
+
69
+ ---
70
+
71
+ **Nota:** Este PR se cierra automáticamente si no pasa los evals. Asegúrate de ejecutar todas las validaciones localmente antes de enviar.
@@ -0,0 +1,36 @@
1
+ # Skill: ahorro-tokens
2
+
3
+ ## Objetivo
4
+
5
+ Aplicar ahorro de tokens sin perder calidad, evidencia ni trazabilidad.
6
+
7
+ ## Cuándo usar
8
+
9
+ - Cuando una tarea se vuelve larga por discovery abierto.
10
+ - Cuando hay demasiadas lecturas de contexto irrelevante.
11
+ - Cuando hay que bajar coste sin bajar calidad de salida.
12
+ - Cuando se pide plan/ejecucion y se mezclan en una sola interaccion.
13
+
14
+ ## Reglas operativas
15
+
16
+ 1. Scope quirurgico: acotar archivos/simbolos antes de explorar.
17
+ 2. Sesiones cortas: 1 problema concreto = 1 sesion.
18
+ 3. CLI primero: usar herramientas deterministas antes de generar boilerplate.
19
+ 4. Separar fases: plan (alto valor) y ejecucion (cambio atomico).
20
+ 5. Salida compacta: diagnostico -> accion -> validacion -> riesgo/gap.
21
+
22
+ ## Mapeo en este repo
23
+
24
+ Fuente canonica:
25
+ - `autodocs/site/guides/00-Ahorro_Tokens.md`
26
+
27
+ Soporte always-on:
28
+ - `.github/skills/token-saver/SKILL.md`
29
+ - `.github/skills/caveman-mode/SKILL.md`
30
+ - `.github/instructions/always-on-optimization.instructions.md`
31
+
32
+ ## Validacion minima
33
+
34
+ 1. `pwsh -ExecutionPolicy Bypass -File .\scripts\setup\validate-context.ps1`
35
+ 2. `py -3 .\scripts\intake\run-routing-evals.py`
36
+ 3. Revisar `observability/evals/routing-eval-report.json` (cases_failed = 0)
@@ -0,0 +1,24 @@
1
+ # Azure RAG Enterprise Skill
2
+
3
+ ## Purpose
4
+
5
+ Answer corporate-document questions with grounding and mandatory evidence.
6
+
7
+ ## When To Use
8
+
9
+ - source_type is `corporate-docs`
10
+ - domain is `azure-rag`
11
+ - user asks for policy, SLA, contract, or official document truth
12
+
13
+ ## Workflow
14
+
15
+ 1. Retrieve only relevant chunks/sources.
16
+ 2. Prioritize official and latest sources.
17
+ 3. Produce concise answer with citations/evidence references.
18
+ 4. Declare gaps when evidence is missing.
19
+
20
+ ## Guardrails
21
+
22
+ - Never fabricate citations.
23
+ - Keep Token Saver and Caveman enabled.
24
+ - Prefer evidence-first profile.
@@ -0,0 +1,24 @@
1
+ # Backend Coding Skill
2
+
3
+ ## Purpose
4
+
5
+ Implement and validate code changes in single-repo backend tasks.
6
+
7
+ ## When To Use
8
+
9
+ - bug-fix
10
+ - refactor
11
+ - feature changes in backend code domain
12
+
13
+ ## Workflow
14
+
15
+ 1. Explore affected symbols/flow.
16
+ 2. Apply minimal safe edits.
17
+ 3. Run relevant validation (tests/lint/build).
18
+ 4. Report diagnostics, validation and residual risks.
19
+
20
+ ## Guardrails
21
+
22
+ - Preserve public API unless requested.
23
+ - Avoid unrelated formatting changes.
24
+ - Keep Token Saver and Caveman enabled.
@@ -0,0 +1,17 @@
1
+ # Cavecrew Skill — Local
2
+
3
+ ## Propósito
4
+
5
+ Delegar trabajo a subagentes con salida comprimida para ahorrar contexto.
6
+
7
+ ## Trigger
8
+
9
+ - "use cavecrew"
10
+ - "delegate to subagent"
11
+ - "spawn investigator/builder/reviewer"
12
+
13
+ ## Ruteo
14
+
15
+ - investigator: localizar código/contexto
16
+ - builder: cambios pequeños (1-2 archivos)
17
+ - reviewer: revisión de diff
@@ -0,0 +1,25 @@
1
+ # Caveman Skill — Local
2
+
3
+ ## Estado
4
+
5
+ Disponible como capacidad local del repositorio.
6
+
7
+ ## Trigger
8
+
9
+ - `/caveman`
10
+ - "caveman mode"
11
+ - "usa caveman"
12
+ - "menos tokens"
13
+
14
+ ## Comportamiento
15
+
16
+ - Aplica formato conciso tipo `Diagnóstico -> Acción -> Validación -> Riesgo/GAP`.
17
+ - Mantiene precisión técnica.
18
+ - Mantiene términos de código y errores exactos.
19
+
20
+ ## Niveles
21
+
22
+ - `lite`
23
+ - `full` (default)
24
+ - `ultra`
25
+ - `evidence-first` cuando se requiere grounding.
@@ -0,0 +1,15 @@
1
+ # Caveman Commit Skill — Local
2
+
3
+ ## Propósito
4
+
5
+ Generar mensajes de commit concisos en formato Conventional Commits.
6
+
7
+ ## Trigger
8
+
9
+ - `/caveman-commit`
10
+ - "mensaje commit caveman"
11
+
12
+ ## Reglas
13
+
14
+ - Subject <= 50 chars.
15
+ - Incluir body solo si el porqué no es obvio.
@@ -0,0 +1,14 @@
1
+ # Caveman Compress Skill — Local
2
+
3
+ ## Propósito
4
+
5
+ Comprimir archivos de memoria/documentación manteniendo sustancia técnica.
6
+
7
+ ## Trigger
8
+
9
+ - `/caveman-compress <file>`
10
+ - "compress memory file"
11
+
12
+ ## Regla
13
+
14
+ Crear backup `<file>.original.md` antes de sobrescribir.
@@ -0,0 +1,19 @@
1
+ # Caveman Help Skill — Local
2
+
3
+ ## Propósito
4
+
5
+ Mostrar comandos caveman disponibles y su uso en este repositorio.
6
+
7
+ ## Trigger
8
+
9
+ - `/caveman-help`
10
+ - "caveman help"
11
+
12
+ ## Salida esperada
13
+
14
+ - Lista corta de comandos:
15
+ - `/caveman [lite|full|ultra]`
16
+ - `/caveman-review`
17
+ - `/caveman-commit`
18
+ - `/caveman-stats`
19
+ - `/caveman-compress <file>`
@@ -0,0 +1,43 @@
1
+ # Caveman Mode Skill — Always On
2
+
3
+ ## Estado
4
+
5
+ Siempre activo por defecto.
6
+
7
+ ## Propósito
8
+
9
+ Reducir verbosidad y acelerar interacción.
10
+
11
+ ## Formato base
12
+
13
+ ```txt
14
+ Diagnóstico:
15
+ Acción:
16
+ Validación:
17
+ Riesgo/GAP:
18
+ ```
19
+
20
+ ## Niveles
21
+
22
+ ### Lite
23
+
24
+ - Frases breves.
25
+ - Bullets claros.
26
+ - Útil para arquitectura, RAG y formación ligera.
27
+
28
+ ### Full
29
+
30
+ - Máxima concisión.
31
+ - Útil para debugging, CLI y coding loops.
32
+
33
+ ### Evidence-first
34
+
35
+ - Conciso, pero conserva fuentes/citas.
36
+ - Útil para Azure RAG Builder.
37
+
38
+ ## Reglas
39
+
40
+ - No eliminar fuentes necesarias.
41
+ - No eliminar pasos críticos.
42
+ - Si el usuario pide detalle, ampliar sin perder estructura.
43
+ - Si el usuario pide formación, usar Lite/Didactic, no Full.
@@ -0,0 +1,16 @@
1
+ # Caveman Review Skill — Local
2
+
3
+ ## Propósito
4
+
5
+ Revisión de código ultracompacta y accionable.
6
+
7
+ ## Trigger
8
+
9
+ - `/caveman-review`
10
+ - "review en caveman"
11
+
12
+ ## Formato
13
+
14
+ Una línea por finding:
15
+
16
+ `archivo:linea -> problema -> fix`
@@ -0,0 +1,13 @@
1
+ # Caveman Stats Skill — Local
2
+
3
+ ## Propósito
4
+
5
+ Mostrar consumo de tokens y ahorro estimado para la sesión.
6
+
7
+ ## Trigger
8
+
9
+ - `/caveman-stats`
10
+
11
+ ## Nota
12
+
13
+ Cuando no hay telemetría disponible, reportar gap explícito.
@@ -0,0 +1,22 @@
1
+ # Community Content Skill
2
+
3
+ ## Purpose
4
+
5
+ Create educational/community-facing content grounded in repo knowledge.
6
+
7
+ ## When To Use
8
+
9
+ - blog/social post drafts
10
+ - learning summaries
11
+ - release highlights with technical grounding
12
+
13
+ ## Workflow
14
+
15
+ 1. Extract 3-5 validated insights.
16
+ 2. Tailor narrative to audience level.
17
+ 3. Produce concise draft and optional extended version.
18
+
19
+ ## Guardrails
20
+
21
+ - Avoid unverifiable claims.
22
+ - Prefer clarity and practical takeaways.
@@ -0,0 +1,23 @@
1
+ # Database Analysis Skill
2
+
3
+ ## Purpose
4
+
5
+ Review SQL/schema/procedure questions with performance and safety focus.
6
+
7
+ ## When To Use
8
+
9
+ - SQL query reviews
10
+ - schema impact analysis
11
+ - procedure tuning and risk checks
12
+
13
+ ## Workflow
14
+
15
+ 1. Identify joins, filters and cardinality risks.
16
+ 2. Flag anti-patterns and indexing gaps.
17
+ 3. Propose improved query/schema actions.
18
+ 4. Provide validation plan and rollback note.
19
+
20
+ ## Guardrails
21
+
22
+ - Prioritize correctness over micro-optimization.
23
+ - Explicitly call out assumptions and missing stats.
@@ -0,0 +1,24 @@
1
+ # Dev Coding Skill
2
+
3
+ ## Purpose
4
+
5
+ Implement and validate code changes in single-repo development tasks.
6
+
7
+ ## When To Use
8
+
9
+ - bug-fix
10
+ - refactor
11
+ - feature changes in code domain
12
+
13
+ ## Workflow
14
+
15
+ 1. Explore affected symbols/flow.
16
+ 2. Apply minimal safe edits.
17
+ 3. Run relevant validation (tests/lint/build).
18
+ 4. Report diagnostics, validation and residual risks.
19
+
20
+ ## Guardrails
21
+
22
+ - Preserve public API unless requested.
23
+ - Avoid unrelated formatting changes.
24
+ - Keep Token Saver and Caveman enabled.
@@ -0,0 +1,24 @@
1
+ # Frontend Coding Skill
2
+
3
+ ## Purpose
4
+
5
+ Implement and validate code changes in single-repo frontend tasks.
6
+
7
+ ## When To Use
8
+
9
+ - bug-fix in frontend code
10
+ - UI feature implementation
11
+ - refactor in components, routes, or client-side state
12
+
13
+ ## Workflow
14
+
15
+ 1. Explore affected components/routes/state.
16
+ 2. Apply minimal safe edits.
17
+ 3. Run relevant validation (tests/lint/build).
18
+ 4. Report diagnostics, validation and residual risks.
19
+
20
+ ## Guardrails
21
+
22
+ - Preserve existing UX contract unless user asks for redesign.
23
+ - Avoid unrelated formatting changes.
24
+ - Keep Token Saver and Caveman enabled.