@theihtisham/agent-shadow-brain 7.1.0 → 7.1.4

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 (294) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +125 -450
  3. package/dist/activity-cli.d.ts +3 -0
  4. package/dist/activity-cli.d.ts.map +1 -0
  5. package/dist/activity-cli.js +78 -0
  6. package/dist/activity-cli.js.map +1 -0
  7. package/dist/adapters/index.d.ts +2 -1
  8. package/dist/adapters/index.d.ts.map +1 -1
  9. package/dist/adapters/index.js +3 -2
  10. package/dist/adapters/index.js.map +1 -1
  11. package/dist/brain/activity-journal.d.ts +82 -0
  12. package/dist/brain/activity-journal.d.ts.map +1 -0
  13. package/dist/brain/activity-journal.js +315 -0
  14. package/dist/brain/activity-journal.js.map +1 -0
  15. package/dist/brain/activity-reporting.d.ts +14 -0
  16. package/dist/brain/activity-reporting.d.ts.map +1 -0
  17. package/dist/brain/activity-reporting.js +17 -0
  18. package/dist/brain/activity-reporting.js.map +1 -0
  19. package/dist/brain/auto-update.js +1 -1
  20. package/dist/brain/brain-portability.js +1 -1
  21. package/dist/brain/client-config.d.ts +19 -0
  22. package/dist/brain/client-config.d.ts.map +1 -0
  23. package/dist/brain/client-config.js +40 -0
  24. package/dist/brain/client-config.js.map +1 -0
  25. package/dist/brain/client-integrations.d.ts +63 -0
  26. package/dist/brain/client-integrations.d.ts.map +1 -0
  27. package/dist/brain/client-integrations.js +79 -0
  28. package/dist/brain/client-integrations.js.map +1 -0
  29. package/dist/brain/context-assembly.d.ts +84 -0
  30. package/dist/brain/context-assembly.d.ts.map +1 -0
  31. package/dist/brain/context-assembly.js +529 -0
  32. package/dist/brain/context-assembly.js.map +1 -0
  33. package/dist/brain/context-request.d.ts +4 -0
  34. package/dist/brain/context-request.d.ts.map +1 -0
  35. package/dist/brain/context-request.js +22 -0
  36. package/dist/brain/context-request.js.map +1 -0
  37. package/dist/brain/context-retrieval.d.ts +88 -0
  38. package/dist/brain/context-retrieval.d.ts.map +1 -0
  39. package/dist/brain/context-retrieval.js +300 -0
  40. package/dist/brain/context-retrieval.js.map +1 -0
  41. package/dist/brain/feature-settings.d.ts +58 -0
  42. package/dist/brain/feature-settings.d.ts.map +1 -0
  43. package/dist/brain/feature-settings.js +242 -0
  44. package/dist/brain/feature-settings.js.map +1 -0
  45. package/dist/brain/file-identity.d.ts +4 -0
  46. package/dist/brain/file-identity.d.ts.map +1 -0
  47. package/dist/brain/file-identity.js +27 -0
  48. package/dist/brain/file-identity.js.map +1 -0
  49. package/dist/brain/global-brain.d.ts +18 -1
  50. package/dist/brain/global-brain.d.ts.map +1 -1
  51. package/dist/brain/global-brain.js +77 -10
  52. package/dist/brain/global-brain.js.map +1 -1
  53. package/dist/brain/mcp-server.d.ts +30 -1
  54. package/dist/brain/mcp-server.d.ts.map +1 -1
  55. package/dist/brain/mcp-server.js +378 -28
  56. package/dist/brain/mcp-server.js.map +1 -1
  57. package/dist/brain/mcp-stdio.d.ts +12 -0
  58. package/dist/brain/mcp-stdio.d.ts.map +1 -0
  59. package/dist/brain/mcp-stdio.js +140 -0
  60. package/dist/brain/mcp-stdio.js.map +1 -0
  61. package/dist/brain/memory-annotations.d.ts +97 -0
  62. package/dist/brain/memory-annotations.d.ts.map +1 -0
  63. package/dist/brain/memory-annotations.js +389 -0
  64. package/dist/brain/memory-annotations.js.map +1 -0
  65. package/dist/brain/memory-graph.d.ts.map +1 -1
  66. package/dist/brain/memory-graph.js +12 -23
  67. package/dist/brain/memory-graph.js.map +1 -1
  68. package/dist/brain/memory-inspection.d.ts +72 -0
  69. package/dist/brain/memory-inspection.d.ts.map +1 -0
  70. package/dist/brain/memory-inspection.js +131 -0
  71. package/dist/brain/memory-inspection.js.map +1 -0
  72. package/dist/brain/memory-mcp-content.d.ts +44 -0
  73. package/dist/brain/memory-mcp-content.d.ts.map +1 -0
  74. package/dist/brain/memory-mcp-content.js +91 -0
  75. package/dist/brain/memory-mcp-content.js.map +1 -0
  76. package/dist/brain/memory-sources.d.ts +8 -0
  77. package/dist/brain/memory-sources.d.ts.map +1 -0
  78. package/dist/brain/memory-sources.js +27 -0
  79. package/dist/brain/memory-sources.js.map +1 -0
  80. package/dist/brain/orchestrator.js +1 -1
  81. package/dist/brain/project-feedback.d.ts +63 -0
  82. package/dist/brain/project-feedback.d.ts.map +1 -0
  83. package/dist/brain/project-feedback.js +289 -0
  84. package/dist/brain/project-feedback.js.map +1 -0
  85. package/dist/brain/project-hub-contract.d.ts +326 -0
  86. package/dist/brain/project-hub-contract.d.ts.map +1 -0
  87. package/dist/brain/project-hub-contract.js +56 -0
  88. package/dist/brain/project-hub-contract.js.map +1 -0
  89. package/dist/brain/project-hub-mcp.d.ts +168 -0
  90. package/dist/brain/project-hub-mcp.d.ts.map +1 -0
  91. package/dist/brain/project-hub-mcp.js +41 -0
  92. package/dist/brain/project-hub-mcp.js.map +1 -0
  93. package/dist/brain/project-hub-pdf-worker.d.ts +13 -0
  94. package/dist/brain/project-hub-pdf-worker.d.ts.map +1 -0
  95. package/dist/brain/project-hub-pdf-worker.js +84 -0
  96. package/dist/brain/project-hub-pdf-worker.js.map +1 -0
  97. package/dist/brain/project-hub-store.d.ts +38 -0
  98. package/dist/brain/project-hub-store.d.ts.map +1 -0
  99. package/dist/brain/project-hub-store.js +189 -0
  100. package/dist/brain/project-hub-store.js.map +1 -0
  101. package/dist/brain/project-hub.d.ts +127 -0
  102. package/dist/brain/project-hub.d.ts.map +1 -0
  103. package/dist/brain/project-hub.js +381 -0
  104. package/dist/brain/project-hub.js.map +1 -0
  105. package/dist/brain/project-kit-inspection.d.ts +28 -0
  106. package/dist/brain/project-kit-inspection.d.ts.map +1 -0
  107. package/dist/brain/project-kit-inspection.js +200 -0
  108. package/dist/brain/project-kit-inspection.js.map +1 -0
  109. package/dist/brain/project-kit-paths.d.ts +13 -0
  110. package/dist/brain/project-kit-paths.d.ts.map +1 -0
  111. package/dist/brain/project-kit-paths.js +141 -0
  112. package/dist/brain/project-kit-paths.js.map +1 -0
  113. package/dist/brain/project-kit.d.ts +41 -0
  114. package/dist/brain/project-kit.d.ts.map +1 -0
  115. package/dist/brain/project-kit.js +255 -0
  116. package/dist/brain/project-kit.js.map +1 -0
  117. package/dist/brain/project-memory.d.ts +38 -0
  118. package/dist/brain/project-memory.d.ts.map +1 -0
  119. package/dist/brain/project-memory.js +76 -0
  120. package/dist/brain/project-memory.js.map +1 -0
  121. package/dist/brain/subconscious.d.ts +21 -24
  122. package/dist/brain/subconscious.d.ts.map +1 -1
  123. package/dist/brain/subconscious.js +82 -218
  124. package/dist/brain/subconscious.js.map +1 -1
  125. package/dist/brain/workflow-skills.d.ts +5 -5
  126. package/dist/brain/workflow-skills.d.ts.map +1 -1
  127. package/dist/brain/workflow-skills.js +3 -2
  128. package/dist/brain/workflow-skills.js.map +1 -1
  129. package/dist/cli.js +40 -4
  130. package/dist/cli.js.map +1 -1
  131. package/dist/context-cli.d.ts +3 -0
  132. package/dist/context-cli.d.ts.map +1 -0
  133. package/dist/context-cli.js +90 -0
  134. package/dist/context-cli.js.map +1 -0
  135. package/dist/curation-cli.d.ts +4 -0
  136. package/dist/curation-cli.d.ts.map +1 -0
  137. package/dist/curation-cli.js +118 -0
  138. package/dist/curation-cli.js.map +1 -0
  139. package/dist/dashboard/brain-hub-actions.d.ts +2 -0
  140. package/dist/dashboard/brain-hub-actions.d.ts.map +1 -0
  141. package/dist/dashboard/brain-hub-actions.js +137 -0
  142. package/dist/dashboard/brain-hub-actions.js.map +1 -0
  143. package/dist/dashboard/brain-hub-client.d.ts +2 -0
  144. package/dist/dashboard/brain-hub-client.d.ts.map +1 -0
  145. package/dist/dashboard/brain-hub-client.js +335 -0
  146. package/dist/dashboard/brain-hub-client.js.map +1 -0
  147. package/dist/dashboard/brain-hub-graph.d.ts +2 -0
  148. package/dist/dashboard/brain-hub-graph.d.ts.map +1 -0
  149. package/dist/dashboard/brain-hub-graph.js +176 -0
  150. package/dist/dashboard/brain-hub-graph.js.map +1 -0
  151. package/dist/dashboard/brain-hub-html.d.ts +2 -0
  152. package/dist/dashboard/brain-hub-html.d.ts.map +1 -0
  153. package/dist/dashboard/brain-hub-html.js +30 -0
  154. package/dist/dashboard/brain-hub-html.js.map +1 -0
  155. package/dist/dashboard/brain-hub-project-views.d.ts +2 -0
  156. package/dist/dashboard/brain-hub-project-views.d.ts.map +1 -0
  157. package/dist/dashboard/brain-hub-project-views.js +79 -0
  158. package/dist/dashboard/brain-hub-project-views.js.map +1 -0
  159. package/dist/dashboard/brain-hub-views.d.ts +2 -0
  160. package/dist/dashboard/brain-hub-views.d.ts.map +1 -0
  161. package/dist/dashboard/brain-hub-views.js +150 -0
  162. package/dist/dashboard/brain-hub-views.js.map +1 -0
  163. package/dist/dashboard/demo-workspace.d.ts +11 -0
  164. package/dist/dashboard/demo-workspace.d.ts.map +1 -0
  165. package/dist/dashboard/demo-workspace.js +178 -0
  166. package/dist/dashboard/demo-workspace.js.map +1 -0
  167. package/dist/dashboard/live-workspace-html.d.ts +2 -0
  168. package/dist/dashboard/live-workspace-html.d.ts.map +1 -0
  169. package/dist/dashboard/live-workspace-html.js +1042 -0
  170. package/dist/dashboard/live-workspace-html.js.map +1 -0
  171. package/dist/dashboard/project-feedback-html.d.ts +5 -0
  172. package/dist/dashboard/project-feedback-html.d.ts.map +1 -0
  173. package/dist/dashboard/project-feedback-html.js +216 -0
  174. package/dist/dashboard/project-feedback-html.js.map +1 -0
  175. package/dist/dashboard/project-hub-api.d.ts +5 -0
  176. package/dist/dashboard/project-hub-api.d.ts.map +1 -0
  177. package/dist/dashboard/project-hub-api.js +121 -0
  178. package/dist/dashboard/project-hub-api.js.map +1 -0
  179. package/dist/dashboard/project-kit-html.d.ts +4 -0
  180. package/dist/dashboard/project-kit-html.d.ts.map +1 -0
  181. package/dist/dashboard/project-kit-html.js +359 -0
  182. package/dist/dashboard/project-kit-html.js.map +1 -0
  183. package/dist/dashboard/project-workspace.d.ts +16 -0
  184. package/dist/dashboard/project-workspace.d.ts.map +1 -0
  185. package/dist/dashboard/project-workspace.js +106 -0
  186. package/dist/dashboard/project-workspace.js.map +1 -0
  187. package/dist/dashboard/server.d.ts +2 -0
  188. package/dist/dashboard/server.d.ts.map +1 -1
  189. package/dist/dashboard/server.js +65 -19
  190. package/dist/dashboard/server.js.map +1 -1
  191. package/dist/dashboard/v6-dashboard-html.d.ts +1 -1
  192. package/dist/dashboard/v6-dashboard-html.d.ts.map +1 -1
  193. package/dist/dashboard/v6-dashboard-html.js +34 -56
  194. package/dist/dashboard/v6-dashboard-html.js.map +1 -1
  195. package/dist/dashboard/workspace-api.d.ts +22 -0
  196. package/dist/dashboard/workspace-api.d.ts.map +1 -0
  197. package/dist/dashboard/workspace-api.js +429 -0
  198. package/dist/dashboard/workspace-api.js.map +1 -0
  199. package/dist/dashboard/workspace-html.d.ts +2 -0
  200. package/dist/dashboard/workspace-html.d.ts.map +1 -0
  201. package/dist/dashboard/workspace-html.js +2538 -0
  202. package/dist/dashboard/workspace-html.js.map +1 -0
  203. package/dist/dashboard/workspace-status.d.ts +50 -0
  204. package/dist/dashboard/workspace-status.d.ts.map +1 -0
  205. package/dist/dashboard/workspace-status.js +22 -0
  206. package/dist/dashboard/workspace-status.js.map +1 -0
  207. package/dist/index.d.ts +20 -0
  208. package/dist/index.d.ts.map +1 -1
  209. package/dist/index.js +15 -0
  210. package/dist/index.js.map +1 -1
  211. package/dist/integration-cli.d.ts +3 -0
  212. package/dist/integration-cli.d.ts.map +1 -0
  213. package/dist/integration-cli.js +16 -0
  214. package/dist/integration-cli.js.map +1 -0
  215. package/dist/project-cli.d.ts +3 -0
  216. package/dist/project-cli.d.ts.map +1 -0
  217. package/dist/project-cli.js +100 -0
  218. package/dist/project-cli.js.map +1 -0
  219. package/dist/types.d.ts +12 -3
  220. package/dist/types.d.ts.map +1 -1
  221. package/docs/COMPARISON.md +22 -0
  222. package/docs/COMPONENTS.md +66 -0
  223. package/docs/CONTEXT_LAB.md +79 -0
  224. package/docs/FEATURES_AND_LIMITS.md +24 -0
  225. package/docs/INTEGRATIONS.md +68 -0
  226. package/docs/LEARNING.md +46 -0
  227. package/docs/PROJECT_KIT.md +93 -0
  228. package/docs/QUICKSTART.md +44 -0
  229. package/docs/README.md +33 -0
  230. package/docs/ROADMAP-v7.md +147 -0
  231. package/docs/SHARING.md +13 -0
  232. package/docs/SHOWCASE.md +87 -0
  233. package/docs/STATS.md +21 -0
  234. package/docs/TROUBLESHOOTING.md +42 -0
  235. package/docs/UPGRADE_PLAN_v7.0.0.md +203 -0
  236. package/docs/VIRAL-PLAYBOOK.md +259 -0
  237. package/docs/VISUAL_GUIDE_v7.1.4.md +70 -0
  238. package/docs/WORKFLOW_INTEGRATION.md +19 -1
  239. package/docs/WORKSPACE.md +37 -0
  240. package/docs/assets/7.1.4-collaboration-design-preview.png +0 -0
  241. package/docs/assets/7.1.4-comparison.png +0 -0
  242. package/docs/assets/7.1.4-context-lab.png +0 -0
  243. package/docs/assets/7.1.4-control-room-dense-preview.png +0 -0
  244. package/docs/assets/7.1.4-control-room-focus-preview.png +0 -0
  245. package/docs/assets/7.1.4-features.png +0 -0
  246. package/docs/assets/7.1.4-graph.png +0 -0
  247. package/docs/assets/7.1.4-hub-control-room.png +0 -0
  248. package/docs/assets/7.1.4-hub-empty.png +0 -0
  249. package/docs/assets/7.1.4-hub-knowledge.png +0 -0
  250. package/docs/assets/7.1.4-hub-learning.png +0 -0
  251. package/docs/assets/7.1.4-hub-mobile.png +0 -0
  252. package/docs/assets/7.1.4-hub-public-docs-source.png +0 -0
  253. package/docs/assets/7.1.4-hub-public-docs.gif +0 -0
  254. package/docs/assets/7.1.4-hub-public-docs.png +0 -0
  255. package/docs/assets/7.1.4-hub-setup.png +0 -0
  256. package/docs/assets/7.1.4-hub-walkthrough.gif +0 -0
  257. package/docs/assets/7.1.4-integrations.png +0 -0
  258. package/docs/assets/7.1.4-knowledge-design-preview.png +0 -0
  259. package/docs/assets/7.1.4-learning-design-preview.png +0 -0
  260. package/docs/assets/7.1.4-learning.png +0 -0
  261. package/docs/assets/7.1.4-live.png +0 -0
  262. package/docs/assets/7.1.4-memory-review.png +0 -0
  263. package/docs/assets/7.1.4-mobile.png +0 -0
  264. package/docs/assets/7.1.4-models-design-preview.png +0 -0
  265. package/docs/assets/7.1.4-outcome-ranking.png +0 -0
  266. package/docs/assets/7.1.4-overview.png +0 -0
  267. package/docs/assets/7.1.4-project-kit.png +0 -0
  268. package/docs/assets/7.1.4-project-skill-preview.png +0 -0
  269. package/docs/assets/7.1.4-replay.png +0 -0
  270. package/docs/assets/7.1.4-setup-design-preview.png +0 -0
  271. package/docs/assets/7.1.4-usage-design-preview.png +0 -0
  272. package/docs/assets/context-flow-v7.2.png +0 -0
  273. package/docs/assets/context-v7.1.3.png +0 -0
  274. package/docs/assets/features-v7.1.3.png +0 -0
  275. package/docs/assets/graph-v7.1.3.png +0 -0
  276. package/docs/assets/integrations-v7.1.3.png +0 -0
  277. package/docs/assets/live-v7.1.3.png +0 -0
  278. package/docs/assets/live-v7.1.4.gif +0 -0
  279. package/docs/assets/memory-detail-v7.1.3.png +0 -0
  280. package/docs/assets/overview-v7.1.3.png +0 -0
  281. package/docs/assets/workspace-graph-v7.2.png +0 -0
  282. package/docs/assets/workspace-overview-v7.2.png +0 -0
  283. package/docs/evaluation/CONTEXT_EVALUATION_v7.1.4.json +1818 -0
  284. package/docs/evaluation/CONTEXT_EVALUATION_v7.1.4.md +36 -0
  285. package/docs/launch/COMPONENT_MAP_v7.1.4.md +307 -0
  286. package/docs/launch/PROJECT_KIT_PLAN_v7.1.4.md +110 -0
  287. package/docs/launch/PROJECT_LEARNING_PLAN_v7.1.4.md +63 -0
  288. package/docs/launch/RELEASE_NOTES_v7.1.3.md +40 -0
  289. package/docs/launch/RELEASE_NOTES_v7.1.4.md +30 -0
  290. package/docs/launch/RELEASE_NOTES_v7.2.0.md +24 -0
  291. package/docs/launch/RESEARCH_AND_PLAN_v7.1.4.md +255 -0
  292. package/package.json +43 -126
  293. package/skills/shadow-research/SKILL.md +2 -0
  294. package/skills/shadow-workflow/SKILL.md +6 -0
@@ -0,0 +1,1818 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "packageVersion": "7.1.4",
4
+ "generatedAt": "2026-11-12T11:03:39.303Z",
5
+ "rankingTime": "2026-11-12T00:00:00.000Z",
6
+ "runtime": {
7
+ "node": "v24.15.0",
8
+ "platform": "win32",
9
+ "arch": "x64",
10
+ "timing": "warm in-memory assembly; one run per case and profile; alternating order"
11
+ },
12
+ "fixture": "tests/fixtures/context-evaluation-v7.1.4.json",
13
+ "rankCutoff": 5,
14
+ "limitations": [
15
+ "The author-generated fixtures target named behaviors and do not measure model answer quality or competitor performance.",
16
+ "Token counts are profile-specific estimates and may differ from a receiving model’s tokenizer.",
17
+ "Timing covers context assembly after loading each store and excludes initialization, packaging, UI, and model calls.",
18
+ "Lexical variants and recorded links do not provide general semantic paraphrase retrieval or factual verification."
19
+ ],
20
+ "summary": {
21
+ "legacy": {
22
+ "casesPassed": 6,
23
+ "labeledCases": 13,
24
+ "meanContextRecallAtK": 0.6794871794871795,
25
+ "meanContextReciprocalRankAtK": 0.7307692307692307,
26
+ "abstentions": 1,
27
+ "scopeChecks": 1,
28
+ "scopeLeaks": 0,
29
+ "budgetViolations": 0,
30
+ "elapsedMs": {
31
+ "min": 0.049,
32
+ "median": 0.2245,
33
+ "max": 3.206
34
+ }
35
+ },
36
+ "adaptive": {
37
+ "casesPassed": 14,
38
+ "labeledCases": 13,
39
+ "meanContextRecallAtK": 1,
40
+ "meanContextReciprocalRankAtK": 1,
41
+ "abstentions": 1,
42
+ "scopeChecks": 1,
43
+ "scopeLeaks": 0,
44
+ "budgetViolations": 0,
45
+ "elapsedMs": {
46
+ "min": 0.245,
47
+ "median": 0.756,
48
+ "max": 8.66
49
+ }
50
+ }
51
+ },
52
+ "legacyControlFailures": [],
53
+ "adaptiveFailures": [],
54
+ "cases": [
55
+ {
56
+ "id": "exact-control",
57
+ "name": "Exact lexical control",
58
+ "query": "mirror checksum",
59
+ "records": 2,
60
+ "corpusBytes": 659,
61
+ "relevantIds": [
62
+ "checksum-decision"
63
+ ],
64
+ "forbiddenIds": [
65
+ "other"
66
+ ],
67
+ "order": [
68
+ "legacy",
69
+ "adaptive"
70
+ ],
71
+ "legacyControl": true,
72
+ "legacy": {
73
+ "passed": true,
74
+ "selected": [
75
+ "checksum-decision"
76
+ ],
77
+ "missingRelevant": [],
78
+ "includedForbidden": [],
79
+ "scopeChecked": false,
80
+ "leakedIds": [],
81
+ "leakedText": [],
82
+ "checks": [
83
+ {
84
+ "name": "includes relevant IDs",
85
+ "passed": true
86
+ },
87
+ {
88
+ "name": "excludes forbidden IDs",
89
+ "passed": true
90
+ },
91
+ {
92
+ "name": "measures full render within declared limits",
93
+ "passed": true
94
+ },
95
+ {
96
+ "name": "leaves fixture store unchanged",
97
+ "passed": true
98
+ },
99
+ {
100
+ "name": "ranks expected record first",
101
+ "passed": true
102
+ }
103
+ ],
104
+ "contextAtK": {
105
+ "retrievedRelevant": 1,
106
+ "recall": 1,
107
+ "firstRelevantRank": 1,
108
+ "reciprocalRank": 1
109
+ },
110
+ "candidateAtK": null,
111
+ "abstained": null,
112
+ "budget": {
113
+ "tokenBudget": 2000,
114
+ "maxChars": 8000,
115
+ "usedChars": 252,
116
+ "estimatedTokens": 63
117
+ },
118
+ "elapsedMs": 2.589
119
+ },
120
+ "adaptive": {
121
+ "passed": true,
122
+ "selected": [
123
+ "checksum-decision"
124
+ ],
125
+ "missingRelevant": [],
126
+ "includedForbidden": [],
127
+ "scopeChecked": false,
128
+ "leakedIds": [],
129
+ "leakedText": [],
130
+ "checks": [
131
+ {
132
+ "name": "includes relevant IDs",
133
+ "passed": true
134
+ },
135
+ {
136
+ "name": "excludes forbidden IDs",
137
+ "passed": true
138
+ },
139
+ {
140
+ "name": "measures full render within declared limits",
141
+ "passed": true
142
+ },
143
+ {
144
+ "name": "leaves fixture store unchanged",
145
+ "passed": true
146
+ },
147
+ {
148
+ "name": "reports adaptive decisions for the assembled context",
149
+ "passed": true
150
+ },
151
+ {
152
+ "name": "ranks expected record first",
153
+ "passed": true
154
+ }
155
+ ],
156
+ "contextAtK": {
157
+ "retrievedRelevant": 1,
158
+ "recall": 1,
159
+ "firstRelevantRank": 1,
160
+ "reciprocalRank": 1
161
+ },
162
+ "candidateAtK": {
163
+ "retrievedRelevant": 1,
164
+ "recall": 1,
165
+ "firstRelevantRank": 1,
166
+ "reciprocalRank": 1
167
+ },
168
+ "abstained": null,
169
+ "budget": {
170
+ "tokenBudget": 2000,
171
+ "maxChars": 8000,
172
+ "usedChars": 252,
173
+ "estimatedTokens": 68,
174
+ "estimator": "unicode-code-heuristic",
175
+ "usedBytes": 255
176
+ },
177
+ "elapsedMs": 8.66
178
+ }
179
+ },
180
+ {
181
+ "id": "no-evidence",
182
+ "name": "No lexical evidence",
183
+ "query": "oscillograph",
184
+ "records": 1,
185
+ "corpusBytes": 350,
186
+ "relevantIds": [],
187
+ "forbiddenIds": [
188
+ "ordinary"
189
+ ],
190
+ "order": [
191
+ "adaptive",
192
+ "legacy"
193
+ ],
194
+ "legacyControl": true,
195
+ "legacy": {
196
+ "passed": true,
197
+ "selected": [],
198
+ "missingRelevant": [],
199
+ "includedForbidden": [],
200
+ "scopeChecked": false,
201
+ "leakedIds": [],
202
+ "leakedText": [],
203
+ "checks": [
204
+ {
205
+ "name": "includes relevant IDs",
206
+ "passed": true
207
+ },
208
+ {
209
+ "name": "excludes forbidden IDs",
210
+ "passed": true
211
+ },
212
+ {
213
+ "name": "measures full render within declared limits",
214
+ "passed": true
215
+ },
216
+ {
217
+ "name": "leaves fixture store unchanged",
218
+ "passed": true
219
+ },
220
+ {
221
+ "name": "returns expected context count",
222
+ "passed": true
223
+ }
224
+ ],
225
+ "contextAtK": null,
226
+ "candidateAtK": null,
227
+ "abstained": true,
228
+ "budget": {
229
+ "tokenBudget": 2000,
230
+ "maxChars": 8000,
231
+ "usedChars": 0,
232
+ "estimatedTokens": 0
233
+ },
234
+ "elapsedMs": 0.066
235
+ },
236
+ "adaptive": {
237
+ "passed": true,
238
+ "selected": [],
239
+ "missingRelevant": [],
240
+ "includedForbidden": [],
241
+ "scopeChecked": false,
242
+ "leakedIds": [],
243
+ "leakedText": [],
244
+ "checks": [
245
+ {
246
+ "name": "includes relevant IDs",
247
+ "passed": true
248
+ },
249
+ {
250
+ "name": "excludes forbidden IDs",
251
+ "passed": true
252
+ },
253
+ {
254
+ "name": "measures full render within declared limits",
255
+ "passed": true
256
+ },
257
+ {
258
+ "name": "leaves fixture store unchanged",
259
+ "passed": true
260
+ },
261
+ {
262
+ "name": "reports adaptive decisions for the assembled context",
263
+ "passed": true
264
+ },
265
+ {
266
+ "name": "returns expected context count",
267
+ "passed": true
268
+ }
269
+ ],
270
+ "contextAtK": null,
271
+ "candidateAtK": null,
272
+ "abstained": true,
273
+ "budget": {
274
+ "tokenBudget": 2000,
275
+ "maxChars": 8000,
276
+ "usedChars": 0,
277
+ "estimatedTokens": 0,
278
+ "estimator": "unicode-code-heuristic",
279
+ "usedBytes": 0
280
+ },
281
+ "elapsedMs": 1.075
282
+ }
283
+ },
284
+ {
285
+ "id": "word-boundaries",
286
+ "name": "Exact Java match and metadata boundary",
287
+ "query": "java",
288
+ "records": 3,
289
+ "corpusBytes": 888,
290
+ "relevantIds": [
291
+ "java"
292
+ ],
293
+ "forbiddenIds": [
294
+ "javascript",
295
+ "metadata-only"
296
+ ],
297
+ "order": [
298
+ "legacy",
299
+ "adaptive"
300
+ ],
301
+ "legacyControl": false,
302
+ "legacy": {
303
+ "passed": false,
304
+ "selected": [
305
+ "javascript",
306
+ "java",
307
+ "metadata-only"
308
+ ],
309
+ "missingRelevant": [],
310
+ "includedForbidden": [
311
+ "javascript",
312
+ "metadata-only"
313
+ ],
314
+ "scopeChecked": false,
315
+ "leakedIds": [],
316
+ "leakedText": [],
317
+ "checks": [
318
+ {
319
+ "name": "includes relevant IDs",
320
+ "passed": true
321
+ },
322
+ {
323
+ "name": "excludes forbidden IDs",
324
+ "passed": false
325
+ },
326
+ {
327
+ "name": "measures full render within declared limits",
328
+ "passed": true
329
+ },
330
+ {
331
+ "name": "leaves fixture store unchanged",
332
+ "passed": true
333
+ },
334
+ {
335
+ "name": "ranks expected record first",
336
+ "passed": false
337
+ }
338
+ ],
339
+ "contextAtK": {
340
+ "retrievedRelevant": 1,
341
+ "recall": 1,
342
+ "firstRelevantRank": 2,
343
+ "reciprocalRank": 0.5
344
+ },
345
+ "candidateAtK": null,
346
+ "abstained": null,
347
+ "budget": {
348
+ "tokenBudget": 2000,
349
+ "maxChars": 8000,
350
+ "usedChars": 359,
351
+ "estimatedTokens": 90
352
+ },
353
+ "elapsedMs": 0.301
354
+ },
355
+ "adaptive": {
356
+ "passed": true,
357
+ "selected": [
358
+ "java"
359
+ ],
360
+ "missingRelevant": [],
361
+ "includedForbidden": [],
362
+ "scopeChecked": false,
363
+ "leakedIds": [],
364
+ "leakedText": [],
365
+ "checks": [
366
+ {
367
+ "name": "includes relevant IDs",
368
+ "passed": true
369
+ },
370
+ {
371
+ "name": "excludes forbidden IDs",
372
+ "passed": true
373
+ },
374
+ {
375
+ "name": "measures full render within declared limits",
376
+ "passed": true
377
+ },
378
+ {
379
+ "name": "leaves fixture store unchanged",
380
+ "passed": true
381
+ },
382
+ {
383
+ "name": "reports adaptive decisions for the assembled context",
384
+ "passed": true
385
+ },
386
+ {
387
+ "name": "ranks expected record first",
388
+ "passed": true
389
+ }
390
+ ],
391
+ "contextAtK": {
392
+ "retrievedRelevant": 1,
393
+ "recall": 1,
394
+ "firstRelevantRank": 1,
395
+ "reciprocalRank": 1
396
+ },
397
+ "candidateAtK": {
398
+ "retrievedRelevant": 1,
399
+ "recall": 1,
400
+ "firstRelevantRank": 1,
401
+ "reciprocalRank": 1
402
+ },
403
+ "abstained": null,
404
+ "budget": {
405
+ "tokenBudget": 2000,
406
+ "maxChars": 8000,
407
+ "usedChars": 207,
408
+ "estimatedTokens": 56,
409
+ "estimator": "unicode-code-heuristic",
410
+ "usedBytes": 210
411
+ },
412
+ "elapsedMs": 0.307
413
+ }
414
+ },
415
+ {
416
+ "id": "late-identifier",
417
+ "name": "Late identifier remains visible in the excerpt",
418
+ "query": "ParserSealError",
419
+ "records": 1,
420
+ "corpusBytes": 1716,
421
+ "relevantIds": [
422
+ "retry-error"
423
+ ],
424
+ "forbiddenIds": [],
425
+ "order": [
426
+ "adaptive",
427
+ "legacy"
428
+ ],
429
+ "legacyControl": false,
430
+ "legacy": {
431
+ "passed": false,
432
+ "selected": [
433
+ "retry-error"
434
+ ],
435
+ "missingRelevant": [],
436
+ "includedForbidden": [],
437
+ "scopeChecked": false,
438
+ "leakedIds": [],
439
+ "leakedText": [],
440
+ "checks": [
441
+ {
442
+ "name": "includes relevant IDs",
443
+ "passed": true
444
+ },
445
+ {
446
+ "name": "excludes forbidden IDs",
447
+ "passed": true
448
+ },
449
+ {
450
+ "name": "measures full render within declared limits",
451
+ "passed": true
452
+ },
453
+ {
454
+ "name": "leaves fixture store unchanged",
455
+ "passed": true
456
+ },
457
+ {
458
+ "name": "shows expected passage in the excerpt",
459
+ "passed": false
460
+ }
461
+ ],
462
+ "contextAtK": {
463
+ "retrievedRelevant": 1,
464
+ "recall": 1,
465
+ "firstRelevantRank": 1,
466
+ "reciprocalRank": 1
467
+ },
468
+ "candidateAtK": null,
469
+ "abstained": null,
470
+ "budget": {
471
+ "tokenBudget": 2000,
472
+ "maxChars": 8000,
473
+ "usedChars": 1003,
474
+ "estimatedTokens": 251
475
+ },
476
+ "elapsedMs": 0.22
477
+ },
478
+ "adaptive": {
479
+ "passed": true,
480
+ "selected": [
481
+ "retry-error"
482
+ ],
483
+ "missingRelevant": [],
484
+ "includedForbidden": [],
485
+ "scopeChecked": false,
486
+ "leakedIds": [],
487
+ "leakedText": [],
488
+ "checks": [
489
+ {
490
+ "name": "includes relevant IDs",
491
+ "passed": true
492
+ },
493
+ {
494
+ "name": "excludes forbidden IDs",
495
+ "passed": true
496
+ },
497
+ {
498
+ "name": "measures full render within declared limits",
499
+ "passed": true
500
+ },
501
+ {
502
+ "name": "leaves fixture store unchanged",
503
+ "passed": true
504
+ },
505
+ {
506
+ "name": "reports adaptive decisions for the assembled context",
507
+ "passed": true
508
+ },
509
+ {
510
+ "name": "shows expected passage in the excerpt",
511
+ "passed": true
512
+ }
513
+ ],
514
+ "contextAtK": {
515
+ "retrievedRelevant": 1,
516
+ "recall": 1,
517
+ "firstRelevantRank": 1,
518
+ "reciprocalRank": 1
519
+ },
520
+ "candidateAtK": {
521
+ "retrievedRelevant": 1,
522
+ "recall": 1,
523
+ "firstRelevantRank": 1,
524
+ "reciprocalRank": 1
525
+ },
526
+ "abstained": null,
527
+ "budget": {
528
+ "tokenBudget": 2000,
529
+ "maxChars": 8000,
530
+ "usedChars": 1003,
531
+ "estimatedTokens": 266,
532
+ "estimator": "unicode-code-heuristic",
533
+ "usedBytes": 1008
534
+ },
535
+ "elapsedMs": 0.683
536
+ }
537
+ },
538
+ {
539
+ "id": "duplicate-pressure",
540
+ "name": "Exact duplicates leave room for a distinct checksum lesson",
541
+ "query": "checksum",
542
+ "records": 205,
543
+ "corpusBytes": 59121,
544
+ "relevantIds": [
545
+ "canonical",
546
+ "distinct"
547
+ ],
548
+ "forbiddenIds": [
549
+ "evidence"
550
+ ],
551
+ "order": [
552
+ "legacy",
553
+ "adaptive"
554
+ ],
555
+ "legacyControl": false,
556
+ "legacy": {
557
+ "passed": false,
558
+ "selected": [
559
+ "canonical"
560
+ ],
561
+ "missingRelevant": [
562
+ "distinct"
563
+ ],
564
+ "includedForbidden": [],
565
+ "scopeChecked": false,
566
+ "leakedIds": [],
567
+ "leakedText": [],
568
+ "checks": [
569
+ {
570
+ "name": "includes relevant IDs",
571
+ "passed": false
572
+ },
573
+ {
574
+ "name": "excludes forbidden IDs",
575
+ "passed": true
576
+ },
577
+ {
578
+ "name": "measures full render within declared limits",
579
+ "passed": true
580
+ },
581
+ {
582
+ "name": "leaves fixture store unchanged",
583
+ "passed": true
584
+ },
585
+ {
586
+ "name": "preserves reference and original memory ID",
587
+ "passed": false
588
+ }
589
+ ],
590
+ "contextAtK": {
591
+ "retrievedRelevant": 1,
592
+ "recall": 0.5,
593
+ "firstRelevantRank": 1,
594
+ "reciprocalRank": 1
595
+ },
596
+ "candidateAtK": null,
597
+ "abstained": null,
598
+ "budget": {
599
+ "tokenBudget": 2000,
600
+ "maxChars": 8000,
601
+ "usedChars": 223,
602
+ "estimatedTokens": 56
603
+ },
604
+ "elapsedMs": 3.206
605
+ },
606
+ "adaptive": {
607
+ "passed": true,
608
+ "selected": [
609
+ "canonical",
610
+ "distinct"
611
+ ],
612
+ "missingRelevant": [],
613
+ "includedForbidden": [],
614
+ "scopeChecked": false,
615
+ "leakedIds": [],
616
+ "leakedText": [],
617
+ "checks": [
618
+ {
619
+ "name": "includes relevant IDs",
620
+ "passed": true
621
+ },
622
+ {
623
+ "name": "excludes forbidden IDs",
624
+ "passed": true
625
+ },
626
+ {
627
+ "name": "measures full render within declared limits",
628
+ "passed": true
629
+ },
630
+ {
631
+ "name": "leaves fixture store unchanged",
632
+ "passed": true
633
+ },
634
+ {
635
+ "name": "reports adaptive decisions for the assembled context",
636
+ "passed": true
637
+ },
638
+ {
639
+ "name": "preserves reference and original memory ID",
640
+ "passed": true
641
+ }
642
+ ],
643
+ "contextAtK": {
644
+ "retrievedRelevant": 2,
645
+ "recall": 1,
646
+ "firstRelevantRank": 1,
647
+ "reciprocalRank": 1
648
+ },
649
+ "candidateAtK": {
650
+ "retrievedRelevant": 2,
651
+ "recall": 1,
652
+ "firstRelevantRank": 1,
653
+ "reciprocalRank": 1
654
+ },
655
+ "abstained": null,
656
+ "budget": {
657
+ "tokenBudget": 2000,
658
+ "maxChars": 8000,
659
+ "usedChars": 356,
660
+ "estimatedTokens": 97,
661
+ "estimator": "unicode-code-heuristic",
662
+ "usedBytes": 362
663
+ },
664
+ "elapsedMs": 1.357
665
+ }
666
+ },
667
+ {
668
+ "id": "camel-to-snake",
669
+ "name": "Whole camelCase query matches snake_case",
670
+ "query": "deferredQueueLimit",
671
+ "records": 2,
672
+ "corpusBytes": 651,
673
+ "relevantIds": [
674
+ "limit"
675
+ ],
676
+ "forbiddenIds": [
677
+ "unrelated"
678
+ ],
679
+ "order": [
680
+ "adaptive",
681
+ "legacy"
682
+ ],
683
+ "legacyControl": false,
684
+ "legacy": {
685
+ "passed": false,
686
+ "selected": [],
687
+ "missingRelevant": [
688
+ "limit"
689
+ ],
690
+ "includedForbidden": [],
691
+ "scopeChecked": false,
692
+ "leakedIds": [],
693
+ "leakedText": [],
694
+ "checks": [
695
+ {
696
+ "name": "includes relevant IDs",
697
+ "passed": false
698
+ },
699
+ {
700
+ "name": "excludes forbidden IDs",
701
+ "passed": true
702
+ },
703
+ {
704
+ "name": "measures full render within declared limits",
705
+ "passed": true
706
+ },
707
+ {
708
+ "name": "leaves fixture store unchanged",
709
+ "passed": true
710
+ },
711
+ {
712
+ "name": "ranks expected record first",
713
+ "passed": false
714
+ }
715
+ ],
716
+ "contextAtK": {
717
+ "retrievedRelevant": 0,
718
+ "recall": 0,
719
+ "firstRelevantRank": null,
720
+ "reciprocalRank": 0
721
+ },
722
+ "candidateAtK": null,
723
+ "abstained": null,
724
+ "budget": {
725
+ "tokenBudget": 2000,
726
+ "maxChars": 8000,
727
+ "usedChars": 0,
728
+ "estimatedTokens": 0
729
+ },
730
+ "elapsedMs": 0.059
731
+ },
732
+ "adaptive": {
733
+ "passed": true,
734
+ "selected": [
735
+ "limit"
736
+ ],
737
+ "missingRelevant": [],
738
+ "includedForbidden": [],
739
+ "scopeChecked": false,
740
+ "leakedIds": [],
741
+ "leakedText": [],
742
+ "checks": [
743
+ {
744
+ "name": "includes relevant IDs",
745
+ "passed": true
746
+ },
747
+ {
748
+ "name": "excludes forbidden IDs",
749
+ "passed": true
750
+ },
751
+ {
752
+ "name": "measures full render within declared limits",
753
+ "passed": true
754
+ },
755
+ {
756
+ "name": "leaves fixture store unchanged",
757
+ "passed": true
758
+ },
759
+ {
760
+ "name": "reports adaptive decisions for the assembled context",
761
+ "passed": true
762
+ },
763
+ {
764
+ "name": "ranks expected record first",
765
+ "passed": true
766
+ }
767
+ ],
768
+ "contextAtK": {
769
+ "retrievedRelevant": 1,
770
+ "recall": 1,
771
+ "firstRelevantRank": 1,
772
+ "reciprocalRank": 1
773
+ },
774
+ "candidateAtK": {
775
+ "retrievedRelevant": 1,
776
+ "recall": 1,
777
+ "firstRelevantRank": 1,
778
+ "reciprocalRank": 1
779
+ },
780
+ "abstained": null,
781
+ "budget": {
782
+ "tokenBudget": 2000,
783
+ "maxChars": 8000,
784
+ "usedChars": 244,
785
+ "estimatedTokens": 66,
786
+ "estimator": "unicode-code-heuristic",
787
+ "usedBytes": 247
788
+ },
789
+ "elapsedMs": 0.478
790
+ }
791
+ },
792
+ {
793
+ "id": "snake-to-camel",
794
+ "name": "Whole snake_case query matches PascalCase",
795
+ "query": "parser_seal_error",
796
+ "records": 2,
797
+ "corpusBytes": 652,
798
+ "relevantIds": [
799
+ "failure"
800
+ ],
801
+ "forbiddenIds": [
802
+ "unrelated"
803
+ ],
804
+ "order": [
805
+ "legacy",
806
+ "adaptive"
807
+ ],
808
+ "legacyControl": false,
809
+ "legacy": {
810
+ "passed": false,
811
+ "selected": [],
812
+ "missingRelevant": [
813
+ "failure"
814
+ ],
815
+ "includedForbidden": [],
816
+ "scopeChecked": false,
817
+ "leakedIds": [],
818
+ "leakedText": [],
819
+ "checks": [
820
+ {
821
+ "name": "includes relevant IDs",
822
+ "passed": false
823
+ },
824
+ {
825
+ "name": "excludes forbidden IDs",
826
+ "passed": true
827
+ },
828
+ {
829
+ "name": "measures full render within declared limits",
830
+ "passed": true
831
+ },
832
+ {
833
+ "name": "leaves fixture store unchanged",
834
+ "passed": true
835
+ },
836
+ {
837
+ "name": "ranks expected record first",
838
+ "passed": false
839
+ }
840
+ ],
841
+ "contextAtK": {
842
+ "retrievedRelevant": 0,
843
+ "recall": 0,
844
+ "firstRelevantRank": null,
845
+ "reciprocalRank": 0
846
+ },
847
+ "candidateAtK": null,
848
+ "abstained": null,
849
+ "budget": {
850
+ "tokenBudget": 2000,
851
+ "maxChars": 8000,
852
+ "usedChars": 0,
853
+ "estimatedTokens": 0
854
+ },
855
+ "elapsedMs": 0.049
856
+ },
857
+ "adaptive": {
858
+ "passed": true,
859
+ "selected": [
860
+ "failure"
861
+ ],
862
+ "missingRelevant": [],
863
+ "includedForbidden": [],
864
+ "scopeChecked": false,
865
+ "leakedIds": [],
866
+ "leakedText": [],
867
+ "checks": [
868
+ {
869
+ "name": "includes relevant IDs",
870
+ "passed": true
871
+ },
872
+ {
873
+ "name": "excludes forbidden IDs",
874
+ "passed": true
875
+ },
876
+ {
877
+ "name": "measures full render within declared limits",
878
+ "passed": true
879
+ },
880
+ {
881
+ "name": "leaves fixture store unchanged",
882
+ "passed": true
883
+ },
884
+ {
885
+ "name": "reports adaptive decisions for the assembled context",
886
+ "passed": true
887
+ },
888
+ {
889
+ "name": "ranks expected record first",
890
+ "passed": true
891
+ }
892
+ ],
893
+ "contextAtK": {
894
+ "retrievedRelevant": 1,
895
+ "recall": 1,
896
+ "firstRelevantRank": 1,
897
+ "reciprocalRank": 1
898
+ },
899
+ "candidateAtK": {
900
+ "retrievedRelevant": 1,
901
+ "recall": 1,
902
+ "firstRelevantRank": 1,
903
+ "reciprocalRank": 1
904
+ },
905
+ "abstained": null,
906
+ "budget": {
907
+ "tokenBudget": 2000,
908
+ "maxChars": 8000,
909
+ "usedChars": 245,
910
+ "estimatedTokens": 66,
911
+ "estimator": "unicode-code-heuristic",
912
+ "usedBytes": 248
913
+ },
914
+ "elapsedMs": 0.245
915
+ }
916
+ },
917
+ {
918
+ "id": "path-reference",
919
+ "name": "Relative query matches a recorded Windows source reference",
920
+ "query": "src/transport/limiter.ts",
921
+ "records": 2,
922
+ "corpusBytes": 710,
923
+ "relevantIds": [
924
+ "reference"
925
+ ],
926
+ "forbiddenIds": [
927
+ "same-basename"
928
+ ],
929
+ "order": [
930
+ "adaptive",
931
+ "legacy"
932
+ ],
933
+ "legacyControl": false,
934
+ "legacy": {
935
+ "passed": false,
936
+ "selected": [
937
+ "reference",
938
+ "same-basename"
939
+ ],
940
+ "missingRelevant": [],
941
+ "includedForbidden": [
942
+ "same-basename"
943
+ ],
944
+ "scopeChecked": false,
945
+ "leakedIds": [],
946
+ "leakedText": [],
947
+ "checks": [
948
+ {
949
+ "name": "includes relevant IDs",
950
+ "passed": true
951
+ },
952
+ {
953
+ "name": "excludes forbidden IDs",
954
+ "passed": false
955
+ },
956
+ {
957
+ "name": "measures full render within declared limits",
958
+ "passed": true
959
+ },
960
+ {
961
+ "name": "leaves fixture store unchanged",
962
+ "passed": true
963
+ }
964
+ ],
965
+ "contextAtK": {
966
+ "retrievedRelevant": 1,
967
+ "recall": 1,
968
+ "firstRelevantRank": 1,
969
+ "reciprocalRank": 1
970
+ },
971
+ "candidateAtK": null,
972
+ "abstained": null,
973
+ "budget": {
974
+ "tokenBudget": 2000,
975
+ "maxChars": 8000,
976
+ "usedChars": 420,
977
+ "estimatedTokens": 105
978
+ },
979
+ "elapsedMs": 0.17
980
+ },
981
+ "adaptive": {
982
+ "passed": true,
983
+ "selected": [
984
+ "reference"
985
+ ],
986
+ "missingRelevant": [],
987
+ "includedForbidden": [],
988
+ "scopeChecked": false,
989
+ "leakedIds": [],
990
+ "leakedText": [],
991
+ "checks": [
992
+ {
993
+ "name": "includes relevant IDs",
994
+ "passed": true
995
+ },
996
+ {
997
+ "name": "excludes forbidden IDs",
998
+ "passed": true
999
+ },
1000
+ {
1001
+ "name": "measures full render within declared limits",
1002
+ "passed": true
1003
+ },
1004
+ {
1005
+ "name": "leaves fixture store unchanged",
1006
+ "passed": true
1007
+ },
1008
+ {
1009
+ "name": "reports adaptive decisions for the assembled context",
1010
+ "passed": true
1011
+ },
1012
+ {
1013
+ "name": "explains the matched evidence field",
1014
+ "passed": true
1015
+ }
1016
+ ],
1017
+ "contextAtK": {
1018
+ "retrievedRelevant": 1,
1019
+ "recall": 1,
1020
+ "firstRelevantRank": 1,
1021
+ "reciprocalRank": 1
1022
+ },
1023
+ "candidateAtK": {
1024
+ "retrievedRelevant": 1,
1025
+ "recall": 1,
1026
+ "firstRelevantRank": 1,
1027
+ "reciprocalRank": 1
1028
+ },
1029
+ "abstained": null,
1030
+ "budget": {
1031
+ "tokenBudget": 2000,
1032
+ "maxChars": 8000,
1033
+ "usedChars": 286,
1034
+ "estimatedTokens": 79,
1035
+ "estimator": "unicode-code-heuristic",
1036
+ "usedBytes": 289
1037
+ },
1038
+ "elapsedMs": 0.253
1039
+ }
1040
+ },
1041
+ {
1042
+ "id": "unicode-token",
1043
+ "name": "Unicode text and code punctuation",
1044
+ "query": "C++ 再試行",
1045
+ "records": 2,
1046
+ "corpusBytes": 631,
1047
+ "relevantIds": [
1048
+ "native-retry"
1049
+ ],
1050
+ "forbiddenIds": [
1051
+ "unrelated"
1052
+ ],
1053
+ "order": [
1054
+ "legacy",
1055
+ "adaptive"
1056
+ ],
1057
+ "legacyControl": false,
1058
+ "legacy": {
1059
+ "passed": true,
1060
+ "selected": [
1061
+ "native-retry"
1062
+ ],
1063
+ "missingRelevant": [],
1064
+ "includedForbidden": [],
1065
+ "scopeChecked": false,
1066
+ "leakedIds": [],
1067
+ "leakedText": [],
1068
+ "checks": [
1069
+ {
1070
+ "name": "includes relevant IDs",
1071
+ "passed": true
1072
+ },
1073
+ {
1074
+ "name": "excludes forbidden IDs",
1075
+ "passed": true
1076
+ },
1077
+ {
1078
+ "name": "measures full render within declared limits",
1079
+ "passed": true
1080
+ },
1081
+ {
1082
+ "name": "leaves fixture store unchanged",
1083
+ "passed": true
1084
+ },
1085
+ {
1086
+ "name": "shows expected passage in the excerpt",
1087
+ "passed": true
1088
+ }
1089
+ ],
1090
+ "contextAtK": {
1091
+ "retrievedRelevant": 1,
1092
+ "recall": 1,
1093
+ "firstRelevantRank": 1,
1094
+ "reciprocalRank": 1
1095
+ },
1096
+ "candidateAtK": null,
1097
+ "abstained": null,
1098
+ "budget": {
1099
+ "tokenBudget": 2000,
1100
+ "maxChars": 8000,
1101
+ "usedChars": 219,
1102
+ "estimatedTokens": 55
1103
+ },
1104
+ "elapsedMs": 0.399
1105
+ },
1106
+ "adaptive": {
1107
+ "passed": true,
1108
+ "selected": [
1109
+ "native-retry"
1110
+ ],
1111
+ "missingRelevant": [],
1112
+ "includedForbidden": [],
1113
+ "scopeChecked": false,
1114
+ "leakedIds": [],
1115
+ "leakedText": [],
1116
+ "checks": [
1117
+ {
1118
+ "name": "includes relevant IDs",
1119
+ "passed": true
1120
+ },
1121
+ {
1122
+ "name": "excludes forbidden IDs",
1123
+ "passed": true
1124
+ },
1125
+ {
1126
+ "name": "measures full render within declared limits",
1127
+ "passed": true
1128
+ },
1129
+ {
1130
+ "name": "leaves fixture store unchanged",
1131
+ "passed": true
1132
+ },
1133
+ {
1134
+ "name": "reports adaptive decisions for the assembled context",
1135
+ "passed": true
1136
+ },
1137
+ {
1138
+ "name": "shows expected passage in the excerpt",
1139
+ "passed": true
1140
+ }
1141
+ ],
1142
+ "contextAtK": {
1143
+ "retrievedRelevant": 1,
1144
+ "recall": 1,
1145
+ "firstRelevantRank": 1,
1146
+ "reciprocalRank": 1
1147
+ },
1148
+ "candidateAtK": {
1149
+ "retrievedRelevant": 1,
1150
+ "recall": 1,
1151
+ "firstRelevantRank": 1,
1152
+ "reciprocalRank": 1
1153
+ },
1154
+ "abstained": null,
1155
+ "budget": {
1156
+ "tokenBudget": 2000,
1157
+ "maxChars": 8000,
1158
+ "usedChars": 219,
1159
+ "estimatedTokens": 67,
1160
+ "estimator": "unicode-code-heuristic",
1161
+ "usedBytes": 240
1162
+ },
1163
+ "elapsedMs": 4.462
1164
+ }
1165
+ },
1166
+ {
1167
+ "id": "scope-fence",
1168
+ "name": "Cross-project setting alone preserves project scope",
1169
+ "query": "import retries",
1170
+ "records": 2,
1171
+ "corpusBytes": 703,
1172
+ "relevantIds": [
1173
+ "own"
1174
+ ],
1175
+ "forbiddenIds": [
1176
+ "foreign"
1177
+ ],
1178
+ "order": [
1179
+ "adaptive",
1180
+ "legacy"
1181
+ ],
1182
+ "legacyControl": true,
1183
+ "legacy": {
1184
+ "passed": true,
1185
+ "selected": [
1186
+ "own"
1187
+ ],
1188
+ "missingRelevant": [],
1189
+ "includedForbidden": [],
1190
+ "scopeChecked": true,
1191
+ "leakedIds": [],
1192
+ "leakedText": [],
1193
+ "checks": [
1194
+ {
1195
+ "name": "includes relevant IDs",
1196
+ "passed": true
1197
+ },
1198
+ {
1199
+ "name": "excludes forbidden IDs",
1200
+ "passed": true
1201
+ },
1202
+ {
1203
+ "name": "keeps foreign ID, title, content, and source out of the response",
1204
+ "passed": true
1205
+ },
1206
+ {
1207
+ "name": "measures full render within declared limits",
1208
+ "passed": true
1209
+ },
1210
+ {
1211
+ "name": "leaves fixture store unchanged",
1212
+ "passed": true
1213
+ }
1214
+ ],
1215
+ "contextAtK": {
1216
+ "retrievedRelevant": 1,
1217
+ "recall": 1,
1218
+ "firstRelevantRank": 1,
1219
+ "reciprocalRank": 1
1220
+ },
1221
+ "candidateAtK": null,
1222
+ "abstained": null,
1223
+ "budget": {
1224
+ "tokenBudget": 2000,
1225
+ "maxChars": 8000,
1226
+ "usedChars": 230,
1227
+ "estimatedTokens": 58
1228
+ },
1229
+ "elapsedMs": 0.099
1230
+ },
1231
+ "adaptive": {
1232
+ "passed": true,
1233
+ "selected": [
1234
+ "own"
1235
+ ],
1236
+ "missingRelevant": [],
1237
+ "includedForbidden": [],
1238
+ "scopeChecked": true,
1239
+ "leakedIds": [],
1240
+ "leakedText": [],
1241
+ "checks": [
1242
+ {
1243
+ "name": "includes relevant IDs",
1244
+ "passed": true
1245
+ },
1246
+ {
1247
+ "name": "excludes forbidden IDs",
1248
+ "passed": true
1249
+ },
1250
+ {
1251
+ "name": "keeps foreign ID, title, content, and source out of the response",
1252
+ "passed": true
1253
+ },
1254
+ {
1255
+ "name": "measures full render within declared limits",
1256
+ "passed": true
1257
+ },
1258
+ {
1259
+ "name": "leaves fixture store unchanged",
1260
+ "passed": true
1261
+ },
1262
+ {
1263
+ "name": "reports adaptive decisions for the assembled context",
1264
+ "passed": true
1265
+ }
1266
+ ],
1267
+ "contextAtK": {
1268
+ "retrievedRelevant": 1,
1269
+ "recall": 1,
1270
+ "firstRelevantRank": 1,
1271
+ "reciprocalRank": 1
1272
+ },
1273
+ "candidateAtK": {
1274
+ "retrievedRelevant": 1,
1275
+ "recall": 1,
1276
+ "firstRelevantRank": 1,
1277
+ "reciprocalRank": 1
1278
+ },
1279
+ "abstained": null,
1280
+ "budget": {
1281
+ "tokenBudget": 2000,
1282
+ "maxChars": 8000,
1283
+ "usedChars": 230,
1284
+ "estimatedTokens": 62,
1285
+ "estimator": "unicode-code-heuristic",
1286
+ "usedBytes": 233
1287
+ },
1288
+ "elapsedMs": 0.681
1289
+ }
1290
+ },
1291
+ {
1292
+ "id": "explicit-broad",
1293
+ "name": "Both cross-project gates permit labeled origins",
1294
+ "query": "import retries",
1295
+ "records": 2,
1296
+ "corpusBytes": 639,
1297
+ "relevantIds": [
1298
+ "own",
1299
+ "foreign"
1300
+ ],
1301
+ "forbiddenIds": [],
1302
+ "order": [
1303
+ "legacy",
1304
+ "adaptive"
1305
+ ],
1306
+ "legacyControl": true,
1307
+ "legacy": {
1308
+ "passed": true,
1309
+ "selected": [
1310
+ "foreign",
1311
+ "own"
1312
+ ],
1313
+ "missingRelevant": [],
1314
+ "includedForbidden": [],
1315
+ "scopeChecked": false,
1316
+ "leakedIds": [],
1317
+ "leakedText": [],
1318
+ "checks": [
1319
+ {
1320
+ "name": "includes relevant IDs",
1321
+ "passed": true
1322
+ },
1323
+ {
1324
+ "name": "excludes forbidden IDs",
1325
+ "passed": true
1326
+ },
1327
+ {
1328
+ "name": "measures full render within declared limits",
1329
+ "passed": true
1330
+ },
1331
+ {
1332
+ "name": "leaves fixture store unchanged",
1333
+ "passed": true
1334
+ },
1335
+ {
1336
+ "name": "returns expected context count",
1337
+ "passed": true
1338
+ },
1339
+ {
1340
+ "name": "labels both project origins",
1341
+ "passed": true
1342
+ }
1343
+ ],
1344
+ "contextAtK": {
1345
+ "retrievedRelevant": 2,
1346
+ "recall": 1,
1347
+ "firstRelevantRank": 1,
1348
+ "reciprocalRank": 1
1349
+ },
1350
+ "candidateAtK": null,
1351
+ "abstained": null,
1352
+ "budget": {
1353
+ "tokenBudget": 2000,
1354
+ "maxChars": 8000,
1355
+ "usedChars": 330,
1356
+ "estimatedTokens": 83
1357
+ },
1358
+ "elapsedMs": 0.118
1359
+ },
1360
+ "adaptive": {
1361
+ "passed": true,
1362
+ "selected": [
1363
+ "foreign",
1364
+ "own"
1365
+ ],
1366
+ "missingRelevant": [],
1367
+ "includedForbidden": [],
1368
+ "scopeChecked": false,
1369
+ "leakedIds": [],
1370
+ "leakedText": [],
1371
+ "checks": [
1372
+ {
1373
+ "name": "includes relevant IDs",
1374
+ "passed": true
1375
+ },
1376
+ {
1377
+ "name": "excludes forbidden IDs",
1378
+ "passed": true
1379
+ },
1380
+ {
1381
+ "name": "measures full render within declared limits",
1382
+ "passed": true
1383
+ },
1384
+ {
1385
+ "name": "leaves fixture store unchanged",
1386
+ "passed": true
1387
+ },
1388
+ {
1389
+ "name": "reports adaptive decisions for the assembled context",
1390
+ "passed": true
1391
+ },
1392
+ {
1393
+ "name": "returns expected context count",
1394
+ "passed": true
1395
+ },
1396
+ {
1397
+ "name": "labels both project origins",
1398
+ "passed": true
1399
+ }
1400
+ ],
1401
+ "contextAtK": {
1402
+ "retrievedRelevant": 2,
1403
+ "recall": 1,
1404
+ "firstRelevantRank": 1,
1405
+ "reciprocalRank": 1
1406
+ },
1407
+ "candidateAtK": {
1408
+ "retrievedRelevant": 2,
1409
+ "recall": 1,
1410
+ "firstRelevantRank": 1,
1411
+ "reciprocalRank": 1
1412
+ },
1413
+ "abstained": null,
1414
+ "budget": {
1415
+ "tokenBudget": 2000,
1416
+ "maxChars": 8000,
1417
+ "usedChars": 330,
1418
+ "estimatedTokens": 90,
1419
+ "estimator": "unicode-code-heuristic",
1420
+ "usedBytes": 336
1421
+ },
1422
+ "elapsedMs": 0.59
1423
+ }
1424
+ },
1425
+ {
1426
+ "id": "review-state",
1427
+ "name": "Archived, contested, and superseded states remain excluded",
1428
+ "query": "ledger retries",
1429
+ "records": 4,
1430
+ "corpusBytes": 1235,
1431
+ "relevantIds": [
1432
+ "current"
1433
+ ],
1434
+ "forbiddenIds": [
1435
+ "archived",
1436
+ "contested",
1437
+ "superseded"
1438
+ ],
1439
+ "order": [
1440
+ "adaptive",
1441
+ "legacy"
1442
+ ],
1443
+ "legacyControl": true,
1444
+ "legacy": {
1445
+ "passed": true,
1446
+ "selected": [
1447
+ "current"
1448
+ ],
1449
+ "missingRelevant": [],
1450
+ "includedForbidden": [],
1451
+ "scopeChecked": false,
1452
+ "leakedIds": [],
1453
+ "leakedText": [],
1454
+ "checks": [
1455
+ {
1456
+ "name": "includes relevant IDs",
1457
+ "passed": true
1458
+ },
1459
+ {
1460
+ "name": "excludes forbidden IDs",
1461
+ "passed": true
1462
+ },
1463
+ {
1464
+ "name": "measures full render within declared limits",
1465
+ "passed": true
1466
+ },
1467
+ {
1468
+ "name": "leaves fixture store unchanged",
1469
+ "passed": true
1470
+ },
1471
+ {
1472
+ "name": "returns expected context count",
1473
+ "passed": true
1474
+ }
1475
+ ],
1476
+ "contextAtK": {
1477
+ "retrievedRelevant": 1,
1478
+ "recall": 1,
1479
+ "firstRelevantRank": 1,
1480
+ "reciprocalRank": 1
1481
+ },
1482
+ "candidateAtK": null,
1483
+ "abstained": null,
1484
+ "budget": {
1485
+ "tokenBudget": 2000,
1486
+ "maxChars": 8000,
1487
+ "usedChars": 232,
1488
+ "estimatedTokens": 58
1489
+ },
1490
+ "elapsedMs": 0.229
1491
+ },
1492
+ "adaptive": {
1493
+ "passed": true,
1494
+ "selected": [
1495
+ "current"
1496
+ ],
1497
+ "missingRelevant": [],
1498
+ "includedForbidden": [],
1499
+ "scopeChecked": false,
1500
+ "leakedIds": [],
1501
+ "leakedText": [],
1502
+ "checks": [
1503
+ {
1504
+ "name": "includes relevant IDs",
1505
+ "passed": true
1506
+ },
1507
+ {
1508
+ "name": "excludes forbidden IDs",
1509
+ "passed": true
1510
+ },
1511
+ {
1512
+ "name": "measures full render within declared limits",
1513
+ "passed": true
1514
+ },
1515
+ {
1516
+ "name": "leaves fixture store unchanged",
1517
+ "passed": true
1518
+ },
1519
+ {
1520
+ "name": "reports adaptive decisions for the assembled context",
1521
+ "passed": true
1522
+ },
1523
+ {
1524
+ "name": "returns expected context count",
1525
+ "passed": true
1526
+ }
1527
+ ],
1528
+ "contextAtK": {
1529
+ "retrievedRelevant": 1,
1530
+ "recall": 1,
1531
+ "firstRelevantRank": 1,
1532
+ "reciprocalRank": 1
1533
+ },
1534
+ "candidateAtK": {
1535
+ "retrievedRelevant": 1,
1536
+ "recall": 1,
1537
+ "firstRelevantRank": 1,
1538
+ "reciprocalRank": 1
1539
+ },
1540
+ "abstained": null,
1541
+ "budget": {
1542
+ "tokenBudget": 2000,
1543
+ "maxChars": 8000,
1544
+ "usedChars": 232,
1545
+ "estimatedTokens": 62,
1546
+ "estimator": "unicode-code-heuristic",
1547
+ "usedBytes": 235
1548
+ },
1549
+ "elapsedMs": 0.829
1550
+ }
1551
+ },
1552
+ {
1553
+ "id": "recorded-one-hop",
1554
+ "name": "Recorded links stop at one hop and preserve contradiction caution",
1555
+ "query": "import replay",
1556
+ "records": 6,
1557
+ "corpusBytes": 1812,
1558
+ "relevantIds": [
1559
+ "seed",
1560
+ "support",
1561
+ "related"
1562
+ ],
1563
+ "forbiddenIds": [
1564
+ "second-hop",
1565
+ "conflict",
1566
+ "archived"
1567
+ ],
1568
+ "order": [
1569
+ "legacy",
1570
+ "adaptive"
1571
+ ],
1572
+ "legacyControl": false,
1573
+ "legacy": {
1574
+ "passed": false,
1575
+ "selected": [
1576
+ "seed"
1577
+ ],
1578
+ "missingRelevant": [
1579
+ "support",
1580
+ "related"
1581
+ ],
1582
+ "includedForbidden": [],
1583
+ "scopeChecked": false,
1584
+ "leakedIds": [],
1585
+ "leakedText": [],
1586
+ "checks": [
1587
+ {
1588
+ "name": "includes relevant IDs",
1589
+ "passed": false
1590
+ },
1591
+ {
1592
+ "name": "excludes forbidden IDs",
1593
+ "passed": true
1594
+ },
1595
+ {
1596
+ "name": "measures full render within declared limits",
1597
+ "passed": true
1598
+ },
1599
+ {
1600
+ "name": "leaves fixture store unchanged",
1601
+ "passed": true
1602
+ },
1603
+ {
1604
+ "name": "renders the expected warning",
1605
+ "passed": true
1606
+ }
1607
+ ],
1608
+ "contextAtK": {
1609
+ "retrievedRelevant": 1,
1610
+ "recall": 0.3333333333333333,
1611
+ "firstRelevantRank": 1,
1612
+ "reciprocalRank": 1
1613
+ },
1614
+ "candidateAtK": null,
1615
+ "abstained": null,
1616
+ "budget": {
1617
+ "tokenBudget": 2000,
1618
+ "maxChars": 8000,
1619
+ "usedChars": 309,
1620
+ "estimatedTokens": 78
1621
+ },
1622
+ "elapsedMs": 0.297
1623
+ },
1624
+ "adaptive": {
1625
+ "passed": true,
1626
+ "selected": [
1627
+ "seed",
1628
+ "support",
1629
+ "related"
1630
+ ],
1631
+ "missingRelevant": [],
1632
+ "includedForbidden": [],
1633
+ "scopeChecked": false,
1634
+ "leakedIds": [],
1635
+ "leakedText": [],
1636
+ "checks": [
1637
+ {
1638
+ "name": "includes relevant IDs",
1639
+ "passed": true
1640
+ },
1641
+ {
1642
+ "name": "excludes forbidden IDs",
1643
+ "passed": true
1644
+ },
1645
+ {
1646
+ "name": "measures full render within declared limits",
1647
+ "passed": true
1648
+ },
1649
+ {
1650
+ "name": "leaves fixture store unchanged",
1651
+ "passed": true
1652
+ },
1653
+ {
1654
+ "name": "reports adaptive decisions for the assembled context",
1655
+ "passed": true
1656
+ },
1657
+ {
1658
+ "name": "renders the expected warning",
1659
+ "passed": true
1660
+ },
1661
+ {
1662
+ "name": "preserves the original recorded graph path",
1663
+ "passed": true
1664
+ }
1665
+ ],
1666
+ "contextAtK": {
1667
+ "retrievedRelevant": 3,
1668
+ "recall": 1,
1669
+ "firstRelevantRank": 1,
1670
+ "reciprocalRank": 1
1671
+ },
1672
+ "candidateAtK": {
1673
+ "retrievedRelevant": 3,
1674
+ "recall": 1,
1675
+ "firstRelevantRank": 1,
1676
+ "reciprocalRank": 1
1677
+ },
1678
+ "abstained": null,
1679
+ "budget": {
1680
+ "tokenBudget": 2000,
1681
+ "maxChars": 8000,
1682
+ "usedChars": 601,
1683
+ "estimatedTokens": 162,
1684
+ "estimator": "unicode-code-heuristic",
1685
+ "usedBytes": 610
1686
+ },
1687
+ "elapsedMs": 1.039
1688
+ }
1689
+ },
1690
+ {
1691
+ "id": "rendered-budget",
1692
+ "name": "Tight Unicode and code budget still shows the matched identifier",
1693
+ "query": "RetrySeal",
1694
+ "records": 1,
1695
+ "corpusBytes": 3321,
1696
+ "relevantIds": [
1697
+ "unicode-run"
1698
+ ],
1699
+ "forbiddenIds": [],
1700
+ "order": [
1701
+ "adaptive",
1702
+ "legacy"
1703
+ ],
1704
+ "legacyControl": false,
1705
+ "legacy": {
1706
+ "passed": false,
1707
+ "selected": [],
1708
+ "missingRelevant": [
1709
+ "unicode-run"
1710
+ ],
1711
+ "includedForbidden": [],
1712
+ "scopeChecked": false,
1713
+ "leakedIds": [],
1714
+ "leakedText": [],
1715
+ "checks": [
1716
+ {
1717
+ "name": "includes relevant IDs",
1718
+ "passed": false
1719
+ },
1720
+ {
1721
+ "name": "excludes forbidden IDs",
1722
+ "passed": true
1723
+ },
1724
+ {
1725
+ "name": "measures full render within declared limits",
1726
+ "passed": true
1727
+ },
1728
+ {
1729
+ "name": "leaves fixture store unchanged",
1730
+ "passed": true
1731
+ },
1732
+ {
1733
+ "name": "shows expected passage in the excerpt",
1734
+ "passed": false
1735
+ }
1736
+ ],
1737
+ "contextAtK": {
1738
+ "retrievedRelevant": 0,
1739
+ "recall": 0,
1740
+ "firstRelevantRank": null,
1741
+ "reciprocalRank": 0
1742
+ },
1743
+ "candidateAtK": null,
1744
+ "abstained": null,
1745
+ "budget": {
1746
+ "tokenBudget": 155,
1747
+ "maxChars": 620,
1748
+ "usedChars": 0,
1749
+ "estimatedTokens": 0
1750
+ },
1751
+ "elapsedMs": 0.262
1752
+ },
1753
+ "adaptive": {
1754
+ "passed": true,
1755
+ "selected": [
1756
+ "unicode-run"
1757
+ ],
1758
+ "missingRelevant": [],
1759
+ "includedForbidden": [],
1760
+ "scopeChecked": false,
1761
+ "leakedIds": [],
1762
+ "leakedText": [],
1763
+ "checks": [
1764
+ {
1765
+ "name": "includes relevant IDs",
1766
+ "passed": true
1767
+ },
1768
+ {
1769
+ "name": "excludes forbidden IDs",
1770
+ "passed": true
1771
+ },
1772
+ {
1773
+ "name": "measures full render within declared limits",
1774
+ "passed": true
1775
+ },
1776
+ {
1777
+ "name": "leaves fixture store unchanged",
1778
+ "passed": true
1779
+ },
1780
+ {
1781
+ "name": "reports adaptive decisions for the assembled context",
1782
+ "passed": true
1783
+ },
1784
+ {
1785
+ "name": "shows expected passage in the excerpt",
1786
+ "passed": true
1787
+ },
1788
+ {
1789
+ "name": "uses the Unicode and code estimate on actual rendered bytes",
1790
+ "passed": true
1791
+ }
1792
+ ],
1793
+ "contextAtK": {
1794
+ "retrievedRelevant": 1,
1795
+ "recall": 1,
1796
+ "firstRelevantRank": 1,
1797
+ "reciprocalRank": 1
1798
+ },
1799
+ "candidateAtK": {
1800
+ "retrievedRelevant": 1,
1801
+ "recall": 1,
1802
+ "firstRelevantRank": 1,
1803
+ "reciprocalRank": 1
1804
+ },
1805
+ "abstained": null,
1806
+ "budget": {
1807
+ "tokenBudget": 155,
1808
+ "maxChars": 620,
1809
+ "usedChars": 390,
1810
+ "estimatedTokens": 155,
1811
+ "estimator": "unicode-code-heuristic",
1812
+ "usedBytes": 507
1813
+ },
1814
+ "elapsedMs": 1.637
1815
+ }
1816
+ }
1817
+ ]
1818
+ }