@pentatonic-ai/ai-agent-sdk 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/README.md +170 -69
  2. package/bin/__tests__/callback-server.test.js +4 -1
  3. package/bin/cli.js +41 -164
  4. package/bin/commands/config.js +251 -0
  5. package/package.json +2 -1
  6. package/packages/doctor/__tests__/detect.test.js +2 -6
  7. package/packages/doctor/src/checks/local-memory.js +164 -196
  8. package/packages/doctor/src/detect.js +11 -3
  9. package/packages/memory/src/corpus/adapters.js +104 -0
  10. package/packages/memory/src/corpus/cli.js +72 -7
  11. package/packages/memory/src/corpus/index.js +1 -1
  12. package/packages/memory-engine/.env.example +13 -0
  13. package/packages/memory-engine/README.md +131 -0
  14. package/packages/memory-engine/bench/README.md +99 -0
  15. package/packages/memory-engine/bench/scorecards-engine/agent-coding__pentatonic-baseline__20260427-142523.json +1115 -0
  16. package/packages/memory-engine/bench/scorecards-engine/chat-recall__pentatonic-baseline__20260427-142648.json +819 -0
  17. package/packages/memory-engine/bench/scorecards-engine/circular-economy__pentatonic-baseline__20260427-142757.json +1278 -0
  18. package/packages/memory-engine/bench/scorecards-engine/customer-support__pentatonic-baseline__20260427-142900.json +1018 -0
  19. package/packages/memory-engine/bench/scorecards-engine/marketplace-ops__pentatonic-baseline__20260427-142957.json +1038 -0
  20. package/packages/memory-engine/bench/scorecards-engine/product-catalogue__pentatonic-baseline__20260427-143122.json +961 -0
  21. package/packages/memory-engine/bench/scorecards-engine-via-docker/agent-coding__pentatonic-memory__20260427-161812.json +1115 -0
  22. package/packages/memory-engine/bench/scorecards-engine-via-docker/chat-recall__pentatonic-memory__20260427-161701.json +819 -0
  23. package/packages/memory-engine/bench/scorecards-engine-via-docker/circular-economy__pentatonic-memory__20260427-161713.json +1278 -0
  24. package/packages/memory-engine/bench/scorecards-engine-via-docker/customer-support__pentatonic-memory__20260427-161723.json +1018 -0
  25. package/packages/memory-engine/bench/scorecards-engine-via-docker/marketplace-ops__pentatonic-memory__20260427-161732.json +1038 -0
  26. package/packages/memory-engine/bench/scorecards-engine-via-docker/product-catalogue__pentatonic-memory__20260427-161741.json +937 -0
  27. package/packages/memory-engine/bench/scorecards-engine-via-l2-7-layer-populated/agent-coding__pentatonic-memory__20260427-184718.json +1115 -0
  28. package/packages/memory-engine/bench/scorecards-engine-via-l2-7-layer-populated/chat-recall__pentatonic-memory__20260427-184614.json +819 -0
  29. package/packages/memory-engine/bench/scorecards-engine-via-l2-7-layer-populated/circular-economy__pentatonic-memory__20260427-184809.json +1278 -0
  30. package/packages/memory-engine/bench/scorecards-engine-via-l2-7-layer-populated/customer-support__pentatonic-memory__20260427-184854.json +1018 -0
  31. package/packages/memory-engine/bench/scorecards-engine-via-l2-7-layer-populated/marketplace-ops__pentatonic-memory__20260427-184929.json +1038 -0
  32. package/packages/memory-engine/bench/scorecards-engine-via-l2-7-layer-populated/product-catalogue__pentatonic-memory__20260427-185015.json +961 -0
  33. package/packages/memory-engine/bench/scorecards-engine-via-l2-empty-layers/agent-coding__pentatonic-memory__20260427-175252.json +1115 -0
  34. package/packages/memory-engine/bench/scorecards-engine-via-l2-empty-layers/chat-recall__pentatonic-memory__20260427-175312.json +819 -0
  35. package/packages/memory-engine/bench/scorecards-engine-via-l2-empty-layers/circular-economy__pentatonic-memory__20260427-175335.json +1278 -0
  36. package/packages/memory-engine/bench/scorecards-engine-via-l2-empty-layers/customer-support__pentatonic-memory__20260427-175355.json +1018 -0
  37. package/packages/memory-engine/bench/scorecards-engine-via-l2-empty-layers/marketplace-ops__pentatonic-memory__20260427-175413.json +1038 -0
  38. package/packages/memory-engine/bench/scorecards-engine-via-l2-empty-layers/product-catalogue__pentatonic-memory__20260427-175430.json +883 -0
  39. package/packages/memory-engine/bench/scorecards-engine-via-shim/agent-coding__pentatonic-memory__20260427-155409.json +1115 -0
  40. package/packages/memory-engine/bench/scorecards-engine-via-shim/chat-recall__pentatonic-memory__20260427-155421.json +819 -0
  41. package/packages/memory-engine/bench/scorecards-engine-via-shim/circular-economy__pentatonic-memory__20260427-155433.json +1278 -0
  42. package/packages/memory-engine/bench/scorecards-engine-via-shim/customer-support__pentatonic-memory__20260427-155443.json +1018 -0
  43. package/packages/memory-engine/bench/scorecards-engine-via-shim/marketplace-ops__pentatonic-memory__20260427-155453.json +1038 -0
  44. package/packages/memory-engine/bench/scorecards-engine-via-shim/product-catalogue__pentatonic-memory__20260427-155503.json +937 -0
  45. package/packages/memory-engine/bench/scorecards-pentatonic-baseline/agent-coding__pentatonic-memory-latest__20260427-145103.json +1115 -0
  46. package/packages/memory-engine/bench/scorecards-pentatonic-baseline/agent-coding__pentatonic-memory__20260427-144909.json +1115 -0
  47. package/packages/memory-engine/bench/scorecards-pentatonic-baseline/chat-recall__pentatonic-memory-latest__20260427-145153.json +819 -0
  48. package/packages/memory-engine/bench/scorecards-pentatonic-baseline/chat-recall__pentatonic-memory__20260427-145120.json +542 -0
  49. package/packages/memory-engine/bench/scorecards-pentatonic-baseline/circular-economy__pentatonic-memory-latest__20260427-145313.json +1278 -0
  50. package/packages/memory-engine/bench/scorecards-pentatonic-baseline/circular-economy__pentatonic-memory__20260427-145207.json +894 -0
  51. package/packages/memory-engine/bench/scorecards-pentatonic-baseline/customer-support__pentatonic-memory-latest__20260427-145412.json +1018 -0
  52. package/packages/memory-engine/bench/scorecards-pentatonic-baseline/customer-support__pentatonic-memory__20260427-145327.json +680 -0
  53. package/packages/memory-engine/bench/scorecards-pentatonic-baseline/marketplace-ops__pentatonic-memory-latest__20260427-145517.json +1038 -0
  54. package/packages/memory-engine/bench/scorecards-pentatonic-baseline/marketplace-ops__pentatonic-memory__20260427-145422.json +693 -0
  55. package/packages/memory-engine/bench/scorecards-pentatonic-baseline/product-catalogue__pentatonic-memory-latest__20260427-145616.json +961 -0
  56. package/packages/memory-engine/bench/scorecards-pentatonic-baseline/product-catalogue__pentatonic-memory__20260427-145528.json +727 -0
  57. package/packages/memory-engine/compat/Dockerfile +11 -0
  58. package/packages/memory-engine/compat/server.py +680 -0
  59. package/packages/memory-engine/docker-compose.yml +243 -0
  60. package/packages/memory-engine/docs/MIGRATION.md +178 -0
  61. package/packages/memory-engine/docs/RUNBOOK-AWS.md +375 -0
  62. package/packages/memory-engine/docs/why-v05-underperforms.md +138 -0
  63. package/packages/memory-engine/engine/README.md +52 -0
  64. package/packages/memory-engine/engine/l2-hybridrag-proxy.py +1543 -0
  65. package/packages/memory-engine/engine/l5-comms-layer.py +663 -0
  66. package/packages/memory-engine/engine/l6-document-store.py +1018 -0
  67. package/packages/memory-engine/engine/services/l2/Dockerfile +41 -0
  68. package/packages/memory-engine/engine/services/l2/init_databases.py +81 -0
  69. package/packages/memory-engine/engine/services/l2/l2-hybridrag-proxy.py +1543 -0
  70. package/packages/memory-engine/engine/services/l4/Dockerfile +15 -0
  71. package/packages/memory-engine/engine/services/l4/server.py +235 -0
  72. package/packages/memory-engine/engine/services/l5/Dockerfile +9 -0
  73. package/packages/memory-engine/engine/services/l5/l5-comms-layer.py +678 -0
  74. package/packages/memory-engine/engine/services/l6/Dockerfile +11 -0
  75. package/packages/memory-engine/engine/services/l6/l6-document-store.py +1016 -0
  76. package/packages/memory-engine/engine/services/nv-embed/Dockerfile +28 -0
  77. package/packages/memory-engine/engine/services/nv-embed/server.py +152 -0
  78. package/packages/memory-engine/pme_memory/__init__.py +0 -0
  79. package/packages/memory-engine/pme_memory/__main__.py +129 -0
  80. package/packages/memory-engine/pme_memory/artifacts.py +95 -0
  81. package/packages/memory-engine/pme_memory/embed.py +74 -0
  82. package/packages/memory-engine/pme_memory/health.py +36 -0
  83. package/packages/memory-engine/pme_memory/hygiene.py +159 -0
  84. package/packages/memory-engine/pme_memory/indexer.py +200 -0
  85. package/packages/memory-engine/pme_memory/needs.py +55 -0
  86. package/packages/memory-engine/pme_memory/provenance.py +80 -0
  87. package/packages/memory-engine/pme_memory/scoring.py +168 -0
  88. package/packages/memory-engine/pme_memory/search.py +52 -0
  89. package/packages/memory-engine/pme_memory/store.py +86 -0
  90. package/packages/memory-engine/pme_memory/synthesis.py +114 -0
  91. package/packages/memory-engine/pyproject.toml +65 -0
  92. package/packages/memory-engine/scripts/kg-extractor.py +557 -0
  93. package/packages/memory-engine/scripts/kg-preflexor-v2.py +738 -0
  94. package/packages/memory-engine/tests/test_api_contract.sh +57 -0
@@ -0,0 +1,961 @@
1
+ {
2
+ "bench": "product-catalogue",
3
+ "stack": "pentatonic-memory",
4
+ "n_tasks": 18,
5
+ "n_correct": 15,
6
+ "accuracy": 0.8333333333333334,
7
+ "mean_score": 0.8333333333333334,
8
+ "p50_search_ms": 1364.9637984926812,
9
+ "p95_search_ms": 1714.9617859977297,
10
+ "total_tokens_in": 0,
11
+ "total_tokens_out": 0,
12
+ "total_usd": 0.0,
13
+ "by_tag": {
14
+ "factoid": {
15
+ "n": 10,
16
+ "mean_score": 1.0,
17
+ "accuracy": 1.0
18
+ },
19
+ "material": {
20
+ "n": 4,
21
+ "mean_score": 0.75,
22
+ "accuracy": 0.75
23
+ },
24
+ "spec": {
25
+ "n": 1,
26
+ "mean_score": 1.0,
27
+ "accuracy": 1.0
28
+ },
29
+ "warranty": {
30
+ "n": 1,
31
+ "mean_score": 1.0,
32
+ "accuracy": 1.0
33
+ },
34
+ "inventory": {
35
+ "n": 3,
36
+ "mean_score": 1.0,
37
+ "accuracy": 1.0
38
+ },
39
+ "compat": {
40
+ "n": 2,
41
+ "mean_score": 1.0,
42
+ "accuracy": 1.0
43
+ },
44
+ "multi-doc": {
45
+ "n": 3,
46
+ "mean_score": 0.6666666666666666,
47
+ "accuracy": 0.6666666666666666
48
+ },
49
+ "care": {
50
+ "n": 1,
51
+ "mean_score": 1.0,
52
+ "accuracy": 1.0
53
+ },
54
+ "policy": {
55
+ "n": 2,
56
+ "mean_score": 0.5,
57
+ "accuracy": 0.5
58
+ },
59
+ "pricing": {
60
+ "n": 2,
61
+ "mean_score": 1.0,
62
+ "accuracy": 1.0
63
+ },
64
+ "multi-hop": {
65
+ "n": 2,
66
+ "mean_score": 0.5,
67
+ "accuracy": 0.5
68
+ },
69
+ "math": {
70
+ "n": 1,
71
+ "mean_score": 0.0,
72
+ "accuracy": 0.0
73
+ },
74
+ "rubric": {
75
+ "n": 3,
76
+ "mean_score": 0.6666666666666666,
77
+ "accuracy": 0.6666666666666666
78
+ },
79
+ "recommendation": {
80
+ "n": 1,
81
+ "mean_score": 0.0,
82
+ "accuracy": 0.0
83
+ },
84
+ "certification": {
85
+ "n": 1,
86
+ "mean_score": 1.0,
87
+ "accuracy": 1.0
88
+ },
89
+ "entity": {
90
+ "n": 1,
91
+ "mean_score": 0.0,
92
+ "accuracy": 0.0
93
+ }
94
+ },
95
+ "extra": {
96
+ "ingest_ms": 18881.639511004323,
97
+ "grading": "substring",
98
+ "limit": 3,
99
+ "tokens": {
100
+ "corpus_tokens": 1845,
101
+ "query_tokens": 271,
102
+ "context_tokens": 6722,
103
+ "retrieval_tokens": 6993,
104
+ "naive_tokens": 33481,
105
+ "saved_tokens": 26488,
106
+ "reduction_pct": 0.791135270750575,
107
+ "mean_retrieval_tokens_per_task": 388.5,
108
+ "tokenizer": "cl100k_base",
109
+ "per_task": {
110
+ "sku-atlas-material": {
111
+ "query": 11,
112
+ "context": 394,
113
+ "retrieval": 405,
114
+ "judge_in": 0,
115
+ "judge_out": 0,
116
+ "judge_latency_ms": 0.0
117
+ },
118
+ "sku-luna-capacity": {
119
+ "query": 8,
120
+ "context": 454,
121
+ "retrieval": 462,
122
+ "judge_in": 0,
123
+ "judge_out": 0,
124
+ "judge_latency_ms": 0.0
125
+ },
126
+ "sku-luna-warranty": {
127
+ "query": 9,
128
+ "context": 437,
129
+ "retrieval": 446,
130
+ "judge_in": 0,
131
+ "judge_out": 0,
132
+ "judge_latency_ms": 0.0
133
+ },
134
+ "sku-kite-harness-out-of-stock": {
135
+ "query": 17,
136
+ "context": 356,
137
+ "retrieval": 373,
138
+ "judge_in": 0,
139
+ "judge_out": 0,
140
+ "judge_latency_ms": 0.0
141
+ },
142
+ "sku-kite-harness-restock": {
143
+ "query": 17,
144
+ "context": 356,
145
+ "retrieval": 373,
146
+ "judge_in": 0,
147
+ "judge_out": 0,
148
+ "judge_latency_ms": 0.0
149
+ },
150
+ "sku-tee-discontinued-sizes": {
151
+ "query": 13,
152
+ "context": 359,
153
+ "retrieval": 372,
154
+ "judge_in": 0,
155
+ "judge_out": 0,
156
+ "judge_latency_ms": 0.0
157
+ },
158
+ "sku-sleeve-compat-14-mbp": {
159
+ "query": 16,
160
+ "context": 345,
161
+ "retrieval": 361,
162
+ "judge_in": 0,
163
+ "judge_out": 0,
164
+ "judge_latency_ms": 0.0
165
+ },
166
+ "sku-coffee-cup-microwave": {
167
+ "query": 8,
168
+ "context": 438,
169
+ "retrieval": 446,
170
+ "judge_in": 0,
171
+ "judge_out": 0,
172
+ "judge_latency_ms": 0.0
173
+ },
174
+ "sku-bin-liners-home-compost": {
175
+ "query": 11,
176
+ "context": 368,
177
+ "retrieval": 379,
178
+ "judge_in": 0,
179
+ "judge_out": 0,
180
+ "judge_latency_ms": 0.0
181
+ },
182
+ "policy-custom-tote-return": {
183
+ "query": 10,
184
+ "context": 355,
185
+ "retrieval": 365,
186
+ "judge_in": 0,
187
+ "judge_out": 0,
188
+ "judge_latency_ms": 0.0
189
+ },
190
+ "price-tee-subscription": {
191
+ "query": 14,
192
+ "context": 370,
193
+ "retrieval": 384,
194
+ "judge_in": 0,
195
+ "judge_out": 0,
196
+ "judge_latency_ms": 0.0
197
+ },
198
+ "price-sleeve-diff": {
199
+ "query": 19,
200
+ "context": 345,
201
+ "retrieval": 364,
202
+ "judge_in": 0,
203
+ "judge_out": 0,
204
+ "judge_latency_ms": 0.0
205
+ },
206
+ "multi-hop-kite-duotone": {
207
+ "query": 25,
208
+ "context": 321,
209
+ "retrieval": 346,
210
+ "judge_in": 0,
211
+ "judge_out": 0,
212
+ "judge_latency_ms": 0.0
213
+ },
214
+ "multi-hop-takeback-credit": {
215
+ "query": 23,
216
+ "context": 368,
217
+ "retrieval": 391,
218
+ "judge_in": 0,
219
+ "judge_out": 0,
220
+ "judge_latency_ms": 0.0
221
+ },
222
+ "rubric-recommend-kitesurf-bag": {
223
+ "query": 31,
224
+ "context": 373,
225
+ "retrieval": 404,
226
+ "judge_in": 714,
227
+ "judge_out": 39,
228
+ "judge_latency_ms": 1133.761990994215
229
+ },
230
+ "rubric-plastic-free-tee": {
231
+ "query": 11,
232
+ "context": 333,
233
+ "retrieval": 344,
234
+ "judge_in": 640,
235
+ "judge_out": 59,
236
+ "judge_latency_ms": 1484.2761030197144
237
+ },
238
+ "rubric-cc-certified-items": {
239
+ "query": 14,
240
+ "context": 374,
241
+ "retrieval": 388,
242
+ "judge_in": 662,
243
+ "judge_out": 32,
244
+ "judge_latency_ms": 747.3718370199203
245
+ },
246
+ "entity-recycled-content-high": {
247
+ "query": 14,
248
+ "context": 376,
249
+ "retrieval": 390,
250
+ "judge_in": 0,
251
+ "judge_out": 0,
252
+ "judge_latency_ms": 0.0
253
+ }
254
+ },
255
+ "judge_tokens_in": 2016,
256
+ "judge_tokens_out": 130,
257
+ "judge_calls": 3,
258
+ "judge_mean_latency_ms": 1121.8033103446166
259
+ },
260
+ "cost_usd": {
261
+ "assumed_completion_tokens_per_task": 100,
262
+ "rates": {
263
+ "input_per_1k": 0.0025,
264
+ "output_per_1k": 0.01,
265
+ "model": "gpt-4o"
266
+ },
267
+ "retrieval_usd_in": 0.0174825,
268
+ "retrieval_usd_out": 0.018,
269
+ "retrieval_usd_total": 0.0354825,
270
+ "naive_usd_total": 0.1017025,
271
+ "saved_usd": 0.06622,
272
+ "saved_usd_per_1k_tasks": 3.678888888888889
273
+ }
274
+ },
275
+ "task_results": [
276
+ {
277
+ "task_id": "sku-atlas-material",
278
+ "query": "What's the material composition of the Atlas Phone Shell?",
279
+ "answer": "# Atlas Phone Shell \u2014 SKU ATL-PHN-001\n\n**Brand:** Atlas Circular\n**Category:** Mobile accessories / Phone cases\n**Compatible with:** iPhone 15, iPhone 15 Pro\n\n**Material composition:**\n- 68% recycled ocean-bound polypropylene\n- 24% recycled polycarbonate (post-consumer)\n- 8% natural calcium carbonate\n\n**Price:** \u00a329.00 GBP (standard) / \u00a324.00 (subscription)\n**Inventory:** 1,240 units in stock at UK fulfilment (Worthing DC)\n**Take-back:** Yes \u2014 returnable for 50% credit after 18 months\n**Certification:** Cradle to Cradle Bronze, MADE-BY Class B\n---\n# Atlas Phone Shell \u2014 SKU ATL-PHN-001\n\n**Brand:** Atlas Circular\n**Category:** Mobile accessories / Phone cases\n**Compatible with:** iPhone 15, iPhone 15 Pro\n\n**Material composition:**\n- 68% recycled ocean-bound polypropylene\n- 24% recycled polycarbonate (post-consumer)\n- 8% natural calcium carbonate\n\n**Price:** \u00a329.00 GBP (standard) / \u00a324.00 (subscription)\n**Inventory:** 1,240 units in stock at UK fulfilment (Worthing DC)\n**Take-back:** Yes \u2014 returnable for 50% credit after 18 months\n**Certific\n---\n# Inventory update \u2014 2026-04-15\n\nPentatonic Crew Tee Black XXS/XXL: discontinued, not restocking.\nNomad Kite Harness v3 M: sold out, restock ETA 2026-05-15.\nHaven Laptop Sleeve 15\": Oat and Ochre sold through, Charcoal only until SS27 refresh.\nAtlas Phone Shell: new batch inbound 2026-04-28, inventory will top up to ~3000 units.",
280
+ "hits": [
281
+ {
282
+ "text": "# Atlas Phone Shell \u2014 SKU ATL-PHN-001\n\n**Brand:** Atlas Circular\n**Category:** Mobile accessories / Phone cases\n**Compatible with:** iPhone 15, iPhone 15 Pro\n\n**Material composition:**\n- 68% recycled ocean-bound polypropylene\n- 24% recycled polycarbonate (post-consumer)\n- 8% natural calcium carbonate\n\n**Price:** \u00a329.00 GBP (standard) / \u00a324.00 (subscription)\n**Inventory:** 1,240 units in stock at U",
283
+ "score": 0.7314,
284
+ "source": "pentatonic-memory",
285
+ "doc_id": "sku-atlas-phone-01"
286
+ },
287
+ {
288
+ "text": "# Atlas Phone Shell \u2014 SKU ATL-PHN-001\n\n**Brand:** Atlas Circular\n**Category:** Mobile accessories / Phone cases\n**Compatible with:** iPhone 15, iPhone 15 Pro\n\n**Material composition:**\n- 68% recycled ocean-bound polypropylene\n- 24% recycled polycarbonate (post-consumer)\n- 8% natural calcium carbonate\n\n**Price:** \u00a329.00 GBP (standard) / \u00a324.00 (subscription)\n**Inventory:** 1,240 units in stock at U",
289
+ "score": 0.6276,
290
+ "source": "pentatonic-memory",
291
+ "doc_id": "sku-atlas-phone-01"
292
+ },
293
+ {
294
+ "text": "# Inventory update \u2014 2026-04-15\n\nPentatonic Crew Tee Black XXS/XXL: discontinued, not restocking.\nNomad Kite Harness v3 M: sold out, restock ETA 2026-05-15.\nHaven Laptop Sleeve 15\": Oat and Ochre sold through, Charcoal only until SS27 refresh.\nAtlas Phone Shell: new batch inbound 2026-04-28, inventory will top up to ~3000 units.\n",
295
+ "score": 0.4988,
296
+ "source": "pentatonic-memory",
297
+ "doc_id": "inventory-update-2026-04-15"
298
+ }
299
+ ],
300
+ "correct": true,
301
+ "score": 1.0,
302
+ "grading_notes": "all substrings matched",
303
+ "search_time_ms": 1478.026733995648,
304
+ "generation_time_ms": 0.0,
305
+ "tokens_in": 0,
306
+ "tokens_out": 0,
307
+ "retrieval_tokens": 405,
308
+ "query_tokens": 11,
309
+ "context_tokens": 394,
310
+ "judge_tokens_in": 0,
311
+ "judge_tokens_out": 0,
312
+ "judge_latency_ms": 0.0
313
+ },
314
+ {
315
+ "task_id": "sku-luna-capacity",
316
+ "query": "What capacity is the Luna water bottle?",
317
+ "answer": "# Luna Water Bottle 500ml \u2014 SKU LUN-BTL-042\n\n**Brand:** Luna\n**Category:** Drinkware / Bottles\n**Capacity:** 500ml\n\n**Material composition:**\n- 100% food-grade 304 stainless steel (65% recycled content)\n- Lid: bio-based silicone (sugarcane derivative)\n\n**Price:** \u00a318.50 GBP\n**Inventory:** 87 units in stock (UK), 412 units (EU DC Eindhoven)\n**Colours available:** Matte black, Sage green, Terracotta\n**Replacement parts:** Lid (\u00a33.50), Silicone seal (\u00a30.90)\n**Warranty:** Lifetime on body, 2 years on lid\n---\n# Luna Water Bottle 500ml \u2014 SKU LUN-BTL-042\n\n**Brand:** Luna\n**Category:** Drinkware / Bottles\n**Capacity:** 500ml\n\n**Material composition:**\n- 100% food-grade 304 stainless steel (65% recycled content)\n- Lid: bio-based silicone (sugarcane derivative)\n\n**Price:** \u00a318.50 GBP\n**Inventory:** 87 units in stock (UK), 412 units (EU DC Eindhoven)\n**Colours available:** Matte black, Sage green, Terracotta\n**Replacement parts:** Lid (\u00a33.50), Silicone seal (\u00a30.90)\n**Warranty:** Lifetime on body, 2 years o\n---\n# Pentatonic Crew Tee Black \u2014 SKU PTT-TEE-BLK\n\n**Brand:** Pentatonic\n**Category:** Apparel / T-shirts\n**Fit:** Unisex regular\n**Size range:** XS, S, M, L, XL, XXL\n\n**Material composition:**\n- 100% GOTS-certified organic cotton, 180 gsm\n- Dyeing: low-impact reactive dye, closed-loop water system\n\n**Price:** \u00a328.00 GBP\n**Inventory:** S=48, M=136, L=94, XL=22, XS=0 (discontinued), XXL=0 (discontinued)\n**Country of origin:** Portugal (CITEVE-certified mill)\n**Care:** Wash cold, line dry; no tumble d",
318
+ "hits": [
319
+ {
320
+ "text": "# Luna Water Bottle 500ml \u2014 SKU LUN-BTL-042\n\n**Brand:** Luna\n**Category:** Drinkware / Bottles\n**Capacity:** 500ml\n\n**Material composition:**\n- 100% food-grade 304 stainless steel (65% recycled content)\n- Lid: bio-based silicone (sugarcane derivative)\n\n**Price:** \u00a318.50 GBP\n**Inventory:** 87 units in stock (UK), 412 units (EU DC Eindhoven)\n**Colours available:** Matte black, Sage green, Terracotta",
321
+ "score": 0.7428,
322
+ "source": "pentatonic-memory",
323
+ "doc_id": "sku-luna-bottle-42"
324
+ },
325
+ {
326
+ "text": "# Luna Water Bottle 500ml \u2014 SKU LUN-BTL-042\n\n**Brand:** Luna\n**Category:** Drinkware / Bottles\n**Capacity:** 500ml\n\n**Material composition:**\n- 100% food-grade 304 stainless steel (65% recycled content)\n- Lid: bio-based silicone (sugarcane derivative)\n\n**Price:** \u00a318.50 GBP\n**Inventory:** 87 units in stock (UK), 412 units (EU DC Eindhoven)\n**Colours available:** Matte black, Sage green, Terracotta",
327
+ "score": 0.7069,
328
+ "source": "pentatonic-memory",
329
+ "doc_id": "sku-luna-bottle-42"
330
+ },
331
+ {
332
+ "text": "# Pentatonic Crew Tee Black \u2014 SKU PTT-TEE-BLK\n\n**Brand:** Pentatonic\n**Category:** Apparel / T-shirts\n**Fit:** Unisex regular\n**Size range:** XS, S, M, L, XL, XXL\n\n**Material composition:**\n- 100% GOTS-certified organic cotton, 180 gsm\n- Dyeing: low-impact reactive dye, closed-loop water system\n\n**Price:** \u00a328.00 GBP\n**Inventory:** S=48, M=136, L=94, XL=22, XS=0 (discontinued), XXL=0 (discontinued",
333
+ "score": 0.4021,
334
+ "source": "pentatonic-memory",
335
+ "doc_id": "sku-cotton-tee-black"
336
+ }
337
+ ],
338
+ "correct": true,
339
+ "score": 1.0,
340
+ "grading_notes": "all substrings matched",
341
+ "search_time_ms": 1309.8379369766917,
342
+ "generation_time_ms": 0.0,
343
+ "tokens_in": 0,
344
+ "tokens_out": 0,
345
+ "retrieval_tokens": 462,
346
+ "query_tokens": 8,
347
+ "context_tokens": 454,
348
+ "judge_tokens_in": 0,
349
+ "judge_tokens_out": 0,
350
+ "judge_latency_ms": 0.0
351
+ },
352
+ {
353
+ "task_id": "sku-luna-warranty",
354
+ "query": "What's the warranty on the Luna bottle?",
355
+ "answer": "# Luna Water Bottle 500ml \u2014 SKU LUN-BTL-042\n\n**Brand:** Luna\n**Category:** Drinkware / Bottles\n**Capacity:** 500ml\n\n**Material composition:**\n- 100% food-grade 304 stainless steel (65% recycled content)\n- Lid: bio-based silicone (sugarcane derivative)\n\n**Price:** \u00a318.50 GBP\n**Inventory:** 87 units in stock (UK), 412 units (EU DC Eindhoven)\n**Colours available:** Matte black, Sage green, Terracotta\n**Replacement parts:** Lid (\u00a33.50), Silicone seal (\u00a30.90)\n**Warranty:** Lifetime on body, 2 years on lid\n---\n# Luna Water Bottle 500ml \u2014 SKU LUN-BTL-042\n\n**Brand:** Luna\n**Category:** Drinkware / Bottles\n**Capacity:** 500ml\n\n**Material composition:**\n- 100% food-grade 304 stainless steel (65% recycled content)\n- Lid: bio-based silicone (sugarcane derivative)\n\n**Price:** \u00a318.50 GBP\n**Inventory:** 87 units in stock (UK), 412 units (EU DC Eindhoven)\n**Colours available:** Matte black, Sage green, Terracotta\n**Replacement parts:** Lid (\u00a33.50), Silicone seal (\u00a30.90)\n**Warranty:** Lifetime on body, 2 years o\n---\n# Luna Water Bottle 500ml \u2014 SKU LUN-BTL-042\n\n**Brand:** Luna\n**Category:** Drinkware / Bottles\n**Capacity:** 500ml\n\n**Material composition:**\n- 100% food-grade 304 stainless steel (65% recycled content)\n- Lid: bio-based silicone (sugarcane derivative)\n\n**Price:** \u00a318.50 GBP\n**Inventory:** 87 units in stock (UK), 412 units (EU DC Eindhoven)\n**Colours available:** Matte black, Sage green, Terracotta\n**Replacement parts:** Lid (\u00a33.50), Silicone seal (\u00a30.90)\n**Warranty:** Lifetime on body, 2 years o",
356
+ "hits": [
357
+ {
358
+ "text": "# Luna Water Bottle 500ml \u2014 SKU LUN-BTL-042\n\n**Brand:** Luna\n**Category:** Drinkware / Bottles\n**Capacity:** 500ml\n\n**Material composition:**\n- 100% food-grade 304 stainless steel (65% recycled content)\n- Lid: bio-based silicone (sugarcane derivative)\n\n**Price:** \u00a318.50 GBP\n**Inventory:** 87 units in stock (UK), 412 units (EU DC Eindhoven)\n**Colours available:** Matte black, Sage green, Terracotta",
359
+ "score": 0.7313,
360
+ "source": "pentatonic-memory",
361
+ "doc_id": "sku-luna-bottle-42"
362
+ },
363
+ {
364
+ "text": "# Luna Water Bottle 500ml \u2014 SKU LUN-BTL-042\n\n**Brand:** Luna\n**Category:** Drinkware / Bottles\n**Capacity:** 500ml\n\n**Material composition:**\n- 100% food-grade 304 stainless steel (65% recycled content)\n- Lid: bio-based silicone (sugarcane derivative)\n\n**Price:** \u00a318.50 GBP\n**Inventory:** 87 units in stock (UK), 412 units (EU DC Eindhoven)\n**Colours available:** Matte black, Sage green, Terracotta",
365
+ "score": 0.6765,
366
+ "source": "pentatonic-memory",
367
+ "doc_id": "sku-luna-bottle-42"
368
+ },
369
+ {
370
+ "text": "# Luna Water Bottle 500ml \u2014 SKU LUN-BTL-042\n\n**Brand:** Luna\n**Category:** Drinkware / Bottles\n**Capacity:** 500ml\n\n**Material composition:**\n- 100% food-grade 304 stainless steel (65% recycled content)\n- Lid: bio-based silicone (sugarcane derivative)\n\n**Price:** \u00a318.50 GBP\n**Inventory:** 87 units in stock (UK), 412 units (EU DC Eindhoven)\n**Colours available:** Matte black, Sage green, Terracotta",
371
+ "score": 0.4032,
372
+ "source": "pentatonic-memory",
373
+ "doc_id": "sku-luna-bottle-42"
374
+ }
375
+ ],
376
+ "correct": true,
377
+ "score": 1.0,
378
+ "grading_notes": "all substrings matched",
379
+ "search_time_ms": 1218.6974590003956,
380
+ "generation_time_ms": 0.0,
381
+ "tokens_in": 0,
382
+ "tokens_out": 0,
383
+ "retrieval_tokens": 446,
384
+ "query_tokens": 9,
385
+ "context_tokens": 437,
386
+ "judge_tokens_in": 0,
387
+ "judge_tokens_out": 0,
388
+ "judge_latency_ms": 0.0
389
+ },
390
+ {
391
+ "task_id": "sku-kite-harness-out-of-stock",
392
+ "query": "Which size of the Nomad Kite Harness v3 is currently out of stock?",
393
+ "answer": "# Nomad Kite Harness v3 \u2014 SKU NMD-HRN-V3\n\n**Brand:** Nomad Sports\n**Category:** Watersports / Kite surfing\n**Size range:** XS (26-28\"), S (28-30\"), M (30-32\"), L (32-34\"), XL (34-36\")\n\n**Material composition:**\n- Outer shell: 92% recycled nylon 6,6 (ghost-net source)\n- Foam padding: EVA (non-recycled)\n- Hardware: 316 stainless steel spreader bar\n\n**Price:** \u00a3145.00 GBP\n**Inventory:** M=out of stock, L=6 units, XL=12 units, XS/S=restock 2026-05-15\n**Repair service:** \u00a325 flat fee, turnaround 14 days\n**Compatibility:** F-One bar systems, North bar systems (adapter sold separately)\n---\n# Inventory update \u2014 2026-04-15\n\nPentatonic Crew Tee Black XXS/XXL: discontinued, not restocking.\nNomad Kite Harness v3 M: sold out, restock ETA 2026-05-15.\nHaven Laptop Sleeve 15\": Oat and Ochre sold through, Charcoal only until SS27 refresh.\nAtlas Phone Shell: new batch inbound 2026-04-28, inventory will top up to ~3000 units.\n---\n# Compatibility note\n\nThe Nomad Kite Harness v3 (NMD-HRN-V3) ships with a standard spreader bar compatible with F-One and North bar systems. For Duotone or Core bar systems, the Duotone/Core adapter kit (NMD-ADPT-DC, \u00a3 18) is required.",
394
+ "hits": [
395
+ {
396
+ "text": "# Nomad Kite Harness v3 \u2014 SKU NMD-HRN-V3\n\n**Brand:** Nomad Sports\n**Category:** Watersports / Kite surfing\n**Size range:** XS (26-28\"), S (28-30\"), M (30-32\"), L (32-34\"), XL (34-36\")\n\n**Material composition:**\n- Outer shell: 92% recycled nylon 6,6 (ghost-net source)\n- Foam padding: EVA (non-recycled)\n- Hardware: 316 stainless steel spreader bar\n\n**Price:** \u00a3145.00 GBP\n**Inventory:** M=out of stoc",
397
+ "score": 0.7659,
398
+ "source": "pentatonic-memory",
399
+ "doc_id": "sku-kite-harness-v3"
400
+ },
401
+ {
402
+ "text": "# Inventory update \u2014 2026-04-15\n\nPentatonic Crew Tee Black XXS/XXL: discontinued, not restocking.\nNomad Kite Harness v3 M: sold out, restock ETA 2026-05-15.\nHaven Laptop Sleeve 15\": Oat and Ochre sold through, Charcoal only until SS27 refresh.\nAtlas Phone Shell: new batch inbound 2026-04-28, inventory will top up to ~3000 units.\n",
403
+ "score": 0.7346,
404
+ "source": "pentatonic-memory",
405
+ "doc_id": "inventory-update-2026-04-15"
406
+ },
407
+ {
408
+ "text": "# Compatibility note\n\nThe Nomad Kite Harness v3 (NMD-HRN-V3) ships with a standard spreader bar compatible with F-One and North bar systems. For Duotone or Core bar systems, the Duotone/Core adapter kit (NMD-ADPT-DC, \u00a3 18) is required.\n",
409
+ "score": 0.6982,
410
+ "source": "pentatonic-memory",
411
+ "doc_id": "compat-kite-harness-bar"
412
+ }
413
+ ],
414
+ "correct": true,
415
+ "score": 1.0,
416
+ "grading_notes": "all substrings matched",
417
+ "search_time_ms": 1473.97798098973,
418
+ "generation_time_ms": 0.0,
419
+ "tokens_in": 0,
420
+ "tokens_out": 0,
421
+ "retrieval_tokens": 373,
422
+ "query_tokens": 17,
423
+ "context_tokens": 356,
424
+ "judge_tokens_in": 0,
425
+ "judge_tokens_out": 0,
426
+ "judge_latency_ms": 0.0
427
+ },
428
+ {
429
+ "task_id": "sku-kite-harness-restock",
430
+ "query": "When does the Nomad Kite Harness v3 restock for XS and S?",
431
+ "answer": "# Nomad Kite Harness v3 \u2014 SKU NMD-HRN-V3\n\n**Brand:** Nomad Sports\n**Category:** Watersports / Kite surfing\n**Size range:** XS (26-28\"), S (28-30\"), M (30-32\"), L (32-34\"), XL (34-36\")\n\n**Material composition:**\n- Outer shell: 92% recycled nylon 6,6 (ghost-net source)\n- Foam padding: EVA (non-recycled)\n- Hardware: 316 stainless steel spreader bar\n\n**Price:** \u00a3145.00 GBP\n**Inventory:** M=out of stock, L=6 units, XL=12 units, XS/S=restock 2026-05-15\n**Repair service:** \u00a325 flat fee, turnaround 14 days\n**Compatibility:** F-One bar systems, North bar systems (adapter sold separately)\n---\n# Inventory update \u2014 2026-04-15\n\nPentatonic Crew Tee Black XXS/XXL: discontinued, not restocking.\nNomad Kite Harness v3 M: sold out, restock ETA 2026-05-15.\nHaven Laptop Sleeve 15\": Oat and Ochre sold through, Charcoal only until SS27 refresh.\nAtlas Phone Shell: new batch inbound 2026-04-28, inventory will top up to ~3000 units.\n---\n# Compatibility note\n\nThe Nomad Kite Harness v3 (NMD-HRN-V3) ships with a standard spreader bar compatible with F-One and North bar systems. For Duotone or Core bar systems, the Duotone/Core adapter kit (NMD-ADPT-DC, \u00a3 18) is required.",
432
+ "hits": [
433
+ {
434
+ "text": "# Nomad Kite Harness v3 \u2014 SKU NMD-HRN-V3\n\n**Brand:** Nomad Sports\n**Category:** Watersports / Kite surfing\n**Size range:** XS (26-28\"), S (28-30\"), M (30-32\"), L (32-34\"), XL (34-36\")\n\n**Material composition:**\n- Outer shell: 92% recycled nylon 6,6 (ghost-net source)\n- Foam padding: EVA (non-recycled)\n- Hardware: 316 stainless steel spreader bar\n\n**Price:** \u00a3145.00 GBP\n**Inventory:** M=out of stoc",
435
+ "score": 0.748,
436
+ "source": "pentatonic-memory",
437
+ "doc_id": "sku-kite-harness-v3"
438
+ },
439
+ {
440
+ "text": "# Inventory update \u2014 2026-04-15\n\nPentatonic Crew Tee Black XXS/XXL: discontinued, not restocking.\nNomad Kite Harness v3 M: sold out, restock ETA 2026-05-15.\nHaven Laptop Sleeve 15\": Oat and Ochre sold through, Charcoal only until SS27 refresh.\nAtlas Phone Shell: new batch inbound 2026-04-28, inventory will top up to ~3000 units.\n",
441
+ "score": 0.7424,
442
+ "source": "pentatonic-memory",
443
+ "doc_id": "inventory-update-2026-04-15"
444
+ },
445
+ {
446
+ "text": "# Compatibility note\n\nThe Nomad Kite Harness v3 (NMD-HRN-V3) ships with a standard spreader bar compatible with F-One and North bar systems. For Duotone or Core bar systems, the Duotone/Core adapter kit (NMD-ADPT-DC, \u00a3 18) is required.\n",
447
+ "score": 0.6803,
448
+ "source": "pentatonic-memory",
449
+ "doc_id": "compat-kite-harness-bar"
450
+ }
451
+ ],
452
+ "correct": true,
453
+ "score": 1.0,
454
+ "grading_notes": "all substrings matched",
455
+ "search_time_ms": 1482.225119980285,
456
+ "generation_time_ms": 0.0,
457
+ "tokens_in": 0,
458
+ "tokens_out": 0,
459
+ "retrieval_tokens": 373,
460
+ "query_tokens": 17,
461
+ "context_tokens": 356,
462
+ "judge_tokens_in": 0,
463
+ "judge_tokens_out": 0,
464
+ "judge_latency_ms": 0.0
465
+ },
466
+ {
467
+ "task_id": "sku-tee-discontinued-sizes",
468
+ "query": "Which sizes of the Pentatonic Crew Tee Black are discontinued?",
469
+ "answer": "# Pentatonic Crew Tee Black \u2014 SKU PTT-TEE-BLK\n\n**Brand:** Pentatonic\n**Category:** Apparel / T-shirts\n**Fit:** Unisex regular\n**Size range:** XS, S, M, L, XL, XXL\n\n**Material composition:**\n- 100% GOTS-certified organic cotton, 180 gsm\n- Dyeing: low-impact reactive dye, closed-loop water system\n\n**Price:** \u00a328.00 GBP\n**Inventory:** S=48, M=136, L=94, XL=22, XS=0 (discontinued), XXL=0 (discontinued)\n**Country of origin:** Portugal (CITEVE-certified mill)\n**Care:** Wash cold, line dry; no tumble dry\n---\n# Pentatonic Crew Tee Sage \u2014 SKU PTT-TEE-SGE\n\nAs PTT-TEE-BLK but in sage green. Same material composition, same mill.\n\n**Price:** \u00a328.00 GBP\n**Inventory:** S=12, M=38, L=44, XL=8, XS=0, XXL=0\n**Colour note:** Sage is a seasonal SS26 colourway \u2014 not restocked after sell-through.\n---\n# Inventory update \u2014 2026-04-15\n\nPentatonic Crew Tee Black XXS/XXL: discontinued, not restocking.\nNomad Kite Harness v3 M: sold out, restock ETA 2026-05-15.\nHaven Laptop Sleeve 15\": Oat and Ochre sold through, Charcoal only until SS27 refresh.\nAtlas Phone Shell: new batch inbound 2026-04-28, inventory will top up to ~3000 units.",
470
+ "hits": [
471
+ {
472
+ "text": "# Pentatonic Crew Tee Black \u2014 SKU PTT-TEE-BLK\n\n**Brand:** Pentatonic\n**Category:** Apparel / T-shirts\n**Fit:** Unisex regular\n**Size range:** XS, S, M, L, XL, XXL\n\n**Material composition:**\n- 100% GOTS-certified organic cotton, 180 gsm\n- Dyeing: low-impact reactive dye, closed-loop water system\n\n**Price:** \u00a328.00 GBP\n**Inventory:** S=48, M=136, L=94, XL=22, XS=0 (discontinued), XXL=0 (discontinued",
473
+ "score": 0.7259,
474
+ "source": "pentatonic-memory",
475
+ "doc_id": "sku-cotton-tee-black"
476
+ },
477
+ {
478
+ "text": "# Pentatonic Crew Tee Sage \u2014 SKU PTT-TEE-SGE\n\nAs PTT-TEE-BLK but in sage green. Same material composition, same mill.\n\n**Price:** \u00a328.00 GBP\n**Inventory:** S=12, M=38, L=44, XL=8, XS=0, XXL=0\n**Colour note:** Sage is a seasonal SS26 colourway \u2014 not restocked after sell-through.\n",
479
+ "score": 0.7245,
480
+ "source": "pentatonic-memory",
481
+ "doc_id": "sku-cotton-tee-sage"
482
+ },
483
+ {
484
+ "text": "# Inventory update \u2014 2026-04-15\n\nPentatonic Crew Tee Black XXS/XXL: discontinued, not restocking.\nNomad Kite Harness v3 M: sold out, restock ETA 2026-05-15.\nHaven Laptop Sleeve 15\": Oat and Ochre sold through, Charcoal only until SS27 refresh.\nAtlas Phone Shell: new batch inbound 2026-04-28, inventory will top up to ~3000 units.\n",
485
+ "score": 0.6954,
486
+ "source": "pentatonic-memory",
487
+ "doc_id": "inventory-update-2026-04-15"
488
+ }
489
+ ],
490
+ "correct": true,
491
+ "score": 1.0,
492
+ "grading_notes": "all substrings matched",
493
+ "search_time_ms": 1605.0455020158552,
494
+ "generation_time_ms": 0.0,
495
+ "tokens_in": 0,
496
+ "tokens_out": 0,
497
+ "retrieval_tokens": 372,
498
+ "query_tokens": 13,
499
+ "context_tokens": 359,
500
+ "judge_tokens_in": 0,
501
+ "judge_tokens_out": 0,
502
+ "judge_latency_ms": 0.0
503
+ },
504
+ {
505
+ "task_id": "sku-sleeve-compat-14-mbp",
506
+ "query": "Does the Haven Laptop Sleeve 13\" fit a 14\" MacBook Pro?",
507
+ "answer": "# Compatibility note\n\nThe Haven Laptop Sleeve 13\" (HVN-SLV-13) does NOT fit the 14\" MacBook Pro \u2014 third-party dimensions exceed 31.5cm. Use the 15\" variant (HVN-SLV-15).\n---\n# Haven Laptop Sleeve 15\" \u2014 SKU HVN-SLV-15\n\nAs HVN-SLV-13 but for 15\"-16\" laptops. Same materials, same construction.\n\n**Fits:** 15\" MacBook Air, 16\" MacBook Pro, 15.6\" Dell XPS, 15\" ThinkPad\n**Price:** \u00a358.00 GBP (\u00a310 more than 13\" variant)\n**Inventory:** 89 units UK, 54 units EU\n**Colours available:** Charcoal only (Oat and Ochre sold through)\n---\n# Haven Laptop Sleeve 13\" \u2014 SKU HVN-SLV-13\n\n**Brand:** Haven\n**Category:** Bags / Laptop protection\n**Fits:** 13\" MacBook Air M2/M3, 13.6\" MacBook Air, 13\" Dell XPS, 13\" ThinkPad\n\n**Material composition:**\n- Outer: 100% recycled PET felt (from 12 plastic bottles per unit)\n- Inner lining: 100% post-consumer recycled polyester\n- YKK recycled-polyester zip\n\n**Price:** \u00a348.00 GBP\n**Inventory:** 238 units UK, 156 units EU\n**Colours available:** Charcoal, Oat, Ochre\n**Laptop diagonal max:** 13.6\" (third-party dimension 31.5cm \u00d7 22.5cm)",
508
+ "hits": [
509
+ {
510
+ "text": "# Compatibility note\n\nThe Haven Laptop Sleeve 13\" (HVN-SLV-13) does NOT fit the 14\" MacBook Pro \u2014 third-party dimensions exceed 31.5cm. Use the 15\" variant (HVN-SLV-15).\n",
511
+ "score": 0.897,
512
+ "source": "pentatonic-memory",
513
+ "doc_id": "compat-laptop-sleeve-macbook-pro-14"
514
+ },
515
+ {
516
+ "text": "# Haven Laptop Sleeve 15\" \u2014 SKU HVN-SLV-15\n\nAs HVN-SLV-13 but for 15\"-16\" laptops. Same materials, same construction.\n\n**Fits:** 15\" MacBook Air, 16\" MacBook Pro, 15.6\" Dell XPS, 15\" ThinkPad\n**Price:** \u00a358.00 GBP (\u00a310 more than 13\" variant)\n**Inventory:** 89 units UK, 54 units EU\n**Colours available:** Charcoal only (Oat and Ochre sold through)\n",
517
+ "score": 0.7672,
518
+ "source": "pentatonic-memory",
519
+ "doc_id": "sku-laptop-sleeve-15"
520
+ },
521
+ {
522
+ "text": "# Haven Laptop Sleeve 13\" \u2014 SKU HVN-SLV-13\n\n**Brand:** Haven\n**Category:** Bags / Laptop protection\n**Fits:** 13\" MacBook Air M2/M3, 13.6\" MacBook Air, 13\" Dell XPS, 13\" ThinkPad\n\n**Material composition:**\n- Outer: 100% recycled PET felt (from 12 plastic bottles per unit)\n- Inner lining: 100% post-consumer recycled polyester\n- YKK recycled-polyester zip\n\n**Price:** \u00a348.00 GBP\n**Inventory:** 238 un",
523
+ "score": 0.7082,
524
+ "source": "pentatonic-memory",
525
+ "doc_id": "sku-laptop-sleeve-13"
526
+ }
527
+ ],
528
+ "correct": true,
529
+ "score": 1.0,
530
+ "grading_notes": "all substrings matched",
531
+ "search_time_ms": 1567.0737879991066,
532
+ "generation_time_ms": 0.0,
533
+ "tokens_in": 0,
534
+ "tokens_out": 0,
535
+ "retrieval_tokens": 361,
536
+ "query_tokens": 16,
537
+ "context_tokens": 345,
538
+ "judge_tokens_in": 0,
539
+ "judge_tokens_out": 0,
540
+ "judge_latency_ms": 0.0
541
+ },
542
+ {
543
+ "task_id": "sku-coffee-cup-microwave",
544
+ "query": "Can I microwave the Loop coffee cup?",
545
+ "answer": "# Loop Reusable Coffee Cup 8oz \u2014 SKU LP-CUP-008\n\n**Brand:** Loop\n**Category:** Drinkware / Coffee\n**Capacity:** 8oz (240ml)\n\n**Material composition:**\n- Body: 100% plant-based PLA (corn-derived)\n- Silicone sleeve: food-grade silicone (not bio-based)\n- Lid: BPA-free polypropylene (recycled post-industrial)\n\n**Price:** \u00a312.50 GBP\n**Inventory:** 2,104 units UK, 1,876 units EU\n**Dishwasher safe:** Top rack only\n**Lifespan:** ~2 years regular use, then return for closed-loop composting\n**Note:** Not microwave-safe due to PLA degradation above 60\u00b0C.\n---\n# Loop Reusable Coffee Cup 8oz \u2014 SKU LP-CUP-008\n\n**Brand:** Loop\n**Category:** Drinkware / Coffee\n**Capacity:** 8oz (240ml)\n\n**Material composition:**\n- Body: 100% plant-based PLA (corn-derived)\n- Silicone sleeve: food-grade silicone (not bio-based)\n- Lid: BPA-free polypropylene (recycled post-industrial)\n\n**Price:** \u00a312.50 GBP\n**Inventory:** 2,104 units UK, 1,876 units EU\n**Dishwasher safe:** Top rack only\n**Lifespan:** ~2 years regular use, then return for closed-loop composting\n**Note:** Not\n---\n# Canvas Tote Bag Large \u2014 SKU CTB-LG-001\n\n**Brand:** Fern\n**Category:** Bags / Totes\n**Dimensions:** 38cm \u00d7 42cm \u00d7 12cm (handle drop 25cm)\n**Capacity:** 16 litres\n\n**Material composition:**\n- 100% organic cotton canvas, 340 gsm\n- Handles: woven cotton webbing, reinforced with bartack stitching\n\n**Price:** \u00a322.00 GBP\n**Inventory:** 1,580 units UK\n**Print options:** Blank, Logo, Custom (+\u00a35 per unit, MOQ 12)\n**Max load:** 15kg",
546
+ "hits": [
547
+ {
548
+ "text": "# Loop Reusable Coffee Cup 8oz \u2014 SKU LP-CUP-008\n\n**Brand:** Loop\n**Category:** Drinkware / Coffee\n**Capacity:** 8oz (240ml)\n\n**Material composition:**\n- Body: 100% plant-based PLA (corn-derived)\n- Silicone sleeve: food-grade silicone (not bio-based)\n- Lid: BPA-free polypropylene (recycled post-industrial)\n\n**Price:** \u00a312.50 GBP\n**Inventory:** 2,104 units UK, 1,876 units EU\n**Dishwasher safe:** Top",
549
+ "score": 0.674,
550
+ "source": "pentatonic-memory",
551
+ "doc_id": "sku-coffee-cup-reusable"
552
+ },
553
+ {
554
+ "text": "# Loop Reusable Coffee Cup 8oz \u2014 SKU LP-CUP-008\n\n**Brand:** Loop\n**Category:** Drinkware / Coffee\n**Capacity:** 8oz (240ml)\n\n**Material composition:**\n- Body: 100% plant-based PLA (corn-derived)\n- Silicone sleeve: food-grade silicone (not bio-based)\n- Lid: BPA-free polypropylene (recycled post-industrial)\n\n**Price:** \u00a312.50 GBP\n**Inventory:** 2,104 units UK, 1,876 units EU\n**Dishwasher safe:** Top",
555
+ "score": 0.6293,
556
+ "source": "pentatonic-memory",
557
+ "doc_id": "sku-coffee-cup-reusable"
558
+ },
559
+ {
560
+ "text": "# Canvas Tote Bag Large \u2014 SKU CTB-LG-001\n\n**Brand:** Fern\n**Category:** Bags / Totes\n**Dimensions:** 38cm \u00d7 42cm \u00d7 12cm (handle drop 25cm)\n**Capacity:** 16 litres\n\n**Material composition:**\n- 100% organic cotton canvas, 340 gsm\n- Handles: woven cotton webbing, reinforced with bartack stitching\n\n**Price:** \u00a322.00 GBP\n**Inventory:** 1,580 units UK\n**Print options:** Blank, Logo, Custom (+\u00a35 per unit",
561
+ "score": 0.4304,
562
+ "source": "pentatonic-memory",
563
+ "doc_id": "sku-tote-canvas-large"
564
+ }
565
+ ],
566
+ "correct": true,
567
+ "score": 1.0,
568
+ "grading_notes": "all substrings matched",
569
+ "search_time_ms": 1446.3420659885742,
570
+ "generation_time_ms": 0.0,
571
+ "tokens_in": 0,
572
+ "tokens_out": 0,
573
+ "retrieval_tokens": 446,
574
+ "query_tokens": 8,
575
+ "context_tokens": 438,
576
+ "judge_tokens_in": 0,
577
+ "judge_tokens_out": 0,
578
+ "judge_latency_ms": 0.0
579
+ },
580
+ {
581
+ "task_id": "sku-bin-liners-home-compost",
582
+ "query": "Are the Root bio bin liners home-compostable?",
583
+ "answer": "# Bio Bin Liners 30L (roll of 20) \u2014 SKU BBL-030-020\n\n**Brand:** Root\n**Category:** Home / Waste\n**Size:** 30 litres\n\n**Material composition:**\n- 100% PBAT + corn starch biopolymer\n- EN13432 certified industrially compostable\n- NOT home-compostable (requires industrial composting temperatures)\n\n**Price:** \u00a34.20 GBP per roll\n**Inventory:** 6,420 rolls UK, 2,100 rolls EU\n**Subscription:** Monthly auto-delivery available (\u00a33.60/roll)\n**Council scheme compatibility:** Check with your local authority \u2014 accepted in most UK food-waste streams.\n---\n# Bio Bin Liners 30L (roll of 20) \u2014 SKU BBL-030-020\n\n**Brand:** Root\n**Category:** Home / Waste\n**Size:** 30 litres\n\n**Material composition:**\n- 100% PBAT + corn starch biopolymer\n- EN13432 certified industrially compostable\n- NOT home-compostable (requires industrial composting temperatures)\n\n**Price:** \u00a34.20 GBP per roll\n**Inventory:** 6,420 rolls UK, 2,100 rolls EU\n**Subscription:** Monthly auto-delivery available (\u00a33.60/roll)\n**Council scheme compatibility:** Check with your local authority\n---\n# Returns policy\n\nAll unused items returnable within 30 days of delivery for full refund.\nItems returned after 30 days but under 90 days: store credit only.\nTake-back programme is separate \u2014 applies to any lifetime-warrantied item at end of useful life.\nExceptions: custom-printed items (e.g. custom tote bags) and consumables (e.g. bin liners) are final sale.",
584
+ "hits": [
585
+ {
586
+ "text": "# Bio Bin Liners 30L (roll of 20) \u2014 SKU BBL-030-020\n\n**Brand:** Root\n**Category:** Home / Waste\n**Size:** 30 litres\n\n**Material composition:**\n- 100% PBAT + corn starch biopolymer\n- EN13432 certified industrially compostable\n- NOT home-compostable (requires industrial composting temperatures)\n\n**Price:** \u00a34.20 GBP per roll\n**Inventory:** 6,420 rolls UK, 2,100 rolls EU\n**Subscription:** Monthly aut",
587
+ "score": 0.8076,
588
+ "source": "pentatonic-memory",
589
+ "doc_id": "sku-biodegradable-trash-bags"
590
+ },
591
+ {
592
+ "text": "# Bio Bin Liners 30L (roll of 20) \u2014 SKU BBL-030-020\n\n**Brand:** Root\n**Category:** Home / Waste\n**Size:** 30 litres\n\n**Material composition:**\n- 100% PBAT + corn starch biopolymer\n- EN13432 certified industrially compostable\n- NOT home-compostable (requires industrial composting temperatures)\n\n**Price:** \u00a34.20 GBP per roll\n**Inventory:** 6,420 rolls UK, 2,100 rolls EU\n**Subscription:** Monthly aut",
593
+ "score": 0.6105,
594
+ "source": "pentatonic-memory",
595
+ "doc_id": "sku-biodegradable-trash-bags"
596
+ },
597
+ {
598
+ "text": "# Returns policy\n\nAll unused items returnable within 30 days of delivery for full refund.\nItems returned after 30 days but under 90 days: store credit only.\nTake-back programme is separate \u2014 applies to any lifetime-warrantied item at end of useful life.\nExceptions: custom-printed items (e.g. custom tote bags) and consumables (e.g. bin liners) are final sale.\n",
599
+ "score": 0.4618,
600
+ "source": "pentatonic-memory",
601
+ "doc_id": "policy-returns-30day"
602
+ }
603
+ ],
604
+ "correct": true,
605
+ "score": 1.0,
606
+ "grading_notes": "all substrings matched",
607
+ "search_time_ms": 1199.3260450253729,
608
+ "generation_time_ms": 0.0,
609
+ "tokens_in": 0,
610
+ "tokens_out": 0,
611
+ "retrieval_tokens": 379,
612
+ "query_tokens": 11,
613
+ "context_tokens": 368,
614
+ "judge_tokens_in": 0,
615
+ "judge_tokens_out": 0,
616
+ "judge_latency_ms": 0.0
617
+ },
618
+ {
619
+ "task_id": "policy-custom-tote-return",
620
+ "query": "Can I return a custom-printed tote bag?",
621
+ "answer": "# Canvas Tote Bag Large \u2014 SKU CTB-LG-001\n\n**Brand:** Fern\n**Category:** Bags / Totes\n**Dimensions:** 38cm \u00d7 42cm \u00d7 12cm (handle drop 25cm)\n**Capacity:** 16 litres\n\n**Material composition:**\n- 100% organic cotton canvas, 340 gsm\n- Handles: woven cotton webbing, reinforced with bartack stitching\n\n**Price:** \u00a322.00 GBP\n**Inventory:** 1,580 units UK\n**Print options:** Blank, Logo, Custom (+\u00a35 per unit, MOQ 12)\n**Max load:** 15kg\n---\n# Canvas Tote Bag Large \u2014 SKU CTB-LG-001\n\n**Brand:** Fern\n**Category:** Bags / Totes\n**Dimensions:** 38cm \u00d7 42cm \u00d7 12cm (handle drop 25cm)\n**Capacity:** 16 litres\n\n**Material composition:**\n- 100% organic cotton canvas, 340 gsm\n- Handles: woven cotton webbing, reinforced with bartack stitching\n\n**Price:** \u00a322.00 GBP\n**Inventory:** 1,580 units UK\n**Print options:** Blank, Logo, Custom (+\u00a35 per unit, MOQ 12)\n**Max load:** 15kg\n---\n# Returns policy\n\nAll unused items returnable within 30 days of delivery for full refund.\nItems returned after 30 days but under 90 days: store credit only.\nTake-back programme is separate \u2014 applies to any lifetime-warrantied item at end of useful life.\nExceptions: custom-printed items (e.g. custom tote bags) and consumables (e.g. bin liners) are final sale.",
622
+ "hits": [
623
+ {
624
+ "text": "# Canvas Tote Bag Large \u2014 SKU CTB-LG-001\n\n**Brand:** Fern\n**Category:** Bags / Totes\n**Dimensions:** 38cm \u00d7 42cm \u00d7 12cm (handle drop 25cm)\n**Capacity:** 16 litres\n\n**Material composition:**\n- 100% organic cotton canvas, 340 gsm\n- Handles: woven cotton webbing, reinforced with bartack stitching\n\n**Price:** \u00a322.00 GBP\n**Inventory:** 1,580 units UK\n**Print options:** Blank, Logo, Custom (+\u00a35 per unit",
625
+ "score": 0.5812,
626
+ "source": "pentatonic-memory",
627
+ "doc_id": "sku-tote-canvas-large"
628
+ },
629
+ {
630
+ "text": "# Canvas Tote Bag Large \u2014 SKU CTB-LG-001\n\n**Brand:** Fern\n**Category:** Bags / Totes\n**Dimensions:** 38cm \u00d7 42cm \u00d7 12cm (handle drop 25cm)\n**Capacity:** 16 litres\n\n**Material composition:**\n- 100% organic cotton canvas, 340 gsm\n- Handles: woven cotton webbing, reinforced with bartack stitching\n\n**Price:** \u00a322.00 GBP\n**Inventory:** 1,580 units UK\n**Print options:** Blank, Logo, Custom (+\u00a35 per unit",
631
+ "score": 0.5649,
632
+ "source": "pentatonic-memory",
633
+ "doc_id": "sku-tote-canvas-large"
634
+ },
635
+ {
636
+ "text": "# Returns policy\n\nAll unused items returnable within 30 days of delivery for full refund.\nItems returned after 30 days but under 90 days: store credit only.\nTake-back programme is separate \u2014 applies to any lifetime-warrantied item at end of useful life.\nExceptions: custom-printed items (e.g. custom tote bags) and consumables (e.g. bin liners) are final sale.\n",
637
+ "score": 0.5222,
638
+ "source": "pentatonic-memory",
639
+ "doc_id": "policy-returns-30day"
640
+ }
641
+ ],
642
+ "correct": true,
643
+ "score": 1.0,
644
+ "grading_notes": "all substrings matched",
645
+ "search_time_ms": 1196.1299710092135,
646
+ "generation_time_ms": 0.0,
647
+ "tokens_in": 0,
648
+ "tokens_out": 0,
649
+ "retrieval_tokens": 365,
650
+ "query_tokens": 10,
651
+ "context_tokens": 355,
652
+ "judge_tokens_in": 0,
653
+ "judge_tokens_out": 0,
654
+ "judge_latency_ms": 0.0
655
+ },
656
+ {
657
+ "task_id": "price-tee-subscription",
658
+ "query": "What's the subscription price for the Luna water bottle compared to standard?",
659
+ "answer": "# Luna Water Bottle 500ml \u2014 SKU LUN-BTL-042\n\n**Brand:** Luna\n**Category:** Drinkware / Bottles\n**Capacity:** 500ml\n\n**Material composition:**\n- 100% food-grade 304 stainless steel (65% recycled content)\n- Lid: bio-based silicone (sugarcane derivative)\n\n**Price:** \u00a318.50 GBP\n**Inventory:** 87 units in stock (UK), 412 units (EU DC Eindhoven)\n**Colours available:** Matte black, Sage green, Terracotta\n**Replacement parts:** Lid (\u00a33.50), Silicone seal (\u00a30.90)\n**Warranty:** Lifetime on body, 2 years on lid\n---\n# Luna Water Bottle 500ml \u2014 SKU LUN-BTL-042\n\n**Brand:** Luna\n**Category:** Drinkware / Bottles\n**Capacity:** 500ml\n\n**Material composition:**\n- 100% food-grade 304 stainless steel (65% recycled content)\n- Lid: bio-based silicone (sugarcane derivative)\n\n**Price:** \u00a318.50 GBP\n**Inventory:** 87 units in stock (UK), 412 units (EU DC Eindhoven)\n**Colours available:** Matte black, Sage green, Terracotta\n**Replacement parts:** Lid (\u00a33.50), Silicone seal (\u00a30.90)\n**Warranty:** Lifetime on body, 2 years o\n---\n# Pricing tiers across catalogue\n\nStandard: list price as shown on PDP.\nSubscription: auto-ships every N weeks, typically 15% off standard.\nBulk (B2B): tiered discount starting at MOQ 50 units, call sales@pentatonic.com.\nTake-back credit: 50% of original price as store credit when returned via take-back programme.",
660
+ "hits": [
661
+ {
662
+ "text": "# Luna Water Bottle 500ml \u2014 SKU LUN-BTL-042\n\n**Brand:** Luna\n**Category:** Drinkware / Bottles\n**Capacity:** 500ml\n\n**Material composition:**\n- 100% food-grade 304 stainless steel (65% recycled content)\n- Lid: bio-based silicone (sugarcane derivative)\n\n**Price:** \u00a318.50 GBP\n**Inventory:** 87 units in stock (UK), 412 units (EU DC Eindhoven)\n**Colours available:** Matte black, Sage green, Terracotta",
663
+ "score": 0.7059,
664
+ "source": "pentatonic-memory",
665
+ "doc_id": "sku-luna-bottle-42"
666
+ },
667
+ {
668
+ "text": "# Luna Water Bottle 500ml \u2014 SKU LUN-BTL-042\n\n**Brand:** Luna\n**Category:** Drinkware / Bottles\n**Capacity:** 500ml\n\n**Material composition:**\n- 100% food-grade 304 stainless steel (65% recycled content)\n- Lid: bio-based silicone (sugarcane derivative)\n\n**Price:** \u00a318.50 GBP\n**Inventory:** 87 units in stock (UK), 412 units (EU DC Eindhoven)\n**Colours available:** Matte black, Sage green, Terracotta",
669
+ "score": 0.654,
670
+ "source": "pentatonic-memory",
671
+ "doc_id": "sku-luna-bottle-42"
672
+ },
673
+ {
674
+ "text": "# Pricing tiers across catalogue\n\nStandard: list price as shown on PDP.\nSubscription: auto-ships every N weeks, typically 15% off standard.\nBulk (B2B): tiered discount starting at MOQ 50 units, call sales@pentatonic.com.\nTake-back credit: 50% of original price as store credit when returned via take-back programme.\n",
675
+ "score": 0.5323,
676
+ "source": "pentatonic-memory",
677
+ "doc_id": "price-tiers-all"
678
+ }
679
+ ],
680
+ "correct": true,
681
+ "score": 1.0,
682
+ "grading_notes": "all substrings matched",
683
+ "search_time_ms": 1265.3247809794266,
684
+ "generation_time_ms": 0.0,
685
+ "tokens_in": 0,
686
+ "tokens_out": 0,
687
+ "retrieval_tokens": 384,
688
+ "query_tokens": 14,
689
+ "context_tokens": 370,
690
+ "judge_tokens_in": 0,
691
+ "judge_tokens_out": 0,
692
+ "judge_latency_ms": 0.0
693
+ },
694
+ {
695
+ "task_id": "price-sleeve-diff",
696
+ "query": "How much more does the 15\" Haven Laptop Sleeve cost than the 13\" variant?",
697
+ "answer": "# Haven Laptop Sleeve 15\" \u2014 SKU HVN-SLV-15\n\nAs HVN-SLV-13 but for 15\"-16\" laptops. Same materials, same construction.\n\n**Fits:** 15\" MacBook Air, 16\" MacBook Pro, 15.6\" Dell XPS, 15\" ThinkPad\n**Price:** \u00a358.00 GBP (\u00a310 more than 13\" variant)\n**Inventory:** 89 units UK, 54 units EU\n**Colours available:** Charcoal only (Oat and Ochre sold through)\n---\n# Compatibility note\n\nThe Haven Laptop Sleeve 13\" (HVN-SLV-13) does NOT fit the 14\" MacBook Pro \u2014 third-party dimensions exceed 31.5cm. Use the 15\" variant (HVN-SLV-15).\n---\n# Haven Laptop Sleeve 13\" \u2014 SKU HVN-SLV-13\n\n**Brand:** Haven\n**Category:** Bags / Laptop protection\n**Fits:** 13\" MacBook Air M2/M3, 13.6\" MacBook Air, 13\" Dell XPS, 13\" ThinkPad\n\n**Material composition:**\n- Outer: 100% recycled PET felt (from 12 plastic bottles per unit)\n- Inner lining: 100% post-consumer recycled polyester\n- YKK recycled-polyester zip\n\n**Price:** \u00a348.00 GBP\n**Inventory:** 238 units UK, 156 units EU\n**Colours available:** Charcoal, Oat, Ochre\n**Laptop diagonal max:** 13.6\" (third-party dimension 31.5cm \u00d7 22.5cm)",
698
+ "hits": [
699
+ {
700
+ "text": "# Haven Laptop Sleeve 15\" \u2014 SKU HVN-SLV-15\n\nAs HVN-SLV-13 but for 15\"-16\" laptops. Same materials, same construction.\n\n**Fits:** 15\" MacBook Air, 16\" MacBook Pro, 15.6\" Dell XPS, 15\" ThinkPad\n**Price:** \u00a358.00 GBP (\u00a310 more than 13\" variant)\n**Inventory:** 89 units UK, 54 units EU\n**Colours available:** Charcoal only (Oat and Ochre sold through)\n",
701
+ "score": 0.8001,
702
+ "source": "pentatonic-memory",
703
+ "doc_id": "sku-laptop-sleeve-15"
704
+ },
705
+ {
706
+ "text": "# Compatibility note\n\nThe Haven Laptop Sleeve 13\" (HVN-SLV-13) does NOT fit the 14\" MacBook Pro \u2014 third-party dimensions exceed 31.5cm. Use the 15\" variant (HVN-SLV-15).\n",
707
+ "score": 0.7251,
708
+ "source": "pentatonic-memory",
709
+ "doc_id": "compat-laptop-sleeve-macbook-pro-14"
710
+ },
711
+ {
712
+ "text": "# Haven Laptop Sleeve 13\" \u2014 SKU HVN-SLV-13\n\n**Brand:** Haven\n**Category:** Bags / Laptop protection\n**Fits:** 13\" MacBook Air M2/M3, 13.6\" MacBook Air, 13\" Dell XPS, 13\" ThinkPad\n\n**Material composition:**\n- Outer: 100% recycled PET felt (from 12 plastic bottles per unit)\n- Inner lining: 100% post-consumer recycled polyester\n- YKK recycled-polyester zip\n\n**Price:** \u00a348.00 GBP\n**Inventory:** 238 un",
713
+ "score": 0.6932,
714
+ "source": "pentatonic-memory",
715
+ "doc_id": "sku-laptop-sleeve-13"
716
+ }
717
+ ],
718
+ "correct": true,
719
+ "score": 1.0,
720
+ "grading_notes": "all substrings matched",
721
+ "search_time_ms": 1566.1807249998674,
722
+ "generation_time_ms": 0.0,
723
+ "tokens_in": 0,
724
+ "tokens_out": 0,
725
+ "retrieval_tokens": 364,
726
+ "query_tokens": 19,
727
+ "context_tokens": 345,
728
+ "judge_tokens_in": 0,
729
+ "judge_tokens_out": 0,
730
+ "judge_latency_ms": 0.0
731
+ },
732
+ {
733
+ "task_id": "multi-hop-kite-duotone",
734
+ "query": "I have a Duotone bar \u2014 will the Nomad Kite Harness v3 work with it out of the box?",
735
+ "answer": "# Compatibility note\n\nThe Nomad Kite Harness v3 (NMD-HRN-V3) ships with a standard spreader bar compatible with F-One and North bar systems. For Duotone or Core bar systems, the Duotone/Core adapter kit (NMD-ADPT-DC, \u00a3 18) is required.\n---\n# Nomad Kite Harness v3 \u2014 SKU NMD-HRN-V3\n\n**Brand:** Nomad Sports\n**Category:** Watersports / Kite surfing\n**Size range:** XS (26-28\"), S (28-30\"), M (30-32\"), L (32-34\"), XL (34-36\")\n\n**Material composition:**\n- Outer shell: 92% recycled nylon 6,6 (ghost-net source)\n- Foam padding: EVA (non-recycled)\n- Hardware: 316 stainless steel spreader bar\n\n**Price:** \u00a3145.00 GBP\n**Inventory:** M=out of stock, L=6 units, XL=12 units, XS/S=restock 2026-05-15\n**Repair service:** \u00a325 flat fee, turnaround 14 days\n**Compatibility:** F-One bar systems, North bar systems (adapter sold separately)\n---\n# Compatibility note\n\nThe Nomad Kite Harness v3 (NMD-HRN-V3) ships with a standard spreader bar compatible with F-One and North bar systems. For Duotone or Core bar systems, the Duotone/Core adapter kit (NMD-ADPT-DC, \u00a3 18) is required.",
736
+ "hits": [
737
+ {
738
+ "text": "# Compatibility note\n\nThe Nomad Kite Harness v3 (NMD-HRN-V3) ships with a standard spreader bar compatible with F-One and North bar systems. For Duotone or Core bar systems, the Duotone/Core adapter kit (NMD-ADPT-DC, \u00a3 18) is required.\n",
739
+ "score": 0.852,
740
+ "source": "pentatonic-memory",
741
+ "doc_id": "compat-kite-harness-bar"
742
+ },
743
+ {
744
+ "text": "# Nomad Kite Harness v3 \u2014 SKU NMD-HRN-V3\n\n**Brand:** Nomad Sports\n**Category:** Watersports / Kite surfing\n**Size range:** XS (26-28\"), S (28-30\"), M (30-32\"), L (32-34\"), XL (34-36\")\n\n**Material composition:**\n- Outer shell: 92% recycled nylon 6,6 (ghost-net source)\n- Foam padding: EVA (non-recycled)\n- Hardware: 316 stainless steel spreader bar\n\n**Price:** \u00a3145.00 GBP\n**Inventory:** M=out of stoc",
745
+ "score": 0.6992,
746
+ "source": "pentatonic-memory",
747
+ "doc_id": "sku-kite-harness-v3"
748
+ },
749
+ {
750
+ "text": "# Compatibility note\n\nThe Nomad Kite Harness v3 (NMD-HRN-V3) ships with a standard spreader bar compatible with F-One and North bar systems. For Duotone or Core bar systems, the Duotone/Core adapter kit (NMD-ADPT-DC, \u00a3 18) is required.\n",
751
+ "score": 0.6444,
752
+ "source": "pentatonic-memory",
753
+ "doc_id": "compat-kite-harness-bar"
754
+ }
755
+ ],
756
+ "correct": true,
757
+ "score": 1.0,
758
+ "grading_notes": "all substrings matched",
759
+ "search_time_ms": 1714.9617859977297,
760
+ "generation_time_ms": 0.0,
761
+ "tokens_in": 0,
762
+ "tokens_out": 0,
763
+ "retrieval_tokens": 346,
764
+ "query_tokens": 25,
765
+ "context_tokens": 321,
766
+ "judge_tokens_in": 0,
767
+ "judge_tokens_out": 0,
768
+ "judge_latency_ms": 0.0
769
+ },
770
+ {
771
+ "task_id": "multi-hop-takeback-credit",
772
+ "query": "If I return an Atlas Phone Shell via take-back after 2 years, how much store credit do I get?",
773
+ "answer": "# Atlas Phone Shell \u2014 SKU ATL-PHN-001\n\n**Brand:** Atlas Circular\n**Category:** Mobile accessories / Phone cases\n**Compatible with:** iPhone 15, iPhone 15 Pro\n\n**Material composition:**\n- 68% recycled ocean-bound polypropylene\n- 24% recycled polycarbonate (post-consumer)\n- 8% natural calcium carbonate\n\n**Price:** \u00a329.00 GBP (standard) / \u00a324.00 (subscription)\n**Inventory:** 1,240 units in stock at UK fulfilment (Worthing DC)\n**Take-back:** Yes \u2014 returnable for 50% credit after 18 months\n**Certification:** Cradle to Cradle Bronze, MADE-BY Class B\n---\n# Atlas Phone Shell \u2014 SKU ATL-PHN-001\n\n**Brand:** Atlas Circular\n**Category:** Mobile accessories / Phone cases\n**Compatible with:** iPhone 15, iPhone 15 Pro\n\n**Material composition:**\n- 68% recycled ocean-bound polypropylene\n- 24% recycled polycarbonate (post-consumer)\n- 8% natural calcium carbonate\n\n**Price:** \u00a329.00 GBP (standard) / \u00a324.00 (subscription)\n**Inventory:** 1,240 units in stock at UK fulfilment (Worthing DC)\n**Take-back:** Yes \u2014 returnable for 50% credit after 18 months\n**Certific\n---\n# Pricing tiers across catalogue\n\nStandard: list price as shown on PDP.\nSubscription: auto-ships every N weeks, typically 15% off standard.\nBulk (B2B): tiered discount starting at MOQ 50 units, call sales@pentatonic.com.\nTake-back credit: 50% of original price as store credit when returned via take-back programme.",
774
+ "hits": [
775
+ {
776
+ "text": "# Atlas Phone Shell \u2014 SKU ATL-PHN-001\n\n**Brand:** Atlas Circular\n**Category:** Mobile accessories / Phone cases\n**Compatible with:** iPhone 15, iPhone 15 Pro\n\n**Material composition:**\n- 68% recycled ocean-bound polypropylene\n- 24% recycled polycarbonate (post-consumer)\n- 8% natural calcium carbonate\n\n**Price:** \u00a329.00 GBP (standard) / \u00a324.00 (subscription)\n**Inventory:** 1,240 units in stock at U",
777
+ "score": 0.7267,
778
+ "source": "pentatonic-memory",
779
+ "doc_id": "sku-atlas-phone-01"
780
+ },
781
+ {
782
+ "text": "# Atlas Phone Shell \u2014 SKU ATL-PHN-001\n\n**Brand:** Atlas Circular\n**Category:** Mobile accessories / Phone cases\n**Compatible with:** iPhone 15, iPhone 15 Pro\n\n**Material composition:**\n- 68% recycled ocean-bound polypropylene\n- 24% recycled polycarbonate (post-consumer)\n- 8% natural calcium carbonate\n\n**Price:** \u00a329.00 GBP (standard) / \u00a324.00 (subscription)\n**Inventory:** 1,240 units in stock at U",
783
+ "score": 0.6082,
784
+ "source": "pentatonic-memory",
785
+ "doc_id": "sku-atlas-phone-01"
786
+ },
787
+ {
788
+ "text": "# Pricing tiers across catalogue\n\nStandard: list price as shown on PDP.\nSubscription: auto-ships every N weeks, typically 15% off standard.\nBulk (B2B): tiered discount starting at MOQ 50 units, call sales@pentatonic.com.\nTake-back credit: 50% of original price as store credit when returned via take-back programme.\n",
789
+ "score": 0.5481,
790
+ "source": "pentatonic-memory",
791
+ "doc_id": "price-tiers-all"
792
+ }
793
+ ],
794
+ "correct": false,
795
+ "score": 0.0,
796
+ "grading_notes": "missing 1/2: ['14.50']; forbidden substring(s) present: ['\u00a329', '\u00a324']",
797
+ "search_time_ms": 1420.0896600086708,
798
+ "generation_time_ms": 0.0,
799
+ "tokens_in": 0,
800
+ "tokens_out": 0,
801
+ "retrieval_tokens": 391,
802
+ "query_tokens": 23,
803
+ "context_tokens": 368,
804
+ "judge_tokens_in": 0,
805
+ "judge_tokens_out": 0,
806
+ "judge_latency_ms": 0.0
807
+ },
808
+ {
809
+ "task_id": "rubric-recommend-kitesurf-bag",
810
+ "query": "I'm heading to Worthing for a kite session and need to carry my 15\" MacBook and some kit. What would you recommend from the catalogue?",
811
+ "answer": "# Atlas Phone Shell \u2014 SKU ATL-PHN-001\n\n**Brand:** Atlas Circular\n**Category:** Mobile accessories / Phone cases\n**Compatible with:** iPhone 15, iPhone 15 Pro\n\n**Material composition:**\n- 68% recycled ocean-bound polypropylene\n- 24% recycled polycarbonate (post-consumer)\n- 8% natural calcium carbonate\n\n**Price:** \u00a329.00 GBP (standard) / \u00a324.00 (subscription)\n**Inventory:** 1,240 units in stock at UK fulfilment (Worthing DC)\n**Take-back:** Yes \u2014 returnable for 50% credit after 18 months\n**Certification:** Cradle to Cradle Bronze, MADE-BY Class B\n---\n# Haven Laptop Sleeve 15\" \u2014 SKU HVN-SLV-15\n\nAs HVN-SLV-13 but for 15\"-16\" laptops. Same materials, same construction.\n\n**Fits:** 15\" MacBook Air, 16\" MacBook Pro, 15.6\" Dell XPS, 15\" ThinkPad\n**Price:** \u00a358.00 GBP (\u00a310 more than 13\" variant)\n**Inventory:** 89 units UK, 54 units EU\n**Colours available:** Charcoal only (Oat and Ochre sold through)\n---\n# Inventory update \u2014 2026-04-15\n\nPentatonic Crew Tee Black XXS/XXL: discontinued, not restocking.\nNomad Kite Harness v3 M: sold out, restock ETA 2026-05-15.\nHaven Laptop Sleeve 15\": Oat and Ochre sold through, Charcoal only until SS27 refresh.\nAtlas Phone Shell: new batch inbound 2026-04-28, inventory will top up to ~3000 units.",
812
+ "hits": [
813
+ {
814
+ "text": "# Atlas Phone Shell \u2014 SKU ATL-PHN-001\n\n**Brand:** Atlas Circular\n**Category:** Mobile accessories / Phone cases\n**Compatible with:** iPhone 15, iPhone 15 Pro\n\n**Material composition:**\n- 68% recycled ocean-bound polypropylene\n- 24% recycled polycarbonate (post-consumer)\n- 8% natural calcium carbonate\n\n**Price:** \u00a329.00 GBP (standard) / \u00a324.00 (subscription)\n**Inventory:** 1,240 units in stock at U",
815
+ "score": 0.5093,
816
+ "source": "pentatonic-memory",
817
+ "doc_id": "sku-atlas-phone-01"
818
+ },
819
+ {
820
+ "text": "# Haven Laptop Sleeve 15\" \u2014 SKU HVN-SLV-15\n\nAs HVN-SLV-13 but for 15\"-16\" laptops. Same materials, same construction.\n\n**Fits:** 15\" MacBook Air, 16\" MacBook Pro, 15.6\" Dell XPS, 15\" ThinkPad\n**Price:** \u00a358.00 GBP (\u00a310 more than 13\" variant)\n**Inventory:** 89 units UK, 54 units EU\n**Colours available:** Charcoal only (Oat and Ochre sold through)\n",
821
+ "score": 0.2844,
822
+ "source": "pentatonic-memory",
823
+ "doc_id": "sku-laptop-sleeve-15"
824
+ },
825
+ {
826
+ "text": "# Inventory update \u2014 2026-04-15\n\nPentatonic Crew Tee Black XXS/XXL: discontinued, not restocking.\nNomad Kite Harness v3 M: sold out, restock ETA 2026-05-15.\nHaven Laptop Sleeve 15\": Oat and Ochre sold through, Charcoal only until SS27 refresh.\nAtlas Phone Shell: new batch inbound 2026-04-28, inventory will top up to ~3000 units.\n",
827
+ "score": 0.3968,
828
+ "source": "pentatonic-memory",
829
+ "doc_id": "inventory-update-2026-04-15"
830
+ }
831
+ ],
832
+ "correct": false,
833
+ "score": 0.0,
834
+ "grading_notes": "judge-error: judge did not return parseable JSON",
835
+ "search_time_ms": 1160.4518389794976,
836
+ "generation_time_ms": 0.0,
837
+ "tokens_in": 0,
838
+ "tokens_out": 0,
839
+ "retrieval_tokens": 404,
840
+ "query_tokens": 31,
841
+ "context_tokens": 373,
842
+ "judge_tokens_in": 714,
843
+ "judge_tokens_out": 39,
844
+ "judge_latency_ms": 1133.761990994215
845
+ },
846
+ {
847
+ "task_id": "rubric-plastic-free-tee",
848
+ "query": "Which tees in the catalogue are completely plastic-free?",
849
+ "answer": "# Pricing tiers across catalogue\n\nStandard: list price as shown on PDP.\nSubscription: auto-ships every N weeks, typically 15% off standard.\nBulk (B2B): tiered discount starting at MOQ 50 units, call sales@pentatonic.com.\nTake-back credit: 50% of original price as store credit when returned via take-back programme.\n---\n# Pentatonic Crew Tee Black \u2014 SKU PTT-TEE-BLK\n\n**Brand:** Pentatonic\n**Category:** Apparel / T-shirts\n**Fit:** Unisex regular\n**Size range:** XS, S, M, L, XL, XXL\n\n**Material composition:**\n- 100% GOTS-certified organic cotton, 180 gsm\n- Dyeing: low-impact reactive dye, closed-loop water system\n\n**Price:** \u00a328.00 GBP\n**Inventory:** S=48, M=136, L=94, XL=22, XS=0 (discontinued), XXL=0 (discontinued)\n**Country of origin:** Portugal (CITEVE-certified mill)\n**Care:** Wash cold, line dry; no tumble d\n---\n# Pentatonic Crew Tee Sage \u2014 SKU PTT-TEE-SGE\n\nAs PTT-TEE-BLK but in sage green. Same material composition, same mill.\n\n**Price:** \u00a328.00 GBP\n**Inventory:** S=12, M=38, L=44, XL=8, XS=0, XXL=0\n**Colour note:** Sage is a seasonal SS26 colourway \u2014 not restocked after sell-through.",
850
+ "hits": [
851
+ {
852
+ "text": "# Pricing tiers across catalogue\n\nStandard: list price as shown on PDP.\nSubscription: auto-ships every N weeks, typically 15% off standard.\nBulk (B2B): tiered discount starting at MOQ 50 units, call sales@pentatonic.com.\nTake-back credit: 50% of original price as store credit when returned via take-back programme.\n",
853
+ "score": 0.455,
854
+ "source": "pentatonic-memory",
855
+ "doc_id": "price-tiers-all"
856
+ },
857
+ {
858
+ "text": "# Pentatonic Crew Tee Black \u2014 SKU PTT-TEE-BLK\n\n**Brand:** Pentatonic\n**Category:** Apparel / T-shirts\n**Fit:** Unisex regular\n**Size range:** XS, S, M, L, XL, XXL\n\n**Material composition:**\n- 100% GOTS-certified organic cotton, 180 gsm\n- Dyeing: low-impact reactive dye, closed-loop water system\n\n**Price:** \u00a328.00 GBP\n**Inventory:** S=48, M=136, L=94, XL=22, XS=0 (discontinued), XXL=0 (discontinued",
859
+ "score": 0.304,
860
+ "source": "pentatonic-memory",
861
+ "doc_id": "sku-cotton-tee-black"
862
+ },
863
+ {
864
+ "text": "# Pentatonic Crew Tee Sage \u2014 SKU PTT-TEE-SGE\n\nAs PTT-TEE-BLK but in sage green. Same material composition, same mill.\n\n**Price:** \u00a328.00 GBP\n**Inventory:** S=12, M=38, L=44, XL=8, XS=0, XXL=0\n**Colour note:** Sage is a seasonal SS26 colourway \u2014 not restocked after sell-through.\n",
865
+ "score": 0.2849,
866
+ "source": "pentatonic-memory",
867
+ "doc_id": "sku-cotton-tee-sage"
868
+ }
869
+ ],
870
+ "correct": true,
871
+ "score": 1.0,
872
+ "grading_notes": "judge=1.00 \u2014 The answer explicitly states that the Pentatonic Crew Tee (both BLK and SGE colourways) is made from 100% organic cotton",
873
+ "search_time_ms": 1106.4109700091649,
874
+ "generation_time_ms": 0.0,
875
+ "tokens_in": 0,
876
+ "tokens_out": 0,
877
+ "retrieval_tokens": 344,
878
+ "query_tokens": 11,
879
+ "context_tokens": 333,
880
+ "judge_tokens_in": 640,
881
+ "judge_tokens_out": 59,
882
+ "judge_latency_ms": 1484.2761030197144
883
+ },
884
+ {
885
+ "task_id": "rubric-cc-certified-items",
886
+ "query": "Do any items in the catalogue have Cradle to Cradle certification?",
887
+ "answer": "# Atlas Phone Shell \u2014 SKU ATL-PHN-001\n\n**Brand:** Atlas Circular\n**Category:** Mobile accessories / Phone cases\n**Compatible with:** iPhone 15, iPhone 15 Pro\n\n**Material composition:**\n- 68% recycled ocean-bound polypropylene\n- 24% recycled polycarbonate (post-consumer)\n- 8% natural calcium carbonate\n\n**Price:** \u00a329.00 GBP (standard) / \u00a324.00 (subscription)\n**Inventory:** 1,240 units in stock at UK fulfilment (Worthing DC)\n**Take-back:** Yes \u2014 returnable for 50% credit after 18 months\n**Certification:** Cradle to Cradle Bronze, MADE-BY Class B\n---\n# Atlas Phone Shell \u2014 SKU ATL-PHN-001\n\n**Brand:** Atlas Circular\n**Category:** Mobile accessories / Phone cases\n**Compatible with:** iPhone 15, iPhone 15 Pro\n\n**Material composition:**\n- 68% recycled ocean-bound polypropylene\n- 24% recycled polycarbonate (post-consumer)\n- 8% natural calcium carbonate\n\n**Price:** \u00a329.00 GBP (standard) / \u00a324.00 (subscription)\n**Inventory:** 1,240 units in stock at UK fulfilment (Worthing DC)\n**Take-back:** Yes \u2014 returnable for 50% credit after 18 months\n**Certific\n---\n# Returns policy\n\nAll unused items returnable within 30 days of delivery for full refund.\nItems returned after 30 days but under 90 days: store credit only.\nTake-back programme is separate \u2014 applies to any lifetime-warrantied item at end of useful life.\nExceptions: custom-printed items (e.g. custom tote bags) and consumables (e.g. bin liners) are final sale.",
888
+ "hits": [
889
+ {
890
+ "text": "# Atlas Phone Shell \u2014 SKU ATL-PHN-001\n\n**Brand:** Atlas Circular\n**Category:** Mobile accessories / Phone cases\n**Compatible with:** iPhone 15, iPhone 15 Pro\n\n**Material composition:**\n- 68% recycled ocean-bound polypropylene\n- 24% recycled polycarbonate (post-consumer)\n- 8% natural calcium carbonate\n\n**Price:** \u00a329.00 GBP (standard) / \u00a324.00 (subscription)\n**Inventory:** 1,240 units in stock at U",
891
+ "score": 0.6014,
892
+ "source": "pentatonic-memory",
893
+ "doc_id": "sku-atlas-phone-01"
894
+ },
895
+ {
896
+ "text": "# Atlas Phone Shell \u2014 SKU ATL-PHN-001\n\n**Brand:** Atlas Circular\n**Category:** Mobile accessories / Phone cases\n**Compatible with:** iPhone 15, iPhone 15 Pro\n\n**Material composition:**\n- 68% recycled ocean-bound polypropylene\n- 24% recycled polycarbonate (post-consumer)\n- 8% natural calcium carbonate\n\n**Price:** \u00a329.00 GBP (standard) / \u00a324.00 (subscription)\n**Inventory:** 1,240 units in stock at U",
897
+ "score": 0.5213,
898
+ "source": "pentatonic-memory",
899
+ "doc_id": "sku-atlas-phone-01"
900
+ },
901
+ {
902
+ "text": "# Returns policy\n\nAll unused items returnable within 30 days of delivery for full refund.\nItems returned after 30 days but under 90 days: store credit only.\nTake-back programme is separate \u2014 applies to any lifetime-warrantied item at end of useful life.\nExceptions: custom-printed items (e.g. custom tote bags) and consumables (e.g. bin liners) are final sale.\n",
903
+ "score": 0.4898,
904
+ "source": "pentatonic-memory",
905
+ "doc_id": "policy-returns-30day"
906
+ }
907
+ ],
908
+ "correct": true,
909
+ "score": 1.0,
910
+ "grading_notes": "judge=1.00 \u2014 The answer explicitly mentions 'Cradle to Cradle Bronze' in the certification information.",
911
+ "search_time_ms": 1308.5423329903278,
912
+ "generation_time_ms": 0.0,
913
+ "tokens_in": 0,
914
+ "tokens_out": 0,
915
+ "retrieval_tokens": 388,
916
+ "query_tokens": 14,
917
+ "context_tokens": 374,
918
+ "judge_tokens_in": 662,
919
+ "judge_tokens_out": 32,
920
+ "judge_latency_ms": 747.3718370199203
921
+ },
922
+ {
923
+ "task_id": "entity-recycled-content-high",
924
+ "query": "Which items in the catalogue use at least 50% recycled material?",
925
+ "answer": "# Atlas Phone Shell \u2014 SKU ATL-PHN-001\n\n**Brand:** Atlas Circular\n**Category:** Mobile accessories / Phone cases\n**Compatible with:** iPhone 15, iPhone 15 Pro\n\n**Material composition:**\n- 68% recycled ocean-bound polypropylene\n- 24% recycled polycarbonate (post-consumer)\n- 8% natural calcium carbonate\n\n**Price:** \u00a329.00 GBP (standard) / \u00a324.00 (subscription)\n**Inventory:** 1,240 units in stock at UK fulfilment (Worthing DC)\n**Take-back:** Yes \u2014 returnable for 50% credit after 18 months\n**Certification:** Cradle to Cradle Bronze, MADE-BY Class B\n---\n# Luna Water Bottle 500ml \u2014 SKU LUN-BTL-042\n\n**Brand:** Luna\n**Category:** Drinkware / Bottles\n**Capacity:** 500ml\n\n**Material composition:**\n- 100% food-grade 304 stainless steel (65% recycled content)\n- Lid: bio-based silicone (sugarcane derivative)\n\n**Price:** \u00a318.50 GBP\n**Inventory:** 87 units in stock (UK), 412 units (EU DC Eindhoven)\n**Colours available:** Matte black, Sage green, Terracotta\n**Replacement parts:** Lid (\u00a33.50), Silicone seal (\u00a30.90)\n**Warranty:** Lifetime on body, 2 years on lid\n---\n# Pricing tiers across catalogue\n\nStandard: list price as shown on PDP.\nSubscription: auto-ships every N weeks, typically 15% off standard.\nBulk (B2B): tiered discount starting at MOQ 50 units, call sales@pentatonic.com.\nTake-back credit: 50% of original price as store credit when returned via take-back programme.",
926
+ "hits": [
927
+ {
928
+ "text": "# Atlas Phone Shell \u2014 SKU ATL-PHN-001\n\n**Brand:** Atlas Circular\n**Category:** Mobile accessories / Phone cases\n**Compatible with:** iPhone 15, iPhone 15 Pro\n\n**Material composition:**\n- 68% recycled ocean-bound polypropylene\n- 24% recycled polycarbonate (post-consumer)\n- 8% natural calcium carbonate\n\n**Price:** \u00a329.00 GBP (standard) / \u00a324.00 (subscription)\n**Inventory:** 1,240 units in stock at U",
929
+ "score": 0.5611,
930
+ "source": "pentatonic-memory",
931
+ "doc_id": "sku-atlas-phone-01"
932
+ },
933
+ {
934
+ "text": "# Luna Water Bottle 500ml \u2014 SKU LUN-BTL-042\n\n**Brand:** Luna\n**Category:** Drinkware / Bottles\n**Capacity:** 500ml\n\n**Material composition:**\n- 100% food-grade 304 stainless steel (65% recycled content)\n- Lid: bio-based silicone (sugarcane derivative)\n\n**Price:** \u00a318.50 GBP\n**Inventory:** 87 units in stock (UK), 412 units (EU DC Eindhoven)\n**Colours available:** Matte black, Sage green, Terracotta",
935
+ "score": 0.542,
936
+ "source": "pentatonic-memory",
937
+ "doc_id": "sku-luna-bottle-42"
938
+ },
939
+ {
940
+ "text": "# Pricing tiers across catalogue\n\nStandard: list price as shown on PDP.\nSubscription: auto-ships every N weeks, typically 15% off standard.\nBulk (B2B): tiered discount starting at MOQ 50 units, call sales@pentatonic.com.\nTake-back credit: 50% of original price as store credit when returned via take-back programme.\n",
941
+ "score": 0.4708,
942
+ "source": "pentatonic-memory",
943
+ "doc_id": "price-tiers-all"
944
+ }
945
+ ],
946
+ "correct": false,
947
+ "score": 0.0,
948
+ "grading_notes": "no expected_substrings set",
949
+ "search_time_ms": 1146.7460799904075,
950
+ "generation_time_ms": 0.0,
951
+ "tokens_in": 0,
952
+ "tokens_out": 0,
953
+ "retrieval_tokens": 390,
954
+ "query_tokens": 14,
955
+ "context_tokens": 376,
956
+ "judge_tokens_in": 0,
957
+ "judge_tokens_out": 0,
958
+ "judge_latency_ms": 0.0
959
+ }
960
+ ]
961
+ }