strray-ai 1.13.4 → 1.14.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 (365) hide show
  1. package/.opencode/AGENTS-consumer.md +13 -11
  2. package/.opencode/codex.codex +1 -1
  3. package/.opencode/enforcer-config.json +2 -2
  4. package/.opencode/package.json +1 -1
  5. package/.opencode/plugins/strray-codex-injection.js +187 -66
  6. package/.opencode/skills/inference-improve/SKILL.md +90 -0
  7. package/.opencode/strray/agents_template.md +14 -10
  8. package/.opencode/strray/codex.json +1 -1
  9. package/.opencode/strray/config.json +1 -1
  10. package/.opencode/strray/features.json +14 -1
  11. package/.opencode/strray/inference/workflow-1774264530024.json +119 -0
  12. package/.opencode/strray/inference/workflow-1774264540177.json +119 -0
  13. package/.opencode/strray/inference/workflow-1774264541187.json +119 -0
  14. package/.opencode/strray/inference/workflow-1774264544776.json +119 -0
  15. package/.opencode/strray/inference/workflow-1774264546321.json +119 -0
  16. package/.opencode/strray/inference/workflow-1774264548274.json +119 -0
  17. package/.opencode/strray/inference/workflow-1774264548504.json +119 -0
  18. package/.opencode/strray/inference/workflow-1774264564505.json +119 -0
  19. package/.opencode/strray/inference/workflow-1774264565482.json +119 -0
  20. package/.opencode/strray/inference/workflow-1774264570622.json +119 -0
  21. package/.opencode/strray/inference/workflow-1774264571826.json +119 -0
  22. package/.opencode/strray/inference/workflow-1774264579504.json +119 -0
  23. package/.opencode/strray/inference/workflow-1774264590028.json +119 -0
  24. package/.opencode/strray/inference/workflow-1774264594094.json +119 -0
  25. package/.opencode/strray/inference/workflow-1774264594907.json +119 -0
  26. package/.opencode/strray/inference/workflow-1774264595371.json +119 -0
  27. package/.opencode/strray/inference/workflow-1774264595719.json +119 -0
  28. package/.opencode/strray/inference/workflow-1774264596037.json +119 -0
  29. package/.opencode/strray/inference/workflow-1774264596142.json +119 -0
  30. package/.opencode/strray/inference/workflow-1774264596280.json +119 -0
  31. package/.opencode/strray/inference/workflow-1774264599389.json +119 -0
  32. package/.opencode/strray/inference/workflow-1774264600775.json +119 -0
  33. package/.opencode/strray/inference/workflow-1774264632159.json +119 -0
  34. package/.opencode/strray/inference/workflow-1774264635046.json +119 -0
  35. package/.opencode/strray/inference/workflow-1774264635296.json +119 -0
  36. package/.opencode/strray/inference/workflow-1774264636125.json +119 -0
  37. package/.opencode/strray/inference/workflow-1774264658874.json +119 -0
  38. package/.opencode/strray/inference/workflow-1774264662587.json +119 -0
  39. package/.opencode/strray/inference/workflow-1774264663551.json +119 -0
  40. package/.opencode/strray/inference/workflow-1774264663749.json +119 -0
  41. package/.opencode/strray/inference/workflow-1774264664437.json +119 -0
  42. package/.opencode/strray/inference/workflow-1774264664860.json +119 -0
  43. package/.opencode/strray/inference/workflow-1774264665046.json +119 -0
  44. package/.opencode/strray/inference/workflow-1774264665693.json +119 -0
  45. package/.opencode/strray/inference/workflow-1774264668437.json +119 -0
  46. package/.opencode/strray/inference/workflow-1774264689018.json +119 -0
  47. package/.opencode/strray/inference/workflow-1774264690852.json +119 -0
  48. package/.opencode/strray/inference/workflow-1774264694841.json +119 -0
  49. package/.opencode/strray/inference/workflow-1774264697971.json +119 -0
  50. package/.opencode/strray/inference/workflow-1774264717793.json +119 -0
  51. package/.opencode/strray/inference/workflow-1774264720852.json +119 -0
  52. package/.opencode/strray/inference/workflow-1774264721534.json +119 -0
  53. package/.opencode/strray/inference/workflow-1774264722443.json +119 -0
  54. package/.opencode/strray/inference/workflow-1774264725283.json +119 -0
  55. package/.opencode/strray/inference/workflow-1774264725484.json +119 -0
  56. package/.opencode/strray/inference/workflow-1774264727777.json +119 -0
  57. package/.opencode/strray/inference/workflow-1774264729159.json +119 -0
  58. package/.opencode/strray/inference/workflow-1774264741797.json +119 -0
  59. package/.opencode/strray/inference/workflow-1774264742153.json +119 -0
  60. package/.opencode/strray/inference/workflow-1774264766224.json +119 -0
  61. package/.opencode/strray/inference/workflow-1774264766957.json +119 -0
  62. package/.opencode/strray/inference/workflow-1774264768051.json +119 -0
  63. package/.opencode/strray/inference/workflow-1774264771724.json +119 -0
  64. package/.opencode/strray/inference/workflow-1774264772000.json +119 -0
  65. package/.opencode/strray/inference/workflow-1774264772822.json +119 -0
  66. package/.opencode/strray/inference/workflow-1774264774260.json +119 -0
  67. package/.opencode/strray/inference/workflow-1774264780003.json +119 -0
  68. package/.opencode/strray/inference/workflow-1774264780641.json +119 -0
  69. package/.opencode/strray/inference/workflow-1774264801712.json +119 -0
  70. package/.opencode/strray/inference/workflow-1774264801836.json +119 -0
  71. package/.opencode/strray/inference/workflow-1774264816377.json +119 -0
  72. package/.opencode/strray/inference/workflow-1774264817493.json +119 -0
  73. package/.opencode/strray/inference/workflow-1774264817590.json +119 -0
  74. package/.opencode/strray/inference/workflow-1774264817790.json +119 -0
  75. package/.opencode/strray/inference/workflow-1774264820927.json +119 -0
  76. package/.opencode/strray/inference/workflow-1774264821936.json +119 -0
  77. package/.opencode/strray/inference/workflow-1774264829694.json +119 -0
  78. package/.opencode/strray/inference/workflow-1774264837518.json +119 -0
  79. package/.opencode/strray/inference/workflow-1774264844318.json +119 -0
  80. package/.opencode/strray/inference/workflow-1774264845898.json +119 -0
  81. package/.opencode/strray/inference/workflow-1774264867825.json +119 -0
  82. package/.opencode/strray/inference/workflow-1774264868528.json +119 -0
  83. package/.opencode/strray/inference/workflow-1774264868945.json +119 -0
  84. package/.opencode/strray/inference/workflow-1774264869646.json +119 -0
  85. package/.opencode/strray/inference/workflow-1774264869665.json +119 -0
  86. package/.opencode/strray/inference/workflow-1774264871711.json +119 -0
  87. package/.opencode/strray/inference/workflow-1774264873427.json +119 -0
  88. package/.opencode/strray/inference/workflow-1774264877848.json +119 -0
  89. package/.opencode/strray/inference/workflow-1774264890964.json +119 -0
  90. package/.opencode/strray/inference/workflow-1774264977202.json +119 -0
  91. package/.opencode/strray/inference/workflow-1774264981382.json +119 -0
  92. package/.opencode/strray/inference/workflow-1774264985329.json +119 -0
  93. package/.opencode/strray/inference/workflow-1774264989804.json +119 -0
  94. package/.opencode/strray/inference/workflow-1774264999277.json +119 -0
  95. package/.opencode/strray/inference/workflow-1774264999981.json +119 -0
  96. package/.opencode/strray/inference/workflow-1774265000242.json +119 -0
  97. package/.opencode/strray/inference/workflow-1774265005715.json +119 -0
  98. package/.opencode/strray/inference/workflow-1774265005906.json +119 -0
  99. package/.opencode/strray/inference/workflow-1774265007828.json +119 -0
  100. package/.opencode/strray/inference/workflow-1774265010186.json +119 -0
  101. package/.opencode/strray/inference/workflow-1774265021904.json +119 -0
  102. package/.opencode/strray/inference/workflow-1774265021982.json +119 -0
  103. package/.opencode/strray/inference/workflow-1774265023790.json +119 -0
  104. package/.opencode/strray/inference/workflow-1774265024727.json +119 -0
  105. package/.opencode/strray/inference/workflow-1774265027327.json +119 -0
  106. package/.opencode/strray/inference/workflow-1774265038082.json +119 -0
  107. package/.opencode/strray/inference/workflow-1774265039370.json +119 -0
  108. package/.opencode/strray/inference/workflow-1774265039594.json +119 -0
  109. package/.opencode/strray/inference/workflow-1774265054975.json +119 -0
  110. package/.opencode/strray/inference/workflow-1774265057663.json +119 -0
  111. package/.opencode/strray/inference/workflow-1774265058690.json +119 -0
  112. package/.opencode/strray/inference/workflow-1774265064045.json +119 -0
  113. package/.opencode/strray/inference/workflow-1774265065281.json +119 -0
  114. package/.opencode/strray/inference/workflow-1774265068116.json +119 -0
  115. package/.opencode/strray/inference/workflow-1774265155842.json +119 -0
  116. package/.opencode/strray/inference/workflow-1774265159971.json +119 -0
  117. package/.opencode/strray/inference/workflow-1774265164028.json +119 -0
  118. package/.opencode/strray/inference/workflow-1774265166851.json +119 -0
  119. package/.opencode/strray/inference/workflow-1774265177550.json +119 -0
  120. package/.opencode/strray/inference/workflow-1774265178351.json +119 -0
  121. package/.opencode/strray/inference/workflow-1774265178493.json +119 -0
  122. package/.opencode/strray/inference/workflow-1774265180516.json +119 -0
  123. package/.opencode/strray/inference/workflow-1774265188724.json +119 -0
  124. package/.opencode/strray/inference/workflow-1774265189784.json +119 -0
  125. package/.opencode/strray/inference/workflow-1774265191522.json +119 -0
  126. package/.opencode/strray/inference/workflow-1774265192088.json +119 -0
  127. package/.opencode/strray/inference/workflow-1774265199380.json +119 -0
  128. package/.opencode/strray/inference/workflow-1774265201097.json +119 -0
  129. package/.opencode/strray/inference/workflow-1774265202113.json +119 -0
  130. package/.opencode/strray/inference/workflow-1774265203745.json +119 -0
  131. package/.opencode/strray/inference/workflow-1774265204604.json +119 -0
  132. package/.opencode/strray/inference/workflow-1774265218347.json +119 -0
  133. package/.opencode/strray/inference/workflow-1774265219679.json +119 -0
  134. package/.opencode/strray/inference/workflow-1774265220975.json +119 -0
  135. package/.opencode/strray/inference/workflow-1774265221268.json +119 -0
  136. package/.opencode/strray/inference/workflow-1774265391328.json +119 -0
  137. package/.opencode/strray/inference/workflow-1774265392371.json +119 -0
  138. package/.opencode/strray/integrations.json +3 -3
  139. package/.opencode/strray/routing-mappings.json +496 -57
  140. package/AGENTS.md +488 -277
  141. package/README.md +6 -3
  142. package/dist/analytics/index.d.ts +23 -0
  143. package/dist/analytics/index.d.ts.map +1 -0
  144. package/dist/analytics/index.js +18 -0
  145. package/dist/analytics/index.js.map +1 -0
  146. package/dist/analytics/pattern-performance-tracker.d.ts +9 -0
  147. package/dist/analytics/pattern-performance-tracker.d.ts.map +1 -1
  148. package/dist/analytics/pattern-performance-tracker.js +46 -0
  149. package/dist/analytics/pattern-performance-tracker.js.map +1 -1
  150. package/dist/analytics/routing-performance-analyzer.d.ts.map +1 -1
  151. package/dist/analytics/routing-performance-analyzer.js +20 -7
  152. package/dist/analytics/routing-performance-analyzer.js.map +1 -1
  153. package/dist/analytics/routing-refiner.js +1 -1
  154. package/dist/analytics/simple-pattern-analyzer.d.ts +1 -0
  155. package/dist/analytics/simple-pattern-analyzer.d.ts.map +1 -1
  156. package/dist/analytics/simple-pattern-analyzer.js +66 -15
  157. package/dist/analytics/simple-pattern-analyzer.js.map +1 -1
  158. package/dist/cli/index.js +156 -17
  159. package/dist/cli/index.js.map +1 -1
  160. package/dist/config/default-agents.d.ts +22 -0
  161. package/dist/config/default-agents.d.ts.map +1 -0
  162. package/dist/config/default-agents.js +294 -0
  163. package/dist/config/default-agents.js.map +1 -0
  164. package/dist/core/boot-orchestrator.d.ts +9 -2
  165. package/dist/core/boot-orchestrator.d.ts.map +1 -1
  166. package/dist/core/boot-orchestrator.js +76 -156
  167. package/dist/core/boot-orchestrator.js.map +1 -1
  168. package/dist/core/boot-phases.d.ts +19 -0
  169. package/dist/core/boot-phases.d.ts.map +1 -0
  170. package/dist/core/boot-phases.js +60 -0
  171. package/dist/core/boot-phases.js.map +1 -0
  172. package/dist/core/features-config.js +1 -1
  173. package/dist/core/memory-monitor-setup.d.ts +26 -0
  174. package/dist/core/memory-monitor-setup.d.ts.map +1 -0
  175. package/dist/core/memory-monitor-setup.js +79 -0
  176. package/dist/core/memory-monitor-setup.js.map +1 -0
  177. package/dist/core/system-prompt-generator.d.ts.map +1 -1
  178. package/dist/core/system-prompt-generator.js +28 -0
  179. package/dist/core/system-prompt-generator.js.map +1 -1
  180. package/dist/delegation/agent-delegator.d.ts.map +1 -1
  181. package/dist/delegation/agent-delegator.js +2 -279
  182. package/dist/delegation/agent-delegator.js.map +1 -1
  183. package/dist/delegation/analytics/learning-engine.d.ts +9 -25
  184. package/dist/delegation/analytics/learning-engine.d.ts.map +1 -1
  185. package/dist/delegation/analytics/learning-engine.js +182 -69
  186. package/dist/delegation/analytics/learning-engine.js.map +1 -1
  187. package/dist/delegation/analytics/outcome-tracker.d.ts +8 -1
  188. package/dist/delegation/analytics/outcome-tracker.d.ts.map +1 -1
  189. package/dist/delegation/analytics/outcome-tracker.js +27 -6
  190. package/dist/delegation/analytics/outcome-tracker.js.map +1 -1
  191. package/dist/delegation/ast-code-parser.d.ts +8 -0
  192. package/dist/delegation/ast-code-parser.d.ts.map +1 -1
  193. package/dist/delegation/ast-code-parser.js +180 -12
  194. package/dist/delegation/ast-code-parser.js.map +1 -1
  195. package/dist/delegation/complexity-analyzer.d.ts +29 -2
  196. package/dist/delegation/complexity-analyzer.d.ts.map +1 -1
  197. package/dist/delegation/complexity-analyzer.js +79 -5
  198. package/dist/delegation/complexity-analyzer.js.map +1 -1
  199. package/dist/delegation/complexity-calibrator.d.ts +2 -1
  200. package/dist/delegation/complexity-calibrator.d.ts.map +1 -1
  201. package/dist/delegation/complexity-calibrator.js +77 -25
  202. package/dist/delegation/complexity-calibrator.js.map +1 -1
  203. package/dist/delegation/config/types.d.ts +4 -0
  204. package/dist/delegation/config/types.d.ts.map +1 -1
  205. package/dist/delegation/routing/router-core.d.ts +21 -1
  206. package/dist/delegation/routing/router-core.d.ts.map +1 -1
  207. package/dist/delegation/routing/router-core.js +142 -2
  208. package/dist/delegation/routing/router-core.js.map +1 -1
  209. package/dist/delegation/task-skill-router.d.ts +1 -0
  210. package/dist/delegation/task-skill-router.d.ts.map +1 -1
  211. package/dist/delegation/task-skill-router.js +7 -12
  212. package/dist/delegation/task-skill-router.js.map +1 -1
  213. package/dist/mcps/architect-tools.server.d.ts.map +1 -1
  214. package/dist/mcps/architect-tools.server.js +16 -15
  215. package/dist/mcps/architect-tools.server.js.map +1 -1
  216. package/dist/mcps/auto-format.server.d.ts.map +1 -1
  217. package/dist/mcps/auto-format.server.js +8 -7
  218. package/dist/mcps/auto-format.server.js.map +1 -1
  219. package/dist/mcps/boot-orchestrator.server.js +2 -2
  220. package/dist/mcps/boot-orchestrator.server.js.map +1 -1
  221. package/dist/mcps/enforcer-tools.server.d.ts.map +1 -1
  222. package/dist/mcps/enforcer-tools.server.js +10 -9
  223. package/dist/mcps/enforcer-tools.server.js.map +1 -1
  224. package/dist/mcps/estimation.server.js +2 -2
  225. package/dist/mcps/estimation.server.js.map +1 -1
  226. package/dist/mcps/framework-compliance-audit.server.js +3 -3
  227. package/dist/mcps/framework-compliance-audit.server.js.map +1 -1
  228. package/dist/mcps/framework-help.server.d.ts.map +1 -1
  229. package/dist/mcps/framework-help.server.js +4 -3
  230. package/dist/mcps/framework-help.server.js.map +1 -1
  231. package/dist/mcps/knowledge-skills/api-design.server.d.ts.map +1 -1
  232. package/dist/mcps/knowledge-skills/api-design.server.js +6 -51
  233. package/dist/mcps/knowledge-skills/api-design.server.js.map +1 -1
  234. package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts.map +1 -1
  235. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +6 -51
  236. package/dist/mcps/knowledge-skills/architecture-patterns.server.js.map +1 -1
  237. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +1 -1
  238. package/dist/mcps/knowledge-skills/code-analyzer.server.d.ts.map +1 -1
  239. package/dist/mcps/knowledge-skills/code-analyzer.server.js +7 -26
  240. package/dist/mcps/knowledge-skills/code-analyzer.server.js.map +1 -1
  241. package/dist/mcps/knowledge-skills/code-review.server.d.ts.map +1 -1
  242. package/dist/mcps/knowledge-skills/code-review.server.js +6 -51
  243. package/dist/mcps/knowledge-skills/code-review.server.js.map +1 -1
  244. package/dist/mcps/knowledge-skills/content-creator.server.js +1 -1
  245. package/dist/mcps/knowledge-skills/database-design.server.d.ts.map +1 -1
  246. package/dist/mcps/knowledge-skills/database-design.server.js +6 -54
  247. package/dist/mcps/knowledge-skills/database-design.server.js.map +1 -1
  248. package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts.map +1 -1
  249. package/dist/mcps/knowledge-skills/devops-deployment.server.js +6 -54
  250. package/dist/mcps/knowledge-skills/devops-deployment.server.js.map +1 -1
  251. package/dist/mcps/knowledge-skills/git-workflow.server.d.ts.map +1 -1
  252. package/dist/mcps/knowledge-skills/git-workflow.server.js +6 -51
  253. package/dist/mcps/knowledge-skills/git-workflow.server.js.map +1 -1
  254. package/dist/mcps/knowledge-skills/growth-strategist.server.js +1 -1
  255. package/dist/mcps/knowledge-skills/log-monitor.server.js +1 -1
  256. package/dist/mcps/knowledge-skills/mobile-development.server.js +1 -1
  257. package/dist/mcps/knowledge-skills/multimodal-looker.server.js +1 -1
  258. package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts.map +1 -1
  259. package/dist/mcps/knowledge-skills/performance-optimization.server.js +6 -51
  260. package/dist/mcps/knowledge-skills/performance-optimization.server.js.map +1 -1
  261. package/dist/mcps/knowledge-skills/project-analysis.server.d.ts.map +1 -1
  262. package/dist/mcps/knowledge-skills/project-analysis.server.js +12 -12
  263. package/dist/mcps/knowledge-skills/project-analysis.server.js.map +1 -1
  264. package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts.map +1 -1
  265. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +6 -54
  266. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js.map +1 -1
  267. package/dist/mcps/knowledge-skills/security-audit.server.d.ts.map +1 -1
  268. package/dist/mcps/knowledge-skills/security-audit.server.js +6 -51
  269. package/dist/mcps/knowledge-skills/security-audit.server.js.map +1 -1
  270. package/dist/mcps/knowledge-skills/seo-consultant.server.js +1 -1
  271. package/dist/mcps/knowledge-skills/session-management.server.js +9 -9
  272. package/dist/mcps/knowledge-skills/session-management.server.js.map +1 -1
  273. package/dist/mcps/knowledge-skills/skill-invocation.server.js +1 -1
  274. package/dist/mcps/knowledge-skills/strategist.server.js +2 -2
  275. package/dist/mcps/knowledge-skills/strategist.server.js.map +1 -1
  276. package/dist/mcps/knowledge-skills/tech-writer.server.d.ts.map +1 -1
  277. package/dist/mcps/knowledge-skills/tech-writer.server.js +7 -52
  278. package/dist/mcps/knowledge-skills/tech-writer.server.js.map +1 -1
  279. package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts.map +1 -1
  280. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +6 -54
  281. package/dist/mcps/knowledge-skills/testing-best-practices.server.js.map +1 -1
  282. package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts.map +1 -1
  283. package/dist/mcps/knowledge-skills/testing-strategy.server.js +7 -54
  284. package/dist/mcps/knowledge-skills/testing-strategy.server.js.map +1 -1
  285. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +6 -6
  286. package/dist/mcps/knowledge-skills/ui-ux-design.server.js.map +1 -1
  287. package/dist/mcps/lint.server.js +3 -3
  288. package/dist/mcps/lint.server.js.map +1 -1
  289. package/dist/mcps/model-health-check.server.d.ts.map +1 -1
  290. package/dist/mcps/model-health-check.server.js +5 -4
  291. package/dist/mcps/model-health-check.server.js.map +1 -1
  292. package/dist/mcps/orchestrator.server.d.ts.map +1 -1
  293. package/dist/mcps/orchestrator.server.js +2 -1
  294. package/dist/mcps/orchestrator.server.js.map +1 -1
  295. package/dist/mcps/performance-analysis.server.js +3 -3
  296. package/dist/mcps/performance-analysis.server.js.map +1 -1
  297. package/dist/mcps/processor-pipeline.server.d.ts.map +1 -1
  298. package/dist/mcps/processor-pipeline.server.js +3 -2
  299. package/dist/mcps/processor-pipeline.server.js.map +1 -1
  300. package/dist/mcps/researcher.server.d.ts.map +1 -1
  301. package/dist/mcps/researcher.server.js +7 -6
  302. package/dist/mcps/researcher.server.js.map +1 -1
  303. package/dist/mcps/security-scan.server.d.ts.map +1 -1
  304. package/dist/mcps/security-scan.server.js +6 -5
  305. package/dist/mcps/security-scan.server.js.map +1 -1
  306. package/dist/mcps/state-manager.server.js +2 -2
  307. package/dist/mcps/state-manager.server.js.map +1 -1
  308. package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +32 -2
  309. package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts.map +1 -1
  310. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +9 -10
  311. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js.map +1 -1
  312. package/dist/orchestrator/orchestrator.d.ts +23 -1
  313. package/dist/orchestrator/orchestrator.d.ts.map +1 -1
  314. package/dist/orchestrator/orchestrator.js +2 -1
  315. package/dist/orchestrator/orchestrator.js.map +1 -1
  316. package/dist/orchestrator/universal-registry-bridge.js +1 -1
  317. package/dist/plugin/strray-codex-injection.d.ts +21 -6
  318. package/dist/plugin/strray-codex-injection.d.ts.map +1 -1
  319. package/dist/plugin/strray-codex-injection.js +187 -66
  320. package/dist/plugin/strray-codex-injection.js.map +1 -1
  321. package/dist/postprocessor/PostProcessor.js +1 -1
  322. package/dist/postprocessor/escalation/EscalationEngine.d.ts +82 -0
  323. package/dist/postprocessor/escalation/EscalationEngine.d.ts.map +1 -1
  324. package/dist/postprocessor/escalation/EscalationEngine.js +253 -2
  325. package/dist/postprocessor/escalation/EscalationEngine.js.map +1 -1
  326. package/dist/processors/implementations/index.d.ts +2 -0
  327. package/dist/processors/implementations/index.d.ts.map +1 -1
  328. package/dist/processors/implementations/index.js +2 -0
  329. package/dist/processors/implementations/index.js.map +1 -1
  330. package/dist/processors/implementations/inference-improvement-processor.d.ts +32 -0
  331. package/dist/processors/implementations/inference-improvement-processor.d.ts.map +1 -0
  332. package/dist/processors/implementations/inference-improvement-processor.js +229 -0
  333. package/dist/processors/implementations/inference-improvement-processor.js.map +1 -0
  334. package/dist/processors/implementations/log-protection-processor.d.ts +31 -0
  335. package/dist/processors/implementations/log-protection-processor.d.ts.map +1 -0
  336. package/dist/processors/implementations/log-protection-processor.js +119 -0
  337. package/dist/processors/implementations/log-protection-processor.js.map +1 -0
  338. package/dist/processors/processor-manager.d.ts +52 -38
  339. package/dist/processors/processor-manager.d.ts.map +1 -1
  340. package/dist/processors/processor-manager.js +22 -118
  341. package/dist/processors/processor-manager.js.map +1 -1
  342. package/dist/reporting/autonomous-report-generator.d.ts +171 -0
  343. package/dist/reporting/autonomous-report-generator.d.ts.map +1 -0
  344. package/dist/reporting/autonomous-report-generator.js +425 -0
  345. package/dist/reporting/autonomous-report-generator.js.map +1 -0
  346. package/dist/reporting/orchestration-flow-reporter.d.ts +35 -0
  347. package/dist/reporting/orchestration-flow-reporter.d.ts.map +1 -0
  348. package/dist/reporting/orchestration-flow-reporter.js +169 -0
  349. package/dist/reporting/orchestration-flow-reporter.js.map +1 -0
  350. package/dist/services/inference-tuner.d.ts +61 -0
  351. package/dist/services/inference-tuner.d.ts.map +1 -0
  352. package/dist/services/inference-tuner.js +204 -0
  353. package/dist/services/inference-tuner.js.map +1 -0
  354. package/dist/session/session-monitor.d.ts +35 -0
  355. package/dist/session/session-monitor.d.ts.map +1 -1
  356. package/dist/session/session-monitor.js +142 -17
  357. package/dist/session/session-monitor.js.map +1 -1
  358. package/dist/utils/shutdown-handler.d.ts +28 -0
  359. package/dist/utils/shutdown-handler.d.ts.map +1 -0
  360. package/dist/utils/shutdown-handler.js +76 -0
  361. package/dist/utils/shutdown-handler.js.map +1 -0
  362. package/package.json +2 -1
  363. package/scripts/integrations/install-claude-seo.js +2 -2
  364. package/scripts/node/universal-version-manager.js +13 -10
  365. package/AGENTS-consumer.md +0 -459
@@ -108,12 +108,13 @@ StringRay uses **two reflection folders** for different purposes:
108
108
 
109
109
  The `@storyteller` agent supports multiple story types:
110
110
 
111
- | Type | Description | Invoke |
112
- |------|-------------|--------|
113
- | `reflection` | Technical deep reflections on development process | `@storyteller write a reflection about X` |
114
- | `saga` | Long-form technical saga spanning multiple sessions | `@storyteller write a saga about X` |
115
- | `journey` | Investigation/learning journey | `@storyteller write a journey about X` |
116
- | `narrative` | Technical narrative - telling the story of code | `@storyteller write a narrative about X` |
111
+ | Type | Description | Template Path | Invoke |
112
+ |------|-------------|---------------|--------|
113
+ | `reflection` | Technical deep reflections on development process | `docs/reflections/TEMPLATE.md` | `@storyteller write a reflection about X` |
114
+ | `saga` | Long-form technical saga spanning multiple sessions | `docs/reflections/deep/SAGA_TEMPLATE.md` | `@storyteller write a saga about X` |
115
+ | `journey` | Investigation/learning journey | `docs/reflections/JOURNEY_TEMPLATE.md` | `@storyteller write a journey about X` |
116
+ | `narrative` | Technical narrative - telling the story of code | `docs/reflections/NARRATIVE_TEMPLATE.md` | `@storyteller write a narrative about X` |
117
+ | `deep reflection` | Extended narrative with emotional journey | `docs/reflections/deep/TEMPLATE.md` | `@storyteller write a deep reflection about X` |
117
118
 
118
119
  **Example:**
119
120
  ```
@@ -139,10 +140,10 @@ The `@storyteller` agent supports multiple story types:
139
140
 
140
141
  StringRay automatically routes tasks based on complexity:
141
142
 
142
- - **Simple (≤20)**: Single agent
143
- - **Moderate (21-35)**: Single agent with tools
144
- - **Complex (36-75)**: Multi-agent coordination
145
- - **Enterprise (>75)**: Orchestrator-led team
143
+ - **Simple (≤15)**: Single agent
144
+ - **Moderate (≤25)**: Single agent with tools
145
+ - **Complex (≤50)**: Multi-agent coordination
146
+ - **Enterprise (>50)**: Orchestrator-led team
146
147
 
147
148
  ## CLI Commands
148
149
 
@@ -155,6 +156,7 @@ npx strray-ai capabilities # Show all features
155
156
  npx strray-ai report # Generate reports
156
157
  npx strray-ai analytics # Pattern analytics
157
158
  npx strray-ai calibrate # Calibrate complexity
159
+ npm run test:pipelines # Pipeline integration tests
158
160
  ```
159
161
 
160
162
  ## Features.json Configuration
@@ -649,4 +651,4 @@ npx strray-ai --version
649
651
  - [Troubleshooting](https://github.com/htafolla/stringray/blob/master/docs/TROUBLESHOOTING.md)
650
652
 
651
653
  ---
652
- **Version**: 1.7.8 | [GitHub](https://github.com/htafolla/stringray)
654
+ **Version**: 1.14.0 | [GitHub](https://github.com/htafolla/stringray)
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.10.0",
2
+ "version": "1.14.0",
3
3
  "terms": [
4
4
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60
5
5
  ],
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "framework": "StringRay 1.0.0",
3
- "version": "1.10.0",
3
+ "version": "1.14.0",
4
4
  "description": "Codex-compliant framework configuration for Credible UI project",
5
5
  "thresholds": {
6
6
  "bundleSize": {
@@ -220,7 +220,7 @@
220
220
  }
221
221
  },
222
222
  "codex": {
223
- "version": "1.10.0",
223
+ "version": "1.14.0",
224
224
  "terms": [
225
225
  1,
226
226
  2,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opencode/OpenCode",
3
- "version": "1.10.0",
3
+ "version": "1.14.0",
4
4
  "description": "OpenCode framework configuration",
5
5
  "main": "OpenCode.json",
6
6
  "scripts": {
@@ -146,6 +146,88 @@ function extractTaskDescription(input) {
146
146
  }
147
147
  return null;
148
148
  }
149
+ /**
150
+ * Extract action words from command for better routing
151
+ * Maps verbs/intents to skill categories
152
+ */
153
+ function extractActionWords(command) {
154
+ if (!command || command.length < 3)
155
+ return null;
156
+ // Strip quotes and escape sequences for cleaner matching
157
+ const cleanCommand = command.replace(/["']/g, ' ').replace(/\\./g, ' ');
158
+ // Action word -> skill mapping (ordered by priority)
159
+ const actionMap = [
160
+ // Review patterns - check first since user likely wants to review content
161
+ { pattern: /\b(review|check|audit|examine|inspect|assess|evaluate)\b/i, skill: "code-review" },
162
+ // Analyze patterns
163
+ { pattern: /\b(analyze|investigate|study)\b/i, skill: "code-analyzer" },
164
+ // Fix patterns
165
+ { pattern: /\b(fix|debug|resolve|troubleshoot|repair)\b/i, skill: "bug-triage" },
166
+ // Create patterns
167
+ { pattern: /\b(create|write|generate|build|make|add)\b/i, skill: "content-creator" },
168
+ // Test patterns
169
+ { pattern: /\b(test|validate|verify)\b/i, skill: "testing" },
170
+ // Design patterns
171
+ { pattern: /\b(design|plan|architect)\b/i, skill: "architecture" },
172
+ // Optimize patterns
173
+ { pattern: /\b(optimize|improve|enhance|speed)\b/i, skill: "performance" },
174
+ // Security patterns
175
+ { pattern: /\b(scan|secure|vulnerability)\b/i, skill: "security" },
176
+ // Refactor patterns
177
+ { pattern: /\b(refactor|clean|restructure)\b/i, skill: "refactoring" },
178
+ ];
179
+ // Search for action words anywhere in the command
180
+ for (const { pattern } of actionMap) {
181
+ const match = cleanCommand.match(pattern);
182
+ if (match) {
183
+ // Return the matched word plus context after it
184
+ const word = match[0];
185
+ const idx = cleanCommand.toLowerCase().indexOf(word.toLowerCase());
186
+ const after = cleanCommand.slice(idx + word.length, Math.min(idx + word.length + 25, cleanCommand.length)).trim();
187
+ return `${word} ${after}`.trim().slice(0, 40);
188
+ }
189
+ }
190
+ // If no action word found, return null to use default routing
191
+ return null;
192
+ }
193
+ /**
194
+ * Estimate complexity score based on message content
195
+ * Higher complexity = orchestrator routing
196
+ * Lower complexity = code-reviewer routing
197
+ */
198
+ function estimateComplexity(message) {
199
+ const text = message.toLowerCase();
200
+ // High complexity indicators
201
+ const highComplexityKeywords = [
202
+ "architecture", "system", "design", "complex", "multiple",
203
+ "integrate", "database", "migration", "refactor",
204
+ "performance", "optimize", "security", "audit",
205
+ "orchestrate", "coordinate", "workflow"
206
+ ];
207
+ // Low complexity indicators
208
+ const lowComplexityKeywords = [
209
+ "review", "check", "simple", "quick", "fix",
210
+ "small", "typo", "format", "lint", "test"
211
+ ];
212
+ let score = 50; // default medium
213
+ // Check message length
214
+ if (message.length > 200)
215
+ score += 10;
216
+ if (message.length > 500)
217
+ score += 15;
218
+ // Check for high complexity keywords
219
+ for (const keyword of highComplexityKeywords) {
220
+ if (text.includes(keyword))
221
+ score += 8;
222
+ }
223
+ // Check for low complexity keywords
224
+ for (const keyword of lowComplexityKeywords) {
225
+ if (text.includes(keyword))
226
+ score -= 5;
227
+ }
228
+ // Clamp to 0-100
229
+ return Math.max(0, Math.min(100, score));
230
+ }
149
231
  async function loadTaskSkillRouter() {
150
232
  if (taskSkillRouterInstance) {
151
233
  return; // Already loaded
@@ -402,34 +484,7 @@ export default async function strrayCodexPlugin(input) {
402
484
  showEssentialLinks: true
403
485
  });
404
486
  }
405
- // ============================================================
406
- // PROMPT-LEVEL ROUTING: Route user prompts to best agent
407
- // ============================================================
408
- const userPrompt = String(_input.prompt || _input.message || _input.content || "");
409
- if (userPrompt && userPrompt.length > 0) {
410
- try {
411
- await loadTaskSkillRouter();
412
- if (taskSkillRouterInstance) {
413
- const routingResult = taskSkillRouterInstance.routeTask(userPrompt, {
414
- source: "prompt",
415
- });
416
- if (routingResult && routingResult.agent) {
417
- const logger = await getOrCreateLogger(directory);
418
- logger.log(`🎯 Prompt routed: "${userPrompt.slice(0, 50)}${userPrompt.length > 50 ? "..." : ""}" → ${routingResult.agent} (confidence: ${routingResult.confidence})`);
419
- // Add routing context to system prompt
420
- leanPrompt += `\n\n🎯 Recommended Agent: @${routingResult.agent}\n`;
421
- leanPrompt += `📊 Confidence: ${Math.round(routingResult.confidence * 100)}%\n`;
422
- if (routingResult.context?.complexity > 50) {
423
- leanPrompt += `⚠️ High complexity detected - consider using @orchestrator\n`;
424
- }
425
- }
426
- }
427
- }
428
- catch (e) {
429
- const logger = await getOrCreateLogger(directory);
430
- logger.error("Prompt routing error:", e);
431
- }
432
- }
487
+ // Routing is handled in chat.message hook - this hook only does system prompt injection
433
488
  if (output.system && Array.isArray(output.system)) {
434
489
  output.system = [leanPrompt];
435
490
  }
@@ -465,31 +520,43 @@ export default async function strrayCodexPlugin(input) {
465
520
  }
466
521
  }
467
522
  const { tool, args } = input;
468
- // ============================================================
469
- // TASK ROUTING: Analyze task and route to best agent
470
- // Enabled in v1.10.5 - provides analytics data
471
- // ============================================================
472
- const taskDescription = extractTaskDescription(input);
473
- if (taskDescription && featuresConfigLoader) {
523
+ // Extract action words from command for better tool routing
524
+ const command = args?.command ? String(args.command) : "";
525
+ let taskDescription = null;
526
+ if (command) {
527
+ const actionWords = extractActionWords(command);
528
+ if (actionWords) {
529
+ taskDescription = actionWords;
530
+ logger.log(`📝 Action words extracted: "${actionWords}"`);
531
+ }
532
+ }
533
+ // Also try to extract from content if no command
534
+ if (!taskDescription) {
535
+ taskDescription = extractTaskDescription(input);
536
+ }
537
+ // Route tool commands based on extracted action words
538
+ if (taskDescription) {
474
539
  try {
475
540
  await loadTaskSkillRouter();
476
541
  if (taskSkillRouterInstance) {
477
542
  const routingResult = taskSkillRouterInstance.routeTask(taskDescription, {
478
- toolName: tool,
543
+ source: "tool_command",
544
+ complexity: estimateComplexity(taskDescription),
479
545
  });
480
546
  if (routingResult && routingResult.agent) {
481
- logger.log(`🎯 Task routed: "${taskDescription.slice(0, 50)}..."${routingResult.agent} (confidence: ${routingResult.confidence})`);
482
- // Store routing result for downstream processing
483
- output._strrayRouting = routingResult;
484
- // If complexity is high, log a warning
485
- if (routingResult.context?.complexity > 50) {
486
- logger.log(`⚠️ High complexity task detected (${routingResult.context.complexity}) - consider multi-agent orchestration`);
487
- }
547
+ logger.log(`🎯 Tool routed: ${tool} → @${routingResult.agent} (${Math.round(routingResult.confidence * 100)}%)`);
548
+ // Log routing for analytics
549
+ logToolActivity(directory, "routing", tool, {
550
+ taskDescription,
551
+ agent: routingResult.agent,
552
+ confidence: routingResult.confidence
553
+ });
488
554
  }
489
555
  }
490
556
  }
491
557
  catch (e) {
492
- logger.error("Task routing error:", e);
558
+ // Silent fail - routing should not break tool execution
559
+ logger.log(`📝 Tool routing skipped: ${e}`);
493
560
  }
494
561
  }
495
562
  // ENFORCER QUALITY GATE CHECK - Block on violations
@@ -715,46 +782,100 @@ export default async function strrayCodexPlugin(input) {
715
782
  },
716
783
  /**
717
784
  * chat.message - Intercept user messages for routing
718
- * This hook fires when the user's message is received
785
+ * Output contains message and parts with user content
719
786
  */
720
787
  "chat.message": async (input, output) => {
721
788
  const logger = await getOrCreateLogger(directory);
722
- // Get user message
723
- const userContent = String(input.content || input.message || input.prompt || "");
724
- if (!userContent || userContent.length === 0) {
789
+ // DEBUG: Log ALL output
790
+ const debugLogPath = path.join(process.cwd(), "logs", "framework", "routing-debug.log");
791
+ fs.appendFileSync(debugLogPath, `\n[${new Date().toISOString()}] === chat.message HOOK FIRED ===\n`);
792
+ fs.appendFileSync(debugLogPath, `OUTPUT KEYS: ${JSON.stringify(Object.keys(output || {}))}\n`);
793
+ fs.appendFileSync(debugLogPath, `MESSAGE: ${JSON.stringify(output?.message)}\n`);
794
+ fs.appendFileSync(debugLogPath, `PARTS: ${JSON.stringify(output?.parts)}\n`);
795
+ // Extract user message from parts (TextPart has type="text" and text field)
796
+ let userMessage = "";
797
+ if (output?.parts && Array.isArray(output.parts)) {
798
+ for (const part of output.parts) {
799
+ if (part?.type === "text" && part?.text) {
800
+ userMessage = part.text;
801
+ break;
802
+ }
803
+ }
804
+ }
805
+ fs.appendFileSync(debugLogPath, `userMessage: "${userMessage.slice(0, 100)}"\n`);
806
+ if (!userMessage || userMessage.length === 0) {
807
+ fs.appendFileSync(debugLogPath, `SKIP: No user text found\n`);
725
808
  return;
726
809
  }
727
- logger.log(`👤 User message received: "${userContent.slice(0, 50)}${userContent.length > 50 ? "..." : ""}"`);
810
+ logger.log(`👤 User message: "${userMessage.slice(0, 50)}..."`);
728
811
  try {
729
812
  await loadTaskSkillRouter();
730
813
  if (taskSkillRouterInstance) {
731
- // Route based on user content
732
- const routingResult = taskSkillRouterInstance.routeTask(userContent, {
733
- source: "user_message",
814
+ // Get complexity score for tiebreaking
815
+ let complexityScore = 50; // default medium
816
+ try {
817
+ if (featuresConfigLoader) {
818
+ const config = featuresConfigLoader.loadConfig();
819
+ if (config.model_routing?.complexity?.enabled) {
820
+ // Estimate complexity based on message length and keywords
821
+ complexityScore = estimateComplexity(userMessage);
822
+ }
823
+ }
824
+ }
825
+ catch (e) {
826
+ // Silent fail for complexity estimation
827
+ }
828
+ fs.appendFileSync(debugLogPath, `Complexity estimated: ${complexityScore}\n`);
829
+ // Route with complexity context
830
+ const routingResult = taskSkillRouterInstance.routeTask(userMessage, {
831
+ source: "chat_message",
832
+ complexity: complexityScore,
734
833
  });
834
+ fs.appendFileSync(debugLogPath, `Routing result: ${JSON.stringify(routingResult)}\n`);
735
835
  if (routingResult && routingResult.agent) {
736
- logger.log(`🎯 User message routed to: @${routingResult.agent} (confidence: ${Math.round(routingResult.confidence * 100)}%)`);
737
- // Add routing hint to user's message
738
- const routingHint = `[Suggested Agent: @${routingResult.agent}]\n`;
739
- // Modify output to include routing hint
740
- if (output.content !== undefined) {
741
- output.content = routingHint + output.content;
836
+ // Apply weighted confidence scoring
837
+ let finalConfidence = routingResult.confidence;
838
+ let routingMethod = "keyword";
839
+ // If keyword confidence is low, use complexity-based routing
840
+ if (routingResult.confidence < 0.7 && complexityScore > 50) {
841
+ // High complexity tasks get orchestrator boost
842
+ if (complexityScore > 70) {
843
+ routingResult.agent = "orchestrator";
844
+ finalConfidence = Math.min(0.85, routingResult.confidence + 0.15);
845
+ routingMethod = "complexity";
846
+ }
742
847
  }
743
- else if (output.message !== undefined) {
744
- output.message = routingHint + output.message;
848
+ // If low complexity and low confidence, boost code-reviewer
849
+ if (routingResult.confidence < 0.6 && complexityScore < 30) {
850
+ routingResult.agent = "code-reviewer";
851
+ finalConfidence = Math.min(0.75, routingResult.confidence + 0.15);
852
+ routingMethod = "complexity";
853
+ }
854
+ logger.log(`🎯 Routed to: @${routingResult.agent} (${Math.round(finalConfidence * 100)}%) via ${routingMethod}`);
855
+ fs.appendFileSync(debugLogPath, `Final agent: ${routingResult.agent}, confidence: ${finalConfidence}, method: ${routingMethod}\n`);
856
+ // Store routing in session for later use
857
+ const sessionRoutingPath = path.join(process.cwd(), "logs", "framework", "session-routing.json");
858
+ try {
859
+ fs.appendFileSync(sessionRoutingPath, JSON.stringify({
860
+ timestamp: new Date().toISOString(),
861
+ message: userMessage.slice(0, 100),
862
+ agent: routingResult.agent,
863
+ confidence: finalConfidence,
864
+ method: routingMethod,
865
+ complexity: complexityScore,
866
+ }) + "\n");
867
+ }
868
+ catch (e) {
869
+ // Silent fail for session routing logging
745
870
  }
746
- // Log routing outcome
747
- logToolActivity(directory, "routing", "user_message", {
748
- agent: routingResult.agent,
749
- confidence: routingResult.confidence,
750
- skill: routingResult.skill,
751
- });
752
871
  }
753
872
  }
754
873
  }
755
874
  catch (e) {
756
- logger.error("User message routing error:", e);
875
+ logger.error("Chat message routing error:", e);
876
+ fs.appendFileSync(debugLogPath, `ERROR: ${e}\n`);
757
877
  }
878
+ fs.appendFileSync(debugLogPath, `=== END chat.message ===\n`);
758
879
  },
759
880
  config: async (_config) => {
760
881
  const logger = await getOrCreateLogger(directory);
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: inference-improve
3
+ description: Autonomous inference improvement through collaborative agent analysis
4
+ author: StrRay Framework
5
+ version: 1.0.0
6
+ tags: [inference, improvement, autonomous, learning]
7
+ ---
8
+
9
+ # Inference Improvement Skill
10
+
11
+ ## Purpose
12
+
13
+ Coordinates a collaborative agent workflow to improve routing inference by analyzing logs, reflections, and reports.
14
+
15
+ ## Trigger Phrases
16
+
17
+ - "improve inference"
18
+ - "analyze routing patterns"
19
+ - "autonomous improvement"
20
+ - "learn from logs"
21
+ - "coalesce insights"
22
+
23
+ ## Agent Workflow
24
+
25
+ ### Phase 1: Data Gathering (Researcher)
26
+ ```
27
+ @researcher gather all recent logs, reflections, and reports
28
+ - Read logs/framework/activity.log
29
+ - Read logs/framework/routing-outcomes.json
30
+ - Read docs/reflections/*.md
31
+ - Read logs/reports/session-*.md
32
+ - Read logs/reports/job-*.md
33
+ ```
34
+
35
+ ### Phase 2: Pattern Analysis (Code-Analyzer)
36
+ ```
37
+ @code-analyzer analyze gathered data
38
+ - Identify routing success/failure patterns
39
+ - Detect weak keyword matches
40
+ - Find confidence distribution issues
41
+ - Locate emerging patterns
42
+ ```
43
+
44
+ ### Phase 3: Design Improvements (Architect)
45
+ ```
46
+ @architect design routing improvements
47
+ - Propose new keyword mappings
48
+ - Suggest confidence adjustments
49
+ - Recommend complexity thresholds
50
+ - Design new routing patterns
51
+ ```
52
+
53
+ ### Phase 4: Review & Refine (Code-Reviewer)
54
+ ```
55
+ @code-reviewer review proposed changes
56
+ - Validate quality of proposals
57
+ - Refine suggestions
58
+ - Ensure no regressions
59
+ - Prioritize changes
60
+ ```
61
+
62
+ ### Phase 5: Validate & Apply (Enforcer)
63
+ ```
64
+ @enforcer validate and apply changes
65
+ - Codex compliance check
66
+ - Verify changes are safe
67
+ - Apply to routing-mappings.json
68
+ - Log improvements
69
+ ```
70
+
71
+ ## Output
72
+
73
+ Produces actionable improvements:
74
+ 1. Updated `routing-mappings.json`
75
+ 2. New insights report
76
+ 3. Confidence adjustments
77
+ 4. Pattern additions/removals
78
+
79
+ ## Configuration
80
+
81
+ ```json
82
+ {
83
+ "inference_improvement": {
84
+ "enabled": true,
85
+ "autonomous": true,
86
+ "interval_hours": 24,
87
+ "min_confidence": 0.7
88
+ }
89
+ }
90
+ ```
@@ -1,8 +1,8 @@
1
- # StringRay AI v1.3.4 – Agent Context & Universal Development Codex
1
+ # StringRay AI v1.14.0 – Agent Context & Universal Development Codex
2
2
 
3
- **Framework Version**: 1.3.4
4
- **Codex Version**: 1.1.1 (condensed)
5
- **Last Updated**: 2026-01-24
3
+ **Framework Version**: 1.14.0
4
+ **Codex Version**: 1.7.5 (condensed)
5
+ **Last Updated**: 2026-03-23
6
6
  **Purpose**: Systematic error prevention and production-ready AI-assisted development
7
7
 
8
8
  ## 🎯 CRITICAL RULES – ZERO TOLERANCE (MANDATORY)
@@ -75,13 +75,15 @@
75
75
  | Agent | Role | Complexity | Key Tools | Strategy |
76
76
  |---------------------------|-----------------------------------|------------|----------------------------------------|-------------------|
77
77
  | enforcer | Codex & error prevention | All | read, grep, lsp_*, bash | Block violations |
78
- | architect | Design & decisions | High | read, grep, lsp_*, background_task | Expert priority |
79
78
  | orchestrator | Workflow coordination | Enterprise | read, grep, call_omo_agent, session_* | Consensus |
79
+ | architect | Design & decisions | High | read, grep, lsp_*, background_task | Expert priority |
80
80
  | bug-triage-specialist | Error investigation & fixes | Debug | read, grep, ast_grep_* | Majority vote |
81
81
  | code-reviewer | Quality & standards | Changes | read, grep, lsp_diagnostics | Expert priority |
82
82
  | security-auditor | Vulnerabilities & compliance | Security | read, grep, grep_app_searchGitHub | Block critical |
83
83
  | refactorer | Debt & consolidation | Refactor | read, grep, lsp_rename, ast_grep_* | Majority vote |
84
- | test-architect | Testing strategy & coverage | Tests | read, grep, lsp_* | Expert priority |
84
+ | testing-lead | Testing strategy & coverage | Tests | read, grep, lsp_* | Expert priority |
85
+ | storyteller | Narrative deep reflections | Narrative | read, grep, write | Expert priority |
86
+ | researcher | Codebase exploration | Research | read, grep, codesearch, websearch | Expert priority |
85
87
 
86
88
  ## Complexity Routing Summary
87
89
 
@@ -89,9 +91,9 @@ Score = (files×2 + change/10 + deps×3 + duration/10) × operation_weight × ri
89
91
  - Operation weights: debug 2.0, refactor 1.8, analyze 1.5, modify 1.2, others 1.0
90
92
  - Risk multipliers: critical 1.6, high 1.3, medium 1.0, low 0.8
91
93
  Thresholds:
92
- - ≤25 → single agent
93
- - 2695 → multi-agent possible
94
- - 96+ → orchestrator-led
94
+ - ≤15 → single agent
95
+ - 1650 → multi-agent possible
96
+ - 51+ → orchestrator-led
95
97
 
96
98
  ## Operational Guidelines
97
99
 
@@ -102,4 +104,6 @@ Thresholds:
102
104
  - Enforce codex compliance on every operation
103
105
 
104
106
  **Codex Enforcement**: All actions validated against these rules. Violations block progress until resolved.
105
- **Target**: 99.6% systematic error prevention through verification-first behavior.
107
+ **Target**: 99.6% systematic error prevention through verification-first behavior.
108
+
109
+ (End of file - total 105 lines)
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.10.0",
2
+ "version": "1.14.0",
3
3
  "lastUpdated": "2026-03-09",
4
4
  "errorPreventionTarget": 0.996,
5
5
  "terms": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "./config.schema.json",
3
- "version": "1.10.0",
3
+ "version": "1.14.0",
4
4
  "description": "StringRay Framework - Token Management & Performance Configuration",
5
5
 
6
6
  "token_management": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "./features.schema.json",
3
- "version": "1.10.0",
3
+ "version": "1.14.0",
4
4
  "description": "StringRay Framework - Unified Feature Configuration",
5
5
  "token_optimization": {
6
6
  "enabled": true,
@@ -115,5 +115,18 @@
115
115
  "moderate": 25,
116
116
  "complex": 50,
117
117
  "enterprise": 100
118
+ },
119
+ "analytics": {
120
+ "enabled": true,
121
+ "default_limit": 500,
122
+ "min_samples_for_calibration": 3,
123
+ "track_complexity_accuracy": true,
124
+ "track_agent_performance": true
125
+ },
126
+ "pattern_learning": {
127
+ "enabled": true,
128
+ "learning_interval_ms": 300000,
129
+ "auto_apply_threshold": 0.9,
130
+ "min_success_rate": 0.7
118
131
  }
119
132
  }