onbuzz 4.8.3 → 4.9.1

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 (1100) hide show
  1. package/bin/cli.js +27 -1
  2. package/bin/composio-cli.js +431 -0
  3. package/package.json +1 -1
  4. package/scripts/build-onboarding-doc.cjs +805 -0
  5. package/scripts/composio-bench/README.md +151 -0
  6. package/scripts/memory-bench/bench.mjs +576 -0
  7. package/scripts/memory-bench/live-after-2026-05-21T16-20-52-767Z.json +150 -0
  8. package/scripts/memory-bench/live-after-2026-05-21T16-37-17-147Z.json +795 -0
  9. package/scripts/memory-bench/live-after-final-2026-05-21T17-16-02-947Z.json +766 -0
  10. package/scripts/memory-bench/live-after-v2-2026-05-21T16-52-26-833Z.json +890 -0
  11. package/scripts/memory-bench/live-after-v3-2026-05-21T17-05-40-622Z.json +955 -0
  12. package/scripts/memory-bench/live-probe-v2.mjs +412 -0
  13. package/scripts/memory-bench/live-probe.mjs +387 -0
  14. package/scripts/memory-bench/live-smoke-2026-05-21T16-22-35-945Z.json +36 -0
  15. package/scripts/memory-bench/live-smoke2-2026-05-21T16-24-14-095Z.json +36 -0
  16. package/scripts/memory-bench/live-smoke3-2026-05-21T16-26-54-093Z.json +123 -0
  17. package/scripts/memory-bench/live-v2-baseline-2026-05-23T22-43-20-757Z.json +628 -0
  18. package/scripts/memory-bench/live-v2-directive-2026-05-23T21-32-41-369Z.json +628 -0
  19. package/scripts/memory-bench/live-v2-smoke-2026-05-23T20-06-37-325Z.json +34 -0
  20. package/scripts/memory-bench/live-v2-smoke-2026-05-23T20-12-48-199Z.json +38 -0
  21. package/scripts/memory-bench/results-baseline-2026-05-19T11-23-12-245Z.json +39 -0
  22. package/scripts/memory-bench/results-baseline-2026-05-19T11-30-28-763Z.json +1024 -0
  23. package/scripts/memory-bench/results-baseline-2026-05-19T11-34-19-299Z.json +1007 -0
  24. package/scripts/memory-bench/results-baseline-2026-05-19T11-44-18-054Z.json +1432 -0
  25. package/scripts/memory-bench/results-nudge-combined-2026-05-19T12-00-37-465Z.json +1413 -0
  26. package/scripts/memory-bench/results-nudge-directive-2026-05-19T11-36-52-963Z.json +210 -0
  27. package/scripts/memory-bench/results-nudge-directive-2026-05-19T11-49-55-790Z.json +1464 -0
  28. package/scripts/memory-bench/results-nudge-echo-catalog-2026-05-19T11-39-01-829Z.json +232 -0
  29. package/scripts/memory-bench/results-nudge-echo-catalog-2026-05-19T11-55-12-705Z.json +1397 -0
  30. package/scripts/memory-bench/scenarios-v2.mjs +123 -0
  31. package/scripts/memory-bench/scenarios.mjs +178 -0
  32. package/scripts/office-bench/generate-samples.mjs +180 -0
  33. package/scripts/op-posture-bench/bench.mjs +397 -0
  34. package/scripts/op-posture-bench/probe.mjs +87 -0
  35. package/scripts/op-posture-bench/results-2026-05-18T20-29-13-941Z.json +57 -0
  36. package/scripts/op-posture-bench/results-2026-05-18T20-38-36-400Z.json +3071 -0
  37. package/scripts/op-posture-bench/scenarios.mjs +60 -0
  38. package/scripts/op-posture-bench/variants.mjs +68 -0
  39. package/scripts/stub-bench/bench.mjs +439 -0
  40. package/scripts/stub-bench/fixture/auth.js +41 -0
  41. package/scripts/stub-bench/results-2026-05-19T10-33-27-045Z.json +99 -0
  42. package/scripts/stub-bench/results-2026-05-19T10-35-08-240Z.json +920 -0
  43. package/scripts/stub-bench/results-2026-05-19T10-40-12-166Z.json +463 -0
  44. package/scripts/verify/azure-custom-embeddings.mjs +152 -0
  45. package/scripts/verify/azure-embeddings.mjs +146 -0
  46. package/scripts/verify/composio-toolkits.mjs +453 -0
  47. package/scripts/verify/local-embeddings.mjs +171 -0
  48. package/scripts/verify/openai-embeddings.mjs +140 -0
  49. package/src/__tests__/composioCliFlags.test.js +239 -0
  50. package/src/core/__tests__/agentScheduler.autoRecall.test.js +215 -0
  51. package/src/core/__tests__/agentScheduler.codebaseKnowledge.test.js +65 -0
  52. package/src/core/__tests__/agentScheduler.errorCategorisation.test.js +169 -0
  53. package/src/core/__tests__/agentScheduler.memoryInjection.test.js +78 -0
  54. package/src/core/agentPool.js +10 -0
  55. package/src/core/agentScheduler.js +273 -36
  56. package/src/index.js +82 -4
  57. package/src/interfaces/__tests__/bulkAgentRoute.test.js +290 -0
  58. package/src/interfaces/__tests__/composioRoutes.test.js +318 -0
  59. package/src/interfaces/webServer.js +436 -2
  60. package/src/interfaces/webServer.js.bak +7047 -0
  61. package/src/services/__tests__/aiService.core.test.js +420 -0
  62. package/src/services/__tests__/aiService.embed.test.js +172 -0
  63. package/src/services/__tests__/apiKeyManager.getEmbeddingApiKey.test.js +86 -0
  64. package/src/services/__tests__/codeMapStubRenderer.test.js +207 -0
  65. package/src/services/__tests__/codebaseKnowledgeService.test.js +427 -0
  66. package/src/services/__tests__/composioService.test.js +714 -0
  67. package/src/services/__tests__/memoryService.appendAndCatalog.test.js +139 -0
  68. package/src/services/__tests__/telegramService.test.js +91 -0
  69. package/src/services/aiService.js +137 -0
  70. package/src/services/apiKeyManager.js +61 -0
  71. package/src/services/codeMapStubRenderer.js +142 -0
  72. package/src/services/codebaseKnowledgeService.js +430 -0
  73. package/src/services/composioService.js +729 -0
  74. package/src/services/embeddings/__tests__/autoRecall.test.js +237 -0
  75. package/src/services/embeddings/__tests__/azureCustomProvider.test.js +232 -0
  76. package/src/services/embeddings/__tests__/cloudProviders.test.js +339 -0
  77. package/src/services/embeddings/__tests__/embeddingService.test.js +417 -0
  78. package/src/services/embeddings/__tests__/embeddingsConfig.test.js +182 -0
  79. package/src/services/embeddings/__tests__/inMemoryJsonStore.test.js +207 -0
  80. package/src/services/embeddings/__tests__/localProvider.test.js +263 -0
  81. package/src/services/embeddings/__tests__/providerInterface.test.js +209 -0
  82. package/src/services/embeddings/autoRecall.js +219 -0
  83. package/src/services/embeddings/embeddingService.js +452 -0
  84. package/src/services/embeddings/embeddingsConfig.js +203 -0
  85. package/src/services/embeddings/indexers/__tests__/agentIndexer.test.js +232 -0
  86. package/src/services/embeddings/indexers/__tests__/composioIndexer.test.js +265 -0
  87. package/src/services/embeddings/indexers/__tests__/memoryIndexer.test.js +418 -0
  88. package/src/services/embeddings/indexers/__tests__/reminisceIndexer.test.js +357 -0
  89. package/src/services/embeddings/indexers/__tests__/skillsIndexer.test.js +145 -0
  90. package/src/services/embeddings/indexers/__tests__/taskIndexer.test.js +146 -0
  91. package/src/services/embeddings/indexers/agentIndexer.js +249 -0
  92. package/src/services/embeddings/indexers/composioIndexer.js +279 -0
  93. package/src/services/embeddings/indexers/memoryIndexer.js +358 -0
  94. package/src/services/embeddings/indexers/reminisceIndexer.js +370 -0
  95. package/src/services/embeddings/indexers/skillsIndexer.js +154 -0
  96. package/src/services/embeddings/indexers/taskIndexer.js +155 -0
  97. package/src/services/embeddings/providerInterface.js +206 -0
  98. package/src/services/embeddings/providers/azureCustomProvider.js +154 -0
  99. package/src/services/embeddings/providers/azureProvider.js +122 -0
  100. package/src/services/embeddings/providers/cloudHttpTransport.js +205 -0
  101. package/src/services/embeddings/providers/localProvider.js +287 -0
  102. package/src/services/embeddings/providers/openaiProvider.js +101 -0
  103. package/src/services/embeddings/utilities/__tests__/textChunker.test.js +217 -0
  104. package/src/services/embeddings/utilities/textChunker.js +290 -0
  105. package/src/services/embeddings/vectorStore/__tests__/scoring.test.js +189 -0
  106. package/src/services/embeddings/vectorStore/inMemoryJsonStore.js +356 -0
  107. package/src/services/embeddings/vectorStore/scoring.js +128 -0
  108. package/src/services/embeddings/vectorStore/storeContractTests.js +179 -0
  109. package/src/services/embeddings/vectorStore/storeInterface.js +91 -0
  110. package/src/services/memoryService.js +98 -0
  111. package/src/services/telegramService.js +140 -1
  112. package/src/tools/__tests__/agentCommunicationTool.findAgent.test.js +226 -0
  113. package/src/tools/__tests__/agentCommunicationTool.test.js +17 -2
  114. package/src/tools/__tests__/baseTool.test.js +76 -10
  115. package/src/tools/__tests__/cloneDetectionTool.test.js +430 -0
  116. package/src/tools/__tests__/codeMapTool.pluralCanonical.test.js +83 -0
  117. package/src/tools/__tests__/composioTool.findAction.test.js +448 -0
  118. package/src/tools/__tests__/composioTool.test.js +499 -0
  119. package/src/tools/__tests__/dependencyResolverTool.test.js +567 -0
  120. package/src/tools/__tests__/docxTool.test.js +449 -0
  121. package/src/tools/__tests__/excelTool.test.js +486 -0
  122. package/src/tools/__tests__/importAnalyzerTool.test.js +368 -0
  123. package/src/tools/__tests__/memoryTool.forgetStale.test.js +272 -0
  124. package/src/tools/__tests__/memoryTool.pluralCanonical.test.js +189 -0
  125. package/src/tools/__tests__/memoryTool.reminisceSemanticSearch.test.js +301 -0
  126. package/src/tools/__tests__/memoryTool.semanticSearch.test.js +405 -0
  127. package/src/tools/__tests__/memoryTool.teamPool.test.js +293 -0
  128. package/src/tools/__tests__/memoryTool.test.js +1 -1
  129. package/src/tools/__tests__/officeTool.test.js +403 -0
  130. package/src/tools/__tests__/openaiFunctionSchemas.memoryReminisce.test.js +24 -25
  131. package/src/tools/__tests__/openaiFunctionSchemas.validity.test.js +268 -0
  132. package/src/tools/__tests__/pdfTool.test.js +457 -0
  133. package/src/tools/__tests__/singularToolReverseForgive.test.js +97 -0
  134. package/src/tools/__tests__/skillsTool.search.test.js +164 -0
  135. package/src/tools/__tests__/taskManagerTool.discipline.test.js +137 -0
  136. package/src/tools/__tests__/taskManagerTool.search.test.js +143 -0
  137. package/src/tools/__tests__/taskManagerTool.transition.test.js +236 -0
  138. package/src/tools/__tests__/toolShapeForgiveness.test.js +260 -0
  139. package/src/tools/agentCommunicationTool.js +120 -5
  140. package/src/tools/baseTool.js +28 -1
  141. package/src/tools/codeMapTool.js +1673 -1521
  142. package/src/tools/composioTool.js +617 -0
  143. package/src/tools/fileContentReplaceTool.js +893 -840
  144. package/src/tools/fileSystemTool.js +1372 -1314
  145. package/src/tools/fileTreeTool.js +7 -0
  146. package/src/tools/memoryTool.js +847 -82
  147. package/src/tools/office/officeDoc.js +425 -0
  148. package/src/tools/office/officePres.js +360 -0
  149. package/src/tools/office/officeSheet.js +350 -0
  150. package/src/tools/officeTool.js +313 -0
  151. package/src/tools/openaiFunctionSchemas.js +824 -44
  152. package/src/tools/platformControlTool.js +5 -0
  153. package/src/tools/seekTool.js +36 -1
  154. package/src/tools/skillsTool.js +133 -0
  155. package/src/tools/taskManagerTool.js +264 -16
  156. package/src/tools/terminalTool.js +23 -1
  157. package/src/tools/visionTool.js +7 -0
  158. package/src/tools/visualEditorTool.js +7 -0
  159. package/src/tools/webTool.js +28 -1
  160. package/src/tools/whatsappTool.js +7 -0
  161. package/src/utilities/authCache.js +47 -6
  162. package/src/utilities/authCache.js.backup-1779570472481 +121 -0
  163. package/src/utilities/toolConstants.js +3 -1
  164. package/web-ui/build/index.html +2 -2
  165. package/web-ui/build/static/1c-CTztA3Xo.js +1 -0
  166. package/web-ui/build/static/abap-BsUhLmBp.js +1 -0
  167. package/web-ui/build/static/abnf-CGKV2y5s.js +1 -0
  168. package/web-ui/build/static/abnf-vQPGuzu_.js +1 -0
  169. package/web-ui/build/static/accesslog-mUZocN9d.js +1 -0
  170. package/web-ui/build/static/actionscript-BmCHyr7v.js +1 -0
  171. package/web-ui/build/static/actionscript-Cc5vZvFE.js +1 -0
  172. package/web-ui/build/static/ada-BHR9NMNv.js +1 -0
  173. package/web-ui/build/static/ada-DnxQs2b9.js +1 -0
  174. package/web-ui/build/static/agda-CHEWVCEZ.js +1 -0
  175. package/web-ui/build/static/al-C0otNZjc.js +1 -0
  176. package/web-ui/build/static/angelscript-Co5e7ZdR.js +1 -0
  177. package/web-ui/build/static/antlr4-Dkky4AXR.js +1 -0
  178. package/web-ui/build/static/apache-BJkYIuV-.js +1 -0
  179. package/web-ui/build/static/apacheconf-XLif_lM5.js +1 -0
  180. package/web-ui/build/static/apex-DiKnugSK.js +1 -0
  181. package/web-ui/build/static/apl-R5OItFx8.js +1 -0
  182. package/web-ui/build/static/applescript-D8uiCoXI.js +1 -0
  183. package/web-ui/build/static/applescript-e5KOVzz4.js +1 -0
  184. package/web-ui/build/static/aql-Cvy5hwR1.js +1 -0
  185. package/web-ui/build/static/arcade-0iAjFk8w.js +1 -0
  186. package/web-ui/build/static/arduino-BJeuGqAT.js +1 -0
  187. package/web-ui/build/static/arduino-QJJjnM1j.js +1 -0
  188. package/web-ui/build/static/arff-C-i_E_-B.js +1 -0
  189. package/web-ui/build/static/armasm-ukFQKHGn.js +1 -0
  190. package/web-ui/build/static/asciidoc-B49qqHJJ.js +1 -0
  191. package/web-ui/build/static/asciidoc-Nkm1Ylrd.js +1 -0
  192. package/web-ui/build/static/asm6502-CMiM3nZs.js +1 -0
  193. package/web-ui/build/static/asmatmel-DG9XzIBf.js +1 -0
  194. package/web-ui/build/static/aspectj-DjRutrRk.js +1 -0
  195. package/web-ui/build/static/aspnet-DCNVRVi9.js +1 -0
  196. package/web-ui/build/static/autohotkey-C7eyvps0.js +1 -0
  197. package/web-ui/build/static/autohotkey-CiaZi-WO.js +1 -0
  198. package/web-ui/build/static/autoit-CaKUQkux.js +1 -0
  199. package/web-ui/build/static/autoit-D-CUHQgt.js +1 -0
  200. package/web-ui/build/static/avisynth-DFP3h4zu.js +1 -0
  201. package/web-ui/build/static/avrasm-BqvUj3fg.js +1 -0
  202. package/web-ui/build/static/avro-idl-D3l0ptuQ.js +1 -0
  203. package/web-ui/build/static/awk-BmDxAZFj.js +1 -0
  204. package/web-ui/build/static/axapta-B424jrgT.js +1 -0
  205. package/web-ui/build/static/bash-CgAffr8Z.js +1 -0
  206. package/web-ui/build/static/bash-D41aILLG.js +1 -0
  207. package/web-ui/build/static/basic-5DFTo35K.js +1 -0
  208. package/web-ui/build/static/basic-BONYG7D2.js +1 -0
  209. package/web-ui/build/static/batch-BnaDGMwS.js +1 -0
  210. package/web-ui/build/static/bbcode-Daujj4hU.js +1 -0
  211. package/web-ui/build/static/bicep-CXidcIK5.js +1 -0
  212. package/web-ui/build/static/birb-CcOzsnqB.js +1 -0
  213. package/web-ui/build/static/bison-rq0w5JFF.js +1 -0
  214. package/web-ui/build/static/bnf-C4uK1dK8.js +1 -0
  215. package/web-ui/build/static/bnf-CvXZ9crt.js +1 -0
  216. package/web-ui/build/static/brainfuck-B5Ezdg2y.js +1 -0
  217. package/web-ui/build/static/brainfuck-BZaTfZ97.js +1 -0
  218. package/web-ui/build/static/brightscript-D_2WBVxt.js +1 -0
  219. package/web-ui/build/static/bro-BD7GT6j_.js +1 -0
  220. package/web-ui/build/static/bsl-Bh-qcQ3w.js +1 -0
  221. package/web-ui/build/static/c-DNmZz1iT.js +1 -0
  222. package/web-ui/build/static/c-dUrSOcB2.js +1 -0
  223. package/web-ui/build/static/c-like-DfzKY8Uu.js +1 -0
  224. package/web-ui/build/static/cal-DgrFs4te.js +1 -0
  225. package/web-ui/build/static/capnproto-BxFR2k8w.js +1 -0
  226. package/web-ui/build/static/ceylon-B2Q7BIPM.js +1 -0
  227. package/web-ui/build/static/cfscript-DeaR8rww.js +1 -0
  228. package/web-ui/build/static/chaiscript-BeBIoz6b.js +1 -0
  229. package/web-ui/build/static/cil-YHiHOb4c.js +1 -0
  230. package/web-ui/build/static/clean-BgOl_0cN.js +1 -0
  231. package/web-ui/build/static/clojure-BlgOza7C.js +1 -0
  232. package/web-ui/build/static/clojure-PlKRYx3q.js +1 -0
  233. package/web-ui/build/static/clojure-repl-Dv2_THNB.js +1 -0
  234. package/web-ui/build/static/cmake-Ccf43gsy.js +1 -0
  235. package/web-ui/build/static/cmake-Dah_b5tK.js +1 -0
  236. package/web-ui/build/static/cobol-o9YRDzXA.js +1 -0
  237. package/web-ui/build/static/coffeescript-DTYLvxG9.js +1 -0
  238. package/web-ui/build/static/coffeescript-Dm4UcexP.js +1 -0
  239. package/web-ui/build/static/concurnas-1OxY7nFV.js +1 -0
  240. package/web-ui/build/static/coq-CvJBSoWT.js +1 -0
  241. package/web-ui/build/static/coq-DPZunybQ.js +1 -0
  242. package/web-ui/build/static/cos-BBstQgB4.js +1 -0
  243. package/web-ui/build/static/cpp-BR1pa5Wr.js +1 -0
  244. package/web-ui/build/static/cpp-C-_tTuKh.js +1 -0
  245. package/web-ui/build/static/crmsh-BIme7ihG.js +1 -0
  246. package/web-ui/build/static/crystal-C2hlJxaB.js +1 -0
  247. package/web-ui/build/static/crystal-Ca6D0fV7.js +1 -0
  248. package/web-ui/build/static/csharp-DGvdwvDH.js +1 -0
  249. package/web-ui/build/static/csharp-DbAjVltn.js +1 -0
  250. package/web-ui/build/static/cshtml-DVC84JPa.js +1 -0
  251. package/web-ui/build/static/csp-BawtG83z.js +1 -0
  252. package/web-ui/build/static/csp-BlaoxdTK.js +1 -0
  253. package/web-ui/build/static/css-52oqss7r.js +1 -0
  254. package/web-ui/build/static/css-extras-BoTVw2IW.js +1 -0
  255. package/web-ui/build/static/csv-nXBSv5kK.js +1 -0
  256. package/web-ui/build/static/cypher-WuesoPm2.js +1 -0
  257. package/web-ui/build/static/d-BmmTjwiV.js +1 -0
  258. package/web-ui/build/static/d-BwHf5A8R.js +1 -0
  259. package/web-ui/build/static/dart-BVZTRb8b.js +1 -0
  260. package/web-ui/build/static/dart-CbWzIBpX.js +1 -0
  261. package/web-ui/build/static/dataweave-qi_fpjJR.js +1 -0
  262. package/web-ui/build/static/dax-BpP02TD3.js +1 -0
  263. package/web-ui/build/static/delphi-TK0E0gLN.js +1 -0
  264. package/web-ui/build/static/dhall-jyNJwUbo.js +1 -0
  265. package/web-ui/build/static/diff-Dbu90HZq.js +1 -0
  266. package/web-ui/build/static/diff-Df6ezhAq.js +1 -0
  267. package/web-ui/build/static/django-BDy-xiWR.js +1 -0
  268. package/web-ui/build/static/django-CbmnWIX9.js +1 -0
  269. package/web-ui/build/static/dns-D_wmKRHl.js +1 -0
  270. package/web-ui/build/static/dns-zone-file-_1osc1Qk.js +1 -0
  271. package/web-ui/build/static/docker-D62hlkjX.js +1 -0
  272. package/web-ui/build/static/dockerfile-DQ080zHh.js +1 -0
  273. package/web-ui/build/static/dos-B5mA8Wna.js +1 -0
  274. package/web-ui/build/static/dot-D497WUfu.js +1 -0
  275. package/web-ui/build/static/dsconfig-dERMCQVk.js +1 -0
  276. package/web-ui/build/static/dts-DC3ujcbX.js +1 -0
  277. package/web-ui/build/static/dust-Bhm1VBQg.js +1 -0
  278. package/web-ui/build/static/ebnf-1lmwK0bv.js +1 -0
  279. package/web-ui/build/static/ebnf-qzzqKVXL.js +1 -0
  280. package/web-ui/build/static/editorconfig-CCe25wQr.js +1 -0
  281. package/web-ui/build/static/eiffel-BFOXbwEN.js +1 -0
  282. package/web-ui/build/static/ejs-D94vVkGZ.js +1 -0
  283. package/web-ui/build/static/elixir-B2W81YV0.js +1 -0
  284. package/web-ui/build/static/elixir-CD1szlP_.js +1 -0
  285. package/web-ui/build/static/elm-BUJhR-kM.js +1 -0
  286. package/web-ui/build/static/elm-DwLnLHSK.js +1 -0
  287. package/web-ui/build/static/erb-CcokD9Fu.js +1 -0
  288. package/web-ui/build/static/erb-lzhmSBEV.js +1 -0
  289. package/web-ui/build/static/erlang-C0jnu48-.js +1 -0
  290. package/web-ui/build/static/erlang-CrevXBnJ.js +1 -0
  291. package/web-ui/build/static/erlang-repl-CNY6yNoO.js +1 -0
  292. package/web-ui/build/static/etlua-BMO_ICdR.js +1 -0
  293. package/web-ui/build/static/excel-C5PbLrVC.js +1 -0
  294. package/web-ui/build/static/excel-formula-CX4pOnnV.js +1 -0
  295. package/web-ui/build/static/factor-bW3WUpa0.js +1 -0
  296. package/web-ui/build/static/false-CQx6Crbr.js +1 -0
  297. package/web-ui/build/static/firestore-security-rules-DT5oRNdf.js +1 -0
  298. package/web-ui/build/static/fix-C4IWe2LI.js +1 -0
  299. package/web-ui/build/static/flix-hi9-cLwA.js +1 -0
  300. package/web-ui/build/static/flow-CkX6DAhF.js +1 -0
  301. package/web-ui/build/static/fortran-C4rIX-2n.js +1 -0
  302. package/web-ui/build/static/fortran-Dvu3q_x_.js +1 -0
  303. package/web-ui/build/static/fsharp-Bwa1UrRI.js +1 -0
  304. package/web-ui/build/static/fsharp-CvadhLcA.js +1 -0
  305. package/web-ui/build/static/ftl-eFEI11YV.js +1 -0
  306. package/web-ui/build/static/gams-BxGx7deQ.js +1 -0
  307. package/web-ui/build/static/gap-Dcv7bqDd.js +1 -0
  308. package/web-ui/build/static/gauss-CcVoF4l8.js +1 -0
  309. package/web-ui/build/static/gcode-B1dc5sh5.js +1 -0
  310. package/web-ui/build/static/gcode-D5OxRG5t.js +1 -0
  311. package/web-ui/build/static/gdscript-CL-EA1wk.js +1 -0
  312. package/web-ui/build/static/gedcom-BbXrNsr0.js +1 -0
  313. package/web-ui/build/static/gherkin-B2wQMbT2.js +1 -0
  314. package/web-ui/build/static/gherkin-CnL4Y3j1.js +1 -0
  315. package/web-ui/build/static/git-DpdutSM5.js +1 -0
  316. package/web-ui/build/static/glsl-C7sgdZCA.js +1 -0
  317. package/web-ui/build/static/glsl-DVaNsn1Z.js +1 -0
  318. package/web-ui/build/static/gml-B_NppoA4.js +1 -0
  319. package/web-ui/build/static/gml-DFrn75UD.js +1 -0
  320. package/web-ui/build/static/gn-BhTU_aTW.js +1 -0
  321. package/web-ui/build/static/go-DKrUPrfb.js +1 -0
  322. package/web-ui/build/static/go-DLAYIsJl.js +1 -0
  323. package/web-ui/build/static/go-module-BXY6q1Ug.js +1 -0
  324. package/web-ui/build/static/golo-CKxjLRpC.js +1 -0
  325. package/web-ui/build/static/gradle-DN8lsmJj.js +1 -0
  326. package/web-ui/build/static/graphql-CMb_4vdm.js +1 -0
  327. package/web-ui/build/static/groovy-Bhi1VPv7.js +1 -0
  328. package/web-ui/build/static/groovy-D3X3r3EX.js +1 -0
  329. package/web-ui/build/static/haml-CvOCw9lL.js +1 -0
  330. package/web-ui/build/static/haml-DYs0wBJO.js +1 -0
  331. package/web-ui/build/static/handlebars-CLnuKGPm.js +1 -0
  332. package/web-ui/build/static/handlebars-CYGG_M1h.js +1 -0
  333. package/web-ui/build/static/haskell-0Ju0XclD.js +1 -0
  334. package/web-ui/build/static/haskell-CL5jUHSd.js +1 -0
  335. package/web-ui/build/static/haxe-BghRbBtK.js +1 -0
  336. package/web-ui/build/static/haxe-dfL7GzPv.js +1 -0
  337. package/web-ui/build/static/hcl-BZP2QME-.js +1 -0
  338. package/web-ui/build/static/hlsl-Djp0TiCX.js +1 -0
  339. package/web-ui/build/static/hoon-Df5gJVqA.js +1 -0
  340. package/web-ui/build/static/hpkp-Cy-hjB4V.js +1 -0
  341. package/web-ui/build/static/hsp-CntMIMs4.js +1 -0
  342. package/web-ui/build/static/hsts-BNBhETNx.js +1 -0
  343. package/web-ui/build/static/htmlbars-VCCYaDHA.js +1 -0
  344. package/web-ui/build/static/http-7DbskohZ.js +1 -0
  345. package/web-ui/build/static/http-BT5FYFAK.js +1 -0
  346. package/web-ui/build/static/hy-DuGSaK_b.js +1 -0
  347. package/web-ui/build/static/ichigojam-CjvnJmlr.js +1 -0
  348. package/web-ui/build/static/icon-BsBz6XP6.js +1 -0
  349. package/web-ui/build/static/icu-message-format-BEpv_nip.js +1 -0
  350. package/web-ui/build/static/idris-DiXQdMPU.js +1 -0
  351. package/web-ui/build/static/iecst-C9tYEzwP.js +1 -0
  352. package/web-ui/build/static/ignore-DNMpCRPN.js +1 -0
  353. package/web-ui/build/static/index-B-r71gxO.js +1 -0
  354. package/web-ui/build/static/index-CTtNXVAZ.js +1217 -0
  355. package/web-ui/build/static/index-DkBBEGYj.css +1 -0
  356. package/web-ui/build/static/index-PvzceRzr.js +13 -0
  357. package/web-ui/build/static/inform7-D38mj1Ty.js +1 -0
  358. package/web-ui/build/static/inform7-SwIRbrNQ.js +1 -0
  359. package/web-ui/build/static/ini-B9xO6J_m.js +1 -0
  360. package/web-ui/build/static/ini-zcp_esam.js +1 -0
  361. package/web-ui/build/static/io-C-Ay4jvg.js +1 -0
  362. package/web-ui/build/static/irpf90-BYnkitLq.js +1 -0
  363. package/web-ui/build/static/isbl-BYtdwd6v.js +1 -0
  364. package/web-ui/build/static/j-ByZQN5E4.js +1 -0
  365. package/web-ui/build/static/java-BNtb6JWL.js +1 -0
  366. package/web-ui/build/static/java-CQZL3scW.js +1 -0
  367. package/web-ui/build/static/javadoc-BciMZ8jg.js +1 -0
  368. package/web-ui/build/static/javadoclike-07BOTXmy.js +1 -0
  369. package/web-ui/build/static/javascript-CViZlg1q.js +1 -0
  370. package/web-ui/build/static/javastacktrace-bWyAK0up.js +1 -0
  371. package/web-ui/build/static/jboss-cli-hz5boSGB.js +1 -0
  372. package/web-ui/build/static/jexl-DdIINSXT.js +1 -0
  373. package/web-ui/build/static/jolie-CQnDX-f0.js +1 -0
  374. package/web-ui/build/static/jq-BzhF0CHG.js +1 -0
  375. package/web-ui/build/static/js-extras-jizEtT14.js +1 -0
  376. package/web-ui/build/static/js-templates-Dr1BqLAt.js +1 -0
  377. package/web-ui/build/static/jsdoc-CI-GPi6r.js +1 -0
  378. package/web-ui/build/static/json-2eDPxnHO.js +1 -0
  379. package/web-ui/build/static/json-BBqUMOAQ.js +1 -0
  380. package/web-ui/build/static/json5-CeIoln-Y.js +1 -0
  381. package/web-ui/build/static/jsonp-DWe9tbr2.js +1 -0
  382. package/web-ui/build/static/jsstacktrace-aE-go9tq.js +1 -0
  383. package/web-ui/build/static/jsx-BTXEPQYI.js +1 -0
  384. package/web-ui/build/static/julia-4VeOirXa.js +1 -0
  385. package/web-ui/build/static/julia-Da6yHEfz.js +1 -0
  386. package/web-ui/build/static/julia-repl-CFrizGkE.js +1 -0
  387. package/web-ui/build/static/keepalived-39SDM4j5.js +1 -0
  388. package/web-ui/build/static/keyman-DU5yOLYr.js +1 -0
  389. package/web-ui/build/static/kotlin-DJoqh3HG.js +1 -0
  390. package/web-ui/build/static/kotlin-DsKd3r_L.js +1 -0
  391. package/web-ui/build/static/kumir-CO96hby4.js +1 -0
  392. package/web-ui/build/static/kusto-DyuMf8l-.js +1 -0
  393. package/web-ui/build/static/lasso-BiPmQTXQ.js +1 -0
  394. package/web-ui/build/static/latex-Bd1ef5fi.js +1 -0
  395. package/web-ui/build/static/latex-DUrYkmWb.js +1 -0
  396. package/web-ui/build/static/latte-BSD-hpi5.js +1 -0
  397. package/web-ui/build/static/ldif-1ZMSg0qI.js +1 -0
  398. package/web-ui/build/static/leaf-Cg0eq01F.js +1 -0
  399. package/web-ui/build/static/less-BKcd1_xh.js +1 -0
  400. package/web-ui/build/static/less-SB5bcusC.js +1 -0
  401. package/web-ui/build/static/lilypond-BX_kuAqT.js +1 -0
  402. package/web-ui/build/static/liquid-C337T5bt.js +1 -0
  403. package/web-ui/build/static/lisp-B_bJRelF.js +1 -0
  404. package/web-ui/build/static/lisp-Du04Vdmx.js +1 -0
  405. package/web-ui/build/static/livecodeserver-BOkA9fV6.js +1 -0
  406. package/web-ui/build/static/livescript-DkMTCCBM.js +1 -0
  407. package/web-ui/build/static/livescript-rTaLq5oP.js +1 -0
  408. package/web-ui/build/static/llvm-BrBlvl5p.js +1 -0
  409. package/web-ui/build/static/llvm-DQbygw7z.js +1 -0
  410. package/web-ui/build/static/log-DoAzOt8c.js +1 -0
  411. package/web-ui/build/static/lolcode-DnB7KhRR.js +1 -0
  412. package/web-ui/build/static/lsl-DpzE7F5A.js +1 -0
  413. package/web-ui/build/static/lua-CIceROsO.js +1 -0
  414. package/web-ui/build/static/lua-DhnvJuMn.js +1 -0
  415. package/web-ui/build/static/magma-BwjzpKxi.js +1 -0
  416. package/web-ui/build/static/makefile-D10Y62dl.js +1 -0
  417. package/web-ui/build/static/makefile-esgkquGi.js +1 -0
  418. package/web-ui/build/static/markdown-B-Y7Y0Nn.js +1 -0
  419. package/web-ui/build/static/markdown-Cv3Onm-Q.js +1 -0
  420. package/web-ui/build/static/markup-templating-B1-9WWYa.js +1 -0
  421. package/web-ui/build/static/mathematica-gSyKdw2h.js +1 -0
  422. package/web-ui/build/static/matlab-6i1uXuBx.js +1 -0
  423. package/web-ui/build/static/matlab-CqcSZ1d9.js +1 -0
  424. package/web-ui/build/static/maxima-Bc-OnIOQ.js +1 -0
  425. package/web-ui/build/static/maxscript-Bce44o6c.js +1 -0
  426. package/web-ui/build/static/mel-0Jk3y-vw.js +1 -0
  427. package/web-ui/build/static/mel-DmA_8WPg.js +1 -0
  428. package/web-ui/build/static/mercury-DNdP1u-O.js +1 -0
  429. package/web-ui/build/static/mermaid-DrLkSIIb.js +1 -0
  430. package/web-ui/build/static/mipsasm-BIQVs3Ff.js +1 -0
  431. package/web-ui/build/static/mizar-BD5ZD_Rk.js +1 -0
  432. package/web-ui/build/static/mizar-DThX8Mdy.js +1 -0
  433. package/web-ui/build/static/mojolicious-Bra-ClwJ.js +1 -0
  434. package/web-ui/build/static/mongodb-DirByEEg.js +1 -0
  435. package/web-ui/build/static/monkey-C-Pvu43G.js +1 -0
  436. package/web-ui/build/static/monkey-n4IFmaA7.js +1 -0
  437. package/web-ui/build/static/moonscript-B1DM34lp.js +1 -0
  438. package/web-ui/build/static/moonscript-B82JBytX.js +1 -0
  439. package/web-ui/build/static/n1ql-C46iq3Hh.js +1 -0
  440. package/web-ui/build/static/n1ql-DOs3gJQo.js +1 -0
  441. package/web-ui/build/static/n4js-CPYgal3G.js +1 -0
  442. package/web-ui/build/static/nand2tetris-hdl-BhlUIq7M.js +1 -0
  443. package/web-ui/build/static/naniscript-D1YZXYcf.js +1 -0
  444. package/web-ui/build/static/nasm-2-TtCBo4.js +1 -0
  445. package/web-ui/build/static/neon-BzoXMDea.js +1 -0
  446. package/web-ui/build/static/nevod-DW_87wHj.js +1 -0
  447. package/web-ui/build/static/nginx-BgieYUhk.js +1 -0
  448. package/web-ui/build/static/nginx-DW0RVJbs.js +1 -0
  449. package/web-ui/build/static/nim-BbTa7YZN.js +1 -0
  450. package/web-ui/build/static/nim-VdXk3QT9.js +1 -0
  451. package/web-ui/build/static/nix-3tNNprEI.js +1 -0
  452. package/web-ui/build/static/nix-BDghlfzh.js +1 -0
  453. package/web-ui/build/static/node-repl-BBLv3tyt.js +1 -0
  454. package/web-ui/build/static/nsis-DxjfnSO8.js +1 -0
  455. package/web-ui/build/static/nsis-FY5xiiar.js +1 -0
  456. package/web-ui/build/static/objectivec-CXhf_sp_.js +1 -0
  457. package/web-ui/build/static/objectivec-DcRKjWcd.js +1 -0
  458. package/web-ui/build/static/ocaml-BLRL6Zro.js +1 -0
  459. package/web-ui/build/static/ocaml-C4S4QQtS.js +1 -0
  460. package/web-ui/build/static/opencl-ruEAYetM.js +1 -0
  461. package/web-ui/build/static/openqasm-D6r_FwIh.js +1 -0
  462. package/web-ui/build/static/openscad-BEPjoj_N.js +1 -0
  463. package/web-ui/build/static/oxygene-A61yc5Or.js +1 -0
  464. package/web-ui/build/static/oz-DICidCTs.js +1 -0
  465. package/web-ui/build/static/parigp-MjTNwy2s.js +1 -0
  466. package/web-ui/build/static/parser-DmI7lg_r.js +1 -0
  467. package/web-ui/build/static/parser3-Bv9kXAib.js +1 -0
  468. package/web-ui/build/static/pascal-B23PBLTj.js +1 -0
  469. package/web-ui/build/static/pascaligo-CPIJtX2C.js +1 -0
  470. package/web-ui/build/static/pcaxis-Bsj_6x8j.js +1 -0
  471. package/web-ui/build/static/peoplecode-VvQbMjsD.js +1 -0
  472. package/web-ui/build/static/perl-Cr6Y9-hl.js +1 -0
  473. package/web-ui/build/static/perl-D37oTJip.js +1 -0
  474. package/web-ui/build/static/pf-BKHaWcGm.js +1 -0
  475. package/web-ui/build/static/pgsql-ChusgWw2.js +1 -0
  476. package/web-ui/build/static/php-3Qr4hNV1.js +1 -0
  477. package/web-ui/build/static/php-CgxeEh4Y.js +1 -0
  478. package/web-ui/build/static/php-extras-DeLqwT6H.js +1 -0
  479. package/web-ui/build/static/php-template-DcOJxuIf.js +1 -0
  480. package/web-ui/build/static/phpdoc-amFph5Ax.js +1 -0
  481. package/web-ui/build/static/plaintext-mqBcO1hG.js +1 -0
  482. package/web-ui/build/static/plsql-ioyqfxP7.js +1 -0
  483. package/web-ui/build/static/pony-nxjy8Qot.js +1 -0
  484. package/web-ui/build/static/powerquery-Ci_Fxyg8.js +1 -0
  485. package/web-ui/build/static/powershell-CB_GgRqr.js +1 -0
  486. package/web-ui/build/static/powershell-au4fYIm7.js +1 -0
  487. package/web-ui/build/static/processing-Bkd3f-Wz.js +1 -0
  488. package/web-ui/build/static/processing-PgCPZm30.js +1 -0
  489. package/web-ui/build/static/profile-C2GBY6C9.js +1 -0
  490. package/web-ui/build/static/prolog-BRjYwjIO.js +1 -0
  491. package/web-ui/build/static/prolog-BheGlH8Q.js +1 -0
  492. package/web-ui/build/static/promql-CtCmTKys.js +1 -0
  493. package/web-ui/build/static/properties-BpLqVZha.js +1 -0
  494. package/web-ui/build/static/properties-UQxavHUY.js +1 -0
  495. package/web-ui/build/static/protobuf-BSuul6Uw.js +1 -0
  496. package/web-ui/build/static/protobuf-CLRi8VTE.js +1 -0
  497. package/web-ui/build/static/psl-CJsJilqO.js +1 -0
  498. package/web-ui/build/static/pug-5BY6sdv1.js +1 -0
  499. package/web-ui/build/static/puppet-DBg45gHV.js +1 -0
  500. package/web-ui/build/static/puppet-DPANCbOj.js +1 -0
  501. package/web-ui/build/static/pure-Cn4p-7Bj.js +1 -0
  502. package/web-ui/build/static/purebasic-CoXbIzZJ.js +1 -0
  503. package/web-ui/build/static/purebasic-DZ_eLoUV.js +1 -0
  504. package/web-ui/build/static/purescript-B98GoUb_.js +1 -0
  505. package/web-ui/build/static/python-B-Lm1OME.js +1 -0
  506. package/web-ui/build/static/python-C_ApFGS1.js +1 -0
  507. package/web-ui/build/static/python-repl-CJW5_RON.js +1 -0
  508. package/web-ui/build/static/q-BB2BYhxG.js +1 -0
  509. package/web-ui/build/static/q-DVqo_ScG.js +1 -0
  510. package/web-ui/build/static/qml-Co-8g096.js +1 -0
  511. package/web-ui/build/static/qml-Du0WFcoy.js +1 -0
  512. package/web-ui/build/static/qore-C6XBzy3U.js +1 -0
  513. package/web-ui/build/static/qsharp-BCMklAuq.js +1 -0
  514. package/web-ui/build/static/r-B5CGUQwN.js +1 -0
  515. package/web-ui/build/static/r-Dxhot-za.js +1 -0
  516. package/web-ui/build/static/racket-C0dCdrKh.js +1 -0
  517. package/web-ui/build/static/reason-DGJ1fFJs.js +1 -0
  518. package/web-ui/build/static/reasonml-gt_AvBg7.js +1 -0
  519. package/web-ui/build/static/regex-B5iNH8MZ.js +1 -0
  520. package/web-ui/build/static/rego-hfPajYet.js +1 -0
  521. package/web-ui/build/static/renpy-BkG5aM4I.js +1 -0
  522. package/web-ui/build/static/rest-C4uwtrF8.js +1 -0
  523. package/web-ui/build/static/rib-D32ew8Y7.js +1 -0
  524. package/web-ui/build/static/rip-BIEbWzxe.js +1 -0
  525. package/web-ui/build/static/roboconf-CMN8BoHf.js +1 -0
  526. package/web-ui/build/static/roboconf-GVMh3ioj.js +1 -0
  527. package/web-ui/build/static/robotframework-CUQybJQ9.js +1 -0
  528. package/web-ui/build/static/routeros-DUEdLmuc.js +1 -0
  529. package/web-ui/build/static/rsl-BsAePIwQ.js +1 -0
  530. package/web-ui/build/static/ruby-CZMMjJFw.js +1 -0
  531. package/web-ui/build/static/ruby-WOVZyoXO.js +1 -0
  532. package/web-ui/build/static/ruleslanguage-xV-HszUl.js +1 -0
  533. package/web-ui/build/static/rust-Da9GRxLz.js +1 -0
  534. package/web-ui/build/static/rust-uCND428m.js +1 -0
  535. package/web-ui/build/static/sas-BW15NPzf.js +1 -0
  536. package/web-ui/build/static/sas-DCx9gext.js +1 -0
  537. package/web-ui/build/static/sass-BMD7eETo.js +1 -0
  538. package/web-ui/build/static/scala-0wnxLTlF.js +1 -0
  539. package/web-ui/build/static/scala-D3Hk-q5-.js +1 -0
  540. package/web-ui/build/static/scheme-Ci9QOUcD.js +1 -0
  541. package/web-ui/build/static/scheme-CtqjB_HN.js +1 -0
  542. package/web-ui/build/static/scilab-CnITQd23.js +1 -0
  543. package/web-ui/build/static/scss-DCceV6xw.js +1 -0
  544. package/web-ui/build/static/scss-N5EuPQOS.js +1 -0
  545. package/web-ui/build/static/shell-BegJTton.js +1 -0
  546. package/web-ui/build/static/shell-session-BHBoosfJ.js +1 -0
  547. package/web-ui/build/static/smali-CoHePNQf.js +1 -0
  548. package/web-ui/build/static/smali-D64W1f0Y.js +1 -0
  549. package/web-ui/build/static/smalltalk-CagI-Ky8.js +1 -0
  550. package/web-ui/build/static/smalltalk-DHLuWDjp.js +1 -0
  551. package/web-ui/build/static/smarty-CSS2XBuu.js +1 -0
  552. package/web-ui/build/static/sml-D8Oyp9xr.js +1 -0
  553. package/web-ui/build/static/sml-DvC_VDmX.js +1 -0
  554. package/web-ui/build/static/solidity-DVkeulrL.js +1 -0
  555. package/web-ui/build/static/solution-file-Bd7qWzoo.js +1 -0
  556. package/web-ui/build/static/soy-BRSlVWf7.js +1 -0
  557. package/web-ui/build/static/sparql-DNnCQmqM.js +1 -0
  558. package/web-ui/build/static/splunk-spl-DXCDUv2Y.js +1 -0
  559. package/web-ui/build/static/sqf-C_IKzP5b.js +1 -0
  560. package/web-ui/build/static/sqf-DBqlUGoG.js +1 -0
  561. package/web-ui/build/static/sql-Dt3ZutCc.js +1 -0
  562. package/web-ui/build/static/sql-q0UMLqb7.js +1 -0
  563. package/web-ui/build/static/sql_more-DAuY5p3F.js +1 -0
  564. package/web-ui/build/static/squirrel-CgQZeaNT.js +1 -0
  565. package/web-ui/build/static/stan-D5kYsid7.js +1 -0
  566. package/web-ui/build/static/stan-JSHToKMA.js +1 -0
  567. package/web-ui/build/static/stata-DRVhVjVb.js +1 -0
  568. package/web-ui/build/static/step21-C7h5ssgs.js +1 -0
  569. package/web-ui/build/static/stylus-BXIDNFUe.js +1 -0
  570. package/web-ui/build/static/stylus-CyMBrStz.js +1 -0
  571. package/web-ui/build/static/subunit-Lbpuvy4t.js +1 -0
  572. package/web-ui/build/static/swift-BCxWOc8n.js +1 -0
  573. package/web-ui/build/static/swift-B_YEL6eF.js +1 -0
  574. package/web-ui/build/static/systemd-_zWfs8U5.js +1 -0
  575. package/web-ui/build/static/t4-cs-BCiVX6dp.js +1 -0
  576. package/web-ui/build/static/t4-templating-CDm61rWh.js +1 -0
  577. package/web-ui/build/static/t4-vb-OO2oZZrL.js +1 -0
  578. package/web-ui/build/static/taggerscript-CkXxiITO.js +1 -0
  579. package/web-ui/build/static/tap-C612JPhJ.js +1 -0
  580. package/web-ui/build/static/tap-J-zR66jL.js +1 -0
  581. package/web-ui/build/static/tcl-DIGan5K8.js +1 -0
  582. package/web-ui/build/static/tcl-SFVWFwbb.js +1 -0
  583. package/web-ui/build/static/textile-D0WxA5g8.js +1 -0
  584. package/web-ui/build/static/thrift-jboo4tJl.js +1 -0
  585. package/web-ui/build/static/toml-DIK32ROb.js +1 -0
  586. package/web-ui/build/static/tp-Bhs1iGD3.js +1 -0
  587. package/web-ui/build/static/tremor-4d_juLiN.js +1 -0
  588. package/web-ui/build/static/tsx-hEN3qQzd.js +1 -0
  589. package/web-ui/build/static/tt2-WU6EuPNO.js +1 -0
  590. package/web-ui/build/static/turtle-CUM3xwNI.js +1 -0
  591. package/web-ui/build/static/twig-B9JwTKv9.js +1 -0
  592. package/web-ui/build/static/twig-Crv6BtK7.js +1 -0
  593. package/web-ui/build/static/typescript-BmabW_ur.js +1 -0
  594. package/web-ui/build/static/typescript-oMKx2dph.js +1 -0
  595. package/web-ui/build/static/typoscript-X48MNTeK.js +1 -0
  596. package/web-ui/build/static/unrealscript-qnu9Ogmz.js +1 -0
  597. package/web-ui/build/static/uorazor-BicTvjGt.js +1 -0
  598. package/web-ui/build/static/uri-CyRoMB-u.js +1 -0
  599. package/web-ui/build/static/v-BDM6ZJR7.js +1 -0
  600. package/web-ui/build/static/vala-BWCf7DTx.js +1 -0
  601. package/web-ui/build/static/vala-COL5roWV.js +1 -0
  602. package/web-ui/build/static/vbnet-BHPgkiip.js +1 -0
  603. package/web-ui/build/static/vbnet-BadWmTKs.js +1 -0
  604. package/web-ui/build/static/vbscript-BfUpIAaV.js +1 -0
  605. package/web-ui/build/static/vbscript-html-BBR6zcvV.js +1 -0
  606. package/web-ui/build/static/velocity-k4gGPuiP.js +1 -0
  607. package/web-ui/build/static/verilog-BoNroxW8.js +1 -0
  608. package/web-ui/build/static/verilog-C7cplLIi.js +1 -0
  609. package/web-ui/build/static/vhdl-BrKkx69g.js +1 -0
  610. package/web-ui/build/static/vhdl-CWacsAXR.js +1 -0
  611. package/web-ui/build/static/vim-BcdueaEC.js +1 -0
  612. package/web-ui/build/static/vim-BwsUolG_.js +1 -0
  613. package/web-ui/build/static/visual-basic-DTXlX5HN.js +1 -0
  614. package/web-ui/build/static/warpscript-2w0_2KsB.js +1 -0
  615. package/web-ui/build/static/wasm-BPaXQO-A.js +1 -0
  616. package/web-ui/build/static/web-idl-BoCTFQod.js +1 -0
  617. package/web-ui/build/static/wiki-BkkCi9wm.js +1 -0
  618. package/web-ui/build/static/wolfram-CvRNTaAX.js +1 -0
  619. package/web-ui/build/static/wren-Bz8Smtz-.js +1 -0
  620. package/web-ui/build/static/x86asm-BM83B0N_.js +1 -0
  621. package/web-ui/build/static/xeora-BjuDukl7.js +1 -0
  622. package/web-ui/build/static/xl-ByiuKWwm.js +1 -0
  623. package/web-ui/build/static/xml-Dut2p53G.js +1 -0
  624. package/web-ui/build/static/xml-doc-CxgwiuaA.js +1 -0
  625. package/web-ui/build/static/xojo-CBqUB8JI.js +1 -0
  626. package/web-ui/build/static/xquery-D-agM4jx.js +1 -0
  627. package/web-ui/build/static/xquery-DL_eetrQ.js +1 -0
  628. package/web-ui/build/static/yaml-DZ7HVZSe.js +1 -0
  629. package/web-ui/build/static/yaml-DatJAv7_.js +1 -0
  630. package/web-ui/build/static/yang-D0nrKE-r.js +1 -0
  631. package/web-ui/build/static/zephir--M2g15-k.js +1 -0
  632. package/web-ui/build/static/zig-CK6rUH8E.js +1 -0
  633. package/web-ui/build/static/1c-DGpIT7i5.js +0 -1
  634. package/web-ui/build/static/abap-5wFDdWLh.js +0 -1
  635. package/web-ui/build/static/abnf-BP1dpNSE.js +0 -1
  636. package/web-ui/build/static/abnf-DBEIAl8g.js +0 -1
  637. package/web-ui/build/static/accesslog-CWSM_T5E.js +0 -1
  638. package/web-ui/build/static/actionscript-DONkco1J.js +0 -1
  639. package/web-ui/build/static/actionscript-FqBYk5er.js +0 -1
  640. package/web-ui/build/static/ada-C2JLRIaM.js +0 -1
  641. package/web-ui/build/static/ada-gKiygTRK.js +0 -1
  642. package/web-ui/build/static/agda-CkSODqK2.js +0 -1
  643. package/web-ui/build/static/al-BJ_YR6p7.js +0 -1
  644. package/web-ui/build/static/angelscript-Dg2byMGg.js +0 -1
  645. package/web-ui/build/static/antlr4-BnpyaFNr.js +0 -1
  646. package/web-ui/build/static/apache-Dffxsd7O.js +0 -1
  647. package/web-ui/build/static/apacheconf-DLitjtWj.js +0 -1
  648. package/web-ui/build/static/apex-Drr_IvU2.js +0 -1
  649. package/web-ui/build/static/apl-CF6qxmXG.js +0 -1
  650. package/web-ui/build/static/applescript-CjOlw3b_.js +0 -1
  651. package/web-ui/build/static/applescript-DjkSl1Ry.js +0 -1
  652. package/web-ui/build/static/aql-KwVmK1gP.js +0 -1
  653. package/web-ui/build/static/arcade-CENSXx0R.js +0 -1
  654. package/web-ui/build/static/arduino-B3Ta9Fll.js +0 -1
  655. package/web-ui/build/static/arduino-CzcsaB9_.js +0 -1
  656. package/web-ui/build/static/arff-CMJSVt_O.js +0 -1
  657. package/web-ui/build/static/armasm-0zSgSPB4.js +0 -1
  658. package/web-ui/build/static/asciidoc-B8K5ctWq.js +0 -1
  659. package/web-ui/build/static/asciidoc-bk2Sg6b6.js +0 -1
  660. package/web-ui/build/static/asm6502-ji6zm4FQ.js +0 -1
  661. package/web-ui/build/static/asmatmel-DJqObM4Y.js +0 -1
  662. package/web-ui/build/static/aspectj-DqQKI7J5.js +0 -1
  663. package/web-ui/build/static/aspnet-9cenTxW7.js +0 -1
  664. package/web-ui/build/static/autohotkey-C6EhiZvl.js +0 -1
  665. package/web-ui/build/static/autohotkey-sTGJOvMM.js +0 -1
  666. package/web-ui/build/static/autoit-B0Im8iQ1.js +0 -1
  667. package/web-ui/build/static/autoit-CO6pUD0H.js +0 -1
  668. package/web-ui/build/static/avisynth-OvOHTfj5.js +0 -1
  669. package/web-ui/build/static/avrasm-BLWZ5Mye.js +0 -1
  670. package/web-ui/build/static/avro-idl-BB2ODvnw.js +0 -1
  671. package/web-ui/build/static/awk-_jhMabQ0.js +0 -1
  672. package/web-ui/build/static/axapta-DdBRgoYy.js +0 -1
  673. package/web-ui/build/static/bash-CsaRGXBQ.js +0 -1
  674. package/web-ui/build/static/bash-CxLFkwAC.js +0 -1
  675. package/web-ui/build/static/basic-BJyy7JJE.js +0 -1
  676. package/web-ui/build/static/basic-CrMb-gv0.js +0 -1
  677. package/web-ui/build/static/batch-BvcykMe5.js +0 -1
  678. package/web-ui/build/static/bbcode-EOBuY5Y6.js +0 -1
  679. package/web-ui/build/static/bicep-QkDJBA34.js +0 -1
  680. package/web-ui/build/static/birb-TAOxKurn.js +0 -1
  681. package/web-ui/build/static/bison-BEK6cnad.js +0 -1
  682. package/web-ui/build/static/bnf-DfEODxsr.js +0 -1
  683. package/web-ui/build/static/bnf-DhbMjsuA.js +0 -1
  684. package/web-ui/build/static/brainfuck-BoVocOa7.js +0 -1
  685. package/web-ui/build/static/brainfuck-DDC5QXPK.js +0 -1
  686. package/web-ui/build/static/brightscript-DNN598w2.js +0 -1
  687. package/web-ui/build/static/bro-Cn_jjZ8P.js +0 -1
  688. package/web-ui/build/static/bsl-CMCN75Gu.js +0 -1
  689. package/web-ui/build/static/c-DbOGQnEJ.js +0 -1
  690. package/web-ui/build/static/c-kggwYFsy.js +0 -1
  691. package/web-ui/build/static/c-like-BIsuUvof.js +0 -1
  692. package/web-ui/build/static/cal-DpgMsBZE.js +0 -1
  693. package/web-ui/build/static/capnproto-C1AHYI-M.js +0 -1
  694. package/web-ui/build/static/ceylon-pvJffDe1.js +0 -1
  695. package/web-ui/build/static/cfscript-C1qylu52.js +0 -1
  696. package/web-ui/build/static/chaiscript-D417WKRI.js +0 -1
  697. package/web-ui/build/static/cil-CjbZHbcY.js +0 -1
  698. package/web-ui/build/static/clean-Dvc6R-F2.js +0 -1
  699. package/web-ui/build/static/clojure-CSVRQPMQ.js +0 -1
  700. package/web-ui/build/static/clojure-ig1Vkg7X.js +0 -1
  701. package/web-ui/build/static/clojure-repl-C1uyEabk.js +0 -1
  702. package/web-ui/build/static/cmake-DSbVcAB3.js +0 -1
  703. package/web-ui/build/static/cmake-Zp8kPwnH.js +0 -1
  704. package/web-ui/build/static/cobol-OsZSiK_P.js +0 -1
  705. package/web-ui/build/static/coffeescript-D8r0416S.js +0 -1
  706. package/web-ui/build/static/coffeescript-DCpgClxh.js +0 -1
  707. package/web-ui/build/static/concurnas-DKnsxUOc.js +0 -1
  708. package/web-ui/build/static/coq-BQFlywVI.js +0 -1
  709. package/web-ui/build/static/coq-BvS9mQB2.js +0 -1
  710. package/web-ui/build/static/cos-D3ze2791.js +0 -1
  711. package/web-ui/build/static/cpp-Bw-cV3P1.js +0 -1
  712. package/web-ui/build/static/cpp-vi1p7XpB.js +0 -1
  713. package/web-ui/build/static/crmsh-BClnJTeQ.js +0 -1
  714. package/web-ui/build/static/crystal-DGzOUYZq.js +0 -1
  715. package/web-ui/build/static/crystal-DMzk6EvA.js +0 -1
  716. package/web-ui/build/static/csharp-BTom8s2X.js +0 -1
  717. package/web-ui/build/static/csharp-Cp2V3jfR.js +0 -1
  718. package/web-ui/build/static/cshtml-Dmtt9Kto.js +0 -1
  719. package/web-ui/build/static/csp-WPVsLe9_.js +0 -1
  720. package/web-ui/build/static/csp-qddj5fu_.js +0 -1
  721. package/web-ui/build/static/css-B0FAm7kj.js +0 -1
  722. package/web-ui/build/static/css-extras-Bx3pvjiG.js +0 -1
  723. package/web-ui/build/static/csv-CH-edgS5.js +0 -1
  724. package/web-ui/build/static/cypher-c3G8Leew.js +0 -1
  725. package/web-ui/build/static/d-BMDSy22_.js +0 -1
  726. package/web-ui/build/static/d-BdH4oW8-.js +0 -1
  727. package/web-ui/build/static/dart-C-r72q-O.js +0 -1
  728. package/web-ui/build/static/dart-CwpBMrKa.js +0 -1
  729. package/web-ui/build/static/dataweave-BPvqdt4k.js +0 -1
  730. package/web-ui/build/static/dax-Eyy6ixcN.js +0 -1
  731. package/web-ui/build/static/delphi-DhEbPj_5.js +0 -1
  732. package/web-ui/build/static/dhall-Ct1L8sN1.js +0 -1
  733. package/web-ui/build/static/diff-CSTqCgwn.js +0 -1
  734. package/web-ui/build/static/diff-Da97B5vW.js +0 -1
  735. package/web-ui/build/static/django-DGit_lCg.js +0 -1
  736. package/web-ui/build/static/django-DPgqFB8k.js +0 -1
  737. package/web-ui/build/static/dns-DUyXuZ-a.js +0 -1
  738. package/web-ui/build/static/dns-zone-file-D79MDxVG.js +0 -1
  739. package/web-ui/build/static/docker-DTiy4o38.js +0 -1
  740. package/web-ui/build/static/dockerfile-CvwPP8wE.js +0 -1
  741. package/web-ui/build/static/dos-CaIUWxvb.js +0 -1
  742. package/web-ui/build/static/dot-D3504w6Y.js +0 -1
  743. package/web-ui/build/static/dsconfig-Smy1eeX_.js +0 -1
  744. package/web-ui/build/static/dts-DyTYSXZj.js +0 -1
  745. package/web-ui/build/static/dust-CrJyi6qA.js +0 -1
  746. package/web-ui/build/static/ebnf-C8nqfkBH.js +0 -1
  747. package/web-ui/build/static/ebnf-Cuh5Vh2-.js +0 -1
  748. package/web-ui/build/static/editorconfig-C7pTGl6n.js +0 -1
  749. package/web-ui/build/static/eiffel-C75MSJCA.js +0 -1
  750. package/web-ui/build/static/ejs-Dyo7DF5w.js +0 -1
  751. package/web-ui/build/static/elixir-D4yJefOc.js +0 -1
  752. package/web-ui/build/static/elixir-DKRow2SJ.js +0 -1
  753. package/web-ui/build/static/elm-CgbdDlkT.js +0 -1
  754. package/web-ui/build/static/elm-D3N-UgU0.js +0 -1
  755. package/web-ui/build/static/erb-BsITh8qW.js +0 -1
  756. package/web-ui/build/static/erb-lY_LyKyS.js +0 -1
  757. package/web-ui/build/static/erlang-BCnPiYmB.js +0 -1
  758. package/web-ui/build/static/erlang-JEghiPXc.js +0 -1
  759. package/web-ui/build/static/erlang-repl-DzU97ugC.js +0 -1
  760. package/web-ui/build/static/etlua-CsBo8cJa.js +0 -1
  761. package/web-ui/build/static/excel-formula-C2piiCYa.js +0 -1
  762. package/web-ui/build/static/excel-kqNypwQD.js +0 -1
  763. package/web-ui/build/static/factor-DZTOhkyU.js +0 -1
  764. package/web-ui/build/static/false-yLjhfaSw.js +0 -1
  765. package/web-ui/build/static/firestore-security-rules-oaQNoH8l.js +0 -1
  766. package/web-ui/build/static/fix-C9IfnTuS.js +0 -1
  767. package/web-ui/build/static/flix-EmJ_JhPo.js +0 -1
  768. package/web-ui/build/static/flow-DCUl7IAQ.js +0 -1
  769. package/web-ui/build/static/fortran-DvyxJmFN.js +0 -1
  770. package/web-ui/build/static/fortran-EEP9R3S5.js +0 -1
  771. package/web-ui/build/static/fsharp-D_98s3RX.js +0 -1
  772. package/web-ui/build/static/fsharp-Dt9jOO5G.js +0 -1
  773. package/web-ui/build/static/ftl-C8gMHWLo.js +0 -1
  774. package/web-ui/build/static/gams-BHxVPb4z.js +0 -1
  775. package/web-ui/build/static/gap-DFtyHk-q.js +0 -1
  776. package/web-ui/build/static/gauss-BwhJWUcg.js +0 -1
  777. package/web-ui/build/static/gcode-BvmXwp09.js +0 -1
  778. package/web-ui/build/static/gcode-gWcD6Vc7.js +0 -1
  779. package/web-ui/build/static/gdscript-btHoX8RE.js +0 -1
  780. package/web-ui/build/static/gedcom-MgPs9iqh.js +0 -1
  781. package/web-ui/build/static/gherkin-B9c_Q16A.js +0 -1
  782. package/web-ui/build/static/gherkin-BvOgkK6h.js +0 -1
  783. package/web-ui/build/static/git-D9XWOVcQ.js +0 -1
  784. package/web-ui/build/static/glsl-CshBHxHY.js +0 -1
  785. package/web-ui/build/static/glsl-fNRUMTDr.js +0 -1
  786. package/web-ui/build/static/gml-B78deHK8.js +0 -1
  787. package/web-ui/build/static/gml-Cj7d2u8O.js +0 -1
  788. package/web-ui/build/static/gn-CJLD-mF1.js +0 -1
  789. package/web-ui/build/static/go-CT93BEkL.js +0 -1
  790. package/web-ui/build/static/go-CTTlNuQO.js +0 -1
  791. package/web-ui/build/static/go-module-BgnXboUE.js +0 -1
  792. package/web-ui/build/static/golo-2S5tXS-l.js +0 -1
  793. package/web-ui/build/static/gradle-8W8DCcWJ.js +0 -1
  794. package/web-ui/build/static/graphql-DZfp6FNU.js +0 -1
  795. package/web-ui/build/static/groovy-BfsyMb3X.js +0 -1
  796. package/web-ui/build/static/groovy-Dxov7ENz.js +0 -1
  797. package/web-ui/build/static/haml-BlUFsdVV.js +0 -1
  798. package/web-ui/build/static/haml-CjVj6vvW.js +0 -1
  799. package/web-ui/build/static/handlebars-DxrQFkyA.js +0 -1
  800. package/web-ui/build/static/handlebars-FE6fotYl.js +0 -1
  801. package/web-ui/build/static/haskell-B6z0RCD_.js +0 -1
  802. package/web-ui/build/static/haskell-JBFmJTRy.js +0 -1
  803. package/web-ui/build/static/haxe-BtMZMi-_.js +0 -1
  804. package/web-ui/build/static/haxe-C1J8n-fH.js +0 -1
  805. package/web-ui/build/static/hcl-DJP-bFWE.js +0 -1
  806. package/web-ui/build/static/hlsl-DrGjhs1b.js +0 -1
  807. package/web-ui/build/static/hoon-Cg-ZhqIT.js +0 -1
  808. package/web-ui/build/static/hpkp-D07vgmoZ.js +0 -1
  809. package/web-ui/build/static/hsp-CsypPWoA.js +0 -1
  810. package/web-ui/build/static/hsts-B6DMRxvP.js +0 -1
  811. package/web-ui/build/static/htmlbars-BI7_Hw4e.js +0 -1
  812. package/web-ui/build/static/http-90ihEi4s.js +0 -1
  813. package/web-ui/build/static/http-Dp4QXj9E.js +0 -1
  814. package/web-ui/build/static/hy-BMgKvP4K.js +0 -1
  815. package/web-ui/build/static/ichigojam-D6wKvJDb.js +0 -1
  816. package/web-ui/build/static/icon-CrgkmCwl.js +0 -1
  817. package/web-ui/build/static/icu-message-format-Bi2JxCXs.js +0 -1
  818. package/web-ui/build/static/idris-DbUsyZt5.js +0 -1
  819. package/web-ui/build/static/iecst-CQZ9t8fW.js +0 -1
  820. package/web-ui/build/static/ignore-BaFgtNMs.js +0 -1
  821. package/web-ui/build/static/index-DEWSWosh.css +0 -1
  822. package/web-ui/build/static/index-Di1bjCFA.js +0 -13
  823. package/web-ui/build/static/index-otR_WSsL.js +0 -1
  824. package/web-ui/build/static/index-whZPU4as.js +0 -1183
  825. package/web-ui/build/static/inform7-ClyX1Gro.js +0 -1
  826. package/web-ui/build/static/inform7-tZHBS5XP.js +0 -1
  827. package/web-ui/build/static/ini-BrP5JNYL.js +0 -1
  828. package/web-ui/build/static/ini-CVkrAhwV.js +0 -1
  829. package/web-ui/build/static/io-BJ1Y6Bdc.js +0 -1
  830. package/web-ui/build/static/irpf90-fjjcKS_8.js +0 -1
  831. package/web-ui/build/static/isbl-ClpvfUIz.js +0 -1
  832. package/web-ui/build/static/j-CICW77xS.js +0 -1
  833. package/web-ui/build/static/java-B9DFK-0E.js +0 -1
  834. package/web-ui/build/static/java-BL_6rYko.js +0 -1
  835. package/web-ui/build/static/javadoc-Cc4HKpKK.js +0 -1
  836. package/web-ui/build/static/javadoclike-CgNkUDOm.js +0 -1
  837. package/web-ui/build/static/javascript-CM40ZECq.js +0 -1
  838. package/web-ui/build/static/javastacktrace-BHSqXfG5.js +0 -1
  839. package/web-ui/build/static/jboss-cli-Bv5NhVSZ.js +0 -1
  840. package/web-ui/build/static/jexl--Ohk_keA.js +0 -1
  841. package/web-ui/build/static/jolie-DMTN5Vdf.js +0 -1
  842. package/web-ui/build/static/jq-nXRLldXX.js +0 -1
  843. package/web-ui/build/static/js-extras-eLwv3frs.js +0 -1
  844. package/web-ui/build/static/js-templates-Ca0owlrg.js +0 -1
  845. package/web-ui/build/static/jsdoc-KERXp0da.js +0 -1
  846. package/web-ui/build/static/json-BTjLaRsy.js +0 -1
  847. package/web-ui/build/static/json-p7pU0qdW.js +0 -1
  848. package/web-ui/build/static/json5-Cxjy1udc.js +0 -1
  849. package/web-ui/build/static/jsonp-CO52H7Gy.js +0 -1
  850. package/web-ui/build/static/jsstacktrace-8YKfoyJP.js +0 -1
  851. package/web-ui/build/static/jsx-Ct_05KbM.js +0 -1
  852. package/web-ui/build/static/julia-23I1ubCE.js +0 -1
  853. package/web-ui/build/static/julia-d8rVGed_.js +0 -1
  854. package/web-ui/build/static/julia-repl-mwnHedW_.js +0 -1
  855. package/web-ui/build/static/keepalived-E85Rx_fF.js +0 -1
  856. package/web-ui/build/static/keyman-aWd3QUDq.js +0 -1
  857. package/web-ui/build/static/kotlin-Cu370hQq.js +0 -1
  858. package/web-ui/build/static/kotlin-DoJ2WnmZ.js +0 -1
  859. package/web-ui/build/static/kumir-oiOgqcQO.js +0 -1
  860. package/web-ui/build/static/kusto-Bp-B02K5.js +0 -1
  861. package/web-ui/build/static/lasso-BxoQVwOO.js +0 -1
  862. package/web-ui/build/static/latex-CANm5vsX.js +0 -1
  863. package/web-ui/build/static/latex-PMroeNch.js +0 -1
  864. package/web-ui/build/static/latte-2ErU_2XF.js +0 -1
  865. package/web-ui/build/static/ldif-ChPn_F7o.js +0 -1
  866. package/web-ui/build/static/leaf-UkCugDgG.js +0 -1
  867. package/web-ui/build/static/less-CCH5RA89.js +0 -1
  868. package/web-ui/build/static/less-CGZbVU1g.js +0 -1
  869. package/web-ui/build/static/lilypond-BoyM37sv.js +0 -1
  870. package/web-ui/build/static/liquid-DGJVpRBi.js +0 -1
  871. package/web-ui/build/static/lisp-93nne61u.js +0 -1
  872. package/web-ui/build/static/lisp-DYjIRsXz.js +0 -1
  873. package/web-ui/build/static/livecodeserver-CfNaxIE4.js +0 -1
  874. package/web-ui/build/static/livescript-C8kDlQkz.js +0 -1
  875. package/web-ui/build/static/livescript-CoarnRHq.js +0 -1
  876. package/web-ui/build/static/llvm-CBVyNmAh.js +0 -1
  877. package/web-ui/build/static/llvm-DGxq8a7u.js +0 -1
  878. package/web-ui/build/static/log-BivgwFql.js +0 -1
  879. package/web-ui/build/static/lolcode-l5sK2cZz.js +0 -1
  880. package/web-ui/build/static/lsl-Xm44xLRQ.js +0 -1
  881. package/web-ui/build/static/lua-CGvrzfKp.js +0 -1
  882. package/web-ui/build/static/lua-nHwXeY4c.js +0 -1
  883. package/web-ui/build/static/magma-DmNItmna.js +0 -1
  884. package/web-ui/build/static/makefile-CKJNNHGb.js +0 -1
  885. package/web-ui/build/static/makefile-DI6y5Qml.js +0 -1
  886. package/web-ui/build/static/markdown-BgpbxKd-.js +0 -1
  887. package/web-ui/build/static/markdown-CvcxA4yk.js +0 -1
  888. package/web-ui/build/static/markup-templating-DijqesiA.js +0 -1
  889. package/web-ui/build/static/mathematica-Cxll1Q10.js +0 -1
  890. package/web-ui/build/static/matlab-BJo2T1A-.js +0 -1
  891. package/web-ui/build/static/matlab-C6DlZX4l.js +0 -1
  892. package/web-ui/build/static/maxima-DJXO4sbL.js +0 -1
  893. package/web-ui/build/static/maxscript-DdLpUYBs.js +0 -1
  894. package/web-ui/build/static/mel-BIpfnSyZ.js +0 -1
  895. package/web-ui/build/static/mel-BYcTUZJW.js +0 -1
  896. package/web-ui/build/static/mercury-C_LSpbD8.js +0 -1
  897. package/web-ui/build/static/mermaid-D9yBWnrT.js +0 -1
  898. package/web-ui/build/static/mipsasm-nR_K2Ue-.js +0 -1
  899. package/web-ui/build/static/mizar-BeLUPncD.js +0 -1
  900. package/web-ui/build/static/mizar-BesIbZd9.js +0 -1
  901. package/web-ui/build/static/mojolicious-cBx3OWa-.js +0 -1
  902. package/web-ui/build/static/mongodb-DTWKy9ac.js +0 -1
  903. package/web-ui/build/static/monkey-B72bZC3c.js +0 -1
  904. package/web-ui/build/static/monkey-G9XELYPQ.js +0 -1
  905. package/web-ui/build/static/moonscript-BXYVQiqj.js +0 -1
  906. package/web-ui/build/static/moonscript-sDd-5knz.js +0 -1
  907. package/web-ui/build/static/n1ql-0vKSfFAO.js +0 -1
  908. package/web-ui/build/static/n1ql-C9_BSZfz.js +0 -1
  909. package/web-ui/build/static/n4js-B7Ct8dds.js +0 -1
  910. package/web-ui/build/static/nand2tetris-hdl-p9gpphTM.js +0 -1
  911. package/web-ui/build/static/naniscript-6ZVr8Aug.js +0 -1
  912. package/web-ui/build/static/nasm-Ca73yTUt.js +0 -1
  913. package/web-ui/build/static/neon-DNP49oyX.js +0 -1
  914. package/web-ui/build/static/nevod-Qhgt7Bce.js +0 -1
  915. package/web-ui/build/static/nginx-D5e7lu62.js +0 -1
  916. package/web-ui/build/static/nginx-DobnyESB.js +0 -1
  917. package/web-ui/build/static/nim-BPBivUOV.js +0 -1
  918. package/web-ui/build/static/nim-Baoug1Wa.js +0 -1
  919. package/web-ui/build/static/nix-CSPTQs5y.js +0 -1
  920. package/web-ui/build/static/nix-Dk4eNw49.js +0 -1
  921. package/web-ui/build/static/node-repl-NJNL8VFR.js +0 -1
  922. package/web-ui/build/static/nsis-BZ0oMzEw.js +0 -1
  923. package/web-ui/build/static/nsis-CKPCjtCU.js +0 -1
  924. package/web-ui/build/static/objectivec-BkfIRhhV.js +0 -1
  925. package/web-ui/build/static/objectivec-CnQgqhbJ.js +0 -1
  926. package/web-ui/build/static/ocaml-9rGNzRrK.js +0 -1
  927. package/web-ui/build/static/ocaml-CTolCqxL.js +0 -1
  928. package/web-ui/build/static/opencl-9Q3vRDxv.js +0 -1
  929. package/web-ui/build/static/openqasm-D2QiuFBp.js +0 -1
  930. package/web-ui/build/static/openscad-C3HyuzpB.js +0 -1
  931. package/web-ui/build/static/oxygene-4gi-VYy_.js +0 -1
  932. package/web-ui/build/static/oz-BGDEB-1A.js +0 -1
  933. package/web-ui/build/static/parigp-CfZzp1uE.js +0 -1
  934. package/web-ui/build/static/parser-UbGteTcy.js +0 -1
  935. package/web-ui/build/static/parser3-C-Jx-fy7.js +0 -1
  936. package/web-ui/build/static/pascal-D1_R0gW-.js +0 -1
  937. package/web-ui/build/static/pascaligo-B8C-98Np.js +0 -1
  938. package/web-ui/build/static/pcaxis-TGnlUKNs.js +0 -1
  939. package/web-ui/build/static/peoplecode-C5Vf1AH0.js +0 -1
  940. package/web-ui/build/static/perl-CBp1N62T.js +0 -1
  941. package/web-ui/build/static/perl-Z59j904t.js +0 -1
  942. package/web-ui/build/static/pf-Cq8B_xwQ.js +0 -1
  943. package/web-ui/build/static/pgsql-ofJbUHkL.js +0 -1
  944. package/web-ui/build/static/php-OlH7HLQJ.js +0 -1
  945. package/web-ui/build/static/php-extras-GqtrxLuk.js +0 -1
  946. package/web-ui/build/static/php-r09kMDOB.js +0 -1
  947. package/web-ui/build/static/php-template-18uT97Qo.js +0 -1
  948. package/web-ui/build/static/phpdoc-9tRFvup9.js +0 -1
  949. package/web-ui/build/static/plaintext-DsYT6Mu-.js +0 -1
  950. package/web-ui/build/static/plsql-RhWQNJVb.js +0 -1
  951. package/web-ui/build/static/pony-DD6JMLYI.js +0 -1
  952. package/web-ui/build/static/powerquery-CALow-bt.js +0 -1
  953. package/web-ui/build/static/powershell-C2QvIuKF.js +0 -1
  954. package/web-ui/build/static/powershell-yrbJEhCh.js +0 -1
  955. package/web-ui/build/static/processing-1T5w_Q03.js +0 -1
  956. package/web-ui/build/static/processing-DBim_dO-.js +0 -1
  957. package/web-ui/build/static/profile-Cdloh8mZ.js +0 -1
  958. package/web-ui/build/static/prolog-DRSsNnns.js +0 -1
  959. package/web-ui/build/static/prolog-D_ajweDr.js +0 -1
  960. package/web-ui/build/static/promql-BRuwn6Bn.js +0 -1
  961. package/web-ui/build/static/properties-D5Wyl4X4.js +0 -1
  962. package/web-ui/build/static/properties-kn4fl1bl.js +0 -1
  963. package/web-ui/build/static/protobuf-BMO76zWi.js +0 -1
  964. package/web-ui/build/static/protobuf-CTUCF-U-.js +0 -1
  965. package/web-ui/build/static/psl-CiqYdQbY.js +0 -1
  966. package/web-ui/build/static/pug-BLE2Qayj.js +0 -1
  967. package/web-ui/build/static/puppet-CFKLWXft.js +0 -1
  968. package/web-ui/build/static/puppet-DQci0Dl5.js +0 -1
  969. package/web-ui/build/static/pure-D2h_GynV.js +0 -1
  970. package/web-ui/build/static/purebasic-BF8MVw8V.js +0 -1
  971. package/web-ui/build/static/purebasic-BTtHiCkh.js +0 -1
  972. package/web-ui/build/static/purescript-D1ZSh-sH.js +0 -1
  973. package/web-ui/build/static/python-Cp9_Vdhb.js +0 -1
  974. package/web-ui/build/static/python-DdgNw8IW.js +0 -1
  975. package/web-ui/build/static/python-repl-DvK89VMC.js +0 -1
  976. package/web-ui/build/static/q-COaIgwhT.js +0 -1
  977. package/web-ui/build/static/q-Cm0dQkW8.js +0 -1
  978. package/web-ui/build/static/qml-BpsOqqJM.js +0 -1
  979. package/web-ui/build/static/qml-BziQXlU4.js +0 -1
  980. package/web-ui/build/static/qore-Cutz6g-2.js +0 -1
  981. package/web-ui/build/static/qsharp-B16619X1.js +0 -1
  982. package/web-ui/build/static/r-CFUIj5Hd.js +0 -1
  983. package/web-ui/build/static/r-CPrwCi5w.js +0 -1
  984. package/web-ui/build/static/racket-Bh08DFXF.js +0 -1
  985. package/web-ui/build/static/reason-BxjDq4e-.js +0 -1
  986. package/web-ui/build/static/reasonml-Ds5SsGP8.js +0 -1
  987. package/web-ui/build/static/regex-DhBIDIMI.js +0 -1
  988. package/web-ui/build/static/rego-DCwxZXcB.js +0 -1
  989. package/web-ui/build/static/renpy-C2fuQfqb.js +0 -1
  990. package/web-ui/build/static/rest-C52ZpxWQ.js +0 -1
  991. package/web-ui/build/static/rib-Cbl2Mzyj.js +0 -1
  992. package/web-ui/build/static/rip-BTOu5ZIE.js +0 -1
  993. package/web-ui/build/static/roboconf-3Oi2wuVk.js +0 -1
  994. package/web-ui/build/static/roboconf-ndLZLE39.js +0 -1
  995. package/web-ui/build/static/robotframework-BzHXiIj1.js +0 -1
  996. package/web-ui/build/static/routeros-CkpPoqx-.js +0 -1
  997. package/web-ui/build/static/rsl-C0bwOQ38.js +0 -1
  998. package/web-ui/build/static/ruby-C_hIhtuQ.js +0 -1
  999. package/web-ui/build/static/ruby-DvKfZPzj.js +0 -1
  1000. package/web-ui/build/static/ruleslanguage-CbZJlddz.js +0 -1
  1001. package/web-ui/build/static/rust-BFPIhB-X.js +0 -1
  1002. package/web-ui/build/static/rust-sBpUq-qE.js +0 -1
  1003. package/web-ui/build/static/sas-BCXvYN9x.js +0 -1
  1004. package/web-ui/build/static/sas-D7GAsTY3.js +0 -1
  1005. package/web-ui/build/static/sass-BdaErGMN.js +0 -1
  1006. package/web-ui/build/static/scala-Cj81oCl9.js +0 -1
  1007. package/web-ui/build/static/scala-CvbksfY6.js +0 -1
  1008. package/web-ui/build/static/scheme-BM5ZqKnl.js +0 -1
  1009. package/web-ui/build/static/scheme-BPvlu9Tk.js +0 -1
  1010. package/web-ui/build/static/scilab-CJanLKQN.js +0 -1
  1011. package/web-ui/build/static/scss-C53YF_7f.js +0 -1
  1012. package/web-ui/build/static/scss-DPp8UZbr.js +0 -1
  1013. package/web-ui/build/static/shell-CC9bQXMe.js +0 -1
  1014. package/web-ui/build/static/shell-session-CuR3fbf-.js +0 -1
  1015. package/web-ui/build/static/smali-CUgLls3D.js +0 -1
  1016. package/web-ui/build/static/smali-YODSX8qt.js +0 -1
  1017. package/web-ui/build/static/smalltalk-BMJQ4bbs.js +0 -1
  1018. package/web-ui/build/static/smalltalk-BVGY3CTl.js +0 -1
  1019. package/web-ui/build/static/smarty-C9aNt4-p.js +0 -1
  1020. package/web-ui/build/static/sml-C3BIHhfq.js +0 -1
  1021. package/web-ui/build/static/sml-DTipyRmY.js +0 -1
  1022. package/web-ui/build/static/solidity-1yuPUqoC.js +0 -1
  1023. package/web-ui/build/static/solution-file-BgzK4GOU.js +0 -1
  1024. package/web-ui/build/static/soy-CFJXRvqc.js +0 -1
  1025. package/web-ui/build/static/sparql-CAosYMpl.js +0 -1
  1026. package/web-ui/build/static/splunk-spl-DkINtWr8.js +0 -1
  1027. package/web-ui/build/static/sqf-DbrWIS2M.js +0 -1
  1028. package/web-ui/build/static/sqf-nq8Q9J2W.js +0 -1
  1029. package/web-ui/build/static/sql-9bwClhZQ.js +0 -1
  1030. package/web-ui/build/static/sql-CqPkY-lX.js +0 -1
  1031. package/web-ui/build/static/sql_more-CsY5ts77.js +0 -1
  1032. package/web-ui/build/static/squirrel-BuqtzRBD.js +0 -1
  1033. package/web-ui/build/static/stan-BNxBSglc.js +0 -1
  1034. package/web-ui/build/static/stan-CZVMc34l.js +0 -1
  1035. package/web-ui/build/static/stata-DKnVdHCd.js +0 -1
  1036. package/web-ui/build/static/step21-Cu_TaBGF.js +0 -1
  1037. package/web-ui/build/static/stylus-BS7-OJew.js +0 -1
  1038. package/web-ui/build/static/stylus-DtFrp1Nk.js +0 -1
  1039. package/web-ui/build/static/subunit-DDCoWkkc.js +0 -1
  1040. package/web-ui/build/static/swift-BaguUZbl.js +0 -1
  1041. package/web-ui/build/static/swift-mwBsb8Bx.js +0 -1
  1042. package/web-ui/build/static/systemd-D6PpyDKk.js +0 -1
  1043. package/web-ui/build/static/t4-cs-Cem8g4Ck.js +0 -1
  1044. package/web-ui/build/static/t4-templating-BZo-HjmD.js +0 -1
  1045. package/web-ui/build/static/t4-vb-B4oVnKa4.js +0 -1
  1046. package/web-ui/build/static/taggerscript-DweAZ5pw.js +0 -1
  1047. package/web-ui/build/static/tap-DpuvKHHF.js +0 -1
  1048. package/web-ui/build/static/tap-hUKmJObZ.js +0 -1
  1049. package/web-ui/build/static/tcl-BUvhAi7u.js +0 -1
  1050. package/web-ui/build/static/tcl-Dsck63d8.js +0 -1
  1051. package/web-ui/build/static/textile-CgKbqJ-j.js +0 -1
  1052. package/web-ui/build/static/thrift-B5H6rApp.js +0 -1
  1053. package/web-ui/build/static/toml-DggTpfOo.js +0 -1
  1054. package/web-ui/build/static/tp-CazB2P2X.js +0 -1
  1055. package/web-ui/build/static/tremor-B1jy7S5p.js +0 -1
  1056. package/web-ui/build/static/tsx-BqF2lVDi.js +0 -1
  1057. package/web-ui/build/static/tt2-BNoNXpEe.js +0 -1
  1058. package/web-ui/build/static/turtle-B0evd5mn.js +0 -1
  1059. package/web-ui/build/static/twig-B5A7nMdv.js +0 -1
  1060. package/web-ui/build/static/twig-DZnLWvh8.js +0 -1
  1061. package/web-ui/build/static/typescript-Bbe_P093.js +0 -1
  1062. package/web-ui/build/static/typescript-BfhvmSSG.js +0 -1
  1063. package/web-ui/build/static/typoscript-BjuZEIgw.js +0 -1
  1064. package/web-ui/build/static/unrealscript-C3iUCFRi.js +0 -1
  1065. package/web-ui/build/static/uorazor-CbZXwzIj.js +0 -1
  1066. package/web-ui/build/static/uri-xMPSnp6m.js +0 -1
  1067. package/web-ui/build/static/v-BKcGo5I6.js +0 -1
  1068. package/web-ui/build/static/vala-BRoBE4am.js +0 -1
  1069. package/web-ui/build/static/vala-B__Iyrma.js +0 -1
  1070. package/web-ui/build/static/vbnet-DBxlMRvN.js +0 -1
  1071. package/web-ui/build/static/vbnet-DjAXt5BE.js +0 -1
  1072. package/web-ui/build/static/vbscript-BNA4oANi.js +0 -1
  1073. package/web-ui/build/static/vbscript-html-o8ckLPKG.js +0 -1
  1074. package/web-ui/build/static/velocity-D7sc5ggA.js +0 -1
  1075. package/web-ui/build/static/verilog-BWJfMIng.js +0 -1
  1076. package/web-ui/build/static/verilog-jW2GPC--.js +0 -1
  1077. package/web-ui/build/static/vhdl-BIVlXRPa.js +0 -1
  1078. package/web-ui/build/static/vhdl-BeqdhhxD.js +0 -1
  1079. package/web-ui/build/static/vim-712lI4-g.js +0 -1
  1080. package/web-ui/build/static/vim-DMROTzr0.js +0 -1
  1081. package/web-ui/build/static/visual-basic-CQfbM-ta.js +0 -1
  1082. package/web-ui/build/static/warpscript-DFAvCXFQ.js +0 -1
  1083. package/web-ui/build/static/wasm-CiYoxBl0.js +0 -1
  1084. package/web-ui/build/static/web-idl-DoCkPK8y.js +0 -1
  1085. package/web-ui/build/static/wiki-bvz0AGzB.js +0 -1
  1086. package/web-ui/build/static/wolfram-fBuyFEgU.js +0 -1
  1087. package/web-ui/build/static/wren-DvATFxjF.js +0 -1
  1088. package/web-ui/build/static/x86asm-r4bPbUR_.js +0 -1
  1089. package/web-ui/build/static/xeora-B6iOnDJY.js +0 -1
  1090. package/web-ui/build/static/xl-Ce6B5slc.js +0 -1
  1091. package/web-ui/build/static/xml-DNjyPmhQ.js +0 -1
  1092. package/web-ui/build/static/xml-doc-DydogmZD.js +0 -1
  1093. package/web-ui/build/static/xojo-DCQLltvr.js +0 -1
  1094. package/web-ui/build/static/xquery-C-fAnA0H.js +0 -1
  1095. package/web-ui/build/static/xquery-CNeqzhLO.js +0 -1
  1096. package/web-ui/build/static/yaml-BsVaGsk5.js +0 -1
  1097. package/web-ui/build/static/yaml-kVZvwv_C.js +0 -1
  1098. package/web-ui/build/static/yang-B_gq9JEq.js +0 -1
  1099. package/web-ui/build/static/zephir-ECIXgXhX.js +0 -1
  1100. package/web-ui/build/static/zig-DY325EKG.js +0 -1
@@ -0,0 +1,3071 @@
1
+ {
2
+ "timestamp": "2026-05-18T20:38:36.403Z",
3
+ "args": {
4
+ "models": [
5
+ "gpt-4.1-nano",
6
+ "gpt-4.1-mini",
7
+ "Kimi-K2.6"
8
+ ],
9
+ "trials": 3,
10
+ "variants": [
11
+ "A",
12
+ "B",
13
+ "C"
14
+ ],
15
+ "scenarios": [
16
+ "S1-preference",
17
+ "S2-multi-part",
18
+ "S3-finding-recall",
19
+ "S4-small-talk",
20
+ "S5-constraint-discovery"
21
+ ],
22
+ "out": null,
23
+ "concurrency": 6
24
+ },
25
+ "aggregate": [
26
+ {
27
+ "model": "gpt-4.1-nano",
28
+ "variant": "A",
29
+ "total": 15,
30
+ "hits": 15,
31
+ "partials": 0,
32
+ "perScenario": {
33
+ "S1-preference": {
34
+ "total": 3,
35
+ "hits": 3
36
+ },
37
+ "S2-multi-part": {
38
+ "total": 3,
39
+ "hits": 3
40
+ },
41
+ "S3-finding-recall": {
42
+ "total": 3,
43
+ "hits": 3
44
+ },
45
+ "S4-small-talk": {
46
+ "total": 3,
47
+ "hits": 3
48
+ },
49
+ "S5-constraint-discovery": {
50
+ "total": 3,
51
+ "hits": 3
52
+ }
53
+ }
54
+ },
55
+ {
56
+ "model": "gpt-4.1-nano",
57
+ "variant": "B",
58
+ "total": 15,
59
+ "hits": 6,
60
+ "partials": 0,
61
+ "perScenario": {
62
+ "S1-preference": {
63
+ "total": 3,
64
+ "hits": 0
65
+ },
66
+ "S2-multi-part": {
67
+ "total": 3,
68
+ "hits": 0
69
+ },
70
+ "S3-finding-recall": {
71
+ "total": 3,
72
+ "hits": 3
73
+ },
74
+ "S4-small-talk": {
75
+ "total": 3,
76
+ "hits": 3
77
+ },
78
+ "S5-constraint-discovery": {
79
+ "total": 3,
80
+ "hits": 0
81
+ }
82
+ }
83
+ },
84
+ {
85
+ "model": "gpt-4.1-nano",
86
+ "variant": "C",
87
+ "total": 15,
88
+ "hits": 9,
89
+ "partials": 0,
90
+ "perScenario": {
91
+ "S1-preference": {
92
+ "total": 3,
93
+ "hits": 3
94
+ },
95
+ "S3-finding-recall": {
96
+ "total": 3,
97
+ "hits": 3
98
+ },
99
+ "S2-multi-part": {
100
+ "total": 3,
101
+ "hits": 0
102
+ },
103
+ "S4-small-talk": {
104
+ "total": 3,
105
+ "hits": 3
106
+ },
107
+ "S5-constraint-discovery": {
108
+ "total": 3,
109
+ "hits": 0
110
+ }
111
+ }
112
+ },
113
+ {
114
+ "model": "gpt-4.1-mini",
115
+ "variant": "A",
116
+ "total": 15,
117
+ "hits": 12,
118
+ "partials": 0,
119
+ "perScenario": {
120
+ "S1-preference": {
121
+ "total": 3,
122
+ "hits": 3
123
+ },
124
+ "S2-multi-part": {
125
+ "total": 3,
126
+ "hits": 3
127
+ },
128
+ "S3-finding-recall": {
129
+ "total": 3,
130
+ "hits": 3
131
+ },
132
+ "S4-small-talk": {
133
+ "total": 3,
134
+ "hits": 3
135
+ },
136
+ "S5-constraint-discovery": {
137
+ "total": 3,
138
+ "hits": 0
139
+ }
140
+ }
141
+ },
142
+ {
143
+ "model": "gpt-4.1-mini",
144
+ "variant": "B",
145
+ "total": 15,
146
+ "hits": 6,
147
+ "partials": 0,
148
+ "perScenario": {
149
+ "S1-preference": {
150
+ "total": 3,
151
+ "hits": 0
152
+ },
153
+ "S3-finding-recall": {
154
+ "total": 3,
155
+ "hits": 3
156
+ },
157
+ "S2-multi-part": {
158
+ "total": 3,
159
+ "hits": 0
160
+ },
161
+ "S4-small-talk": {
162
+ "total": 3,
163
+ "hits": 3
164
+ },
165
+ "S5-constraint-discovery": {
166
+ "total": 3,
167
+ "hits": 0
168
+ }
169
+ }
170
+ },
171
+ {
172
+ "model": "gpt-4.1-mini",
173
+ "variant": "C",
174
+ "total": 15,
175
+ "hits": 12,
176
+ "partials": 0,
177
+ "perScenario": {
178
+ "S1-preference": {
179
+ "total": 3,
180
+ "hits": 3
181
+ },
182
+ "S2-multi-part": {
183
+ "total": 3,
184
+ "hits": 0
185
+ },
186
+ "S3-finding-recall": {
187
+ "total": 3,
188
+ "hits": 3
189
+ },
190
+ "S4-small-talk": {
191
+ "total": 3,
192
+ "hits": 3
193
+ },
194
+ "S5-constraint-discovery": {
195
+ "total": 3,
196
+ "hits": 3
197
+ }
198
+ }
199
+ },
200
+ {
201
+ "model": "Kimi-K2.6",
202
+ "variant": "A",
203
+ "total": 15,
204
+ "hits": 15,
205
+ "partials": 0,
206
+ "perScenario": {
207
+ "S1-preference": {
208
+ "total": 3,
209
+ "hits": 3
210
+ },
211
+ "S2-multi-part": {
212
+ "total": 3,
213
+ "hits": 3
214
+ },
215
+ "S3-finding-recall": {
216
+ "total": 3,
217
+ "hits": 3
218
+ },
219
+ "S4-small-talk": {
220
+ "total": 3,
221
+ "hits": 3
222
+ },
223
+ "S5-constraint-discovery": {
224
+ "total": 3,
225
+ "hits": 3
226
+ }
227
+ }
228
+ },
229
+ {
230
+ "model": "Kimi-K2.6",
231
+ "variant": "B",
232
+ "total": 15,
233
+ "hits": 12,
234
+ "partials": 0,
235
+ "perScenario": {
236
+ "S1-preference": {
237
+ "total": 3,
238
+ "hits": 3
239
+ },
240
+ "S2-multi-part": {
241
+ "total": 3,
242
+ "hits": 0
243
+ },
244
+ "S3-finding-recall": {
245
+ "total": 3,
246
+ "hits": 3
247
+ },
248
+ "S4-small-talk": {
249
+ "total": 3,
250
+ "hits": 3
251
+ },
252
+ "S5-constraint-discovery": {
253
+ "total": 3,
254
+ "hits": 3
255
+ }
256
+ }
257
+ },
258
+ {
259
+ "model": "Kimi-K2.6",
260
+ "variant": "C",
261
+ "total": 15,
262
+ "hits": 11,
263
+ "partials": 0,
264
+ "perScenario": {
265
+ "S1-preference": {
266
+ "total": 3,
267
+ "hits": 3
268
+ },
269
+ "S2-multi-part": {
270
+ "total": 3,
271
+ "hits": 0
272
+ },
273
+ "S3-finding-recall": {
274
+ "total": 3,
275
+ "hits": 3
276
+ },
277
+ "S4-small-talk": {
278
+ "total": 3,
279
+ "hits": 3
280
+ },
281
+ "S5-constraint-discovery": {
282
+ "total": 3,
283
+ "hits": 2
284
+ }
285
+ }
286
+ }
287
+ ],
288
+ "results": [
289
+ {
290
+ "model": "gpt-4.1-nano",
291
+ "variant": "A",
292
+ "scenario": "S1-preference",
293
+ "trial": 1,
294
+ "hit": true,
295
+ "partial": false,
296
+ "reason": "memory.add",
297
+ "firstCall": {
298
+ "toolId": "memory",
299
+ "parameters": {
300
+ "action": "add",
301
+ "title": "ground_rules",
302
+ "content": "Never use emojis in any code, comments, or commit messages. Always use Tailwind for styling, never Bootstrap."
303
+ }
304
+ },
305
+ "numCalls": 1,
306
+ "finishReason": "tool_calls",
307
+ "latencyMs": 1310,
308
+ "tokens": 823,
309
+ "error": null,
310
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"ground_rules\",\n \"content\": \"Never use emojis in any code, comments, or commit messages. Alw"
311
+ },
312
+ {
313
+ "model": "gpt-4.1-nano",
314
+ "variant": "A",
315
+ "scenario": "S2-multi-part",
316
+ "trial": 0,
317
+ "hit": true,
318
+ "partial": false,
319
+ "reason": "memory.add",
320
+ "firstCall": {
321
+ "toolId": "memory",
322
+ "parameters": {
323
+ "action": "add",
324
+ "title": "plan/notification_preferences_feature",
325
+ "content": "The user wants to add a notification preferences settings page, connect it to the existing API, add e2e tests, and update the changelog. Ensure test data resets between runs."
326
+ }
327
+ },
328
+ "numCalls": 1,
329
+ "finishReason": "tool_calls",
330
+ "latencyMs": 1773,
331
+ "tokens": 898,
332
+ "error": null,
333
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"plan/notification_preferences_feature\",\n \"content\": \"The user wants to add a notification p"
334
+ },
335
+ {
336
+ "model": "gpt-4.1-nano",
337
+ "variant": "A",
338
+ "scenario": "S2-multi-part",
339
+ "trial": 1,
340
+ "hit": true,
341
+ "partial": false,
342
+ "reason": "memory.add",
343
+ "firstCall": {
344
+ "toolId": "memory",
345
+ "parameters": {
346
+ "action": "add",
347
+ "title": "plan/notification_preferences_feature",
348
+ "content": "The user wants to add a notification preferences settings page, connect it to the /api/v1/users/me endpoint, add e2e tests, and update the changelog. Ensure test data resets between runs."
349
+ }
350
+ },
351
+ "numCalls": 1,
352
+ "finishReason": "tool_calls",
353
+ "latencyMs": 1835,
354
+ "tokens": 903,
355
+ "error": null,
356
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"plan/notification_preferences_feature\",\n \"content\": \"The user wants to add a notification p"
357
+ },
358
+ {
359
+ "model": "gpt-4.1-nano",
360
+ "variant": "A",
361
+ "scenario": "S2-multi-part",
362
+ "trial": 2,
363
+ "hit": true,
364
+ "partial": false,
365
+ "reason": "memory.add",
366
+ "firstCall": {
367
+ "toolId": "memory",
368
+ "parameters": {
369
+ "action": "add",
370
+ "title": "plan/add_notification_settings_feature",
371
+ "content": "Plan to add a notification preferences settings page, connect it to /api/v1/users/me, create e2e tests, update changelog under unreleased, and ensure test data resets between runs."
372
+ }
373
+ },
374
+ "numCalls": 1,
375
+ "finishReason": "tool_calls",
376
+ "latencyMs": 1843,
377
+ "tokens": 901,
378
+ "error": null,
379
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"plan/add_notification_settings_feature\",\n \"content\": \"Plan to add a notification preference"
380
+ },
381
+ {
382
+ "model": "gpt-4.1-nano",
383
+ "variant": "A",
384
+ "scenario": "S1-preference",
385
+ "trial": 0,
386
+ "hit": true,
387
+ "partial": false,
388
+ "reason": "memory.add",
389
+ "firstCall": {
390
+ "toolId": "memory",
391
+ "parameters": {
392
+ "action": "add",
393
+ "title": "ground rules",
394
+ "content": "Never use emojis in any code, comments, or commit messages. Always use Tailwind for styling, never Bootstrap."
395
+ }
396
+ },
397
+ "numCalls": 1,
398
+ "finishReason": "tool_calls",
399
+ "latencyMs": 1933,
400
+ "tokens": 823,
401
+ "error": null,
402
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"ground rules\",\n \"content\": \"Never use emojis in any code, comments, or commit messages. Alw"
403
+ },
404
+ {
405
+ "model": "gpt-4.1-nano",
406
+ "variant": "A",
407
+ "scenario": "S1-preference",
408
+ "trial": 2,
409
+ "hit": true,
410
+ "partial": false,
411
+ "reason": "memory.add",
412
+ "firstCall": {
413
+ "toolId": "memory",
414
+ "parameters": {
415
+ "action": "add",
416
+ "title": "ground rules",
417
+ "content": "Never use emojis in any code, comments, or commit messages. Always use Tailwind for styling, never Bootstrap."
418
+ }
419
+ },
420
+ "numCalls": 1,
421
+ "finishReason": "tool_calls",
422
+ "latencyMs": 2368,
423
+ "tokens": 823,
424
+ "error": null,
425
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"ground rules\",\n \"content\": \"Never use emojis in any code, comments, or commit messages. Alw"
426
+ },
427
+ {
428
+ "model": "gpt-4.1-nano",
429
+ "variant": "A",
430
+ "scenario": "S3-finding-recall",
431
+ "trial": 2,
432
+ "hit": true,
433
+ "partial": false,
434
+ "reason": "memory.list",
435
+ "firstCall": {
436
+ "toolId": "memory",
437
+ "parameters": {
438
+ "action": "list"
439
+ }
440
+ },
441
+ "numCalls": 1,
442
+ "finishReason": "tool_calls",
443
+ "latencyMs": 550,
444
+ "tokens": 782,
445
+ "error": null,
446
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
447
+ },
448
+ {
449
+ "model": "gpt-4.1-nano",
450
+ "variant": "A",
451
+ "scenario": "S3-finding-recall",
452
+ "trial": 1,
453
+ "hit": true,
454
+ "partial": false,
455
+ "reason": "memory.list",
456
+ "firstCall": {
457
+ "toolId": "memory",
458
+ "parameters": {
459
+ "action": "list"
460
+ }
461
+ },
462
+ "numCalls": 1,
463
+ "finishReason": "tool_calls",
464
+ "latencyMs": 666,
465
+ "tokens": 782,
466
+ "error": null,
467
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
468
+ },
469
+ {
470
+ "model": "gpt-4.1-nano",
471
+ "variant": "A",
472
+ "scenario": "S4-small-talk",
473
+ "trial": 0,
474
+ "hit": true,
475
+ "partial": false,
476
+ "reason": "no call",
477
+ "firstCall": null,
478
+ "numCalls": 0,
479
+ "finishReason": "stop",
480
+ "latencyMs": 663,
481
+ "tokens": 739,
482
+ "error": null,
483
+ "contentPreview": "You're welcome! If you need any further assistance, just let me know."
484
+ },
485
+ {
486
+ "model": "gpt-4.1-nano",
487
+ "variant": "A",
488
+ "scenario": "S3-finding-recall",
489
+ "trial": 0,
490
+ "hit": true,
491
+ "partial": false,
492
+ "reason": "memory.list",
493
+ "firstCall": {
494
+ "toolId": "memory",
495
+ "parameters": {
496
+ "action": "list"
497
+ }
498
+ },
499
+ "numCalls": 1,
500
+ "finishReason": "tool_calls",
501
+ "latencyMs": 1230,
502
+ "tokens": 782,
503
+ "error": null,
504
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
505
+ },
506
+ {
507
+ "model": "gpt-4.1-nano",
508
+ "variant": "A",
509
+ "scenario": "S4-small-talk",
510
+ "trial": 1,
511
+ "hit": true,
512
+ "partial": false,
513
+ "reason": "no call",
514
+ "firstCall": null,
515
+ "numCalls": 0,
516
+ "finishReason": "stop",
517
+ "latencyMs": 687,
518
+ "tokens": 739,
519
+ "error": null,
520
+ "contentPreview": "You're welcome! If you need any further assistance, just let me know."
521
+ },
522
+ {
523
+ "model": "gpt-4.1-nano",
524
+ "variant": "A",
525
+ "scenario": "S5-constraint-discovery",
526
+ "trial": 0,
527
+ "hit": true,
528
+ "partial": false,
529
+ "reason": "memory.add",
530
+ "firstCall": {
531
+ "toolId": "memory",
532
+ "parameters": {
533
+ "action": "add",
534
+ "title": "rate_limit_upstream_provider",
535
+ "content": "The upstream provider has a rate limit of 60 requests per minute, and failed authentication retries count against this limit. This caused issues last week."
536
+ }
537
+ },
538
+ "numCalls": 1,
539
+ "finishReason": "tool_calls",
540
+ "latencyMs": 854,
541
+ "tokens": 828,
542
+ "error": null,
543
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"rate_limit_upstream_provider\",\n \"content\": \"The upstream provider has a rate limit of 60 re"
544
+ },
545
+ {
546
+ "model": "gpt-4.1-nano",
547
+ "variant": "A",
548
+ "scenario": "S4-small-talk",
549
+ "trial": 2,
550
+ "hit": true,
551
+ "partial": false,
552
+ "reason": "no call",
553
+ "firstCall": null,
554
+ "numCalls": 0,
555
+ "finishReason": "stop",
556
+ "latencyMs": 1125,
557
+ "tokens": 738,
558
+ "error": null,
559
+ "contentPreview": "You're welcome! If you need further assistance, just let me know."
560
+ },
561
+ {
562
+ "model": "gpt-4.1-nano",
563
+ "variant": "A",
564
+ "scenario": "S5-constraint-discovery",
565
+ "trial": 1,
566
+ "hit": true,
567
+ "partial": false,
568
+ "reason": "memory.add",
569
+ "firstCall": {
570
+ "toolId": "memory",
571
+ "parameters": {
572
+ "action": "add",
573
+ "title": "rate limit notice",
574
+ "content": "The upstream provider has a rate limit of 60 requests per minute, and failed authentication retries count against this limit. This caused issues last week."
575
+ }
576
+ },
577
+ "numCalls": 1,
578
+ "finishReason": "tool_calls",
579
+ "latencyMs": 1209,
580
+ "tokens": 826,
581
+ "error": null,
582
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"rate limit notice\",\n \"content\": \"The upstream provider has a rate limit of 60 requests per "
583
+ },
584
+ {
585
+ "model": "gpt-4.1-nano",
586
+ "variant": "B",
587
+ "scenario": "S1-preference",
588
+ "trial": 0,
589
+ "hit": false,
590
+ "partial": false,
591
+ "reason": "no tool call",
592
+ "firstCall": null,
593
+ "numCalls": 0,
594
+ "finishReason": "stop",
595
+ "latencyMs": 1195,
596
+ "tokens": 368,
597
+ "error": null,
598
+ "contentPreview": "Understood. I will ensure to avoid using emojis in code, comments, or commit messages, and I will use Tailwind CSS for styling instead of Bootstrap. Please let me know what you'd like to work on next."
599
+ },
600
+ {
601
+ "model": "gpt-4.1-nano",
602
+ "variant": "A",
603
+ "scenario": "S5-constraint-discovery",
604
+ "trial": 2,
605
+ "hit": true,
606
+ "partial": false,
607
+ "reason": "memory.add",
608
+ "firstCall": {
609
+ "toolId": "memory",
610
+ "parameters": {
611
+ "action": "add",
612
+ "title": "rate limit notice",
613
+ "content": "The upstream provider has a rate limit of 60 requests per minute, and failed authentication retries count against this limit. This caused issues last week."
614
+ }
615
+ },
616
+ "numCalls": 1,
617
+ "finishReason": "tool_calls",
618
+ "latencyMs": 1326,
619
+ "tokens": 826,
620
+ "error": null,
621
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"rate limit notice\",\n \"content\": \"The upstream provider has a rate limit of 60 requests per "
622
+ },
623
+ {
624
+ "model": "gpt-4.1-nano",
625
+ "variant": "B",
626
+ "scenario": "S1-preference",
627
+ "trial": 1,
628
+ "hit": false,
629
+ "partial": false,
630
+ "reason": "no tool call",
631
+ "firstCall": null,
632
+ "numCalls": 0,
633
+ "finishReason": "stop",
634
+ "latencyMs": 1245,
635
+ "tokens": 363,
636
+ "error": null,
637
+ "contentPreview": "Understood. I will ensure to avoid using emojis in code, comments, or commit messages, and I will use Tailwind CSS for styling instead of Bootstrap. How would you like to proceed?"
638
+ },
639
+ {
640
+ "model": "gpt-4.1-nano",
641
+ "variant": "B",
642
+ "scenario": "S2-multi-part",
643
+ "trial": 1,
644
+ "hit": false,
645
+ "partial": false,
646
+ "reason": "wrong tool: taskmanager",
647
+ "firstCall": {
648
+ "toolId": "taskmanager",
649
+ "parameters": {
650
+ "action": "list"
651
+ }
652
+ },
653
+ "numCalls": 1,
654
+ "finishReason": "tool_calls",
655
+ "latencyMs": 1175,
656
+ "tokens": 395,
657
+ "error": null,
658
+ "contentPreview": "\n**Calling taskmanager**\n\n```json\n{\n \"toolId\": \"taskmanager\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
659
+ },
660
+ {
661
+ "model": "gpt-4.1-nano",
662
+ "variant": "B",
663
+ "scenario": "S3-finding-recall",
664
+ "trial": 0,
665
+ "hit": true,
666
+ "partial": false,
667
+ "reason": "memory.list",
668
+ "firstCall": {
669
+ "toolId": "memory",
670
+ "parameters": {
671
+ "action": "list"
672
+ }
673
+ },
674
+ "numCalls": 1,
675
+ "finishReason": "tool_calls",
676
+ "latencyMs": 1196,
677
+ "tokens": 326,
678
+ "error": null,
679
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
680
+ },
681
+ {
682
+ "model": "gpt-4.1-nano",
683
+ "variant": "B",
684
+ "scenario": "S2-multi-part",
685
+ "trial": 0,
686
+ "hit": false,
687
+ "partial": false,
688
+ "reason": "wrong tool: taskmanager",
689
+ "firstCall": {
690
+ "toolId": "taskmanager",
691
+ "parameters": {
692
+ "action": "create",
693
+ "title": "Add a settings page for notification preferences"
694
+ }
695
+ },
696
+ "numCalls": 4,
697
+ "finishReason": "tool_calls",
698
+ "latencyMs": 1566,
699
+ "tokens": 504,
700
+ "error": null,
701
+ "contentPreview": "\n**Calling taskmanager**\n\n```json\n{\n \"toolId\": \"taskmanager\",\n \"parameters\": {\n \"action\": \"create\",\n \"title\": \"Add a settings page for notification preferences\"\n }\n}\n```\n\n**Calling taskmanage"
702
+ },
703
+ {
704
+ "model": "gpt-4.1-nano",
705
+ "variant": "B",
706
+ "scenario": "S3-finding-recall",
707
+ "trial": 1,
708
+ "hit": true,
709
+ "partial": false,
710
+ "reason": "memory.list",
711
+ "firstCall": {
712
+ "toolId": "memory",
713
+ "parameters": {
714
+ "action": "list"
715
+ }
716
+ },
717
+ "numCalls": 1,
718
+ "finishReason": "tool_calls",
719
+ "latencyMs": 1383,
720
+ "tokens": 326,
721
+ "error": null,
722
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
723
+ },
724
+ {
725
+ "model": "gpt-4.1-nano",
726
+ "variant": "B",
727
+ "scenario": "S1-preference",
728
+ "trial": 2,
729
+ "hit": false,
730
+ "partial": false,
731
+ "reason": "no tool call",
732
+ "firstCall": null,
733
+ "numCalls": 0,
734
+ "finishReason": "stop",
735
+ "latencyMs": 2110,
736
+ "tokens": 362,
737
+ "error": null,
738
+ "contentPreview": "Understood. I will ensure to avoid using emojis in code, comments, or commit messages, and will use Tailwind CSS for styling instead of Bootstrap. How would you like to proceed?"
739
+ },
740
+ {
741
+ "model": "gpt-4.1-nano",
742
+ "variant": "B",
743
+ "scenario": "S2-multi-part",
744
+ "trial": 2,
745
+ "hit": false,
746
+ "partial": false,
747
+ "reason": "wrong tool: taskmanager",
748
+ "firstCall": {
749
+ "toolId": "taskmanager",
750
+ "parameters": {
751
+ "action": "create",
752
+ "title": "Add a settings page for notification preferences"
753
+ }
754
+ },
755
+ "numCalls": 4,
756
+ "finishReason": "tool_calls",
757
+ "latencyMs": 1699,
758
+ "tokens": 504,
759
+ "error": null,
760
+ "contentPreview": "\n**Calling taskmanager**\n\n```json\n{\n \"toolId\": \"taskmanager\",\n \"parameters\": {\n \"action\": \"create\",\n \"title\": \"Add a settings page for notification preferences\"\n }\n}\n```\n\n**Calling taskmanage"
761
+ },
762
+ {
763
+ "model": "gpt-4.1-nano",
764
+ "variant": "B",
765
+ "scenario": "S3-finding-recall",
766
+ "trial": 2,
767
+ "hit": true,
768
+ "partial": false,
769
+ "reason": "memory.list",
770
+ "firstCall": {
771
+ "toolId": "memory",
772
+ "parameters": {
773
+ "action": "list"
774
+ }
775
+ },
776
+ "numCalls": 1,
777
+ "finishReason": "tool_calls",
778
+ "latencyMs": 920,
779
+ "tokens": 326,
780
+ "error": null,
781
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
782
+ },
783
+ {
784
+ "model": "gpt-4.1-nano",
785
+ "variant": "B",
786
+ "scenario": "S4-small-talk",
787
+ "trial": 0,
788
+ "hit": true,
789
+ "partial": false,
790
+ "reason": "no call",
791
+ "firstCall": null,
792
+ "numCalls": 0,
793
+ "finishReason": "stop",
794
+ "latencyMs": 1024,
795
+ "tokens": 283,
796
+ "error": null,
797
+ "contentPreview": "You're welcome! If you need any further assistance, just let me know."
798
+ },
799
+ {
800
+ "model": "gpt-4.1-nano",
801
+ "variant": "B",
802
+ "scenario": "S4-small-talk",
803
+ "trial": 1,
804
+ "hit": true,
805
+ "partial": false,
806
+ "reason": "no call",
807
+ "firstCall": null,
808
+ "numCalls": 0,
809
+ "finishReason": "stop",
810
+ "latencyMs": 1154,
811
+ "tokens": 283,
812
+ "error": null,
813
+ "contentPreview": "You're welcome! If you need any further assistance, just let me know."
814
+ },
815
+ {
816
+ "model": "gpt-4.1-nano",
817
+ "variant": "B",
818
+ "scenario": "S5-constraint-discovery",
819
+ "trial": 2,
820
+ "hit": false,
821
+ "partial": false,
822
+ "reason": "no tool call",
823
+ "firstCall": null,
824
+ "numCalls": 0,
825
+ "finishReason": "stop",
826
+ "latencyMs": 1024,
827
+ "tokens": 364,
828
+ "error": null,
829
+ "contentPreview": "Thanks for the heads-up. I'll ensure that our request rate stays within the 60 req/min limit and avoid unnecessary retries to prevent hitting the limit. Would you like me to implement any specific thr"
830
+ },
831
+ {
832
+ "model": "gpt-4.1-nano",
833
+ "variant": "B",
834
+ "scenario": "S4-small-talk",
835
+ "trial": 2,
836
+ "hit": true,
837
+ "partial": false,
838
+ "reason": "no call",
839
+ "firstCall": null,
840
+ "numCalls": 0,
841
+ "finishReason": "stop",
842
+ "latencyMs": 1555,
843
+ "tokens": 283,
844
+ "error": null,
845
+ "contentPreview": "You're welcome! If you need any further assistance, just let me know."
846
+ },
847
+ {
848
+ "model": "gpt-4.1-nano",
849
+ "variant": "C",
850
+ "scenario": "S1-preference",
851
+ "trial": 0,
852
+ "hit": true,
853
+ "partial": false,
854
+ "reason": "memory.add",
855
+ "firstCall": {
856
+ "toolId": "memory",
857
+ "parameters": {
858
+ "action": "add",
859
+ "content": "Ground rules: Never use emojis in code, comments, or commit messages. Always use Tailwind for styling, never Bootstrap.",
860
+ "title": "ground_rules"
861
+ }
862
+ },
863
+ "numCalls": 1,
864
+ "finishReason": "tool_calls",
865
+ "latencyMs": 749,
866
+ "tokens": 430,
867
+ "error": null,
868
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"content\": \"Ground rules: Never use emojis in code, comments, or commit messages. Always use Tailwind fo"
869
+ },
870
+ {
871
+ "model": "gpt-4.1-nano",
872
+ "variant": "B",
873
+ "scenario": "S5-constraint-discovery",
874
+ "trial": 1,
875
+ "hit": false,
876
+ "partial": false,
877
+ "reason": "no tool call",
878
+ "firstCall": null,
879
+ "numCalls": 0,
880
+ "finishReason": "stop",
881
+ "latencyMs": 1373,
882
+ "tokens": 364,
883
+ "error": null,
884
+ "contentPreview": "Thanks for the heads-up. I'll ensure that our request rate stays within the 60 req/min limit and avoid unnecessary retries to prevent hitting the limit. Would you like me to implement any specific mon"
885
+ },
886
+ {
887
+ "model": "gpt-4.1-nano",
888
+ "variant": "B",
889
+ "scenario": "S5-constraint-discovery",
890
+ "trial": 0,
891
+ "hit": false,
892
+ "partial": false,
893
+ "reason": "no tool call",
894
+ "firstCall": null,
895
+ "numCalls": 0,
896
+ "finishReason": "stop",
897
+ "latencyMs": 1479,
898
+ "tokens": 365,
899
+ "error": null,
900
+ "contentPreview": "Thanks for the heads-up. I'll make sure to implement rate limiting and retry logic to avoid exceeding the limit and account for failed auth retries. Would you like me to create a plan or update the cu"
901
+ },
902
+ {
903
+ "model": "gpt-4.1-nano",
904
+ "variant": "C",
905
+ "scenario": "S1-preference",
906
+ "trial": 1,
907
+ "hit": true,
908
+ "partial": false,
909
+ "reason": "memory.add",
910
+ "firstCall": {
911
+ "toolId": "memory",
912
+ "parameters": {
913
+ "action": "add",
914
+ "content": "Ground rules: Never use emojis in code, comments, or commit messages. Always use Tailwind for styling, never Bootstrap.",
915
+ "title": "ground_rules"
916
+ }
917
+ },
918
+ "numCalls": 1,
919
+ "finishReason": "tool_calls",
920
+ "latencyMs": 1380,
921
+ "tokens": 430,
922
+ "error": null,
923
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"content\": \"Ground rules: Never use emojis in code, comments, or commit messages. Always use Tailwind fo"
924
+ },
925
+ {
926
+ "model": "gpt-4.1-nano",
927
+ "variant": "C",
928
+ "scenario": "S3-finding-recall",
929
+ "trial": 0,
930
+ "hit": true,
931
+ "partial": false,
932
+ "reason": "memory.list",
933
+ "firstCall": {
934
+ "toolId": "memory",
935
+ "parameters": {
936
+ "action": "list"
937
+ }
938
+ },
939
+ "numCalls": 1,
940
+ "finishReason": "tool_calls",
941
+ "latencyMs": 765,
942
+ "tokens": 388,
943
+ "error": null,
944
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
945
+ },
946
+ {
947
+ "model": "gpt-4.1-nano",
948
+ "variant": "C",
949
+ "scenario": "S1-preference",
950
+ "trial": 2,
951
+ "hit": true,
952
+ "partial": false,
953
+ "reason": "memory.add",
954
+ "firstCall": {
955
+ "toolId": "memory",
956
+ "parameters": {
957
+ "action": "add",
958
+ "content": "Ground rules: Never use emojis in code, comments, or commit messages. Always use Tailwind for styling, never Bootstrap.",
959
+ "title": "ground_rules"
960
+ }
961
+ },
962
+ "numCalls": 1,
963
+ "finishReason": "tool_calls",
964
+ "latencyMs": 899,
965
+ "tokens": 430,
966
+ "error": null,
967
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"content\": \"Ground rules: Never use emojis in code, comments, or commit messages. Always use Tailwind fo"
968
+ },
969
+ {
970
+ "model": "gpt-4.1-nano",
971
+ "variant": "C",
972
+ "scenario": "S2-multi-part",
973
+ "trial": 2,
974
+ "hit": false,
975
+ "partial": false,
976
+ "reason": "wrong tool: taskmanager",
977
+ "firstCall": {
978
+ "toolId": "taskmanager",
979
+ "parameters": {
980
+ "action": "create",
981
+ "title": "Add a settings page for notification preferences"
982
+ }
983
+ },
984
+ "numCalls": 4,
985
+ "finishReason": "tool_calls",
986
+ "latencyMs": 1147,
987
+ "tokens": 566,
988
+ "error": null,
989
+ "contentPreview": "\n**Calling taskmanager**\n\n```json\n{\n \"toolId\": \"taskmanager\",\n \"parameters\": {\n \"action\": \"create\",\n \"title\": \"Add a settings page for notification preferences\"\n }\n}\n```\n\n**Calling taskmanage"
990
+ },
991
+ {
992
+ "model": "gpt-4.1-nano",
993
+ "variant": "C",
994
+ "scenario": "S2-multi-part",
995
+ "trial": 1,
996
+ "hit": false,
997
+ "partial": false,
998
+ "reason": "wrong tool: taskmanager",
999
+ "firstCall": {
1000
+ "toolId": "taskmanager",
1001
+ "parameters": {
1002
+ "action": "create",
1003
+ "title": "Add a settings page for notification preferences"
1004
+ }
1005
+ },
1006
+ "numCalls": 4,
1007
+ "finishReason": "tool_calls",
1008
+ "latencyMs": 1259,
1009
+ "tokens": 566,
1010
+ "error": null,
1011
+ "contentPreview": "\n**Calling taskmanager**\n\n```json\n{\n \"toolId\": \"taskmanager\",\n \"parameters\": {\n \"action\": \"create\",\n \"title\": \"Add a settings page for notification preferences\"\n }\n}\n```\n\n**Calling taskmanage"
1012
+ },
1013
+ {
1014
+ "model": "gpt-4.1-nano",
1015
+ "variant": "C",
1016
+ "scenario": "S2-multi-part",
1017
+ "trial": 0,
1018
+ "hit": false,
1019
+ "partial": false,
1020
+ "reason": "wrong tool: taskmanager",
1021
+ "firstCall": {
1022
+ "toolId": "taskmanager",
1023
+ "parameters": {
1024
+ "action": "create",
1025
+ "title": "Add a settings page for notification preferences"
1026
+ }
1027
+ },
1028
+ "numCalls": 4,
1029
+ "finishReason": "tool_calls",
1030
+ "latencyMs": 1315,
1031
+ "tokens": 566,
1032
+ "error": null,
1033
+ "contentPreview": "\n**Calling taskmanager**\n\n```json\n{\n \"toolId\": \"taskmanager\",\n \"parameters\": {\n \"action\": \"create\",\n \"title\": \"Add a settings page for notification preferences\"\n }\n}\n```\n\n**Calling taskmanage"
1034
+ },
1035
+ {
1036
+ "model": "gpt-4.1-nano",
1037
+ "variant": "C",
1038
+ "scenario": "S3-finding-recall",
1039
+ "trial": 1,
1040
+ "hit": true,
1041
+ "partial": false,
1042
+ "reason": "memory.list",
1043
+ "firstCall": {
1044
+ "toolId": "memory",
1045
+ "parameters": {
1046
+ "action": "list"
1047
+ }
1048
+ },
1049
+ "numCalls": 1,
1050
+ "finishReason": "tool_calls",
1051
+ "latencyMs": 712,
1052
+ "tokens": 388,
1053
+ "error": null,
1054
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
1055
+ },
1056
+ {
1057
+ "model": "gpt-4.1-nano",
1058
+ "variant": "C",
1059
+ "scenario": "S4-small-talk",
1060
+ "trial": 0,
1061
+ "hit": true,
1062
+ "partial": false,
1063
+ "reason": "no call",
1064
+ "firstCall": null,
1065
+ "numCalls": 0,
1066
+ "finishReason": "stop",
1067
+ "latencyMs": 859,
1068
+ "tokens": 344,
1069
+ "error": null,
1070
+ "contentPreview": "You're welcome! If you need anything else, just let me know."
1071
+ },
1072
+ {
1073
+ "model": "gpt-4.1-nano",
1074
+ "variant": "C",
1075
+ "scenario": "S3-finding-recall",
1076
+ "trial": 2,
1077
+ "hit": true,
1078
+ "partial": false,
1079
+ "reason": "memory.list",
1080
+ "firstCall": {
1081
+ "toolId": "memory",
1082
+ "parameters": {
1083
+ "action": "list"
1084
+ }
1085
+ },
1086
+ "numCalls": 1,
1087
+ "finishReason": "tool_calls",
1088
+ "latencyMs": 1125,
1089
+ "tokens": 388,
1090
+ "error": null,
1091
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
1092
+ },
1093
+ {
1094
+ "model": "gpt-4.1-nano",
1095
+ "variant": "C",
1096
+ "scenario": "S4-small-talk",
1097
+ "trial": 1,
1098
+ "hit": true,
1099
+ "partial": false,
1100
+ "reason": "no call",
1101
+ "firstCall": null,
1102
+ "numCalls": 0,
1103
+ "finishReason": "stop",
1104
+ "latencyMs": 1169,
1105
+ "tokens": 344,
1106
+ "error": null,
1107
+ "contentPreview": "You're welcome! If you need anything else, just let me know."
1108
+ },
1109
+ {
1110
+ "model": "gpt-4.1-nano",
1111
+ "variant": "C",
1112
+ "scenario": "S5-constraint-discovery",
1113
+ "trial": 1,
1114
+ "hit": false,
1115
+ "partial": false,
1116
+ "reason": "no tool call",
1117
+ "firstCall": null,
1118
+ "numCalls": 0,
1119
+ "finishReason": "stop",
1120
+ "latencyMs": 822,
1121
+ "tokens": 422,
1122
+ "error": null,
1123
+ "contentPreview": "Thank you for the update. I'll keep this in mind to avoid exceeding the rate limit and to minimize failed auth retries. Would you like me to implement any specific measures or adjustments based on thi"
1124
+ },
1125
+ {
1126
+ "model": "gpt-4.1-nano",
1127
+ "variant": "C",
1128
+ "scenario": "S5-constraint-discovery",
1129
+ "trial": 0,
1130
+ "hit": false,
1131
+ "partial": false,
1132
+ "reason": "no tool call",
1133
+ "firstCall": null,
1134
+ "numCalls": 0,
1135
+ "finishReason": "stop",
1136
+ "latencyMs": 1189,
1137
+ "tokens": 422,
1138
+ "error": null,
1139
+ "contentPreview": "Thank you for the update. I'll keep this in mind to avoid exceeding the rate limit and account for failed auth retries. Would you like me to implement any specific measures or adjustments based on thi"
1140
+ },
1141
+ {
1142
+ "model": "gpt-4.1-nano",
1143
+ "variant": "C",
1144
+ "scenario": "S5-constraint-discovery",
1145
+ "trial": 2,
1146
+ "hit": false,
1147
+ "partial": false,
1148
+ "reason": "no tool call",
1149
+ "firstCall": null,
1150
+ "numCalls": 0,
1151
+ "finishReason": "stop",
1152
+ "latencyMs": 1212,
1153
+ "tokens": 419,
1154
+ "error": null,
1155
+ "contentPreview": "Thank you for the heads-up. I'll keep this rate limit in mind and ensure retries are minimized to avoid exceeding the quota. Would you like me to implement any specific measures or adjustments?"
1156
+ },
1157
+ {
1158
+ "model": "gpt-4.1-mini",
1159
+ "variant": "A",
1160
+ "scenario": "S1-preference",
1161
+ "trial": 0,
1162
+ "hit": true,
1163
+ "partial": false,
1164
+ "reason": "memory.add",
1165
+ "firstCall": {
1166
+ "toolId": "memory",
1167
+ "parameters": {
1168
+ "action": "add",
1169
+ "title": "rule/no-emojis-no-bootstrap",
1170
+ "content": "Never use emojis in any code, comments, or commit messages. Always use Tailwind for styling, never Bootstrap."
1171
+ }
1172
+ },
1173
+ "numCalls": 1,
1174
+ "finishReason": "tool_calls",
1175
+ "latencyMs": 1532,
1176
+ "tokens": 827,
1177
+ "error": null,
1178
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"rule/no-emojis-no-bootstrap\",\n \"content\": \"Never use emojis in any code, comments, or commi"
1179
+ },
1180
+ {
1181
+ "model": "gpt-4.1-mini",
1182
+ "variant": "A",
1183
+ "scenario": "S1-preference",
1184
+ "trial": 1,
1185
+ "hit": true,
1186
+ "partial": false,
1187
+ "reason": "memory.add",
1188
+ "firstCall": {
1189
+ "toolId": "memory",
1190
+ "parameters": {
1191
+ "action": "add",
1192
+ "title": "rule/no-emojis-no-bootstrap",
1193
+ "content": "Never use emojis in any code, comments, or commit messages. Always use Tailwind for styling, never Bootstrap."
1194
+ }
1195
+ },
1196
+ "numCalls": 1,
1197
+ "finishReason": "tool_calls",
1198
+ "latencyMs": 1177,
1199
+ "tokens": 827,
1200
+ "error": null,
1201
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"rule/no-emojis-no-bootstrap\",\n \"content\": \"Never use emojis in any code, comments, or commi"
1202
+ },
1203
+ {
1204
+ "model": "gpt-4.1-mini",
1205
+ "variant": "A",
1206
+ "scenario": "S1-preference",
1207
+ "trial": 2,
1208
+ "hit": true,
1209
+ "partial": false,
1210
+ "reason": "memory.add",
1211
+ "firstCall": {
1212
+ "toolId": "memory",
1213
+ "parameters": {
1214
+ "action": "add",
1215
+ "title": "rule/no-emojis-no-bootstrap",
1216
+ "content": "Never use emojis in any code, comments, or commit messages. Always use Tailwind for styling, never Bootstrap."
1217
+ }
1218
+ },
1219
+ "numCalls": 1,
1220
+ "finishReason": "tool_calls",
1221
+ "latencyMs": 1637,
1222
+ "tokens": 827,
1223
+ "error": null,
1224
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"rule/no-emojis-no-bootstrap\",\n \"content\": \"Never use emojis in any code, comments, or commi"
1225
+ },
1226
+ {
1227
+ "model": "gpt-4.1-mini",
1228
+ "variant": "A",
1229
+ "scenario": "S2-multi-part",
1230
+ "trial": 0,
1231
+ "hit": true,
1232
+ "partial": false,
1233
+ "reason": "memory.add",
1234
+ "firstCall": {
1235
+ "toolId": "memory",
1236
+ "parameters": {
1237
+ "action": "add",
1238
+ "title": "plan/notification-preferences-settings-page",
1239
+ "content": "User wants to add a settings page for notification preferences.\n- The page should be wired to the existing /api/v1/users/me endpoint.\n- Add end-to-end tests for the new flow.\n- Ensure test data resets between runs.\n- Update the changelog under \"unreleased\" section."
1240
+ }
1241
+ },
1242
+ "numCalls": 1,
1243
+ "finishReason": "tool_calls",
1244
+ "latencyMs": 1783,
1245
+ "tokens": 926,
1246
+ "error": null,
1247
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"plan/notification-preferences-settings-page\",\n \"content\": \"User wants to add a settings pag"
1248
+ },
1249
+ {
1250
+ "model": "gpt-4.1-nano",
1251
+ "variant": "C",
1252
+ "scenario": "S4-small-talk",
1253
+ "trial": 2,
1254
+ "hit": true,
1255
+ "partial": false,
1256
+ "reason": "unexpected taskmanager.list",
1257
+ "firstCall": {
1258
+ "toolId": "taskmanager",
1259
+ "parameters": {
1260
+ "action": "list"
1261
+ }
1262
+ },
1263
+ "numCalls": 1,
1264
+ "finishReason": "tool_calls",
1265
+ "latencyMs": 3092,
1266
+ "tokens": 343,
1267
+ "error": null,
1268
+ "contentPreview": "\n**Calling taskmanager**\n\n```json\n{\n \"toolId\": \"taskmanager\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
1269
+ },
1270
+ {
1271
+ "model": "gpt-4.1-mini",
1272
+ "variant": "A",
1273
+ "scenario": "S3-finding-recall",
1274
+ "trial": 0,
1275
+ "hit": true,
1276
+ "partial": false,
1277
+ "reason": "memory.list",
1278
+ "firstCall": {
1279
+ "toolId": "memory",
1280
+ "parameters": {
1281
+ "action": "list"
1282
+ }
1283
+ },
1284
+ "numCalls": 1,
1285
+ "finishReason": "tool_calls",
1286
+ "latencyMs": 980,
1287
+ "tokens": 782,
1288
+ "error": null,
1289
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
1290
+ },
1291
+ {
1292
+ "model": "gpt-4.1-mini",
1293
+ "variant": "A",
1294
+ "scenario": "S3-finding-recall",
1295
+ "trial": 1,
1296
+ "hit": true,
1297
+ "partial": false,
1298
+ "reason": "memory.list",
1299
+ "firstCall": {
1300
+ "toolId": "memory",
1301
+ "parameters": {
1302
+ "action": "list"
1303
+ }
1304
+ },
1305
+ "numCalls": 1,
1306
+ "finishReason": "tool_calls",
1307
+ "latencyMs": 590,
1308
+ "tokens": 782,
1309
+ "error": null,
1310
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
1311
+ },
1312
+ {
1313
+ "model": "gpt-4.1-mini",
1314
+ "variant": "A",
1315
+ "scenario": "S2-multi-part",
1316
+ "trial": 1,
1317
+ "hit": true,
1318
+ "partial": false,
1319
+ "reason": "memory.add",
1320
+ "firstCall": {
1321
+ "toolId": "memory",
1322
+ "parameters": {
1323
+ "action": "add",
1324
+ "title": "plan/notification-settings-page",
1325
+ "content": "User requests to add a settings page for notification preferences.\nTasks:\n1. Add a settings page for notification preferences.\n2. Wire it to the existing /api/v1/users/me endpoint.\n3. Add end-to-end tests for the new flow.\n4. Update the changelog under \"unreleased\" section.\nAdditional requirement: Ensure test data resets between test runs."
1326
+ }
1327
+ },
1328
+ "numCalls": 1,
1329
+ "finishReason": "tool_calls",
1330
+ "latencyMs": 1941,
1331
+ "tokens": 941,
1332
+ "error": null,
1333
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"plan/notification-settings-page\",\n \"content\": \"User requests to add a settings page for not"
1334
+ },
1335
+ {
1336
+ "model": "gpt-4.1-mini",
1337
+ "variant": "A",
1338
+ "scenario": "S3-finding-recall",
1339
+ "trial": 2,
1340
+ "hit": true,
1341
+ "partial": false,
1342
+ "reason": "memory.list",
1343
+ "firstCall": {
1344
+ "toolId": "memory",
1345
+ "parameters": {
1346
+ "action": "list"
1347
+ }
1348
+ },
1349
+ "numCalls": 1,
1350
+ "finishReason": "tool_calls",
1351
+ "latencyMs": 731,
1352
+ "tokens": 782,
1353
+ "error": null,
1354
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
1355
+ },
1356
+ {
1357
+ "model": "gpt-4.1-mini",
1358
+ "variant": "A",
1359
+ "scenario": "S4-small-talk",
1360
+ "trial": 0,
1361
+ "hit": true,
1362
+ "partial": false,
1363
+ "reason": "no call",
1364
+ "firstCall": null,
1365
+ "numCalls": 0,
1366
+ "finishReason": "stop",
1367
+ "latencyMs": 838,
1368
+ "tokens": 743,
1369
+ "error": null,
1370
+ "contentPreview": "You're welcome! If you have any more questions or need further assistance, just let me know."
1371
+ },
1372
+ {
1373
+ "model": "gpt-4.1-mini",
1374
+ "variant": "A",
1375
+ "scenario": "S4-small-talk",
1376
+ "trial": 1,
1377
+ "hit": true,
1378
+ "partial": false,
1379
+ "reason": "no call",
1380
+ "firstCall": null,
1381
+ "numCalls": 0,
1382
+ "finishReason": "stop",
1383
+ "latencyMs": 769,
1384
+ "tokens": 743,
1385
+ "error": null,
1386
+ "contentPreview": "You're welcome! If you have any more questions or need further assistance, just let me know."
1387
+ },
1388
+ {
1389
+ "model": "gpt-4.1-mini",
1390
+ "variant": "A",
1391
+ "scenario": "S2-multi-part",
1392
+ "trial": 2,
1393
+ "hit": true,
1394
+ "partial": false,
1395
+ "reason": "memory.add",
1396
+ "firstCall": {
1397
+ "toolId": "memory",
1398
+ "parameters": {
1399
+ "action": "add",
1400
+ "title": "plan/notification-preferences-settings-page",
1401
+ "content": "1. Add a settings page for notification preferences.\n2. Wire it to the existing /api/v1/users/me endpoint.\n3. Add e2e tests for the new flow.\n4. Update the changelog under \"unreleased\".\nEnsure test data resets between runs."
1402
+ }
1403
+ },
1404
+ "numCalls": 1,
1405
+ "finishReason": "tool_calls",
1406
+ "latencyMs": 2100,
1407
+ "tokens": 923,
1408
+ "error": null,
1409
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"plan/notification-preferences-settings-page\",\n \"content\": \"1. Add a settings page for notif"
1410
+ },
1411
+ {
1412
+ "model": "gpt-4.1-mini",
1413
+ "variant": "A",
1414
+ "scenario": "S4-small-talk",
1415
+ "trial": 2,
1416
+ "hit": true,
1417
+ "partial": false,
1418
+ "reason": "no call",
1419
+ "firstCall": null,
1420
+ "numCalls": 0,
1421
+ "finishReason": "stop",
1422
+ "latencyMs": 1210,
1423
+ "tokens": 743,
1424
+ "error": null,
1425
+ "contentPreview": "You're welcome! If you have any more questions or need further assistance, just let me know."
1426
+ },
1427
+ {
1428
+ "model": "gpt-4.1-mini",
1429
+ "variant": "B",
1430
+ "scenario": "S1-preference",
1431
+ "trial": 0,
1432
+ "hit": false,
1433
+ "partial": false,
1434
+ "reason": "no tool call",
1435
+ "firstCall": null,
1436
+ "numCalls": 0,
1437
+ "finishReason": "stop",
1438
+ "latencyMs": 861,
1439
+ "tokens": 356,
1440
+ "error": null,
1441
+ "contentPreview": "Understood. No emojis in code, comments, or commit messages. Always use Tailwind CSS for styling, never Bootstrap. How can I assist you today?"
1442
+ },
1443
+ {
1444
+ "model": "gpt-4.1-mini",
1445
+ "variant": "A",
1446
+ "scenario": "S5-constraint-discovery",
1447
+ "trial": 0,
1448
+ "hit": false,
1449
+ "partial": false,
1450
+ "reason": "no tool call",
1451
+ "firstCall": null,
1452
+ "numCalls": 0,
1453
+ "finishReason": "stop",
1454
+ "latencyMs": 1353,
1455
+ "tokens": 825,
1456
+ "error": null,
1457
+ "contentPreview": "Thanks for the heads up. I'll keep that in mind to avoid hitting the rate limit, especially with failed auth retries counting against it. If you want, I can help implement or review rate limiting and "
1458
+ },
1459
+ {
1460
+ "model": "gpt-4.1-mini",
1461
+ "variant": "A",
1462
+ "scenario": "S5-constraint-discovery",
1463
+ "trial": 1,
1464
+ "hit": false,
1465
+ "partial": false,
1466
+ "reason": "no tool call",
1467
+ "firstCall": null,
1468
+ "numCalls": 0,
1469
+ "finishReason": "stop",
1470
+ "latencyMs": 1411,
1471
+ "tokens": 825,
1472
+ "error": null,
1473
+ "contentPreview": "Thanks for the heads up. I'll keep that in mind to avoid hitting the rate limit, especially with failed auth retries counting against it. If you want, I can help implement or review rate limiting and "
1474
+ },
1475
+ {
1476
+ "model": "gpt-4.1-mini",
1477
+ "variant": "B",
1478
+ "scenario": "S1-preference",
1479
+ "trial": 1,
1480
+ "hit": false,
1481
+ "partial": false,
1482
+ "reason": "no tool call",
1483
+ "firstCall": null,
1484
+ "numCalls": 0,
1485
+ "finishReason": "stop",
1486
+ "latencyMs": 916,
1487
+ "tokens": 356,
1488
+ "error": null,
1489
+ "contentPreview": "Understood. No emojis in code, comments, or commit messages. Always use Tailwind CSS for styling, never Bootstrap. How can I assist you today?"
1490
+ },
1491
+ {
1492
+ "model": "gpt-4.1-mini",
1493
+ "variant": "A",
1494
+ "scenario": "S5-constraint-discovery",
1495
+ "trial": 2,
1496
+ "hit": false,
1497
+ "partial": false,
1498
+ "reason": "no tool call",
1499
+ "firstCall": null,
1500
+ "numCalls": 0,
1501
+ "finishReason": "stop",
1502
+ "latencyMs": 1380,
1503
+ "tokens": 821,
1504
+ "error": null,
1505
+ "contentPreview": "Thanks for the heads up. I'll keep that in mind to avoid hitting the rate limit, especially with failed auth retries counting against it. If you want, I can help implement some rate limiting or retry "
1506
+ },
1507
+ {
1508
+ "model": "gpt-4.1-mini",
1509
+ "variant": "B",
1510
+ "scenario": "S1-preference",
1511
+ "trial": 2,
1512
+ "hit": false,
1513
+ "partial": false,
1514
+ "reason": "no tool call",
1515
+ "firstCall": null,
1516
+ "numCalls": 0,
1517
+ "finishReason": "stop",
1518
+ "latencyMs": 905,
1519
+ "tokens": 356,
1520
+ "error": null,
1521
+ "contentPreview": "Understood. No emojis in code, comments, or commit messages. Always use Tailwind CSS for styling, never Bootstrap. How can I assist you today?"
1522
+ },
1523
+ {
1524
+ "model": "gpt-4.1-mini",
1525
+ "variant": "B",
1526
+ "scenario": "S3-finding-recall",
1527
+ "trial": 0,
1528
+ "hit": true,
1529
+ "partial": false,
1530
+ "reason": "memory.list",
1531
+ "firstCall": {
1532
+ "toolId": "memory",
1533
+ "parameters": {
1534
+ "action": "list"
1535
+ }
1536
+ },
1537
+ "numCalls": 1,
1538
+ "finishReason": "tool_calls",
1539
+ "latencyMs": 670,
1540
+ "tokens": 326,
1541
+ "error": null,
1542
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
1543
+ },
1544
+ {
1545
+ "model": "gpt-4.1-mini",
1546
+ "variant": "B",
1547
+ "scenario": "S2-multi-part",
1548
+ "trial": 1,
1549
+ "hit": false,
1550
+ "partial": false,
1551
+ "reason": "wrong tool: taskmanager",
1552
+ "firstCall": {
1553
+ "toolId": "taskmanager",
1554
+ "parameters": {
1555
+ "action": "create",
1556
+ "title": "Add notification preferences settings page and tests"
1557
+ }
1558
+ },
1559
+ "numCalls": 1,
1560
+ "finishReason": "tool_calls",
1561
+ "latencyMs": 967,
1562
+ "tokens": 405,
1563
+ "error": null,
1564
+ "contentPreview": "\n**Calling taskmanager**\n\n```json\n{\n \"toolId\": \"taskmanager\",\n \"parameters\": {\n \"action\": \"create\",\n \"title\": \"Add notification preferences settings page and tests\"\n }\n}\n```\n"
1565
+ },
1566
+ {
1567
+ "model": "gpt-4.1-mini",
1568
+ "variant": "B",
1569
+ "scenario": "S2-multi-part",
1570
+ "trial": 0,
1571
+ "hit": false,
1572
+ "partial": false,
1573
+ "reason": "wrong tool: taskmanager",
1574
+ "firstCall": {
1575
+ "toolId": "taskmanager",
1576
+ "parameters": {
1577
+ "action": "create",
1578
+ "title": "Add notification preferences settings page and tests"
1579
+ }
1580
+ },
1581
+ "numCalls": 1,
1582
+ "finishReason": "tool_calls",
1583
+ "latencyMs": 1102,
1584
+ "tokens": 405,
1585
+ "error": null,
1586
+ "contentPreview": "\n**Calling taskmanager**\n\n```json\n{\n \"toolId\": \"taskmanager\",\n \"parameters\": {\n \"action\": \"create\",\n \"title\": \"Add notification preferences settings page and tests\"\n }\n}\n```\n"
1587
+ },
1588
+ {
1589
+ "model": "gpt-4.1-mini",
1590
+ "variant": "B",
1591
+ "scenario": "S2-multi-part",
1592
+ "trial": 2,
1593
+ "hit": false,
1594
+ "partial": false,
1595
+ "reason": "wrong tool: taskmanager",
1596
+ "firstCall": {
1597
+ "toolId": "taskmanager",
1598
+ "parameters": {
1599
+ "action": "create",
1600
+ "title": "Add notification preferences settings page"
1601
+ }
1602
+ },
1603
+ "numCalls": 1,
1604
+ "finishReason": "tool_calls",
1605
+ "latencyMs": 847,
1606
+ "tokens": 403,
1607
+ "error": null,
1608
+ "contentPreview": "\n**Calling taskmanager**\n\n```json\n{\n \"toolId\": \"taskmanager\",\n \"parameters\": {\n \"action\": \"create\",\n \"title\": \"Add notification preferences settings page\"\n }\n}\n```\n"
1609
+ },
1610
+ {
1611
+ "model": "gpt-4.1-mini",
1612
+ "variant": "B",
1613
+ "scenario": "S3-finding-recall",
1614
+ "trial": 1,
1615
+ "hit": true,
1616
+ "partial": false,
1617
+ "reason": "memory.list",
1618
+ "firstCall": {
1619
+ "toolId": "memory",
1620
+ "parameters": {
1621
+ "action": "list"
1622
+ }
1623
+ },
1624
+ "numCalls": 1,
1625
+ "finishReason": "tool_calls",
1626
+ "latencyMs": 755,
1627
+ "tokens": 326,
1628
+ "error": null,
1629
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
1630
+ },
1631
+ {
1632
+ "model": "gpt-4.1-mini",
1633
+ "variant": "B",
1634
+ "scenario": "S3-finding-recall",
1635
+ "trial": 2,
1636
+ "hit": true,
1637
+ "partial": false,
1638
+ "reason": "memory.list",
1639
+ "firstCall": {
1640
+ "toolId": "memory",
1641
+ "parameters": {
1642
+ "action": "list"
1643
+ }
1644
+ },
1645
+ "numCalls": 1,
1646
+ "finishReason": "tool_calls",
1647
+ "latencyMs": 682,
1648
+ "tokens": 326,
1649
+ "error": null,
1650
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
1651
+ },
1652
+ {
1653
+ "model": "gpt-4.1-mini",
1654
+ "variant": "B",
1655
+ "scenario": "S4-small-talk",
1656
+ "trial": 2,
1657
+ "hit": true,
1658
+ "partial": false,
1659
+ "reason": "no call",
1660
+ "firstCall": null,
1661
+ "numCalls": 0,
1662
+ "finishReason": "stop",
1663
+ "latencyMs": 679,
1664
+ "tokens": 287,
1665
+ "error": null,
1666
+ "contentPreview": "You're welcome! If you need any further assistance or have more questions, feel free to ask."
1667
+ },
1668
+ {
1669
+ "model": "gpt-4.1-mini",
1670
+ "variant": "B",
1671
+ "scenario": "S4-small-talk",
1672
+ "trial": 0,
1673
+ "hit": true,
1674
+ "partial": false,
1675
+ "reason": "no call",
1676
+ "firstCall": null,
1677
+ "numCalls": 0,
1678
+ "finishReason": "stop",
1679
+ "latencyMs": 927,
1680
+ "tokens": 287,
1681
+ "error": null,
1682
+ "contentPreview": "You're welcome! If you have any more questions or need further assistance, just let me know."
1683
+ },
1684
+ {
1685
+ "model": "gpt-4.1-mini",
1686
+ "variant": "B",
1687
+ "scenario": "S4-small-talk",
1688
+ "trial": 1,
1689
+ "hit": true,
1690
+ "partial": false,
1691
+ "reason": "no call",
1692
+ "firstCall": null,
1693
+ "numCalls": 0,
1694
+ "finishReason": "stop",
1695
+ "latencyMs": 1166,
1696
+ "tokens": 287,
1697
+ "error": null,
1698
+ "contentPreview": "You're welcome! If you have any more questions or need further assistance, just let me know."
1699
+ },
1700
+ {
1701
+ "model": "gpt-4.1-mini",
1702
+ "variant": "B",
1703
+ "scenario": "S5-constraint-discovery",
1704
+ "trial": 0,
1705
+ "hit": false,
1706
+ "partial": false,
1707
+ "reason": "no tool call",
1708
+ "firstCall": null,
1709
+ "numCalls": 0,
1710
+ "finishReason": "stop",
1711
+ "latencyMs": 1209,
1712
+ "tokens": 368,
1713
+ "error": null,
1714
+ "contentPreview": "Thanks for the heads up. To avoid hitting the rate limit, we should implement retry logic with exponential backoff for failed auth attempts and monitor the request rate closely. Would you like me to h"
1715
+ },
1716
+ {
1717
+ "model": "gpt-4.1-mini",
1718
+ "variant": "B",
1719
+ "scenario": "S5-constraint-discovery",
1720
+ "trial": 1,
1721
+ "hit": false,
1722
+ "partial": false,
1723
+ "reason": "no tool call",
1724
+ "firstCall": null,
1725
+ "numCalls": 0,
1726
+ "finishReason": "stop",
1727
+ "latencyMs": 1178,
1728
+ "tokens": 364,
1729
+ "error": null,
1730
+ "contentPreview": "Thanks for the heads up. To avoid hitting the rate limit, we should implement request throttling and handle failed auth retries carefully to minimize their impact. Would you like me to help set up rat"
1731
+ },
1732
+ {
1733
+ "model": "gpt-4.1-mini",
1734
+ "variant": "B",
1735
+ "scenario": "S5-constraint-discovery",
1736
+ "trial": 2,
1737
+ "hit": false,
1738
+ "partial": false,
1739
+ "reason": "no tool call",
1740
+ "firstCall": null,
1741
+ "numCalls": 0,
1742
+ "finishReason": "stop",
1743
+ "latencyMs": 1164,
1744
+ "tokens": 370,
1745
+ "error": null,
1746
+ "contentPreview": "Thanks for the heads up. To avoid hitting the rate limit again, we should implement a retry strategy with exponential backoff for failed auth attempts and monitor the request rate closely. Would you l"
1747
+ },
1748
+ {
1749
+ "model": "gpt-4.1-mini",
1750
+ "variant": "C",
1751
+ "scenario": "S1-preference",
1752
+ "trial": 0,
1753
+ "hit": true,
1754
+ "partial": false,
1755
+ "reason": "memory.add",
1756
+ "firstCall": {
1757
+ "toolId": "memory",
1758
+ "parameters": {
1759
+ "action": "add",
1760
+ "title": "plan/ground_rules",
1761
+ "content": "1. Never use emojis in any code, comments, or commit messages.\n2. Always use Tailwind CSS for styling, never Bootstrap."
1762
+ }
1763
+ },
1764
+ "numCalls": 1,
1765
+ "finishReason": "tool_calls",
1766
+ "latencyMs": 1495,
1767
+ "tokens": 437,
1768
+ "error": null,
1769
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"plan/ground_rules\",\n \"content\": \"1. Never use emojis in any code, comments, or commit messa"
1770
+ },
1771
+ {
1772
+ "model": "gpt-4.1-mini",
1773
+ "variant": "C",
1774
+ "scenario": "S2-multi-part",
1775
+ "trial": 0,
1776
+ "hit": false,
1777
+ "partial": false,
1778
+ "reason": "wrong tool: taskmanager",
1779
+ "firstCall": {
1780
+ "toolId": "taskmanager",
1781
+ "parameters": {
1782
+ "action": "create",
1783
+ "title": "Add notification preferences settings page"
1784
+ }
1785
+ },
1786
+ "numCalls": 1,
1787
+ "finishReason": "tool_calls",
1788
+ "latencyMs": 933,
1789
+ "tokens": 465,
1790
+ "error": null,
1791
+ "contentPreview": "\n**Calling taskmanager**\n\n```json\n{\n \"toolId\": \"taskmanager\",\n \"parameters\": {\n \"action\": \"create\",\n \"title\": \"Add notification preferences settings page\"\n }\n}\n```\n"
1792
+ },
1793
+ {
1794
+ "model": "gpt-4.1-mini",
1795
+ "variant": "C",
1796
+ "scenario": "S1-preference",
1797
+ "trial": 1,
1798
+ "hit": true,
1799
+ "partial": false,
1800
+ "reason": "memory.add",
1801
+ "firstCall": {
1802
+ "toolId": "memory",
1803
+ "parameters": {
1804
+ "action": "add",
1805
+ "title": "plan/ground_rules",
1806
+ "content": "1. Never use emojis in any code, comments, or commit messages.\n2. Always use Tailwind CSS for styling, never Bootstrap."
1807
+ }
1808
+ },
1809
+ "numCalls": 1,
1810
+ "finishReason": "tool_calls",
1811
+ "latencyMs": 1354,
1812
+ "tokens": 437,
1813
+ "error": null,
1814
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"plan/ground_rules\",\n \"content\": \"1. Never use emojis in any code, comments, or commit messa"
1815
+ },
1816
+ {
1817
+ "model": "gpt-4.1-mini",
1818
+ "variant": "C",
1819
+ "scenario": "S2-multi-part",
1820
+ "trial": 1,
1821
+ "hit": false,
1822
+ "partial": false,
1823
+ "reason": "wrong tool: taskmanager",
1824
+ "firstCall": {
1825
+ "toolId": "taskmanager",
1826
+ "parameters": {
1827
+ "action": "create",
1828
+ "title": "Add notification preferences settings page"
1829
+ }
1830
+ },
1831
+ "numCalls": 1,
1832
+ "finishReason": "tool_calls",
1833
+ "latencyMs": 1009,
1834
+ "tokens": 465,
1835
+ "error": null,
1836
+ "contentPreview": "\n**Calling taskmanager**\n\n```json\n{\n \"toolId\": \"taskmanager\",\n \"parameters\": {\n \"action\": \"create\",\n \"title\": \"Add notification preferences settings page\"\n }\n}\n```\n"
1837
+ },
1838
+ {
1839
+ "model": "gpt-4.1-mini",
1840
+ "variant": "C",
1841
+ "scenario": "S2-multi-part",
1842
+ "trial": 2,
1843
+ "hit": false,
1844
+ "partial": false,
1845
+ "reason": "wrong tool: taskmanager",
1846
+ "firstCall": {
1847
+ "toolId": "taskmanager",
1848
+ "parameters": {
1849
+ "action": "create",
1850
+ "title": "Add notification preferences settings page"
1851
+ }
1852
+ },
1853
+ "numCalls": 1,
1854
+ "finishReason": "tool_calls",
1855
+ "latencyMs": 1099,
1856
+ "tokens": 465,
1857
+ "error": null,
1858
+ "contentPreview": "\n**Calling taskmanager**\n\n```json\n{\n \"toolId\": \"taskmanager\",\n \"parameters\": {\n \"action\": \"create\",\n \"title\": \"Add notification preferences settings page\"\n }\n}\n```\n"
1859
+ },
1860
+ {
1861
+ "model": "gpt-4.1-mini",
1862
+ "variant": "C",
1863
+ "scenario": "S1-preference",
1864
+ "trial": 2,
1865
+ "hit": true,
1866
+ "partial": false,
1867
+ "reason": "memory.add",
1868
+ "firstCall": {
1869
+ "toolId": "memory",
1870
+ "parameters": {
1871
+ "action": "add",
1872
+ "title": "plan/ground_rules",
1873
+ "content": "1. Never use emojis in any code, comments, or commit messages.\n2. Always use Tailwind CSS for styling, never Bootstrap."
1874
+ }
1875
+ },
1876
+ "numCalls": 1,
1877
+ "finishReason": "tool_calls",
1878
+ "latencyMs": 1307,
1879
+ "tokens": 437,
1880
+ "error": null,
1881
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"plan/ground_rules\",\n \"content\": \"1. Never use emojis in any code, comments, or commit messa"
1882
+ },
1883
+ {
1884
+ "model": "gpt-4.1-mini",
1885
+ "variant": "C",
1886
+ "scenario": "S3-finding-recall",
1887
+ "trial": 0,
1888
+ "hit": true,
1889
+ "partial": false,
1890
+ "reason": "memory.list",
1891
+ "firstCall": {
1892
+ "toolId": "memory",
1893
+ "parameters": {
1894
+ "action": "list"
1895
+ }
1896
+ },
1897
+ "numCalls": 1,
1898
+ "finishReason": "tool_calls",
1899
+ "latencyMs": 717,
1900
+ "tokens": 388,
1901
+ "error": null,
1902
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
1903
+ },
1904
+ {
1905
+ "model": "gpt-4.1-mini",
1906
+ "variant": "C",
1907
+ "scenario": "S4-small-talk",
1908
+ "trial": 0,
1909
+ "hit": true,
1910
+ "partial": false,
1911
+ "reason": "no call",
1912
+ "firstCall": null,
1913
+ "numCalls": 0,
1914
+ "finishReason": "stop",
1915
+ "latencyMs": 1311,
1916
+ "tokens": 349,
1917
+ "error": null,
1918
+ "contentPreview": "You're welcome! If you have any more questions or need further assistance, just let me know."
1919
+ },
1920
+ {
1921
+ "model": "gpt-4.1-mini",
1922
+ "variant": "C",
1923
+ "scenario": "S3-finding-recall",
1924
+ "trial": 2,
1925
+ "hit": true,
1926
+ "partial": false,
1927
+ "reason": "memory.list",
1928
+ "firstCall": {
1929
+ "toolId": "memory",
1930
+ "parameters": {
1931
+ "action": "list"
1932
+ }
1933
+ },
1934
+ "numCalls": 1,
1935
+ "finishReason": "tool_calls",
1936
+ "latencyMs": 1461,
1937
+ "tokens": 388,
1938
+ "error": null,
1939
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
1940
+ },
1941
+ {
1942
+ "model": "gpt-4.1-mini",
1943
+ "variant": "C",
1944
+ "scenario": "S4-small-talk",
1945
+ "trial": 1,
1946
+ "hit": true,
1947
+ "partial": false,
1948
+ "reason": "no call",
1949
+ "firstCall": null,
1950
+ "numCalls": 0,
1951
+ "finishReason": "stop",
1952
+ "latencyMs": 1303,
1953
+ "tokens": 349,
1954
+ "error": null,
1955
+ "contentPreview": "You're welcome! If you have any more questions or need further assistance, just let me know."
1956
+ },
1957
+ {
1958
+ "model": "gpt-4.1-mini",
1959
+ "variant": "C",
1960
+ "scenario": "S4-small-talk",
1961
+ "trial": 2,
1962
+ "hit": true,
1963
+ "partial": false,
1964
+ "reason": "no call",
1965
+ "firstCall": null,
1966
+ "numCalls": 0,
1967
+ "finishReason": "stop",
1968
+ "latencyMs": 1284,
1969
+ "tokens": 349,
1970
+ "error": null,
1971
+ "contentPreview": "You're welcome! If you have any more questions or need further assistance, just let me know."
1972
+ },
1973
+ {
1974
+ "model": "gpt-4.1-mini",
1975
+ "variant": "C",
1976
+ "scenario": "S3-finding-recall",
1977
+ "trial": 1,
1978
+ "hit": true,
1979
+ "partial": false,
1980
+ "reason": "memory.list",
1981
+ "firstCall": {
1982
+ "toolId": "memory",
1983
+ "parameters": {
1984
+ "action": "list"
1985
+ }
1986
+ },
1987
+ "numCalls": 1,
1988
+ "finishReason": "tool_calls",
1989
+ "latencyMs": 1678,
1990
+ "tokens": 388,
1991
+ "error": null,
1992
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
1993
+ },
1994
+ {
1995
+ "model": "gpt-4.1-mini",
1996
+ "variant": "C",
1997
+ "scenario": "S5-constraint-discovery",
1998
+ "trial": 0,
1999
+ "hit": true,
2000
+ "partial": false,
2001
+ "reason": "memory.add",
2002
+ "firstCall": {
2003
+ "toolId": "memory",
2004
+ "parameters": {
2005
+ "action": "add",
2006
+ "title": "plan/upstream_provider_rate_limit",
2007
+ "content": "The upstream provider has a rate limit of 60 requests per minute. Failed authentication retries count against this limit. This caused issues last week."
2008
+ }
2009
+ },
2010
+ "numCalls": 1,
2011
+ "finishReason": "tool_calls",
2012
+ "latencyMs": 1333,
2013
+ "tokens": 434,
2014
+ "error": null,
2015
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"plan/upstream_provider_rate_limit\",\n \"content\": \"The upstream provider has a rate limit of "
2016
+ },
2017
+ {
2018
+ "model": "gpt-4.1-mini",
2019
+ "variant": "C",
2020
+ "scenario": "S5-constraint-discovery",
2021
+ "trial": 2,
2022
+ "hit": true,
2023
+ "partial": false,
2024
+ "reason": "memory.add",
2025
+ "firstCall": {
2026
+ "toolId": "memory",
2027
+ "parameters": {
2028
+ "action": "add",
2029
+ "title": "plan/upstream rate limit and auth retries",
2030
+ "content": "The upstream provider has a rate limit of 60 requests per minute. Failed authentication retries count against this rate limit. This caused issues last week."
2031
+ }
2032
+ },
2033
+ "numCalls": 1,
2034
+ "finishReason": "tool_calls",
2035
+ "latencyMs": 1569,
2036
+ "tokens": 437,
2037
+ "error": null,
2038
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"plan/upstream rate limit and auth retries\",\n \"content\": \"The upstream provider has a rate l"
2039
+ },
2040
+ {
2041
+ "model": "gpt-4.1-mini",
2042
+ "variant": "C",
2043
+ "scenario": "S5-constraint-discovery",
2044
+ "trial": 1,
2045
+ "hit": true,
2046
+ "partial": false,
2047
+ "reason": "memory.add",
2048
+ "firstCall": {
2049
+ "toolId": "memory",
2050
+ "parameters": {
2051
+ "action": "add",
2052
+ "title": "plan/upstream rate limit and auth retries",
2053
+ "content": "The upstream provider has a rate limit of 60 requests per minute. Failed authentication retries count against this rate limit, which caused issues last week."
2054
+ }
2055
+ },
2056
+ "numCalls": 1,
2057
+ "finishReason": "tool_calls",
2058
+ "latencyMs": 1944,
2059
+ "tokens": 437,
2060
+ "error": null,
2061
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"plan/upstream rate limit and auth retries\",\n \"content\": \"The upstream provider has a rate l"
2062
+ },
2063
+ {
2064
+ "model": "Kimi-K2.6",
2065
+ "variant": "A",
2066
+ "scenario": "S1-preference",
2067
+ "trial": 0,
2068
+ "hit": true,
2069
+ "partial": false,
2070
+ "reason": "memory.add",
2071
+ "firstCall": {
2072
+ "toolId": "memory",
2073
+ "parameters": {
2074
+ "action": "add",
2075
+ "title": "Ground rules: no emojis, Tailwind only",
2076
+ "content": "User ground rules for all future work:\n1. Never use emojis in any code, comments, or commit messages.\n2. Always use Tailwind for styling, never Bootstrap."
2077
+ }
2078
+ },
2079
+ "numCalls": 1,
2080
+ "finishReason": "tool_calls",
2081
+ "latencyMs": 2677,
2082
+ "tokens": 969,
2083
+ "error": null,
2084
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Ground rules: no emojis, Tailwind only\",\n \"content\": \"User ground rules for all future work"
2085
+ },
2086
+ {
2087
+ "model": "Kimi-K2.6",
2088
+ "variant": "A",
2089
+ "scenario": "S2-multi-part",
2090
+ "trial": 2,
2091
+ "hit": true,
2092
+ "partial": false,
2093
+ "reason": "memory.add",
2094
+ "firstCall": {
2095
+ "toolId": "memory",
2096
+ "parameters": {
2097
+ "action": "add",
2098
+ "title": "plan/notification-settings-page",
2099
+ "content": "Please do the following:\n1. Add a settings page for notification preferences.\n2. Wire it to the existing /api/v1/users/me endpoint.\n3. Add e2e tests for the new flow.\n4. Update the changelog under \"unreleased\".\nMake sure the test data resets between runs."
2100
+ }
2101
+ },
2102
+ "numCalls": 1,
2103
+ "finishReason": "tool_calls",
2104
+ "latencyMs": 1741,
2105
+ "tokens": 991,
2106
+ "error": null,
2107
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"plan/notification-settings-page\",\n \"content\": \"Please do the following:\\n1. Add a settings "
2108
+ },
2109
+ {
2110
+ "model": "Kimi-K2.6",
2111
+ "variant": "A",
2112
+ "scenario": "S2-multi-part",
2113
+ "trial": 0,
2114
+ "hit": true,
2115
+ "partial": false,
2116
+ "reason": "memory.add",
2117
+ "firstCall": {
2118
+ "toolId": "memory",
2119
+ "parameters": {
2120
+ "action": "add",
2121
+ "title": "plan/notification-settings-page",
2122
+ "content": "Please do the following:\n1. Add a settings page for notification preferences.\n2. Wire it to the existing /api/v1/users/me endpoint.\n3. Add e2e tests for the new flow.\n4. Update the changelog under \"unreleased\".\nMake sure the test data resets between runs."
2123
+ }
2124
+ },
2125
+ "numCalls": 1,
2126
+ "finishReason": "tool_calls",
2127
+ "latencyMs": 3416,
2128
+ "tokens": 994,
2129
+ "error": null,
2130
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"plan/notification-settings-page\",\n \"content\": \"Please do the following:\\n1. Add a settings "
2131
+ },
2132
+ {
2133
+ "model": "Kimi-K2.6",
2134
+ "variant": "A",
2135
+ "scenario": "S1-preference",
2136
+ "trial": 1,
2137
+ "hit": true,
2138
+ "partial": false,
2139
+ "reason": "memory.add",
2140
+ "firstCall": {
2141
+ "toolId": "memory",
2142
+ "parameters": {
2143
+ "action": "add",
2144
+ "title": "Ground Rules",
2145
+ "content": "1. Never use emojis in any code, comments, or commit messages.\n2. Always use Tailwind for styling, never Bootstrap."
2146
+ }
2147
+ },
2148
+ "numCalls": 1,
2149
+ "finishReason": "tool_calls",
2150
+ "latencyMs": 4000,
2151
+ "tokens": 953,
2152
+ "error": null,
2153
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Ground Rules\",\n \"content\": \"1. Never use emojis in any code, comments, or commit messages.\\"
2154
+ },
2155
+ {
2156
+ "model": "Kimi-K2.6",
2157
+ "variant": "A",
2158
+ "scenario": "S2-multi-part",
2159
+ "trial": 1,
2160
+ "hit": true,
2161
+ "partial": false,
2162
+ "reason": "memory.add",
2163
+ "firstCall": {
2164
+ "toolId": "memory",
2165
+ "parameters": {
2166
+ "action": "add",
2167
+ "title": "plan/notification-settings-page",
2168
+ "content": "Please do the following:\n1. Add a settings page for notification preferences.\n2. Wire it to the existing /api/v1/users/me endpoint.\n3. Add e2e tests for the new flow.\n4. Update the changelog under \"unreleased\".\nMake sure the test data resets between runs."
2169
+ }
2170
+ },
2171
+ "numCalls": 1,
2172
+ "finishReason": "tool_calls",
2173
+ "latencyMs": 2559,
2174
+ "tokens": 991,
2175
+ "error": null,
2176
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"plan/notification-settings-page\",\n \"content\": \"Please do the following:\\n1. Add a settings "
2177
+ },
2178
+ {
2179
+ "model": "Kimi-K2.6",
2180
+ "variant": "A",
2181
+ "scenario": "S1-preference",
2182
+ "trial": 2,
2183
+ "hit": true,
2184
+ "partial": false,
2185
+ "reason": "memory.add",
2186
+ "firstCall": {
2187
+ "toolId": "memory",
2188
+ "parameters": {
2189
+ "action": "add",
2190
+ "title": "Ground Rules",
2191
+ "content": "1. Never use emojis in any code, comments, or commit messages.\n2. Always use Tailwind for styling, never Bootstrap."
2192
+ }
2193
+ },
2194
+ "numCalls": 1,
2195
+ "finishReason": "tool_calls",
2196
+ "latencyMs": 3964,
2197
+ "tokens": 953,
2198
+ "error": null,
2199
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Ground Rules\",\n \"content\": \"1. Never use emojis in any code, comments, or commit messages.\\"
2200
+ },
2201
+ {
2202
+ "model": "Kimi-K2.6",
2203
+ "variant": "A",
2204
+ "scenario": "S3-finding-recall",
2205
+ "trial": 0,
2206
+ "hit": true,
2207
+ "partial": false,
2208
+ "reason": "memory.list",
2209
+ "firstCall": {
2210
+ "toolId": "memory",
2211
+ "parameters": {
2212
+ "action": "list"
2213
+ }
2214
+ },
2215
+ "numCalls": 1,
2216
+ "finishReason": "tool_calls",
2217
+ "latencyMs": 2187,
2218
+ "tokens": 842,
2219
+ "error": null,
2220
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
2221
+ },
2222
+ {
2223
+ "model": "Kimi-K2.6",
2224
+ "variant": "A",
2225
+ "scenario": "S3-finding-recall",
2226
+ "trial": 1,
2227
+ "hit": true,
2228
+ "partial": false,
2229
+ "reason": "memory.list",
2230
+ "firstCall": {
2231
+ "toolId": "memory",
2232
+ "parameters": {
2233
+ "action": "list"
2234
+ }
2235
+ },
2236
+ "numCalls": 1,
2237
+ "finishReason": "tool_calls",
2238
+ "latencyMs": 1390,
2239
+ "tokens": 842,
2240
+ "error": null,
2241
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
2242
+ },
2243
+ {
2244
+ "model": "Kimi-K2.6",
2245
+ "variant": "A",
2246
+ "scenario": "S3-finding-recall",
2247
+ "trial": 2,
2248
+ "hit": true,
2249
+ "partial": false,
2250
+ "reason": "memory.list",
2251
+ "firstCall": {
2252
+ "toolId": "memory",
2253
+ "parameters": {
2254
+ "action": "list"
2255
+ }
2256
+ },
2257
+ "numCalls": 1,
2258
+ "finishReason": "tool_calls",
2259
+ "latencyMs": 1356,
2260
+ "tokens": 842,
2261
+ "error": null,
2262
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
2263
+ },
2264
+ {
2265
+ "model": "Kimi-K2.6",
2266
+ "variant": "A",
2267
+ "scenario": "S4-small-talk",
2268
+ "trial": 0,
2269
+ "hit": true,
2270
+ "partial": false,
2271
+ "reason": "no call",
2272
+ "firstCall": null,
2273
+ "numCalls": 0,
2274
+ "finishReason": "stop",
2275
+ "latencyMs": 1498,
2276
+ "tokens": 804,
2277
+ "error": null,
2278
+ "contentPreview": "You're welcome! Let me know if you need anything else."
2279
+ },
2280
+ {
2281
+ "model": "Kimi-K2.6",
2282
+ "variant": "A",
2283
+ "scenario": "S5-constraint-discovery",
2284
+ "trial": 0,
2285
+ "hit": true,
2286
+ "partial": false,
2287
+ "reason": "memory.add",
2288
+ "firstCall": {
2289
+ "toolId": "memory",
2290
+ "parameters": {
2291
+ "action": "add",
2292
+ "title": "Upstream provider rate limit: 60 req/min, failed auth retries count",
2293
+ "content": "The upstream provider has a rate limit of 60 requests per minute. Failed authentication retries count against the rate limit bucket. This caused an incident last week."
2294
+ }
2295
+ },
2296
+ "numCalls": 1,
2297
+ "finishReason": "tool_calls",
2298
+ "latencyMs": 1330,
2299
+ "tokens": 914,
2300
+ "error": null,
2301
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Upstream provider rate limit: 60 req/min, failed auth retries count\",\n \"content\": \"The upst"
2302
+ },
2303
+ {
2304
+ "model": "Kimi-K2.6",
2305
+ "variant": "A",
2306
+ "scenario": "S4-small-talk",
2307
+ "trial": 2,
2308
+ "hit": true,
2309
+ "partial": false,
2310
+ "reason": "no call",
2311
+ "firstCall": null,
2312
+ "numCalls": 0,
2313
+ "finishReason": "stop",
2314
+ "latencyMs": 2111,
2315
+ "tokens": 804,
2316
+ "error": null,
2317
+ "contentPreview": "You're welcome! Let me know if you need anything else."
2318
+ },
2319
+ {
2320
+ "model": "Kimi-K2.6",
2321
+ "variant": "A",
2322
+ "scenario": "S4-small-talk",
2323
+ "trial": 1,
2324
+ "hit": true,
2325
+ "partial": false,
2326
+ "reason": "no call",
2327
+ "firstCall": null,
2328
+ "numCalls": 0,
2329
+ "finishReason": "stop",
2330
+ "latencyMs": 2287,
2331
+ "tokens": 804,
2332
+ "error": null,
2333
+ "contentPreview": "You're welcome! Let me know if you need anything else."
2334
+ },
2335
+ {
2336
+ "model": "Kimi-K2.6",
2337
+ "variant": "B",
2338
+ "scenario": "S1-preference",
2339
+ "trial": 0,
2340
+ "hit": true,
2341
+ "partial": false,
2342
+ "reason": "memory.add",
2343
+ "firstCall": {
2344
+ "toolId": "memory",
2345
+ "parameters": {
2346
+ "action": "add",
2347
+ "title": "Ground Rules",
2348
+ "content": "1. Never use emojis in any code, comments, or commit messages.\n2. Always use Tailwind for styling; never use Bootstrap."
2349
+ }
2350
+ },
2351
+ "numCalls": 1,
2352
+ "finishReason": "tool_calls",
2353
+ "latencyMs": 1742,
2354
+ "tokens": 465,
2355
+ "error": null,
2356
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Ground Rules\",\n \"content\": \"1. Never use emojis in any code, comments, or commit messages.\\"
2357
+ },
2358
+ {
2359
+ "model": "Kimi-K2.6",
2360
+ "variant": "A",
2361
+ "scenario": "S5-constraint-discovery",
2362
+ "trial": 2,
2363
+ "hit": true,
2364
+ "partial": false,
2365
+ "reason": "memory.add",
2366
+ "firstCall": {
2367
+ "toolId": "memory",
2368
+ "parameters": {
2369
+ "action": "add",
2370
+ "title": "Upstream provider rate limit: 60 req/min, failed auth retries count",
2371
+ "content": "The upstream provider has a rate limit of 60 requests per minute. Failed authentication retries count against the rate limit bucket. This caused an incident last week."
2372
+ }
2373
+ },
2374
+ "numCalls": 1,
2375
+ "finishReason": "tool_calls",
2376
+ "latencyMs": 2291,
2377
+ "tokens": 923,
2378
+ "error": null,
2379
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Upstream provider rate limit: 60 req/min, failed auth retries count\",\n \"content\": \"The upst"
2380
+ },
2381
+ {
2382
+ "model": "Kimi-K2.6",
2383
+ "variant": "A",
2384
+ "scenario": "S5-constraint-discovery",
2385
+ "trial": 1,
2386
+ "hit": true,
2387
+ "partial": false,
2388
+ "reason": "memory.add",
2389
+ "firstCall": {
2390
+ "toolId": "memory",
2391
+ "parameters": {
2392
+ "action": "add",
2393
+ "title": "Upstream provider rate limit: 60 req/min, failed auth retries count",
2394
+ "content": "The upstream provider has a rate limit of 60 requests per minute. Failed authentication retries count against the rate limit bucket. This caused an incident last week."
2395
+ }
2396
+ },
2397
+ "numCalls": 1,
2398
+ "finishReason": "tool_calls",
2399
+ "latencyMs": 2720,
2400
+ "tokens": 964,
2401
+ "error": null,
2402
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Upstream provider rate limit: 60 req/min, failed auth retries count\",\n \"content\": \"The upst"
2403
+ },
2404
+ {
2405
+ "model": "Kimi-K2.6",
2406
+ "variant": "B",
2407
+ "scenario": "S1-preference",
2408
+ "trial": 2,
2409
+ "hit": true,
2410
+ "partial": false,
2411
+ "reason": "memory.add",
2412
+ "firstCall": {
2413
+ "toolId": "memory",
2414
+ "parameters": {
2415
+ "action": "add",
2416
+ "title": "Ground Rules",
2417
+ "content": "1. Never use emojis in any code, comments, or commit messages.\n2. Always use Tailwind for styling, never Bootstrap."
2418
+ }
2419
+ },
2420
+ "numCalls": 1,
2421
+ "finishReason": "tool_calls",
2422
+ "latencyMs": 2179,
2423
+ "tokens": 468,
2424
+ "error": null,
2425
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Ground Rules\",\n \"content\": \"1. Never use emojis in any code, comments, or commit messages.\\"
2426
+ },
2427
+ {
2428
+ "model": "Kimi-K2.6",
2429
+ "variant": "B",
2430
+ "scenario": "S2-multi-part",
2431
+ "trial": 0,
2432
+ "hit": false,
2433
+ "partial": false,
2434
+ "reason": "wrong tool: taskmanager",
2435
+ "firstCall": {
2436
+ "toolId": "taskmanager",
2437
+ "parameters": {
2438
+ "action": "create",
2439
+ "title": "Notification preferences settings page",
2440
+ "tasks": [
2441
+ {
2442
+ "id": "1",
2443
+ "title": "Add a settings page for notification preferences",
2444
+ "status": "pending"
2445
+ },
2446
+ {
2447
+ "id": "2",
2448
+ "title": "Wire it to the existing /api/v1/users/me endpoint",
2449
+ "status": "pending"
2450
+ },
2451
+ {
2452
+ "id": "3",
2453
+ "title": "Add e2e tests for the new flow",
2454
+ "status": "pending"
2455
+ },
2456
+ {
2457
+ "id": "4",
2458
+ "title": "Update the changelog under 'unreleased'",
2459
+ "status": "pending"
2460
+ },
2461
+ {
2462
+ "id": "5",
2463
+ "title": "Ensure test data resets between runs",
2464
+ "status": "pending"
2465
+ }
2466
+ ]
2467
+ }
2468
+ },
2469
+ "numCalls": 1,
2470
+ "finishReason": "tool_calls",
2471
+ "latencyMs": 2744,
2472
+ "tokens": 575,
2473
+ "error": null,
2474
+ "contentPreview": "\n**Calling taskmanager**\n\n```json\n{\n \"toolId\": \"taskmanager\",\n \"parameters\": {\n \"action\": \"create\",\n \"title\": \"Notification preferences settings page\",\n \"tasks\": [\n {\n \"id\": \"1\""
2475
+ },
2476
+ {
2477
+ "model": "Kimi-K2.6",
2478
+ "variant": "B",
2479
+ "scenario": "S3-finding-recall",
2480
+ "trial": 0,
2481
+ "hit": true,
2482
+ "partial": false,
2483
+ "reason": "memory.list",
2484
+ "firstCall": {
2485
+ "toolId": "memory",
2486
+ "parameters": {
2487
+ "action": "list"
2488
+ }
2489
+ },
2490
+ "numCalls": 1,
2491
+ "finishReason": "tool_calls",
2492
+ "latencyMs": 1445,
2493
+ "tokens": 397,
2494
+ "error": null,
2495
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
2496
+ },
2497
+ {
2498
+ "model": "Kimi-K2.6",
2499
+ "variant": "B",
2500
+ "scenario": "S1-preference",
2501
+ "trial": 1,
2502
+ "hit": true,
2503
+ "partial": false,
2504
+ "reason": "memory.add",
2505
+ "firstCall": {
2506
+ "toolId": "memory",
2507
+ "parameters": {
2508
+ "action": "add",
2509
+ "title": "Ground Rules: No Emojis",
2510
+ "content": "Never use emojis in any code, comments, or commit messages."
2511
+ }
2512
+ },
2513
+ "numCalls": 2,
2514
+ "finishReason": "tool_calls",
2515
+ "latencyMs": 3383,
2516
+ "tokens": 488,
2517
+ "error": null,
2518
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Ground Rules: No Emojis\",\n \"content\": \"Never use emojis in any code, comments, or commit me"
2519
+ },
2520
+ {
2521
+ "model": "Kimi-K2.6",
2522
+ "variant": "B",
2523
+ "scenario": "S3-finding-recall",
2524
+ "trial": 1,
2525
+ "hit": true,
2526
+ "partial": false,
2527
+ "reason": "memory.list",
2528
+ "firstCall": {
2529
+ "toolId": "memory",
2530
+ "parameters": {
2531
+ "action": "list"
2532
+ }
2533
+ },
2534
+ "numCalls": 1,
2535
+ "finishReason": "tool_calls",
2536
+ "latencyMs": 1187,
2537
+ "tokens": 398,
2538
+ "error": null,
2539
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
2540
+ },
2541
+ {
2542
+ "model": "Kimi-K2.6",
2543
+ "variant": "B",
2544
+ "scenario": "S3-finding-recall",
2545
+ "trial": 2,
2546
+ "hit": true,
2547
+ "partial": false,
2548
+ "reason": "memory.list",
2549
+ "firstCall": {
2550
+ "toolId": "memory",
2551
+ "parameters": {
2552
+ "action": "list"
2553
+ }
2554
+ },
2555
+ "numCalls": 1,
2556
+ "finishReason": "tool_calls",
2557
+ "latencyMs": 1275,
2558
+ "tokens": 398,
2559
+ "error": null,
2560
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
2561
+ },
2562
+ {
2563
+ "model": "Kimi-K2.6",
2564
+ "variant": "B",
2565
+ "scenario": "S4-small-talk",
2566
+ "trial": 0,
2567
+ "hit": true,
2568
+ "partial": false,
2569
+ "reason": "no call",
2570
+ "firstCall": null,
2571
+ "numCalls": 0,
2572
+ "finishReason": "stop",
2573
+ "latencyMs": 1513,
2574
+ "tokens": 346,
2575
+ "error": null,
2576
+ "contentPreview": "No problem! Let me know if you need anything else."
2577
+ },
2578
+ {
2579
+ "model": "Kimi-K2.6",
2580
+ "variant": "B",
2581
+ "scenario": "S4-small-talk",
2582
+ "trial": 1,
2583
+ "hit": true,
2584
+ "partial": false,
2585
+ "reason": "no call",
2586
+ "firstCall": null,
2587
+ "numCalls": 0,
2588
+ "finishReason": "stop",
2589
+ "latencyMs": 1385,
2590
+ "tokens": 353,
2591
+ "error": null,
2592
+ "contentPreview": "You're welcome! Let me know if you need anything else."
2593
+ },
2594
+ {
2595
+ "model": "Kimi-K2.6",
2596
+ "variant": "B",
2597
+ "scenario": "S2-multi-part",
2598
+ "trial": 2,
2599
+ "hit": false,
2600
+ "partial": false,
2601
+ "reason": "wrong tool: taskmanager",
2602
+ "firstCall": {
2603
+ "toolId": "taskmanager",
2604
+ "parameters": {
2605
+ "action": "create",
2606
+ "title": "Notification preferences settings page",
2607
+ "tasks": [
2608
+ {
2609
+ "id": "1",
2610
+ "text": "Add settings page for notification preferences",
2611
+ "status": "in_progress"
2612
+ },
2613
+ {
2614
+ "id": "2",
2615
+ "text": "Wire page to existing /api/v1/users/me endpoint",
2616
+ "status": "pending"
2617
+ },
2618
+ {
2619
+ "id": "3",
2620
+ "text": "Add e2e tests for the new flow",
2621
+ "status": "pending"
2622
+ },
2623
+ {
2624
+ "id": "4",
2625
+ "text": "Update changelog under 'unreleased'",
2626
+ "status": "pending"
2627
+ },
2628
+ {
2629
+ "id": "5",
2630
+ "text": "Ensure test data resets between runs",
2631
+ "status": "pending"
2632
+ }
2633
+ ]
2634
+ }
2635
+ },
2636
+ "numCalls": 1,
2637
+ "finishReason": "tool_calls",
2638
+ "latencyMs": 3444,
2639
+ "tokens": 681,
2640
+ "error": null,
2641
+ "contentPreview": "\n**Calling taskmanager**\n\n```json\n{\n \"toolId\": \"taskmanager\",\n \"parameters\": {\n \"action\": \"create\",\n \"title\": \"Notification preferences settings page\",\n \"tasks\": [\n {\n \"id\": \"1\""
2642
+ },
2643
+ {
2644
+ "model": "Kimi-K2.6",
2645
+ "variant": "B",
2646
+ "scenario": "S2-multi-part",
2647
+ "trial": 1,
2648
+ "hit": false,
2649
+ "partial": false,
2650
+ "reason": "wrong tool: taskmanager",
2651
+ "firstCall": {
2652
+ "toolId": "taskmanager",
2653
+ "parameters": {
2654
+ "action": "create",
2655
+ "title": "Notification preferences settings page",
2656
+ "tasks": [
2657
+ {
2658
+ "id": "1",
2659
+ "title": "Add settings page for notification preferences",
2660
+ "status": "in_progress"
2661
+ },
2662
+ {
2663
+ "id": "2",
2664
+ "title": "Wire page to existing /api/v1/users/me endpoint",
2665
+ "status": "pending"
2666
+ },
2667
+ {
2668
+ "id": "3",
2669
+ "title": "Add e2e tests with test data reset between runs",
2670
+ "status": "pending"
2671
+ },
2672
+ {
2673
+ "id": "4",
2674
+ "title": "Update changelog under 'unreleased'",
2675
+ "status": "pending"
2676
+ }
2677
+ ]
2678
+ }
2679
+ },
2680
+ "numCalls": 1,
2681
+ "finishReason": "tool_calls",
2682
+ "latencyMs": 4199,
2683
+ "tokens": 685,
2684
+ "error": null,
2685
+ "contentPreview": "\n**Calling taskmanager**\n\n```json\n{\n \"toolId\": \"taskmanager\",\n \"parameters\": {\n \"action\": \"create\",\n \"title\": \"Notification preferences settings page\",\n \"tasks\": [\n {\n \"id\": \"1\""
2686
+ },
2687
+ {
2688
+ "model": "Kimi-K2.6",
2689
+ "variant": "B",
2690
+ "scenario": "S5-constraint-discovery",
2691
+ "trial": 0,
2692
+ "hit": true,
2693
+ "partial": false,
2694
+ "reason": "memory.add",
2695
+ "firstCall": {
2696
+ "toolId": "memory",
2697
+ "parameters": {
2698
+ "action": "add",
2699
+ "title": "Upstream Provider Rate Limit Constraint",
2700
+ "content": "Upstream provider rate limit: 60 requests/minute. Failed authentication retries count against the rate limit bucket. This caused an incident last week."
2701
+ }
2702
+ },
2703
+ "numCalls": 1,
2704
+ "finishReason": "tool_calls",
2705
+ "latencyMs": 1217,
2706
+ "tokens": 440,
2707
+ "error": null,
2708
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Upstream Provider Rate Limit Constraint\",\n \"content\": \"Upstream provider rate limit: 60 req"
2709
+ },
2710
+ {
2711
+ "model": "Kimi-K2.6",
2712
+ "variant": "B",
2713
+ "scenario": "S5-constraint-discovery",
2714
+ "trial": 1,
2715
+ "hit": true,
2716
+ "partial": false,
2717
+ "reason": "memory.add",
2718
+ "firstCall": {
2719
+ "toolId": "memory",
2720
+ "parameters": {
2721
+ "action": "add",
2722
+ "title": "Upstream Provider Rate Limit",
2723
+ "content": "Upstream provider rate limit: 60 req/min. Failed auth retries count against the rate-limit bucket. This caused an incident last week — avoid retry loops on 401/403."
2724
+ }
2725
+ },
2726
+ "numCalls": 1,
2727
+ "finishReason": "tool_calls",
2728
+ "latencyMs": 1294,
2729
+ "tokens": 455,
2730
+ "error": null,
2731
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Upstream Provider Rate Limit\",\n \"content\": \"Upstream provider rate limit: 60 req/min. Faile"
2732
+ },
2733
+ {
2734
+ "model": "Kimi-K2.6",
2735
+ "variant": "B",
2736
+ "scenario": "S4-small-talk",
2737
+ "trial": 2,
2738
+ "hit": true,
2739
+ "partial": false,
2740
+ "reason": "no call",
2741
+ "firstCall": null,
2742
+ "numCalls": 0,
2743
+ "finishReason": "stop",
2744
+ "latencyMs": 2729,
2745
+ "tokens": 353,
2746
+ "error": null,
2747
+ "contentPreview": "You're welcome! Let me know if you need anything else."
2748
+ },
2749
+ {
2750
+ "model": "Kimi-K2.6",
2751
+ "variant": "B",
2752
+ "scenario": "S5-constraint-discovery",
2753
+ "trial": 2,
2754
+ "hit": true,
2755
+ "partial": false,
2756
+ "reason": "memory.add",
2757
+ "firstCall": {
2758
+ "toolId": "memory",
2759
+ "parameters": {
2760
+ "action": "add",
2761
+ "title": "Upstream provider rate limit constraints",
2762
+ "content": "Upstream provider rate limit: 60 req/min. Failed authentication retries count against the rate limit bucket. This caused an incident last week."
2763
+ }
2764
+ },
2765
+ "numCalls": 1,
2766
+ "finishReason": "tool_calls",
2767
+ "latencyMs": 1688,
2768
+ "tokens": 446,
2769
+ "error": null,
2770
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Upstream provider rate limit constraints\",\n \"content\": \"Upstream provider rate limit: 60 re"
2771
+ },
2772
+ {
2773
+ "model": "Kimi-K2.6",
2774
+ "variant": "C",
2775
+ "scenario": "S1-preference",
2776
+ "trial": 0,
2777
+ "hit": true,
2778
+ "partial": false,
2779
+ "reason": "memory.add",
2780
+ "firstCall": {
2781
+ "toolId": "memory",
2782
+ "parameters": {
2783
+ "action": "add",
2784
+ "title": "Ground Rules",
2785
+ "content": "1. Never use emojis in any code, comments, or commit messages.\n2. Always use Tailwind for styling. Never use Bootstrap."
2786
+ }
2787
+ },
2788
+ "numCalls": 1,
2789
+ "finishReason": "tool_calls",
2790
+ "latencyMs": 1685,
2791
+ "tokens": 569,
2792
+ "error": null,
2793
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Ground Rules\",\n \"content\": \"1. Never use emojis in any code, comments, or commit messages.\\"
2794
+ },
2795
+ {
2796
+ "model": "Kimi-K2.6",
2797
+ "variant": "C",
2798
+ "scenario": "S1-preference",
2799
+ "trial": 1,
2800
+ "hit": true,
2801
+ "partial": false,
2802
+ "reason": "memory.add",
2803
+ "firstCall": {
2804
+ "toolId": "memory",
2805
+ "parameters": {
2806
+ "action": "add",
2807
+ "title": "Ground Rules",
2808
+ "content": "1. Never use emojis in any code, comments, or commit messages.\n2. Always use Tailwind for styling; never use Bootstrap."
2809
+ }
2810
+ },
2811
+ "numCalls": 1,
2812
+ "finishReason": "tool_calls",
2813
+ "latencyMs": 1534,
2814
+ "tokens": 532,
2815
+ "error": null,
2816
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Ground Rules\",\n \"content\": \"1. Never use emojis in any code, comments, or commit messages.\\"
2817
+ },
2818
+ {
2819
+ "model": "Kimi-K2.6",
2820
+ "variant": "C",
2821
+ "scenario": "S1-preference",
2822
+ "trial": 2,
2823
+ "hit": true,
2824
+ "partial": false,
2825
+ "reason": "memory.add",
2826
+ "firstCall": {
2827
+ "toolId": "memory",
2828
+ "parameters": {
2829
+ "action": "add",
2830
+ "title": "Ground Rules",
2831
+ "content": "1. Never use emojis in any code, comments, or commit messages.\n2. Always use Tailwind for styling; never use Bootstrap."
2832
+ }
2833
+ },
2834
+ "numCalls": 1,
2835
+ "finishReason": "tool_calls",
2836
+ "latencyMs": 1498,
2837
+ "tokens": 532,
2838
+ "error": null,
2839
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Ground Rules\",\n \"content\": \"1. Never use emojis in any code, comments, or commit messages.\\"
2840
+ },
2841
+ {
2842
+ "model": "Kimi-K2.6",
2843
+ "variant": "C",
2844
+ "scenario": "S2-multi-part",
2845
+ "trial": 0,
2846
+ "hit": false,
2847
+ "partial": false,
2848
+ "reason": "memory.list (wanted memory.add)",
2849
+ "firstCall": {
2850
+ "toolId": "memory",
2851
+ "parameters": {
2852
+ "action": "list"
2853
+ }
2854
+ },
2855
+ "numCalls": 1,
2856
+ "finishReason": "tool_calls",
2857
+ "latencyMs": 1180,
2858
+ "tokens": 540,
2859
+ "error": null,
2860
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
2861
+ },
2862
+ {
2863
+ "model": "Kimi-K2.6",
2864
+ "variant": "C",
2865
+ "scenario": "S2-multi-part",
2866
+ "trial": 1,
2867
+ "hit": false,
2868
+ "partial": false,
2869
+ "reason": "memory.list (wanted memory.add)",
2870
+ "firstCall": {
2871
+ "toolId": "memory",
2872
+ "parameters": {
2873
+ "action": "list"
2874
+ }
2875
+ },
2876
+ "numCalls": 1,
2877
+ "finishReason": "tool_calls",
2878
+ "latencyMs": 1202,
2879
+ "tokens": 581,
2880
+ "error": null,
2881
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
2882
+ },
2883
+ {
2884
+ "model": "Kimi-K2.6",
2885
+ "variant": "C",
2886
+ "scenario": "S3-finding-recall",
2887
+ "trial": 0,
2888
+ "hit": true,
2889
+ "partial": false,
2890
+ "reason": "memory.list",
2891
+ "firstCall": {
2892
+ "toolId": "memory",
2893
+ "parameters": {
2894
+ "action": "list"
2895
+ }
2896
+ },
2897
+ "numCalls": 1,
2898
+ "finishReason": "tool_calls",
2899
+ "latencyMs": 1375,
2900
+ "tokens": 464,
2901
+ "error": null,
2902
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
2903
+ },
2904
+ {
2905
+ "model": "Kimi-K2.6",
2906
+ "variant": "C",
2907
+ "scenario": "S3-finding-recall",
2908
+ "trial": 1,
2909
+ "hit": true,
2910
+ "partial": false,
2911
+ "reason": "memory.list",
2912
+ "firstCall": {
2913
+ "toolId": "memory",
2914
+ "parameters": {
2915
+ "action": "list"
2916
+ }
2917
+ },
2918
+ "numCalls": 1,
2919
+ "finishReason": "tool_calls",
2920
+ "latencyMs": 1100,
2921
+ "tokens": 462,
2922
+ "error": null,
2923
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
2924
+ },
2925
+ {
2926
+ "model": "Kimi-K2.6",
2927
+ "variant": "C",
2928
+ "scenario": "S2-multi-part",
2929
+ "trial": 2,
2930
+ "hit": false,
2931
+ "partial": false,
2932
+ "reason": "memory.list (wanted memory.add)",
2933
+ "firstCall": {
2934
+ "toolId": "memory",
2935
+ "parameters": {
2936
+ "action": "list"
2937
+ }
2938
+ },
2939
+ "numCalls": 1,
2940
+ "finishReason": "tool_calls",
2941
+ "latencyMs": 1595,
2942
+ "tokens": 564,
2943
+ "error": null,
2944
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
2945
+ },
2946
+ {
2947
+ "model": "Kimi-K2.6",
2948
+ "variant": "C",
2949
+ "scenario": "S4-small-talk",
2950
+ "trial": 0,
2951
+ "hit": true,
2952
+ "partial": false,
2953
+ "reason": "no call",
2954
+ "firstCall": null,
2955
+ "numCalls": 0,
2956
+ "finishReason": "stop",
2957
+ "latencyMs": 1174,
2958
+ "tokens": 428,
2959
+ "error": null,
2960
+ "contentPreview": "You're welcome! Let me know if you need anything else."
2961
+ },
2962
+ {
2963
+ "model": "Kimi-K2.6",
2964
+ "variant": "C",
2965
+ "scenario": "S3-finding-recall",
2966
+ "trial": 2,
2967
+ "hit": true,
2968
+ "partial": false,
2969
+ "reason": "memory.list",
2970
+ "firstCall": {
2971
+ "toolId": "memory",
2972
+ "parameters": {
2973
+ "action": "list"
2974
+ }
2975
+ },
2976
+ "numCalls": 1,
2977
+ "finishReason": "tool_calls",
2978
+ "latencyMs": 1332,
2979
+ "tokens": 462,
2980
+ "error": null,
2981
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"list\"\n }\n}\n```\n"
2982
+ },
2983
+ {
2984
+ "model": "Kimi-K2.6",
2985
+ "variant": "C",
2986
+ "scenario": "S4-small-talk",
2987
+ "trial": 1,
2988
+ "hit": true,
2989
+ "partial": false,
2990
+ "reason": "no call",
2991
+ "firstCall": null,
2992
+ "numCalls": 0,
2993
+ "finishReason": "stop",
2994
+ "latencyMs": 989,
2995
+ "tokens": 413,
2996
+ "error": null,
2997
+ "contentPreview": "You're welcome! Feel free to reach out whenever you need help."
2998
+ },
2999
+ {
3000
+ "model": "Kimi-K2.6",
3001
+ "variant": "C",
3002
+ "scenario": "S5-constraint-discovery",
3003
+ "trial": 2,
3004
+ "hit": true,
3005
+ "partial": false,
3006
+ "reason": "memory.add",
3007
+ "firstCall": {
3008
+ "toolId": "memory",
3009
+ "parameters": {
3010
+ "action": "add",
3011
+ "title": "Upstream Provider Rate Limit",
3012
+ "content": "Upstream provider rate limit: 60 req/min. Failed authentication retries count against the rate limit bucket. This caused an incident last week — avoid retry loops on 401/403 without backoff or circuit-breaking."
3013
+ }
3014
+ },
3015
+ "numCalls": 1,
3016
+ "finishReason": "tool_calls",
3017
+ "latencyMs": 1365,
3018
+ "tokens": 531,
3019
+ "error": null,
3020
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Upstream Provider Rate Limit\",\n \"content\": \"Upstream provider rate limit: 60 req/min. Faile"
3021
+ },
3022
+ {
3023
+ "model": "Kimi-K2.6",
3024
+ "variant": "C",
3025
+ "scenario": "S4-small-talk",
3026
+ "trial": 2,
3027
+ "hit": true,
3028
+ "partial": false,
3029
+ "reason": "no call",
3030
+ "firstCall": null,
3031
+ "numCalls": 0,
3032
+ "finishReason": "stop",
3033
+ "latencyMs": 2487,
3034
+ "tokens": 428,
3035
+ "error": null,
3036
+ "contentPreview": "You're welcome! Let me know if you need anything else."
3037
+ },
3038
+ {
3039
+ "model": "Kimi-K2.6",
3040
+ "variant": "C",
3041
+ "scenario": "S5-constraint-discovery",
3042
+ "trial": 0,
3043
+ "hit": true,
3044
+ "partial": false,
3045
+ "reason": "memory.add",
3046
+ "firstCall": {
3047
+ "toolId": "memory",
3048
+ "parameters": {
3049
+ "action": "add",
3050
+ "title": "Upstream provider rate limit & auth retry behavior",
3051
+ "content": "Upstream provider rate limit: 60 requests/minute. Failed authentication retries count against the rate limit bucket. This caused an incident last week — avoid retry storms on 401/403."
3052
+ }
3053
+ },
3054
+ "numCalls": 1,
3055
+ "finishReason": "tool_calls",
3056
+ "latencyMs": 7240,
3057
+ "tokens": 539,
3058
+ "error": null,
3059
+ "contentPreview": "\n**Calling memory**\n\n```json\n{\n \"toolId\": \"memory\",\n \"parameters\": {\n \"action\": \"add\",\n \"title\": \"Upstream provider rate limit & auth retry behavior\",\n \"content\": \"Upstream provider rate li"
3060
+ },
3061
+ {
3062
+ "model": "Kimi-K2.6",
3063
+ "variant": "C",
3064
+ "scenario": "S5-constraint-discovery",
3065
+ "trial": 1,
3066
+ "hit": false,
3067
+ "reason": "EXCEPTION: fetch failed",
3068
+ "error": "fetch failed"
3069
+ }
3070
+ ]
3071
+ }