@getrift/rift 0.1.0-beta.16 → 0.1.0-beta.18

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 (141) hide show
  1. package/dist/src/capture/auto-capture.d.ts +7 -0
  2. package/dist/src/capture/auto-capture.d.ts.map +1 -1
  3. package/dist/src/capture/auto-capture.js +27 -11
  4. package/dist/src/capture/auto-capture.js.map +1 -1
  5. package/dist/src/capture/observability.d.ts +6 -0
  6. package/dist/src/capture/observability.d.ts.map +1 -1
  7. package/dist/src/capture/observability.js +3 -0
  8. package/dist/src/capture/observability.js.map +1 -1
  9. package/dist/src/cli/commands/capture.d.ts.map +1 -1
  10. package/dist/src/cli/commands/capture.js +14 -1
  11. package/dist/src/cli/commands/capture.js.map +1 -1
  12. package/dist/src/cli/commands/feedback.d.ts.map +1 -1
  13. package/dist/src/cli/commands/feedback.js +3 -0
  14. package/dist/src/cli/commands/feedback.js.map +1 -1
  15. package/dist/src/cli/commands/onboard.d.ts +37 -1
  16. package/dist/src/cli/commands/onboard.d.ts.map +1 -1
  17. package/dist/src/cli/commands/onboard.js +193 -33
  18. package/dist/src/cli/commands/onboard.js.map +1 -1
  19. package/dist/src/cli/commands/search.d.ts +2 -0
  20. package/dist/src/cli/commands/search.d.ts.map +1 -1
  21. package/dist/src/cli/commands/search.js +6 -0
  22. package/dist/src/cli/commands/search.js.map +1 -1
  23. package/dist/src/cli/feedback/feedback-config.d.ts +3 -0
  24. package/dist/src/cli/feedback/feedback-config.d.ts.map +1 -1
  25. package/dist/src/cli/feedback/feedback-config.js +5 -0
  26. package/dist/src/cli/feedback/feedback-config.js.map +1 -1
  27. package/dist/src/cli/feedback/feedback-history.d.ts +7 -0
  28. package/dist/src/cli/feedback/feedback-history.d.ts.map +1 -1
  29. package/dist/src/cli/feedback/feedback-history.js +39 -9
  30. package/dist/src/cli/feedback/feedback-history.js.map +1 -1
  31. package/dist/src/cli/feedback/feedback-payload.d.ts +22 -1
  32. package/dist/src/cli/feedback/feedback-payload.d.ts.map +1 -1
  33. package/dist/src/cli/feedback/feedback-payload.js.map +1 -1
  34. package/dist/src/cli/feedback/feedback-relay.d.ts +2 -2
  35. package/dist/src/cli/feedback/feedback-relay.d.ts.map +1 -1
  36. package/dist/src/cli/feedback/feedback-relay.js.map +1 -1
  37. package/dist/src/cli/status/friend-header.d.ts.map +1 -1
  38. package/dist/src/cli/status/friend-header.js +12 -3
  39. package/dist/src/cli/status/friend-header.js.map +1 -1
  40. package/dist/src/jobs/handlers/compact.js +4 -0
  41. package/dist/src/jobs/handlers/compact.js.map +1 -1
  42. package/dist/src/jobs/handlers/ingest.d.ts.map +1 -1
  43. package/dist/src/jobs/handlers/ingest.js +53 -3
  44. package/dist/src/jobs/handlers/ingest.js.map +1 -1
  45. package/dist/src/jobs/handlers/reconcile.d.ts +17 -0
  46. package/dist/src/jobs/handlers/reconcile.d.ts.map +1 -1
  47. package/dist/src/jobs/handlers/reconcile.js +92 -13
  48. package/dist/src/jobs/handlers/reconcile.js.map +1 -1
  49. package/dist/src/jobs/handlers/reindex.d.ts.map +1 -1
  50. package/dist/src/jobs/handlers/reindex.js +1 -0
  51. package/dist/src/jobs/handlers/reindex.js.map +1 -1
  52. package/dist/src/jobs/handlers/save.d.ts.map +1 -1
  53. package/dist/src/jobs/handlers/save.js +41 -0
  54. package/dist/src/jobs/handlers/save.js.map +1 -1
  55. package/dist/src/jobs/queue.d.ts +40 -1
  56. package/dist/src/jobs/queue.d.ts.map +1 -1
  57. package/dist/src/jobs/queue.js +448 -26
  58. package/dist/src/jobs/queue.js.map +1 -1
  59. package/dist/src/jobs/worker-entry.d.ts.map +1 -1
  60. package/dist/src/jobs/worker-entry.js +17 -4
  61. package/dist/src/jobs/worker-entry.js.map +1 -1
  62. package/dist/src/mcp/tools/search.d.ts.map +1 -1
  63. package/dist/src/mcp/tools/search.js +1 -0
  64. package/dist/src/mcp/tools/search.js.map +1 -1
  65. package/dist/src/providers/basic-metadata-extraction.d.ts +60 -0
  66. package/dist/src/providers/basic-metadata-extraction.d.ts.map +1 -0
  67. package/dist/src/providers/basic-metadata-extraction.js +114 -0
  68. package/dist/src/providers/basic-metadata-extraction.js.map +1 -0
  69. package/dist/src/providers/codex-cli-runner.d.ts +23 -0
  70. package/dist/src/providers/codex-cli-runner.d.ts.map +1 -1
  71. package/dist/src/providers/codex-cli-runner.js +131 -39
  72. package/dist/src/providers/codex-cli-runner.js.map +1 -1
  73. package/dist/src/providers/conversation-generation.d.ts.map +1 -1
  74. package/dist/src/providers/conversation-generation.js +24 -0
  75. package/dist/src/providers/conversation-generation.js.map +1 -1
  76. package/dist/src/providers/placeholder-embed.d.ts +56 -0
  77. package/dist/src/providers/placeholder-embed.d.ts.map +1 -0
  78. package/dist/src/providers/placeholder-embed.js +64 -0
  79. package/dist/src/providers/placeholder-embed.js.map +1 -0
  80. package/dist/src/retrieval/compact.d.ts +1 -0
  81. package/dist/src/retrieval/compact.d.ts.map +1 -1
  82. package/dist/src/retrieval/compact.js +4 -0
  83. package/dist/src/retrieval/compact.js.map +1 -1
  84. package/dist/src/retrieval/lexical.d.ts.map +1 -1
  85. package/dist/src/retrieval/lexical.js +19 -3
  86. package/dist/src/retrieval/lexical.js.map +1 -1
  87. package/dist/src/retrieval/locator-boost.d.ts +37 -0
  88. package/dist/src/retrieval/locator-boost.d.ts.map +1 -0
  89. package/dist/src/retrieval/locator-boost.js +129 -0
  90. package/dist/src/retrieval/locator-boost.js.map +1 -0
  91. package/dist/src/retrieval/report-demotion.d.ts +17 -1
  92. package/dist/src/retrieval/report-demotion.d.ts.map +1 -1
  93. package/dist/src/retrieval/report-demotion.js +67 -5
  94. package/dist/src/retrieval/report-demotion.js.map +1 -1
  95. package/dist/src/retrieval/vector.d.ts.map +1 -1
  96. package/dist/src/retrieval/vector.js +11 -2
  97. package/dist/src/retrieval/vector.js.map +1 -1
  98. package/dist/src/server/app.d.ts.map +1 -1
  99. package/dist/src/server/app.js +14 -9
  100. package/dist/src/server/app.js.map +1 -1
  101. package/dist/src/server/routes/compact.d.ts.map +1 -1
  102. package/dist/src/server/routes/compact.js +4 -1
  103. package/dist/src/server/routes/compact.js.map +1 -1
  104. package/dist/src/server/routes/conversations-search.d.ts.map +1 -1
  105. package/dist/src/server/routes/conversations-search.js +28 -3
  106. package/dist/src/server/routes/conversations-search.js.map +1 -1
  107. package/dist/src/server/routes/enqueue.d.ts +11 -0
  108. package/dist/src/server/routes/enqueue.d.ts.map +1 -0
  109. package/dist/src/server/routes/enqueue.js +17 -0
  110. package/dist/src/server/routes/enqueue.js.map +1 -0
  111. package/dist/src/server/routes/friend-status.d.ts +3 -0
  112. package/dist/src/server/routes/friend-status.d.ts.map +1 -1
  113. package/dist/src/server/routes/friend-status.js +9 -2
  114. package/dist/src/server/routes/friend-status.js.map +1 -1
  115. package/dist/src/server/routes/ingest.d.ts.map +1 -1
  116. package/dist/src/server/routes/ingest.js +5 -2
  117. package/dist/src/server/routes/ingest.js.map +1 -1
  118. package/dist/src/server/routes/reconcile.d.ts.map +1 -1
  119. package/dist/src/server/routes/reconcile.js +4 -1
  120. package/dist/src/server/routes/reconcile.js.map +1 -1
  121. package/dist/src/server/routes/reindex.d.ts.map +1 -1
  122. package/dist/src/server/routes/reindex.js +4 -1
  123. package/dist/src/server/routes/reindex.js.map +1 -1
  124. package/dist/src/server/routes/save.d.ts.map +1 -1
  125. package/dist/src/server/routes/save.js +4 -1
  126. package/dist/src/server/routes/save.js.map +1 -1
  127. package/dist/src/server/routes/search.d.ts.map +1 -1
  128. package/dist/src/server/routes/search.js +98 -7
  129. package/dist/src/server/routes/search.js.map +1 -1
  130. package/dist/src/server/routes/triage.d.ts.map +1 -1
  131. package/dist/src/server/routes/triage.js +4 -1
  132. package/dist/src/server/routes/triage.js.map +1 -1
  133. package/dist/src/storage/rebuild.d.ts +21 -0
  134. package/dist/src/storage/rebuild.d.ts.map +1 -1
  135. package/dist/src/storage/rebuild.js +142 -66
  136. package/dist/src/storage/rebuild.js.map +1 -1
  137. package/dist/src/storage/tables.d.ts +20 -0
  138. package/dist/src/storage/tables.d.ts.map +1 -1
  139. package/dist/src/storage/tables.js +22 -12
  140. package/dist/src/storage/tables.js.map +1 -1
  141. package/package.json +6 -3
@@ -1,6 +1,17 @@
1
1
  import { CodexCliMetadataExtractor } from "./codex-cli-metadata-extraction.js";
2
2
  import { CodexCliDigestSummarizer } from "./codex-cli-digest.js";
3
+ import { isCodexCliAvailable } from "./codex-cli-runner.js";
4
+ import { BasicMetadataExtractor } from "./basic-metadata-extraction.js";
3
5
  import { OllamaMetadataExtractor, OllamaDigestSummarizer, checkOllamaHealth, } from "./ollama.js";
6
+ /**
7
+ * Force AI-free basic metadata even when an AI worker is installed. Lets the
8
+ * activation benchmark (and a friend who wants zero AI) exercise the no-key
9
+ * fast-import path on a machine that happens to have Codex on PATH.
10
+ */
11
+ function forceBasicMetadata() {
12
+ const v = process.env["RIFT_DISABLE_AI_METADATA"];
13
+ return v === "1" || v === "true";
14
+ }
4
15
  function localGenerationEnabled(config) {
5
16
  return config.local_generation?.enabled === true;
6
17
  }
@@ -30,8 +41,21 @@ function createLocalProviders(config) {
30
41
  * Cloud providers — both metadata extraction and digest summarization
31
42
  * route through the locally-authenticated `codex` CLI. No API keys
32
43
  * required; Codex CLI inherits the operator's subscription.
44
+ *
45
+ * When the Codex CLI is not installed (or basic mode is forced), import must
46
+ * still succeed: metadata falls back to the deterministic BasicMetadataExtractor
47
+ * (rows marked `metadata_provider = "rift-basic"` for later enrichment), and no
48
+ * digest summarizer is returned (compaction stays unavailable until an AI worker
49
+ * is connected). AI improves metadata and powers digests, but it cannot block
50
+ * first useful recall.
33
51
  */
34
52
  function createCloudProviders() {
53
+ if (forceBasicMetadata() || !isCodexCliAvailable()) {
54
+ return {
55
+ metadataExtractor: new BasicMetadataExtractor(),
56
+ usingLocalGeneration: false,
57
+ };
58
+ }
35
59
  return {
36
60
  metadataExtractor: new CodexCliMetadataExtractor(),
37
61
  digestSummarizer: new CodexCliDigestSummarizer(),
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-generation.js","sourceRoot":"","sources":["../../../src/providers/conversation-generation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AASrB,SAAS,sBAAsB,CAAC,MAAc;IAC5C,OAAO,MAAM,CAAC,gBAAgB,EAAE,OAAO,KAAK,IAAI,CAAC;AACnD,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACtC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC;IAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC;IACvC,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,OAAO;QACL,iBAAiB,EAAE,IAAI,uBAAuB,CAAC;YAC7C,OAAO,EAAE,KAAK,CAAC,QAAQ;YACvB,KAAK,EAAE,aAAa;SACrB,CAAC;QACF,gBAAgB,EAAE,IAAI,sBAAsB,CAAC;YAC3C,OAAO,EAAE,KAAK,CAAC,QAAQ;YACvB,KAAK,EAAE,WAAW;SACnB,CAAC;QACF,oBAAoB,EAAE,IAAI;KAC3B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB;IAC3B,OAAO;QACL,iBAAiB,EAAE,IAAI,yBAAyB,EAAE;QAClD,gBAAgB,EAAE,IAAI,wBAAwB,EAAE;QAChD,oBAAoB,EAAE,KAAK;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2CAA2C,CAC/D,MAAc;IAEd,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,iBAAiB,CAAC,MAAM,CAAC,gBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC3D,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,oBAAoB,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,2CAA2C,CACzD,MAAc;IAEd,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,oBAAoB,EAAE,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"conversation-generation.js","sourceRoot":"","sources":["../../../src/providers/conversation-generation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAGrB;;;;GAIG;AACH,SAAS,kBAAkB;IACzB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAClD,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,MAAM,CAAC;AACnC,CAAC;AAQD,SAAS,sBAAsB,CAAC,MAAc;IAC5C,OAAO,MAAM,CAAC,gBAAgB,EAAE,OAAO,KAAK,IAAI,CAAC;AACnD,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACtC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC;IAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC;IACvC,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,OAAO;QACL,iBAAiB,EAAE,IAAI,uBAAuB,CAAC;YAC7C,OAAO,EAAE,KAAK,CAAC,QAAQ;YACvB,KAAK,EAAE,aAAa;SACrB,CAAC;QACF,gBAAgB,EAAE,IAAI,sBAAsB,CAAC;YAC3C,OAAO,EAAE,KAAK,CAAC,QAAQ;YACvB,KAAK,EAAE,WAAW;SACnB,CAAC;QACF,oBAAoB,EAAE,IAAI;KAC3B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,oBAAoB;IAC3B,IAAI,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;QACnD,OAAO;YACL,iBAAiB,EAAE,IAAI,sBAAsB,EAAE;YAC/C,oBAAoB,EAAE,KAAK;SAC5B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,iBAAiB,EAAE,IAAI,yBAAyB,EAAE;QAClD,gBAAgB,EAAE,IAAI,wBAAwB,EAAE;QAChD,oBAAoB,EAAE,KAAK;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2CAA2C,CAC/D,MAAc;IAEd,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,iBAAiB,CAAC,MAAM,CAAC,gBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC3D,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,oBAAoB,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,2CAA2C,CACzD,MAAc;IAEd,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,oBAAoB,EAAE,CAAC;AAChC,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Placeholder embedding provider for no-key (lexical-only) import.
3
+ *
4
+ * When Rift imports an export without any embedding provider configured
5
+ * (no Voyage key, no local Ollama), conversation rows still need a vector
6
+ * value because the LanceDB conversation tables require a fixed-width
7
+ * `embedding` column. This provider returns a zero vector of the correct
8
+ * dimension so the row is written and becomes immediately searchable via
9
+ * lexical/BM25 retrieval (which does not use the vector at all).
10
+ *
11
+ * Rows embedded by this provider are marked `embedding_provider = "rift-none"`
12
+ * (see `ConversationRow`). That marker is the ONLY embedding-backfill target:
13
+ * once a real provider is connected, a future pass can recompute exactly these
14
+ * rows, and vector search can exclude them in the meantime. Both the exclusion
15
+ * filter and the backfill are deliberately out of scope here — this provider
16
+ * only guarantees that no-key import succeeds and lands searchable rows.
17
+ */
18
+ import { type EmbeddingProvider } from "./types.js";
19
+ /**
20
+ * `embedding_provider` marker for placeholder (zero) vectors. Distinct from
21
+ * "" (a valid/legacy embedding) so backfill and vector-exclusion can target
22
+ * placeholders precisely without relabeling real embeddings.
23
+ */
24
+ export declare const RIFT_NONE_EMBEDDING_PROVIDER = "rift-none";
25
+ /**
26
+ * SQL `where` fragment that excludes no-key placeholder rows from a vector
27
+ * query. Single-sourced so EVERY conversation vector path (the shared
28
+ * `vector.ts` helper plus the custom hot/cold/conversations-search queries in
29
+ * the route layer) excludes `rift-none` identically — a placeholder zero
30
+ * vector is meaningless under cosine distance, so once a real provider is
31
+ * connected these stale rows must not pollute semantic results until backfill
32
+ * recomputes them. Lexical search deliberately does NOT use this (keyword
33
+ * recall over no-key rows is the whole point of no-key mode). Only apply it to
34
+ * tables that carry the `embedding_provider` column (conversation tables — not
35
+ * digests or structured_docs). The provider name is a safe constant, so no SQL
36
+ * escaping is needed.
37
+ */
38
+ export declare const RIFT_NONE_VECTOR_EXCLUSION_CLAUSE = "embedding_provider != 'rift-none'";
39
+ export declare class PlaceholderEmbeddingProvider implements EmbeddingProvider {
40
+ readonly name = "rift-none";
41
+ readonly model = "rift-none";
42
+ private readonly dimensions;
43
+ constructor(dimensions?: number);
44
+ embed(_text: string): Promise<number[]>;
45
+ embedBatch(texts: string[]): Promise<number[][]>;
46
+ private zero;
47
+ }
48
+ /**
49
+ * True when a vector was written by the no-key placeholder path. Centralized
50
+ * so writers and (future) vector-exclusion share one definition rather than
51
+ * scattering string comparisons.
52
+ */
53
+ export declare function isPlaceholderEmbeddingProvider(provider: {
54
+ name: string;
55
+ }): boolean;
56
+ //# sourceMappingURL=placeholder-embed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placeholder-embed.d.ts","sourceRoot":"","sources":["../../../src/providers/placeholder-embed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,cAAc,CAAC;AAExD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iCAAiC,sCAA4D,CAAC;AAE3G,qBAAa,4BAA6B,YAAW,iBAAiB;IACpE,QAAQ,CAAC,IAAI,eAAgC;IAC7C,QAAQ,CAAC,KAAK,eAAgC;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,UAAU,GAAE,MAA6B;IAI/C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIvC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAItD,OAAO,CAAC,IAAI;CAGb;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB,OAAO,CAET"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Placeholder embedding provider for no-key (lexical-only) import.
3
+ *
4
+ * When Rift imports an export without any embedding provider configured
5
+ * (no Voyage key, no local Ollama), conversation rows still need a vector
6
+ * value because the LanceDB conversation tables require a fixed-width
7
+ * `embedding` column. This provider returns a zero vector of the correct
8
+ * dimension so the row is written and becomes immediately searchable via
9
+ * lexical/BM25 retrieval (which does not use the vector at all).
10
+ *
11
+ * Rows embedded by this provider are marked `embedding_provider = "rift-none"`
12
+ * (see `ConversationRow`). That marker is the ONLY embedding-backfill target:
13
+ * once a real provider is connected, a future pass can recompute exactly these
14
+ * rows, and vector search can exclude them in the meantime. Both the exclusion
15
+ * filter and the backfill are deliberately out of scope here — this provider
16
+ * only guarantees that no-key import succeeds and lands searchable rows.
17
+ */
18
+ import { EMBEDDING_DIMENSIONS } from "./types.js";
19
+ /**
20
+ * `embedding_provider` marker for placeholder (zero) vectors. Distinct from
21
+ * "" (a valid/legacy embedding) so backfill and vector-exclusion can target
22
+ * placeholders precisely without relabeling real embeddings.
23
+ */
24
+ export const RIFT_NONE_EMBEDDING_PROVIDER = "rift-none";
25
+ /**
26
+ * SQL `where` fragment that excludes no-key placeholder rows from a vector
27
+ * query. Single-sourced so EVERY conversation vector path (the shared
28
+ * `vector.ts` helper plus the custom hot/cold/conversations-search queries in
29
+ * the route layer) excludes `rift-none` identically — a placeholder zero
30
+ * vector is meaningless under cosine distance, so once a real provider is
31
+ * connected these stale rows must not pollute semantic results until backfill
32
+ * recomputes them. Lexical search deliberately does NOT use this (keyword
33
+ * recall over no-key rows is the whole point of no-key mode). Only apply it to
34
+ * tables that carry the `embedding_provider` column (conversation tables — not
35
+ * digests or structured_docs). The provider name is a safe constant, so no SQL
36
+ * escaping is needed.
37
+ */
38
+ export const RIFT_NONE_VECTOR_EXCLUSION_CLAUSE = `embedding_provider != '${RIFT_NONE_EMBEDDING_PROVIDER}'`;
39
+ export class PlaceholderEmbeddingProvider {
40
+ name = RIFT_NONE_EMBEDDING_PROVIDER;
41
+ model = RIFT_NONE_EMBEDDING_PROVIDER;
42
+ dimensions;
43
+ constructor(dimensions = EMBEDDING_DIMENSIONS) {
44
+ this.dimensions = dimensions;
45
+ }
46
+ async embed(_text) {
47
+ return this.zero();
48
+ }
49
+ async embedBatch(texts) {
50
+ return texts.map(() => this.zero());
51
+ }
52
+ zero() {
53
+ return new Array(this.dimensions).fill(0);
54
+ }
55
+ }
56
+ /**
57
+ * True when a vector was written by the no-key placeholder path. Centralized
58
+ * so writers and (future) vector-exclusion share one definition rather than
59
+ * scattering string comparisons.
60
+ */
61
+ export function isPlaceholderEmbeddingProvider(provider) {
62
+ return provider.name === RIFT_NONE_EMBEDDING_PROVIDER;
63
+ }
64
+ //# sourceMappingURL=placeholder-embed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placeholder-embed.js","sourceRoot":"","sources":["../../../src/providers/placeholder-embed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,oBAAoB,EAA0B,MAAM,YAAY,CAAC;AAE1E;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CAAC;AAExD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,0BAA0B,4BAA4B,GAAG,CAAC;AAE3G,MAAM,OAAO,4BAA4B;IAC9B,IAAI,GAAG,4BAA4B,CAAC;IACpC,KAAK,GAAG,4BAA4B,CAAC;IAC7B,UAAU,CAAS;IAEpC,YAAY,aAAqB,oBAAoB;QACnD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAe;QAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAEO,IAAI;QACV,OAAO,IAAI,KAAK,CAAS,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,QAA0B;IAE1B,OAAO,QAAQ,CAAC,IAAI,KAAK,4BAA4B,CAAC;AACxD,CAAC"}
@@ -191,6 +191,7 @@ export declare function buildCompactHit(ranked: RankedResult, row: RawRow | unde
191
191
  export declare function renderCompactMarkdown(hits: CompactHit[], opts?: {
192
192
  degraded?: boolean;
193
193
  degradedReason?: string;
194
+ lexical?: boolean;
194
195
  }): string;
195
196
  /**
196
197
  * Compact size warning for large hits, e.g. `~82k tokens`. Returns the empty
@@ -1 +1 @@
1
- {"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../../src/retrieval/compact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../../src/retrieval/compact.ts"],"names":[],"mappings":"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"}
@@ -376,6 +376,10 @@ export function renderCompactMarkdown(hits, opts = {}) {
376
376
  if (opts.degraded) {
377
377
  lines.push(`> ⚠ degraded${opts.degradedReason ? `: ${opts.degradedReason}` : ""}`, "");
378
378
  }
379
+ else if (opts.lexical) {
380
+ // Intentional no-key mode, not a failure — keyword/BM25 results by design.
381
+ lines.push("> ℹ Keyword search (no embedding key configured — semantic ranking off).", "");
382
+ }
379
383
  if (hits.length === 0) {
380
384
  lines.push("_No results._");
381
385
  return lines.join("\n");
@@ -1 +1 @@
1
- {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../../src/retrieval/compact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compact.js","sourceRoot":"","sources":["../../../src/retrieval/compact.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lexical.d.ts","sourceRoot":"","sources":["../../../src/retrieval/lexical.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAS5E,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,YAAY,EAAE,CAAC,CA0DzB;AAmHD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAsB/C;AA8CD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,EAAE,EACnB,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,kBAAkB,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACjI,OAAO,CAAC,YAAY,EAAE,CAAC,CAsEzB"}
1
+ {"version":3,"file":"lexical.d.ts","sourceRoot":"","sources":["../../../src/retrieval/lexical.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAU5E,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,YAAY,EAAE,CAAC,CAgEzB;AAyHD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAsB/C;AA8CD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,EAAE,EACnB,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,kBAAkB,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACjI,OAAO,CAAC,YAAY,EAAE,CAAC,CA4EzB"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { getTable } from "../storage/tables.js";
8
8
  import { escapeLike } from "./cwd.js";
9
+ import { isRiftBasicMetadata } from "../providers/basic-metadata-extraction.js";
9
10
  // --- BM25 parameters ---
10
11
  const K1 = 1.2;
11
12
  const B = 0.75;
@@ -56,9 +57,14 @@ export async function lexicalSearch(query, options) {
56
57
  const ts = row.indexed_at || row.created_at;
57
58
  if (ts)
58
59
  result.indexed_at = ts;
60
+ // `quality` drives the reranker's S_qual boost. Basic-import rows carry
61
+ // a placeholder ("medium"); surfacing it would bias ranking on a fake
62
+ // label. Leave it unset for basic rows so the reranker treats them as
63
+ // quality-neutral (1.0), same as enriched rows with unknown quality.
59
64
  const q = row.quality;
60
- if (q)
65
+ if (q && !isRiftBasicMetadata(row.metadata_provider)) {
61
66
  result.quality = q;
67
+ }
62
68
  allResults.push(result);
63
69
  }
64
70
  }
@@ -154,8 +160,13 @@ function extractText(row, tableName) {
154
160
  // Conversation rows
155
161
  if (row.source)
156
162
  parts.push(row.source);
157
- if (row.domain)
163
+ // `domain` is a real facet only for AI-enriched rows. A no-AI basic import
164
+ // stamps a generic placeholder (e.g. "tech") on every row; indexing that as
165
+ // searchable text makes the placeholder a junk match for the literal word.
166
+ // Drop it for basic rows — the real, text-derived `topics` below still index.
167
+ if (row.domain && !isRiftBasicMetadata(row.metadata_provider)) {
158
168
  parts.push(row.domain);
169
+ }
159
170
  // Parse JSON array fields
160
171
  for (const field of ["topics", "decisions", "key_outputs"]) {
161
172
  if (row[field] && typeof row[field] === "string") {
@@ -274,9 +285,14 @@ export async function lexicalSearchTables(query, tables, options) {
274
285
  const ts = row.indexed_at || row.created_at;
275
286
  if (ts)
276
287
  result.indexed_at = ts;
288
+ // `quality` drives the reranker's S_qual boost. Basic-import rows carry
289
+ // a placeholder ("medium"); surfacing it would bias ranking on a fake
290
+ // label. Leave it unset for basic rows so the reranker treats them as
291
+ // quality-neutral (1.0), same as enriched rows with unknown quality.
277
292
  const q = row.quality;
278
- if (q)
293
+ if (q && !isRiftBasicMetadata(row.metadata_provider)) {
279
294
  result.quality = q;
295
+ }
280
296
  // Carry topics/decisions for conversation tables (used by post-filter)
281
297
  if (tableName !== "structured_docs" &&
282
298
  tableName !== "structured_docs_local" &&
@@ -1 +1 @@
1
- {"version":3,"file":"lexical.js","sourceRoot":"","sources":["../../../src/retrieval/lexical.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,0BAA0B;AAC1B,MAAM,EAAE,GAAG,GAAG,CAAC;AACf,MAAM,CAAC,GAAG,IAAI,CAAC;AAWf;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAa,EACb,OAA6B;IAE7B,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;IAC5C,MAAM,UAAU,GAAmB,EAAE,CAAC;IAEtC,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEhC,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,MAAM,SAAS,GAA0C,EAAE,CAAC;QAE5D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9B,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAEhC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACZ,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,MAAM,KAAK,GACT,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC;QAEpE,sBAAsB;QACtB,KAAK,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,SAAS,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC1E,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,MAAM,GAAiB;oBAC3B,EAAE,EAAE,GAAG,CAAC,EAAY;oBACpB,OAAO,EACJ,GAAG,CAAC,OAAkB,IAAK,GAAG,CAAC,OAAkB,IAAI,EAAE;oBAC1D,KAAK;oBACL,gBAAgB,EAAE,SAAS;oBAC3B,YAAY,EAAE,SAAS;iBACxB,CAAC;gBACF,MAAM,EAAE,GAAI,GAAG,CAAC,UAAqB,IAAK,GAAG,CAAC,UAAqB,CAAC;gBACpE,IAAI,EAAE;oBAAE,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;gBAC/B,MAAM,CAAC,GAAG,GAAG,CAAC,OAAiB,CAAC;gBAChC,IAAI,CAAC;oBAAE,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAMD,SAAS,aAAa,CAAC,KAAkB;IACvC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS,CAAC;QACf,KAAK,UAAU;YACb,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7B,KAAK,eAAe;YAClB,OAAO,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;QAC1C,KAAK,KAAK;YACR,OAAO,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,KAAK,UAAU,SAAS,CACtB,SAAoB,EACpB,OAA6B,EAC7B,KAAa;IAEb,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,SAAS,KAAK,iBAAiB,IAAI,SAAS,KAAK,uBAAuB,EAAE,CAAC;QAC7E,IAAI,OAAO,CAAC,KAAK,KAAK,WAAW;YAAE,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;aACxE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;aACzE,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU;YAAE,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAEhF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,kBAAkB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CACV,qBAAqB,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CACrF,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,kBAAkB,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,kBAAkB,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,0CAA0C;QAC1C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,kBAAkB,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEnB,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAe,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,GAAa,EAAE,SAAoB;IACtD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,GAAG,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAiB,CAAC,CAAC;IACnD,IAAI,GAAG,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAiB,CAAC,CAAC;IAEnD,IAAI,SAAS,KAAK,iBAAiB,IAAI,SAAS,KAAK,uBAAuB,EAAE,CAAC;QAC7E,IAAI,GAAG,CAAC,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAqB,CAAC,CAAC;QAC3D,IAAI,GAAG,CAAC,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAqB,CAAC,CAAC;QAC3D,4CAA4C;QAC5C,IAAI,GAAG,CAAC,QAAQ,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACtC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,IAAI,OAAO,CAAC,KAAK,QAAQ;wBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,oBAAoB;QACpB,IAAI,GAAG,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAgB,CAAC,CAAC;QACjD,IAAI,GAAG,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAgB,CAAC,CAAC;QACjD,0BAA0B;QAC1B,KAAK,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC;YAC3D,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACjD,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAW,CAAC,CAAC;oBAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;wBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;gBAC3F,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,oEAAoE;IACpE,uEAAuE;IACvE,uEAAuE;IACvE,yCAAyC;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAEzC,4EAA4E;IAC5E,uEAAuE;IACvE,kCAAkC;IAClC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjE,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAChC,gEAAgE;QAChE,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wDAAwD;AACxD,SAAS,SAAS,CAChB,UAAoB,EACpB,SAAmB,EACnB,WAAgC,EAChC,QAAgB,EAChB,KAAa;IAEb,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEvB,wCAAwC;IACxC,MAAM,EAAE,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QAC3B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEb,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,QAAQ,KAAK,CAAC;YAAE,SAAS;QAE7B,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACpC,gEAAgE;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAClB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CACjD,CAAC;QAEF,MAAM,MAAM,GACV,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACrB,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAE/C,KAAK,IAAI,GAAG,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAa,EACb,MAAmB,EACnB,OAAkI;IAElI,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,UAAU,GAAmB,EAAE,CAAC;IAEtC,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE;YACtC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;YAC7B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,YAAY,EAAE,OAAO,CAAC,YAAY;SACX,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,MAAM,SAAS,GAA0C,EAAE,CAAC;QAE5D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9B,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAEhC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACZ,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GACT,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC;QAEpE,KAAK,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,SAAS,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC1E,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,MAAM,GAAiB;oBAC3B,EAAE,EAAE,GAAG,CAAC,EAAY;oBACpB,OAAO,EAAG,GAAG,CAAC,OAAkB,IAAK,GAAG,CAAC,OAAkB,IAAI,EAAE;oBACjE,KAAK;oBACL,gBAAgB,EAAE,SAAS;oBAC3B,YAAY,EAAE,SAAS;iBACxB,CAAC;gBACF,MAAM,EAAE,GAAI,GAAG,CAAC,UAAqB,IAAK,GAAG,CAAC,UAAqB,CAAC;gBACpE,IAAI,EAAE;oBAAE,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;gBAC/B,MAAM,CAAC,GAAG,GAAG,CAAC,OAAiB,CAAC;gBAChC,IAAI,CAAC;oBAAE,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;gBAC1B,uEAAuE;gBACvE,IACE,SAAS,KAAK,iBAAiB;oBAC/B,SAAS,KAAK,uBAAuB;oBACrC,SAAS,KAAK,SAAS,EACvB,CAAC;oBACD,MAAM,CAAC,GAAG,GAAG,CAAC,MAAgB,CAAC;oBAC/B,IAAI,CAAC;wBAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;oBACzB,MAAM,CAAC,GAAG,GAAG,CAAC,SAAmB,CAAC;oBAClC,IAAI,CAAC;wBAAE,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;gBAC9B,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"lexical.js","sourceRoot":"","sources":["../../../src/retrieval/lexical.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { RankedResult } from "./reranker.js";
2
+ /** Tokens >=4 chars, lowercased, stopwords dropped. */
3
+ export declare function tokens(s: string | undefined): string[];
4
+ /** Strip the extension and a leading `YYYY-MM-DD-` date prefix from a filename. */
5
+ export declare function slugFromPath(sourcePath: string | undefined): string;
6
+ /** Did the reference-lookup (locator) intent fire for this query? */
7
+ export declare function locatorIntentFired(query: string): boolean;
8
+ /** The matchable fields of a candidate (never its body). */
9
+ export interface LocatorFields {
10
+ source_path?: string;
11
+ title?: string;
12
+ }
13
+ /**
14
+ * Best per-field query-token overlap ratio across filename / slug / path /
15
+ * title. Range [0,1]. NEVER reads body or BM25 — see THE GUARD above. A row with
16
+ * no path/title (a conversation) scores 0 and is never boosted.
17
+ */
18
+ export declare function locatorFieldScore(query: string, fields: LocatorFields): number;
19
+ /** Default additive weight applied to a row's [0,1] locator field score. */
20
+ export declare const DEFAULT_LOCATOR_BOOST_WEIGHT = 0.5;
21
+ /**
22
+ * Stable, bounded locator reorder. Sorts `ranked` by an effective key of
23
+ * `score + weight * locatorFieldScore`, but PRESERVES each row's displayed
24
+ * score — mirroring `demoteReports`' "reorder, never rewrite scores" contract.
25
+ * Ties (and zero-boost rows) keep their incoming relative order. Returns a new
26
+ * array; the input is untouched.
27
+ */
28
+ export declare function applyLocatorBoost(query: string, ranked: readonly RankedResult[], fieldsById: ReadonlyMap<string, LocatorFields>, weight?: number): RankedResult[];
29
+ /** Minimum field score for a report to be treated as the asked-for target. */
30
+ export declare const DEFAULT_LOCATOR_TARGET_THRESHOLD = 0.5;
31
+ /**
32
+ * Whether a row is a strong-enough field match to be the locator's target — used
33
+ * by the demotion exception to exempt a field-matched report from being pushed
34
+ * behind non-report evidence (the asker explicitly wants that report).
35
+ */
36
+ export declare function isLocatorTarget(query: string, fields: LocatorFields, threshold?: number): boolean;
37
+ //# sourceMappingURL=locator-boost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locator-boost.d.ts","sourceRoot":"","sources":["../../../src/retrieval/locator-boost.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAUlD,uDAAuD;AACvD,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAMtD;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAKnE;AAaD,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,CAmB9E;AAED,4EAA4E;AAC5E,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,MAAM,GAAE,MAAqC,GAC5C,YAAY,EAAE,CAShB;AAED,8EAA8E;AAC9E,eAAO,MAAM,gCAAgC,MAAM,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,aAAa,EACrB,SAAS,GAAE,MAAyC,GACnD,OAAO,CAET"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Locator-relevance boost for flat `rift_search` (POST /search), scope:"all".
3
+ *
4
+ * WHY
5
+ * ---
6
+ * The docs-vs-discussions eval (`--explain`) showed reference-lookup queries
7
+ * ("find the doc with the fresh-mac gate findings", "where is the onboard
8
+ * wizard defined") failing: the target file sits in the prod candidate pool by
9
+ * raw retrieval signal (fresh-mac-gate #1, onboard #3) with a maxed BM25, but
10
+ * the reranker discards BM25 magnitude for hybrid hits (`S_sim = raw_sim`), so
11
+ * the formula drops the target out of the top-10; for a report target, the
12
+ * post-rerank report-demotion then shoves it behind every non-report. Ranking +
13
+ * demotion are coupled in the shipped path, so the fix has two coupled levers.
14
+ *
15
+ * THE GUARD (load-bearing)
16
+ * ------------------------
17
+ * The boost is computed from FIELD hits only — filename / slug / path / title —
18
+ * and NEVER from body text or raw BM25. That is deliberate: the decoys the eval
19
+ * flagged (`.rift-rename-allowlist.txt`, `src/main.ts`) only matched the query
20
+ * in their BODY; their path/slug/title share zero tokens with the query, so a
21
+ * field-only boost scores them 0 and cannot promote them. Body BM25 is exactly
22
+ * what floated them, which is why it is excluded here.
23
+ *
24
+ * SAFETY
25
+ * ------
26
+ * Every lever fires ONLY when `locatorIntentFired(query)` is true. Discussion-
27
+ * intent queries (the set doc-intrusion is measured on) never trigger a marker,
28
+ * so these levers cannot regress doc-intrusion — they only reorder locator
29
+ * queries. Pure + dependency-light so the eval harness can ablate them directly.
30
+ */
31
+ import path from "node:path";
32
+ // Promoted from eval/retrieval/reorder-experiments.ts (same token rules) so the
33
+ // shipped scorer and the eval share one tokenizer rather than forking two.
34
+ const STOPWORDS = new Set([
35
+ "the", "and", "for", "with", "find", "doc", "docs", "document", "documents",
36
+ "file", "files", "report", "reports", "where", "what", "which", "did",
37
+ "write", "wrote", "about", "from", "that", "this", "our",
38
+ ]);
39
+ /** Tokens >=4 chars, lowercased, stopwords dropped. */
40
+ export function tokens(s) {
41
+ if (!s)
42
+ return [];
43
+ return s
44
+ .toLowerCase()
45
+ .split(/[^a-z0-9]+/)
46
+ .filter((t) => t.length >= 4 && !STOPWORDS.has(t));
47
+ }
48
+ /** Strip the extension and a leading `YYYY-MM-DD-` date prefix from a filename. */
49
+ export function slugFromPath(sourcePath) {
50
+ if (!sourcePath)
51
+ return "";
52
+ const base = path.basename(sourcePath);
53
+ const noExt = base.replace(/\.[a-z0-9]+$/i, "");
54
+ return noExt.replace(/^\d{4}-\d{2}-\d{2}-/, "");
55
+ }
56
+ /**
57
+ * Reference-lookup intent markers. Plain "find the doc/file/report where X is"
58
+ * phrasing. Conservative on purpose: a false negative just leaves a query on the
59
+ * current (already-shipped) path; a false positive only reorders that one query.
60
+ */
61
+ const LOCATOR_MARKERS = [
62
+ "find the doc", "find the report", "find the file", "the doc with",
63
+ "which file", "where is", "where did i write", "where did i put",
64
+ "write up", "write-up", "writeup", "findings", "ledger",
65
+ ];
66
+ /** Did the reference-lookup (locator) intent fire for this query? */
67
+ export function locatorIntentFired(query) {
68
+ const q = (query || "").toLowerCase();
69
+ return LOCATOR_MARKERS.some((m) => q.includes(m));
70
+ }
71
+ /**
72
+ * Best per-field query-token overlap ratio across filename / slug / path /
73
+ * title. Range [0,1]. NEVER reads body or BM25 — see THE GUARD above. A row with
74
+ * no path/title (a conversation) scores 0 and is never boosted.
75
+ */
76
+ export function locatorFieldScore(query, fields) {
77
+ const qt = tokens(query);
78
+ if (qt.length === 0)
79
+ return 0;
80
+ const filename = fields.source_path ? path.basename(fields.source_path) : "";
81
+ const haystacks = [
82
+ filename,
83
+ slugFromPath(fields.source_path),
84
+ fields.source_path ?? "",
85
+ fields.title ?? "",
86
+ ];
87
+ let best = 0;
88
+ for (const text of haystacks) {
89
+ const hay = new Set(tokens(text));
90
+ if (hay.size === 0)
91
+ continue;
92
+ let hits = 0;
93
+ for (const t of qt)
94
+ if (hay.has(t))
95
+ hits++;
96
+ best = Math.max(best, hits / qt.length);
97
+ }
98
+ return best;
99
+ }
100
+ /** Default additive weight applied to a row's [0,1] locator field score. */
101
+ export const DEFAULT_LOCATOR_BOOST_WEIGHT = 0.5;
102
+ /**
103
+ * Stable, bounded locator reorder. Sorts `ranked` by an effective key of
104
+ * `score + weight * locatorFieldScore`, but PRESERVES each row's displayed
105
+ * score — mirroring `demoteReports`' "reorder, never rewrite scores" contract.
106
+ * Ties (and zero-boost rows) keep their incoming relative order. Returns a new
107
+ * array; the input is untouched.
108
+ */
109
+ export function applyLocatorBoost(query, ranked, fieldsById, weight = DEFAULT_LOCATOR_BOOST_WEIGHT) {
110
+ return ranked
111
+ .map((r, i) => {
112
+ const f = fieldsById.get(r.id);
113
+ const fs = f ? locatorFieldScore(query, f) : 0;
114
+ return { r, i, key: r.score + weight * fs };
115
+ })
116
+ .sort((a, b) => b.key - a.key || a.i - b.i)
117
+ .map(({ r }) => r);
118
+ }
119
+ /** Minimum field score for a report to be treated as the asked-for target. */
120
+ export const DEFAULT_LOCATOR_TARGET_THRESHOLD = 0.5;
121
+ /**
122
+ * Whether a row is a strong-enough field match to be the locator's target — used
123
+ * by the demotion exception to exempt a field-matched report from being pushed
124
+ * behind non-report evidence (the asker explicitly wants that report).
125
+ */
126
+ export function isLocatorTarget(query, fields, threshold = DEFAULT_LOCATOR_TARGET_THRESHOLD) {
127
+ return locatorFieldScore(query, fields) >= threshold;
128
+ }
129
+ //# sourceMappingURL=locator-boost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locator-boost.js","sourceRoot":"","sources":["../../../src/retrieval/locator-boost.ts"],"names":[],"mappings":"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"}
@@ -21,10 +21,26 @@ export declare function isReportHit(sourceTable: TableName, sourcePath: string |
21
21
  * simply absent and treated as non-reports by the caller.
22
22
  */
23
23
  export declare function fetchDocSourcePaths(ranked: readonly RankedResult[]): Promise<Map<string, string>>;
24
+ /**
25
+ * Like {@link fetchDocSourcePaths} but also pulls `metadata.title`. Used by the
26
+ * locator boost, which scores query overlap against path/slug/filename/title.
27
+ * Conversations and digests are skipped — a locator wants a file, not a
28
+ * conversation. Keep this projection narrow: the boost must never fetch or
29
+ * inspect document bodies.
30
+ */
31
+ export declare function fetchDocFields(ranked: readonly RankedResult[]): Promise<Map<string, {
32
+ source_path?: string;
33
+ title?: string;
34
+ }>>;
24
35
  /**
25
36
  * Stable-reorder `ranked` so report/snapshot docs sort after all non-report
26
37
  * hits, preserving relative order within each group. Applies to `scope:"all"`
27
38
  * only; every other scope is a no-op. Scores are carried through unchanged.
39
+ *
40
+ * `isExempt` (optional) is the locator demotion-exception hook: a report for
41
+ * which `isExempt(id)` returns true is treated as kept (NOT demoted), because
42
+ * the query explicitly asked to locate that report. Omitting it preserves the
43
+ * exact prior behaviour — every report is demoted.
28
44
  */
29
- export declare function demoteReports(ranked: readonly RankedResult[], sourcePathById: ReadonlyMap<string, string>, scope: SearchScope, selfReportsRoot?: string): RankedResult[];
45
+ export declare function demoteReports(ranked: readonly RankedResult[], sourcePathById: ReadonlyMap<string, string>, scope: SearchScope, selfReportsRoot?: string, isExempt?: (id: string) => boolean): RankedResult[];
30
46
  //# sourceMappingURL=report-demotion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report-demotion.d.ts","sourceRoot":"","sources":["../../../src/retrieval/report-demotion.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ/C;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,SAAS,EACtB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,YAAY,EAAE,GAC9B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAyB9B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3C,KAAK,EAAE,WAAW,EAClB,eAAe,CAAC,EAAE,MAAM,GACvB,YAAY,EAAE,CAYhB"}
1
+ {"version":3,"file":"report-demotion.d.ts","sourceRoot":"","sources":["../../../src/retrieval/report-demotion.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ/C;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,SAAS,EACtB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,YAAY,EAAE,GAC9B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAyB9B;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,YAAY,EAAE,GAC9B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAoChE;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3C,KAAK,EAAE,WAAW,EAClB,eAAe,CAAC,EAAE,MAAM,EACxB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GACjC,YAAY,EAAE,CAehB"}