@leu2m/semantic-search 0.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +146 -0
  3. package/dist/adapters/file-storage.d.ts +8 -0
  4. package/dist/adapters/file-storage.js +55 -0
  5. package/dist/adapters/file-storage.js.map +1 -0
  6. package/dist/adapters/filesystem.d.ts +23 -0
  7. package/dist/adapters/filesystem.js +119 -0
  8. package/dist/adapters/filesystem.js.map +1 -0
  9. package/dist/adapters/minilm.d.ts +50 -0
  10. package/dist/adapters/minilm.js +141 -0
  11. package/dist/adapters/minilm.js.map +1 -0
  12. package/dist/catalog.d.ts +3 -0
  13. package/dist/catalog.js +26 -0
  14. package/dist/catalog.js.map +1 -0
  15. package/dist/chunking.d.ts +9 -0
  16. package/dist/chunking.js +54 -0
  17. package/dist/chunking.js.map +1 -0
  18. package/dist/contracts.d.ts +163 -0
  19. package/dist/contracts.js +4 -0
  20. package/dist/contracts.js.map +1 -0
  21. package/dist/embedding-input.d.ts +4 -0
  22. package/dist/embedding-input.js +13 -0
  23. package/dist/embedding-input.js.map +1 -0
  24. package/dist/engine.d.ts +63 -0
  25. package/dist/engine.js +257 -0
  26. package/dist/engine.js.map +1 -0
  27. package/dist/file-types/registry.d.ts +13 -0
  28. package/dist/file-types/registry.js +47 -0
  29. package/dist/file-types/registry.js.map +1 -0
  30. package/dist/file-types/types.d.ts +11 -0
  31. package/dist/file-types/types.js +2 -0
  32. package/dist/file-types/types.js.map +1 -0
  33. package/dist/index-state.d.ts +17 -0
  34. package/dist/index-state.js +91 -0
  35. package/dist/index-state.js.map +1 -0
  36. package/dist/index.d.ts +11 -0
  37. package/dist/index.js +8 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/parsers/index.d.ts +28 -0
  40. package/dist/parsers/index.js +113 -0
  41. package/dist/parsers/index.js.map +1 -0
  42. package/dist/retrieval.d.ts +20 -0
  43. package/dist/retrieval.js +108 -0
  44. package/dist/retrieval.js.map +1 -0
  45. package/docs/alpha5-hardening.md +86 -0
  46. package/docs/alpha6-answerability.md +131 -0
  47. package/docs/alpha6-c-validation.md +490 -0
  48. package/docs/alpha6-evidence-traces.md +486 -0
  49. package/docs/api.md +43 -0
  50. package/docs/architecture.md +121 -0
  51. package/docs/benchmarks/alpha5-retrieval.json +5233 -0
  52. package/docs/benchmarks/alpha5-scale.json +505 -0
  53. package/docs/benchmarks/alpha6-evidence.json +14185 -0
  54. package/docs/benchmarks/alpha6c-heldout-real.json +9389 -0
  55. package/docs/decisions/0001-minilm-loading.md +32 -0
  56. package/docs/decisions/0002-retrieval-modes.md +26 -0
  57. package/docs/decisions/0003-retrieval-evidence-boundary.md +19 -0
  58. package/docs/evaluation.md +315 -0
  59. package/docs/file-types.md +31 -0
  60. package/docs/integration.md +204 -0
  61. package/docs/next-slice.md +11 -0
  62. package/examples/README.md +38 -0
  63. package/examples/core.mjs +53 -0
  64. package/examples/evidence.mjs +20 -0
  65. package/examples/filesystem.mjs +9 -0
  66. package/examples/minilm.mjs +15 -0
  67. package/package.json +73 -0
@@ -0,0 +1,505 @@
1
+ {
2
+ "schema": 1,
3
+ "results": [
4
+ {
5
+ "schema": 1,
6
+ "date": "2026-09-13T23:12:53.241Z",
7
+ "environment": {
8
+ "node": "v26.4.0",
9
+ "cpu": "Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz",
10
+ "platform": "linux",
11
+ "arch": "x64",
12
+ "totalMemoryBytes": 8168374272
13
+ },
14
+ "candidateCount": 1000,
15
+ "dimensions": 384,
16
+ "indexingMs": 155.737001,
17
+ "modes": {
18
+ "lexical": {
19
+ "totalMs": {
20
+ "count": 5,
21
+ "min": 2.811710000000005,
22
+ "p25": 4.214583000000005,
23
+ "median": 4.346294999999998,
24
+ "p75": 4.621700999999973,
25
+ "max": 4.686756000000003
26
+ },
27
+ "lexicalComponentMs": {
28
+ "count": 5,
29
+ "min": 2.819463999999982,
30
+ "p25": 3.2412069999999744,
31
+ "median": 3.799896999999987,
32
+ "p75": 3.9335590000000025,
33
+ "max": 5.500698999999997
34
+ },
35
+ "cosineComponentMs": {
36
+ "count": 5,
37
+ "min": 0,
38
+ "p25": 0,
39
+ "median": 0,
40
+ "p75": 0,
41
+ "max": 0
42
+ },
43
+ "fusionComponentMs": {
44
+ "count": 5,
45
+ "min": 0,
46
+ "p25": 0,
47
+ "median": 0,
48
+ "p75": 0,
49
+ "max": 0
50
+ }
51
+ },
52
+ "semantic": {
53
+ "totalMs": {
54
+ "count": 5,
55
+ "min": 8.650531999999998,
56
+ "p25": 9.02244200000007,
57
+ "median": 9.301152000000002,
58
+ "p75": 9.562185999999997,
59
+ "max": 11.880808000000002
60
+ },
61
+ "lexicalComponentMs": {
62
+ "count": 5,
63
+ "min": 0,
64
+ "p25": 0,
65
+ "median": 0,
66
+ "p75": 0,
67
+ "max": 0
68
+ },
69
+ "cosineComponentMs": {
70
+ "count": 5,
71
+ "min": 7.192318999999998,
72
+ "p25": 7.609917999999993,
73
+ "median": 8.27698799999996,
74
+ "p75": 14.33173899999997,
75
+ "max": 17.853275000000053
76
+ },
77
+ "fusionComponentMs": {
78
+ "count": 5,
79
+ "min": 0,
80
+ "p25": 0,
81
+ "median": 0,
82
+ "p75": 0,
83
+ "max": 0
84
+ }
85
+ },
86
+ "hybrid": {
87
+ "totalMs": {
88
+ "count": 5,
89
+ "min": 14.29224499999998,
90
+ "p25": 14.405703000000017,
91
+ "median": 16.579234999999926,
92
+ "p75": 16.58338200000003,
93
+ "max": 18.514542000000006
94
+ },
95
+ "lexicalComponentMs": {
96
+ "count": 5,
97
+ "min": 1.8358479999999417,
98
+ "p25": 1.8389089999999442,
99
+ "median": 2.29215099999999,
100
+ "p75": 4.206587000000013,
101
+ "max": 6.405257000000006
102
+ },
103
+ "cosineComponentMs": {
104
+ "count": 5,
105
+ "min": 7.340215999999941,
106
+ "p25": 9.342973999999913,
107
+ "median": 9.572697999999946,
108
+ "p75": 11.146308999999974,
109
+ "max": 13.534840999999915
110
+ },
111
+ "fusionComponentMs": {
112
+ "count": 5,
113
+ "min": 1.5835449999999582,
114
+ "p25": 1.8448610000000372,
115
+ "median": 1.9381969999999455,
116
+ "p75": 2.073319000000083,
117
+ "max": 2.488067000000001
118
+ }
119
+ }
120
+ },
121
+ "memory": {
122
+ "rssGrowthBytes": 15761408,
123
+ "heapGrowthBytes": 2465848,
124
+ "arrayBufferGrowthBytes": 3072000,
125
+ "processPeakRssBytes": 101453824
126
+ },
127
+ "note": "Isolated process per size; 2 warmups plus 5 measured runs. Public engine total includes filtering/ranking/result construction; components are independent reruns. Memory includes engine plus component fixture and two vector copies, not core-only allocation or a memory guarantee. Synthetic vectors, no model inference."
128
+ },
129
+ {
130
+ "schema": 1,
131
+ "date": "2026-09-13T23:13:00.306Z",
132
+ "environment": {
133
+ "node": "v26.4.0",
134
+ "cpu": "Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz",
135
+ "platform": "linux",
136
+ "arch": "x64",
137
+ "totalMemoryBytes": 8168374272
138
+ },
139
+ "candidateCount": 10000,
140
+ "dimensions": 384,
141
+ "indexingMs": 1773.6490000000001,
142
+ "modes": {
143
+ "lexical": {
144
+ "totalMs": {
145
+ "count": 5,
146
+ "min": 18.70057399999996,
147
+ "p25": 19.244916999999987,
148
+ "median": 24.811315999999806,
149
+ "p75": 35.09877400000005,
150
+ "max": 51.952048000000104
151
+ },
152
+ "lexicalComponentMs": {
153
+ "count": 5,
154
+ "min": 16.911649000000125,
155
+ "p25": 17.18304799999987,
156
+ "median": 17.321744999999737,
157
+ "p75": 18.44636300000002,
158
+ "max": 49.51536499999975
159
+ },
160
+ "cosineComponentMs": {
161
+ "count": 5,
162
+ "min": 0,
163
+ "p25": 0,
164
+ "median": 0,
165
+ "p75": 0,
166
+ "max": 0
167
+ },
168
+ "fusionComponentMs": {
169
+ "count": 5,
170
+ "min": 0,
171
+ "p25": 0,
172
+ "median": 0,
173
+ "p75": 0,
174
+ "max": 0
175
+ }
176
+ },
177
+ "semantic": {
178
+ "totalMs": {
179
+ "count": 5,
180
+ "min": 75.91881199999989,
181
+ "p25": 82.8475070000004,
182
+ "median": 113.55660699999999,
183
+ "p75": 142.65748299999996,
184
+ "max": 165.77690299999995
185
+ },
186
+ "lexicalComponentMs": {
187
+ "count": 5,
188
+ "min": 0,
189
+ "p25": 0,
190
+ "median": 0,
191
+ "p75": 0,
192
+ "max": 0
193
+ },
194
+ "cosineComponentMs": {
195
+ "count": 5,
196
+ "min": 67.12619499999983,
197
+ "p25": 68.99108800000067,
198
+ "median": 85.36868099999992,
199
+ "p75": 116.08090099999981,
200
+ "max": 123.21733099999983
201
+ },
202
+ "fusionComponentMs": {
203
+ "count": 5,
204
+ "min": 0,
205
+ "p25": 0,
206
+ "median": 0,
207
+ "p75": 0,
208
+ "max": 0
209
+ }
210
+ },
211
+ "hybrid": {
212
+ "totalMs": {
213
+ "count": 5,
214
+ "min": 131.47877900000003,
215
+ "p25": 146.47976300000028,
216
+ "median": 201.9505769999996,
217
+ "p75": 231.83820800000012,
218
+ "max": 237.24501599999985
219
+ },
220
+ "lexicalComponentMs": {
221
+ "count": 5,
222
+ "min": 20.97852899999998,
223
+ "p25": 31.00147399999969,
224
+ "median": 32.70611199999985,
225
+ "p75": 33.82901700000002,
226
+ "max": 35.353589000000284
227
+ },
228
+ "cosineComponentMs": {
229
+ "count": 5,
230
+ "min": 99.34325099999933,
231
+ "p25": 117.16130599999997,
232
+ "median": 136.89912000000004,
233
+ "p75": 137.11795600000005,
234
+ "max": 138.87858400000005
235
+ },
236
+ "fusionComponentMs": {
237
+ "count": 5,
238
+ "min": 24.358476999999766,
239
+ "p25": 29.01022699999976,
240
+ "median": 37.76256300000023,
241
+ "p75": 41.43127199999981,
242
+ "max": 58.234661999999844
243
+ }
244
+ }
245
+ },
246
+ "memory": {
247
+ "rssGrowthBytes": 104775680,
248
+ "heapGrowthBytes": 22522464,
249
+ "arrayBufferGrowthBytes": 30826765,
250
+ "processPeakRssBytes": 245878784
251
+ },
252
+ "note": "Isolated process per size; 2 warmups plus 5 measured runs. Public engine total includes filtering/ranking/result construction; components are independent reruns. Memory includes engine plus component fixture and two vector copies, not core-only allocation or a memory guarantee. Synthetic vectors, no model inference."
253
+ },
254
+ {
255
+ "schema": 1,
256
+ "date": "2026-09-13T23:13:24.541Z",
257
+ "environment": {
258
+ "node": "v26.4.0",
259
+ "cpu": "Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz",
260
+ "platform": "linux",
261
+ "arch": "x64",
262
+ "totalMemoryBytes": 8168374272
263
+ },
264
+ "candidateCount": 50000,
265
+ "dimensions": 384,
266
+ "indexingMs": 4354.926814,
267
+ "modes": {
268
+ "lexical": {
269
+ "totalMs": {
270
+ "count": 5,
271
+ "min": 106.544801,
272
+ "p25": 127.8394989999997,
273
+ "median": 131.86806999999953,
274
+ "p75": 139.23430799999915,
275
+ "max": 139.70994000000064
276
+ },
277
+ "lexicalComponentMs": {
278
+ "count": 5,
279
+ "min": 87.86790399999973,
280
+ "p25": 91.06941099999949,
281
+ "median": 92.82392999999956,
282
+ "p75": 100.55554500000017,
283
+ "max": 110.10640299999977
284
+ },
285
+ "cosineComponentMs": {
286
+ "count": 5,
287
+ "min": 0,
288
+ "p25": 0,
289
+ "median": 0,
290
+ "p75": 0,
291
+ "max": 0
292
+ },
293
+ "fusionComponentMs": {
294
+ "count": 5,
295
+ "min": 0,
296
+ "p25": 0,
297
+ "median": 0,
298
+ "p75": 0,
299
+ "max": 0
300
+ }
301
+ },
302
+ "semantic": {
303
+ "totalMs": {
304
+ "count": 5,
305
+ "min": 353.86614999999983,
306
+ "p25": 425.2690110000003,
307
+ "median": 427.2876720000004,
308
+ "p75": 442.91518200000064,
309
+ "max": 618.5662579999989
310
+ },
311
+ "lexicalComponentMs": {
312
+ "count": 5,
313
+ "min": 0,
314
+ "p25": 0,
315
+ "median": 0,
316
+ "p75": 0,
317
+ "max": 0
318
+ },
319
+ "cosineComponentMs": {
320
+ "count": 5,
321
+ "min": 333.7367940000004,
322
+ "p25": 335.2436719999987,
323
+ "median": 350.6941019999995,
324
+ "p75": 357.6771200000003,
325
+ "max": 382.26878600000055
326
+ },
327
+ "fusionComponentMs": {
328
+ "count": 5,
329
+ "min": 0,
330
+ "p25": 0,
331
+ "median": 0,
332
+ "p75": 0,
333
+ "max": 0
334
+ }
335
+ },
336
+ "hybrid": {
337
+ "totalMs": {
338
+ "count": 5,
339
+ "min": 596.9470839999994,
340
+ "p25": 667.2839060000006,
341
+ "median": 743.4347189999971,
342
+ "p75": 802.0201549999983,
343
+ "max": 1009.9845029999997
344
+ },
345
+ "lexicalComponentMs": {
346
+ "count": 5,
347
+ "min": 139.65639600000213,
348
+ "p25": 149.36467300000004,
349
+ "median": 154.72509300000092,
350
+ "p75": 157.38190799999938,
351
+ "max": 165.46254100000078
352
+ },
353
+ "cosineComponentMs": {
354
+ "count": 5,
355
+ "min": 317.7583830000003,
356
+ "p25": 329.48904499999844,
357
+ "median": 336.0269440000011,
358
+ "p75": 417.5215759999992,
359
+ "max": 487.93706400000156
360
+ },
361
+ "fusionComponentMs": {
362
+ "count": 5,
363
+ "min": 151.31639599999835,
364
+ "p25": 159.4193610000002,
365
+ "median": 175.67134200000146,
366
+ "p75": 177.695719000003,
367
+ "max": 274.87666399999944
368
+ }
369
+ }
370
+ },
371
+ "memory": {
372
+ "rssGrowthBytes": 370180096,
373
+ "heapGrowthBytes": 110768400,
374
+ "arrayBufferGrowthBytes": 153600000,
375
+ "processPeakRssBytes": 732790784
376
+ },
377
+ "note": "Isolated process per size; 2 warmups plus 5 measured runs. Public engine total includes filtering/ranking/result construction; components are independent reruns. Memory includes engine plus component fixture and two vector copies, not core-only allocation or a memory guarantee. Synthetic vectors, no model inference."
378
+ },
379
+ {
380
+ "schema": 1,
381
+ "date": "2026-09-13T23:14:13.061Z",
382
+ "environment": {
383
+ "node": "v26.4.0",
384
+ "cpu": "Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz",
385
+ "platform": "linux",
386
+ "arch": "x64",
387
+ "totalMemoryBytes": 8168374272
388
+ },
389
+ "candidateCount": 100000,
390
+ "dimensions": 384,
391
+ "indexingMs": 8969.449589,
392
+ "modes": {
393
+ "lexical": {
394
+ "totalMs": {
395
+ "count": 5,
396
+ "min": 225.77841699999954,
397
+ "p25": 240.6506449999997,
398
+ "median": 245.81745600000067,
399
+ "p75": 256.55785600000127,
400
+ "max": 261.69590699999935
401
+ },
402
+ "lexicalComponentMs": {
403
+ "count": 5,
404
+ "min": 158.24039099999936,
405
+ "p25": 182.50078399999984,
406
+ "median": 182.9674989999985,
407
+ "p75": 198.27829799999927,
408
+ "max": 225.11905999999908
409
+ },
410
+ "cosineComponentMs": {
411
+ "count": 5,
412
+ "min": 0,
413
+ "p25": 0,
414
+ "median": 0,
415
+ "p75": 0,
416
+ "max": 0
417
+ },
418
+ "fusionComponentMs": {
419
+ "count": 5,
420
+ "min": 0,
421
+ "p25": 0,
422
+ "median": 0,
423
+ "p75": 0,
424
+ "max": 0
425
+ }
426
+ },
427
+ "semantic": {
428
+ "totalMs": {
429
+ "count": 5,
430
+ "min": 726.2763709999999,
431
+ "p25": 773.295642000001,
432
+ "median": 791.7944959999986,
433
+ "p75": 809.4793430000027,
434
+ "max": 843.1225799999993
435
+ },
436
+ "lexicalComponentMs": {
437
+ "count": 5,
438
+ "min": 0,
439
+ "p25": 0,
440
+ "median": 0,
441
+ "p75": 0,
442
+ "max": 0
443
+ },
444
+ "cosineComponentMs": {
445
+ "count": 5,
446
+ "min": 676.7367789999989,
447
+ "p25": 693.6121420000018,
448
+ "median": 726.5871970000007,
449
+ "p75": 848.1021650000002,
450
+ "max": 890.4556310000007
451
+ },
452
+ "fusionComponentMs": {
453
+ "count": 5,
454
+ "min": 0,
455
+ "p25": 0,
456
+ "median": 0,
457
+ "p75": 0,
458
+ "max": 0
459
+ }
460
+ },
461
+ "hybrid": {
462
+ "totalMs": {
463
+ "count": 5,
464
+ "min": 1256.5452829999995,
465
+ "p25": 1398.840188999995,
466
+ "median": 1437.5687849999995,
467
+ "p75": 1747.1342360000053,
468
+ "max": 2807.198341999996
469
+ },
470
+ "lexicalComponentMs": {
471
+ "count": 5,
472
+ "min": 283.85334400000283,
473
+ "p25": 290.5143309999985,
474
+ "median": 302.8060069999992,
475
+ "p75": 311.93091199999617,
476
+ "max": 348.64568000000145
477
+ },
478
+ "cosineComponentMs": {
479
+ "count": 5,
480
+ "min": 706.7446070000005,
481
+ "p25": 732.3587869999974,
482
+ "median": 805.635368999996,
483
+ "p75": 880.5046349999975,
484
+ "max": 913.9445379999961
485
+ },
486
+ "fusionComponentMs": {
487
+ "count": 5,
488
+ "min": 385.8653370000029,
489
+ "p25": 412.8261429999984,
490
+ "median": 443.9601649999968,
491
+ "p75": 453.7176980000004,
492
+ "max": 499.13272100000177
493
+ }
494
+ }
495
+ },
496
+ "memory": {
497
+ "rssGrowthBytes": 667934720,
498
+ "heapGrowthBytes": 220553256,
499
+ "arrayBufferGrowthBytes": 307200000,
500
+ "processPeakRssBytes": 1464147968
501
+ },
502
+ "note": "Isolated process per size; 2 warmups plus 5 measured runs. Public engine total includes filtering/ranking/result construction; components are independent reruns. Memory includes engine plus component fixture and two vector copies, not core-only allocation or a memory guarantee. Synthetic vectors, no model inference."
503
+ }
504
+ ]
505
+ }