@duckcodeailabs/dql-agent 1.14.0 → 1.14.2

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 (173) hide show
  1. package/dist/agent-run-engine.d.ts +68 -2
  2. package/dist/agent-run-engine.d.ts.map +1 -1
  3. package/dist/agent-run-engine.js +520 -26
  4. package/dist/agent-run-engine.js.map +1 -1
  5. package/dist/agent-run-gates.d.ts.map +1 -1
  6. package/dist/agent-run-gates.js +25 -0
  7. package/dist/agent-run-gates.js.map +1 -1
  8. package/dist/agentic/analyst-loop.d.ts +91 -0
  9. package/dist/agentic/analyst-loop.d.ts.map +1 -0
  10. package/dist/agentic/analyst-loop.js +331 -0
  11. package/dist/agentic/analyst-loop.js.map +1 -0
  12. package/dist/agentic/assumptions.d.ts +62 -0
  13. package/dist/agentic/assumptions.d.ts.map +1 -0
  14. package/dist/agentic/assumptions.js +73 -0
  15. package/dist/agentic/assumptions.js.map +1 -0
  16. package/dist/agentic/business-explanation.d.ts +56 -0
  17. package/dist/agentic/business-explanation.d.ts.map +1 -0
  18. package/dist/agentic/business-explanation.js +130 -0
  19. package/dist/agentic/business-explanation.js.map +1 -0
  20. package/dist/agentic/identifier-ledger.d.ts +74 -0
  21. package/dist/agentic/identifier-ledger.d.ts.map +1 -0
  22. package/dist/agentic/identifier-ledger.js +151 -0
  23. package/dist/agentic/identifier-ledger.js.map +1 -0
  24. package/dist/agentic/ledger-tools.d.ts +68 -0
  25. package/dist/agentic/ledger-tools.d.ts.map +1 -0
  26. package/dist/agentic/ledger-tools.js +198 -0
  27. package/dist/agentic/ledger-tools.js.map +1 -0
  28. package/dist/agentic/orchestrator-policy.d.ts +60 -0
  29. package/dist/agentic/orchestrator-policy.d.ts.map +1 -0
  30. package/dist/agentic/orchestrator-policy.js +73 -0
  31. package/dist/agentic/orchestrator-policy.js.map +1 -0
  32. package/dist/agentic/orchestrator.d.ts +54 -0
  33. package/dist/agentic/orchestrator.d.ts.map +1 -0
  34. package/dist/agentic/orchestrator.js +67 -0
  35. package/dist/agentic/orchestrator.js.map +1 -0
  36. package/dist/agentic/preview-tool.d.ts +36 -0
  37. package/dist/agentic/preview-tool.d.ts.map +1 -0
  38. package/dist/agentic/preview-tool.js +71 -0
  39. package/dist/agentic/preview-tool.js.map +1 -0
  40. package/dist/agentic/rerank.d.ts +50 -0
  41. package/dist/agentic/rerank.d.ts.map +1 -0
  42. package/dist/agentic/rerank.js +140 -0
  43. package/dist/agentic/rerank.js.map +1 -0
  44. package/dist/agentic/research/hypothesis.d.ts +110 -0
  45. package/dist/agentic/research/hypothesis.d.ts.map +1 -0
  46. package/dist/agentic/research/hypothesis.js +125 -0
  47. package/dist/agentic/research/hypothesis.js.map +1 -0
  48. package/dist/agentic/research/synthesis.d.ts +36 -0
  49. package/dist/agentic/research/synthesis.d.ts.map +1 -0
  50. package/dist/agentic/research/synthesis.js +109 -0
  51. package/dist/agentic/research/synthesis.js.map +1 -0
  52. package/dist/agentic/research-agent.d.ts +54 -0
  53. package/dist/agentic/research-agent.d.ts.map +1 -0
  54. package/dist/agentic/research-agent.js +177 -0
  55. package/dist/agentic/research-agent.js.map +1 -0
  56. package/dist/agentic/sql-authorization.d.ts +131 -0
  57. package/dist/agentic/sql-authorization.d.ts.map +1 -0
  58. package/dist/agentic/sql-authorization.js +460 -0
  59. package/dist/agentic/sql-authorization.js.map +1 -0
  60. package/dist/agentic/tool-loop.d.ts +29 -0
  61. package/dist/agentic/tool-loop.d.ts.map +1 -1
  62. package/dist/agentic/tool-loop.js +129 -52
  63. package/dist/agentic/tool-loop.js.map +1 -1
  64. package/dist/agentic/toolset.d.ts.map +1 -1
  65. package/dist/agentic/toolset.js +155 -0
  66. package/dist/agentic/toolset.js.map +1 -1
  67. package/dist/agentic/turn-plan.d.ts +35 -0
  68. package/dist/agentic/turn-plan.d.ts.map +1 -0
  69. package/dist/agentic/turn-plan.js +108 -0
  70. package/dist/agentic/turn-plan.js.map +1 -0
  71. package/dist/agentic/value-probe.d.ts +89 -0
  72. package/dist/agentic/value-probe.d.ts.map +1 -0
  73. package/dist/agentic/value-probe.js +304 -0
  74. package/dist/agentic/value-probe.js.map +1 -0
  75. package/dist/analytical-frame.d.ts.map +1 -1
  76. package/dist/analytical-frame.js +10 -1
  77. package/dist/analytical-frame.js.map +1 -1
  78. package/dist/analytical-orchestration.d.ts +382 -0
  79. package/dist/analytical-orchestration.d.ts.map +1 -1
  80. package/dist/analytical-orchestration.js +782 -6
  81. package/dist/analytical-orchestration.js.map +1 -1
  82. package/dist/analytical-request-policy.d.ts +26 -0
  83. package/dist/analytical-request-policy.d.ts.map +1 -0
  84. package/dist/analytical-request-policy.js +82 -0
  85. package/dist/analytical-request-policy.js.map +1 -0
  86. package/dist/analytical-result-facts.d.ts +13 -0
  87. package/dist/analytical-result-facts.d.ts.map +1 -1
  88. package/dist/analytical-result-facts.js +37 -1
  89. package/dist/analytical-result-facts.js.map +1 -1
  90. package/dist/answer-loop.d.ts +105 -16
  91. package/dist/answer-loop.d.ts.map +1 -1
  92. package/dist/answer-loop.js +833 -108
  93. package/dist/answer-loop.js.map +1 -1
  94. package/dist/answer-shape.d.ts +32 -1
  95. package/dist/answer-shape.d.ts.map +1 -1
  96. package/dist/answer-shape.js +49 -3
  97. package/dist/answer-shape.js.map +1 -1
  98. package/dist/cascade/budgets.d.ts.map +1 -1
  99. package/dist/cascade/budgets.js +8 -1
  100. package/dist/cascade/budgets.js.map +1 -1
  101. package/dist/cascade/packer.d.ts +88 -0
  102. package/dist/cascade/packer.d.ts.map +1 -0
  103. package/dist/cascade/packer.js +106 -0
  104. package/dist/cascade/packer.js.map +1 -0
  105. package/dist/conversation/result-ops.d.ts +18 -3
  106. package/dist/conversation/result-ops.d.ts.map +1 -1
  107. package/dist/conversation/result-ops.js +77 -5
  108. package/dist/conversation/result-ops.js.map +1 -1
  109. package/dist/conversation/rolling-summary.d.ts.map +1 -1
  110. package/dist/conversation/rolling-summary.js +7 -2
  111. package/dist/conversation/rolling-summary.js.map +1 -1
  112. package/dist/conversation/session-store.d.ts +3 -0
  113. package/dist/conversation/session-store.d.ts.map +1 -1
  114. package/dist/conversation/session-store.js +8 -4
  115. package/dist/conversation/session-store.js.map +1 -1
  116. package/dist/conversation/snapshot.d.ts +20 -0
  117. package/dist/conversation/snapshot.d.ts.map +1 -1
  118. package/dist/conversation/snapshot.js +40 -2
  119. package/dist/conversation/snapshot.js.map +1 -1
  120. package/dist/fixtures/ask-ai-office-shaped.d.ts +153 -0
  121. package/dist/fixtures/ask-ai-office-shaped.d.ts.map +1 -0
  122. package/dist/fixtures/ask-ai-office-shaped.js +94 -0
  123. package/dist/fixtures/ask-ai-office-shaped.js.map +1 -0
  124. package/dist/hints/store.d.ts.map +1 -1
  125. package/dist/hints/store.js +15 -5
  126. package/dist/hints/store.js.map +1 -1
  127. package/dist/index.d.ts +29 -9
  128. package/dist/index.d.ts.map +1 -1
  129. package/dist/index.js +29 -6
  130. package/dist/index.js.map +1 -1
  131. package/dist/intent-controller.d.ts +36 -0
  132. package/dist/intent-controller.d.ts.map +1 -1
  133. package/dist/intent-controller.js +95 -0
  134. package/dist/intent-controller.js.map +1 -1
  135. package/dist/meaning-resolution.d.ts +69 -2
  136. package/dist/meaning-resolution.d.ts.map +1 -1
  137. package/dist/meaning-resolution.js +128 -7
  138. package/dist/meaning-resolution.js.map +1 -1
  139. package/dist/metadata/analysis-planner.d.ts.map +1 -1
  140. package/dist/metadata/analysis-planner.js +124 -7
  141. package/dist/metadata/analysis-planner.js.map +1 -1
  142. package/dist/metadata/block-fit.d.ts +36 -0
  143. package/dist/metadata/block-fit.d.ts.map +1 -1
  144. package/dist/metadata/block-fit.js +290 -38
  145. package/dist/metadata/block-fit.js.map +1 -1
  146. package/dist/metadata/catalog.d.ts +20 -23
  147. package/dist/metadata/catalog.d.ts.map +1 -1
  148. package/dist/metadata/catalog.js +193 -22
  149. package/dist/metadata/catalog.js.map +1 -1
  150. package/dist/metadata/meaning-evidence.d.ts +10 -1
  151. package/dist/metadata/meaning-evidence.d.ts.map +1 -1
  152. package/dist/metadata/meaning-evidence.js +275 -53
  153. package/dist/metadata/meaning-evidence.js.map +1 -1
  154. package/dist/metadata/metric-match.d.ts +32 -0
  155. package/dist/metadata/metric-match.d.ts.map +1 -1
  156. package/dist/metadata/metric-match.js +120 -9
  157. package/dist/metadata/metric-match.js.map +1 -1
  158. package/dist/research-loop.d.ts +33 -2
  159. package/dist/research-loop.d.ts.map +1 -1
  160. package/dist/research-loop.js +66 -4
  161. package/dist/research-loop.js.map +1 -1
  162. package/dist/resolved-analytical-plan.d.ts +7 -0
  163. package/dist/resolved-analytical-plan.d.ts.map +1 -1
  164. package/dist/resolved-analytical-plan.js +11 -4
  165. package/dist/resolved-analytical-plan.js.map +1 -1
  166. package/dist/router.d.ts +32 -19
  167. package/dist/router.d.ts.map +1 -1
  168. package/dist/router.js +1977 -73
  169. package/dist/router.js.map +1 -1
  170. package/dist/semantic-bridge/member-select.d.ts.map +1 -1
  171. package/dist/semantic-bridge/member-select.js +39 -21
  172. package/dist/semantic-bridge/member-select.js.map +1 -1
  173. package/package.json +5 -5
@@ -1,11 +1,4 @@
1
- /**
2
- * Project-local metadata catalog for OSS agentic analytics.
3
- *
4
- * Git/DQL/dbt files remain the source of truth. This SQLite database is a
5
- * rebuildable local catalog at `.dql/cache/metadata.sqlite` used by agents,
6
- * MCP tools, app builder, and notebook/block AI to retrieve one consistent
7
- * context pack before answering.
8
- */
1
+ import { type RerankOutcome } from '../agentic/rerank.js';
9
2
  import { type DQLManifest, type ManifestConflictDetail, type ManifestDomainCapsule, type ManifestCrossDomainRoute, type ManifestKnowledgeObject, type ManifestKnowledgeEdge, type SemanticLayer, type DqlArtifactReference, type ResolvedTrustLabel, type AnalyticalPolicyContract } from "@duckcodeailabs/dql-core";
10
3
  import { type DomainContextEnvelope, type KnowledgeLens } from "../domain-context.js";
11
4
  import { type AnalysisQuestionPlan, type CertifiedBlockApplicability } from './analysis-planner.js';
@@ -183,6 +176,15 @@ export interface BuildLocalContextPackRequest {
183
176
  runtimeSchemaSnapshot?: RuntimeSchemaSnapshot;
184
177
  strictness?: 'safe' | 'balanced' | 'exploratory';
185
178
  confirmCertifiedFit?: CertifiedFitConfirmation;
179
+ /**
180
+ * Optional cross-encoder pass over the fused candidates. Absent, or on any
181
+ * failure, retrieval's own ordering is used unchanged — so this can improve
182
+ * the pack but never break it.
183
+ */
184
+ rerankCandidates?: (question: string, candidates: ReadonlyArray<{
185
+ id: string;
186
+ summary: string;
187
+ }>) => Promise<RerankOutcome | undefined>;
186
188
  /** Prior turn's context pack — reuse fuel for same-topic follow-ups. */
187
189
  priorContextPackId?: string;
188
190
  /**
@@ -625,7 +627,16 @@ export interface MetadataCandidateConflict {
625
627
  */
626
628
  export declare function extractDbtUniqueColumns(nodes: Record<string, Record<string, unknown>>): Map<string, string[]>;
627
629
  export declare function defaultMetadataPath(projectRoot: string): string;
628
- export declare function metadataSnapshotPath(projectRoot: string, fingerprint: string): string;
630
+ /**
631
+ * Snapshots are immutable and addressed by content fingerprint, so
632
+ * `exportSnapshot` refuses to overwrite an existing file. The embedded VECTORS
633
+ * are part of what a snapshot contains but are NOT part of the content
634
+ * fingerprint, so two different encodings of identical content would otherwise
635
+ * collide on one path — and switching `ai.embeddings` would silently keep
636
+ * serving the hashed vectors forever. Qualify the filename with the provider so
637
+ * they are the distinct artifacts they actually are.
638
+ */
639
+ export declare function metadataSnapshotPath(projectRoot: string, fingerprint: string, vectorProviderId?: string): string;
629
640
  export declare function activeMetadataSnapshotPath(projectRoot: string): string | null;
630
641
  /** Read the prepared catalog identity without rebuilding the metadata snapshot. */
631
642
  export declare function currentMetadataFingerprint(projectRoot: string): string | undefined;
@@ -675,20 +686,6 @@ export declare function readIndexedKnowledge360(projectRoot: string, identity: s
675
686
  } | null;
676
687
  /** Await any vector-index upgrade started by the last catalog refresh. */
677
688
  export declare function awaitVectorIndexUpgrade(projectRoot: string): Promise<void>;
678
- /**
679
- * Re-embed the vector index with the project's configured provider.
680
- *
681
- * The snapshot write is synchronous — vectors are produced inside a
682
- * better-sqlite3 transaction — so it can only use the hashed provider, whose
683
- * `embedOne` is sync. Remote providers (Ollama, OpenAI) are async-only, so a
684
- * real embedder could never participate and the "vector" lane stayed a
685
- * bag-of-words hash no matter what was configured.
686
- *
687
- * This runs AFTER the transaction, where awaiting is fine. The hashed index is
688
- * already in place by then, so the vector lane is never empty while the upgrade
689
- * runs or if it fails. Best-effort by design: an unreachable Ollama must not
690
- * break indexing or answering.
691
- */
692
689
  export declare function upgradeVectorIndexForProject(projectRoot: string, provider: EmbeddingProvider): Promise<{
693
690
  upgraded: boolean;
694
691
  providerId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/metadata/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/metadata/catalog.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { applyRerank } from '../agentic/rerank.js';
1
2
  /**
2
3
  * Project-local metadata catalog for OSS agentic analytics.
3
4
  *
@@ -106,8 +107,20 @@ const DEFAULT_VECTOR_PROVIDER = new HashedTokenEmbeddingProvider();
106
107
  export function defaultMetadataPath(projectRoot) {
107
108
  return join(projectRoot, '.dql', 'cache', 'metadata.sqlite');
108
109
  }
109
- export function metadataSnapshotPath(projectRoot, fingerprint) {
110
- return join(projectRoot, '.dql', 'cache', 'snapshots', `${METADATA_INDEX_VERSION}-${fingerprint}.sqlite`);
110
+ /**
111
+ * Snapshots are immutable and addressed by content fingerprint, so
112
+ * `exportSnapshot` refuses to overwrite an existing file. The embedded VECTORS
113
+ * are part of what a snapshot contains but are NOT part of the content
114
+ * fingerprint, so two different encodings of identical content would otherwise
115
+ * collide on one path — and switching `ai.embeddings` would silently keep
116
+ * serving the hashed vectors forever. Qualify the filename with the provider so
117
+ * they are the distinct artifacts they actually are.
118
+ */
119
+ export function metadataSnapshotPath(projectRoot, fingerprint, vectorProviderId) {
120
+ const suffix = vectorProviderId && !vectorProviderId.startsWith('hashed-token')
121
+ ? `-${vectorProviderId.replace(/[^a-z0-9]+/gi, '_').slice(0, 48)}`
122
+ : '';
123
+ return join(projectRoot, '.dql', 'cache', 'snapshots', `${METADATA_INDEX_VERSION}-${fingerprint}${suffix}.sqlite`);
111
124
  }
112
125
  function readActiveMetadataSnapshotPointer(projectRoot) {
113
126
  const pointerPath = join(projectRoot, '.dql', 'cache', 'active-snapshot.json');
@@ -144,7 +157,7 @@ export function currentMetadataFingerprint(projectRoot) {
144
157
  }
145
158
  }
146
159
  function activateMetadataSnapshot(projectRoot, fingerprint, catalog) {
147
- const snapshotPath = metadataSnapshotPath(projectRoot, fingerprint);
160
+ const snapshotPath = metadataSnapshotPath(projectRoot, fingerprint, catalog.state('vector_provider') ?? undefined);
148
161
  catalog.exportSnapshot(snapshotPath);
149
162
  const cacheDir = join(projectRoot, '.dql', 'cache');
150
163
  const pointerPath = join(cacheDir, 'active-snapshot.json');
@@ -315,15 +328,22 @@ export async function awaitVectorIndexUpgrade(projectRoot) {
315
328
  * runs or if it fails. Best-effort by design: an unreachable Ollama must not
316
329
  * break indexing or answering.
317
330
  */
318
- export async function upgradeVectorIndexForProject(projectRoot, provider) {
331
+ /** How long a cold re-embed may hold up indexing before we ship the hashed index. */
332
+ const VECTOR_UPGRADE_BUDGET_MS = 8_000;
333
+ /**
334
+ * Re-embed an ALREADY-OPEN catalog. Split out from `upgradeVectorIndexForProject`
335
+ * so `ensureMetadataCatalogFresh` can upgrade the same catalog handle it is about
336
+ * to export — the vectors have to be in place BEFORE `activateMetadataSnapshot`,
337
+ * because retrieval reads the exported snapshot, not this working database.
338
+ */
339
+ async function upgradeVectorIndexOnCatalog(catalog, provider) {
319
340
  if (provider.id.startsWith('hashed-token')) {
320
341
  return { upgraded: false, providerId: provider.id, reason: 'project uses the offline hashed embedder' };
321
342
  }
322
- const catalog = openMetadataCatalog(projectRoot);
343
+ if (catalog.state('vector_provider') === provider.id) {
344
+ return { upgraded: false, providerId: provider.id, reason: 'index already embedded with this provider' };
345
+ }
323
346
  try {
324
- if (catalog.state('vector_provider') === provider.id) {
325
- return { upgraded: false, providerId: provider.id, reason: 'index already embedded with this provider' };
326
- }
327
347
  await catalog.rebuildVectorIndex(provider);
328
348
  return { upgraded: true, providerId: provider.id };
329
349
  }
@@ -334,6 +354,22 @@ export async function upgradeVectorIndexForProject(projectRoot, provider) {
334
354
  reason: error instanceof Error ? error.message : String(error),
335
355
  };
336
356
  }
357
+ }
358
+ export async function upgradeVectorIndexForProject(projectRoot, provider) {
359
+ const catalog = openMetadataCatalog(projectRoot);
360
+ try {
361
+ const result = await upgradeVectorIndexOnCatalog(catalog, provider);
362
+ // Re-export so the ACTIVE snapshot carries the new vectors. Without this the
363
+ // upgrade only ever touched the mutable working database, which the answer
364
+ // path never reads — so `POST /api/settings/embeddings/reindex` reported
365
+ // success while retrieval kept serving the hashed index.
366
+ if (result.upgraded) {
367
+ const fingerprint = catalog.state('fingerprint');
368
+ if (fingerprint)
369
+ activateMetadataSnapshot(projectRoot, fingerprint, catalog);
370
+ }
371
+ return result;
372
+ }
337
373
  finally {
338
374
  catalog.close();
339
375
  }
@@ -349,7 +385,30 @@ export async function ensureMetadataCatalogFresh(projectRoot, options = {}) {
349
385
  try {
350
386
  const existing = catalog.state('fingerprint');
351
387
  const compatibleIndex = catalog.state('index_version') === METADATA_INDEX_VERSION;
388
+ // The snapshot write embeds with the sync hashed provider (better-sqlite3
389
+ // transactions cannot await), so a configured Ollama/OpenAI embedder can only
390
+ // be applied afterwards — and it must land BEFORE the export, since retrieval
391
+ // reads the exported snapshot. `searchVectorObjects` returns ZERO candidates
392
+ // when the requested provider id does not match the indexed one, so skipping
393
+ // this makes configuring a real embedder strictly worse than not configuring
394
+ // one: an empty vector lane instead of a weak one.
395
+ const vectorProvider = options.embeddingProvider ?? projectEmbeddingProvider(projectRoot);
396
+ const upgradeVectors = async () => {
397
+ const upgrade = upgradeVectorIndexOnCatalog(catalog, vectorProvider);
398
+ pendingVectorUpgrades.set(projectRoot, upgrade.then(() => undefined, () => undefined));
399
+ // Never let a cold or unreachable embedder block indexing: the hashed index
400
+ // is already in place, so timing out simply ships it and the next refresh
401
+ // retries.
402
+ await Promise.race([
403
+ upgrade,
404
+ new Promise((resolve) => setTimeout(resolve, VECTOR_UPGRADE_BUDGET_MS)),
405
+ ]);
406
+ };
352
407
  if (!options.force && compatibleIndex && existing === snapshot.fingerprint) {
408
+ // The project content is unchanged but the CONFIGURED EMBEDDER may not be.
409
+ // Without this, switching `ai.embeddings` never takes effect until an
410
+ // unrelated dbt change happens to move the fingerprint.
411
+ await upgradeVectors();
353
412
  const snapshotPath = activateMetadataSnapshot(projectRoot, snapshot.fingerprint, catalog);
354
413
  return {
355
414
  path: defaultMetadataPath(projectRoot),
@@ -370,6 +429,7 @@ export async function ensureMetadataCatalogFresh(projectRoot, options = {}) {
370
429
  else {
371
430
  catalog.rebuildIncremental(snapshot);
372
431
  }
432
+ await upgradeVectors();
373
433
  const snapshotPath = activateMetadataSnapshot(projectRoot, snapshot.fingerprint, catalog);
374
434
  return {
375
435
  path: defaultMetadataPath(projectRoot),
@@ -778,7 +838,27 @@ export async function buildLocalContextPack(projectRoot, request) {
778
838
  modelAreaId: focusedArea?.id,
779
839
  limit: request.limit ?? 120,
780
840
  }).selected;
781
- const sqlParentObjects = sqlParentObjectsForSelectedColumns(rankedObjects, mergeObjects([...graphObjects, ...runtimeObjects]), questionPlan);
841
+ // Reorder by what the QUESTION needs. RRF and the additive score rank by
842
+ // overlap, distance, and type weight — none of which read the question — so
843
+ // the object that answers it can sit behind ten near-synonyms and be cut by
844
+ // a top-N that never considered the ask. Advisory: the reranker may only
845
+ // reorder ids retrieval already returned, and any failure leaves this list
846
+ // exactly as it was.
847
+ const rerankedObjects = request.rerankCandidates
848
+ ? applyRerank(rankedObjects, (object) => object.objectKey, await request.rerankCandidates(searchQueries.join(' '), rankedObjects.slice(0, 40).map((object) => ({
849
+ id: object.objectKey,
850
+ summary: [
851
+ object.name,
852
+ object.objectType,
853
+ object.description?.slice(0, 160),
854
+ ].filter(Boolean).join(' — '),
855
+ }))).catch(() => undefined))
856
+ : rankedObjects;
857
+ if (process.env.DQL_ORCHESTRATOR_TRACE && request.rerankCandidates) {
858
+ const moved = rerankedObjects.findIndex((object, position) => object.objectKey !== rankedObjects[position]?.objectKey);
859
+ console.warn(`[dql] rerank: ${moved < 0 ? 'no change' : `reordered from position ${moved}`} over ${Math.min(40, rankedObjects.length)} candidates`);
860
+ }
861
+ const sqlParentObjects = sqlParentObjectsForSelectedColumns(rerankedObjects, mergeObjects([...graphObjects, ...runtimeObjects]), questionPlan);
782
862
  // Deep-research over a SMALL catalog: skip top-k pruning and hand the model the
783
863
  // entire relation set ("send everything, let the agent decide"). Only when the
784
864
  // whole catalog fits comfortably in context — otherwise we keep ranked selection.
@@ -802,8 +882,8 @@ export async function buildLocalContextPack(projectRoot, request) {
802
882
  limit: 8,
803
883
  }).selected;
804
884
  const objects = fullCatalogObjects
805
- ? mergeObjects([...rankedObjects, ...sqlParentObjects, ...fullCatalogObjects, ...selectedSkillObjects, ...routeObjects])
806
- : mergeObjects([...rankedObjects, ...sqlParentObjects, ...selectedSkillObjects, ...routeObjects]);
885
+ ? mergeObjects([...rerankedObjects, ...sqlParentObjects, ...fullCatalogObjects, ...selectedSkillObjects, ...routeObjects])
886
+ : mergeObjects([...rerankedObjects, ...sqlParentObjects, ...selectedSkillObjects, ...routeObjects]);
807
887
  const objectKeys = objects.map((row) => row.objectKey);
808
888
  const allowedObjectKeys = new Set(objectKeys);
809
889
  let contextEdges = mergeMetadataEdges(edgeWalk)
@@ -4327,6 +4407,7 @@ async function planContextPackRoute(input) {
4327
4407
  plan: input.questionPlan,
4328
4408
  block: object,
4329
4409
  exactExampleMatch: hasExactExampleQuestion(input.request.question, object),
4410
+ uniqueExactExampleContract: hasUniqueExactCertifiedExample(input.request.question, input.objects, object),
4330
4411
  definitionLookup: intent === 'definition_lookup' && objectNameInQuestion(input.request.question, object),
4331
4412
  }),
4332
4413
  applicabilityScore: applicabilityByKey.get(object.objectKey)?.score ?? 0,
@@ -4385,6 +4466,7 @@ async function planContextPackRoute(input) {
4385
4466
  plan: input.questionPlan,
4386
4467
  block: blockFitObject,
4387
4468
  exactExampleMatch: exact ? exactExampleMatch : false,
4469
+ uniqueExactExampleContract: Boolean(exact && hasUniqueExactCertifiedExample(input.request.question, input.objects, blockFitObject)),
4388
4470
  definitionLookup: Boolean(exact && intent === 'definition_lookup'
4389
4471
  && objectNameInQuestion(input.request.question, blockFitObject)),
4390
4472
  })
@@ -4400,6 +4482,14 @@ async function planContextPackRoute(input) {
4400
4482
  : rawBlockFit;
4401
4483
  const missingContext = buildMissingContext(input.request, intent, input.objects, input.allowedSqlContext);
4402
4484
  const selectedEvidence = input.evidenceRoles.slice(0, 16);
4485
+ // A blocking context gap belongs to the question, not to whichever
4486
+ // certified artifact happened to rank first. Evaluate it before a
4487
+ // wrong-grain/block-fit demotion can send a diagnose request into generated
4488
+ // SQL. In particular, a current-only tile plus a nearby raw table with a
4489
+ // date column must ask for a baseline rather than invent one.
4490
+ if (intent === 'clarify' || missingContext.some((item) => item.severity === 'blocking')) {
4491
+ return clarifyDecision(intent, input.trustLabel, selectedEvidence, missingContext);
4492
+ }
4403
4493
  // Grain / contract gate (refinement of the existing certified→generated
4404
4494
  // demotion). The candidate certified block is only served at Tier 1 when its
4405
4495
  // declared grain actually satisfies the question's requested grain. An
@@ -4527,9 +4617,6 @@ async function planContextPackRoute(input) {
4527
4617
  followUps: buildMetadataFollowUps(intent, input.allowedSqlContext),
4528
4618
  };
4529
4619
  }
4530
- if (intent === 'clarify' || missingContext.some((item) => item.severity === 'blocking')) {
4531
- return clarifyDecision(intent, input.trustLabel, selectedEvidence, missingContext);
4532
- }
4533
4620
  const canGenerate = input.allowedSqlContext.relations.length > 0 ||
4534
4621
  input.allowedSqlContext.sourceBlockSql.length > 0 ||
4535
4622
  input.objects.some((object) => object.objectType.startsWith('semantic_'));
@@ -4662,6 +4749,7 @@ function buildCertifiedCandidateFitDiagnostics(input) {
4662
4749
  plan: input.questionPlan,
4663
4750
  block: object,
4664
4751
  exactExampleMatch: hasExactExampleQuestion(input.request.question, object),
4752
+ uniqueExactExampleContract: hasUniqueExactCertifiedExample(input.request.question, input.objects, object),
4665
4753
  definitionLookup: input.routeDecision.intent === 'definition_lookup',
4666
4754
  });
4667
4755
  return {
@@ -4682,7 +4770,15 @@ function buildCertifiedCandidateFitDiagnostics(input) {
4682
4770
  .slice(0, 12);
4683
4771
  }
4684
4772
  function certifiedCandidateFitAction(objectKey, applicability, fit, routeDecision) {
4685
- if (routeDecision.route === 'certified' && routeDecision.exactObjectKey === objectKey)
4773
+ // A catalog route is useful retrieval guidance, not independent evidence
4774
+ // that the selected block exposes every requested metric. Do not stamp a
4775
+ // candidate as a certified answer when its own output-contract fit contains
4776
+ // a missing measure: doing so let a `lifetime_spend` ranking inherit the
4777
+ // generic `revenue` tag and freeze as a false certified result.
4778
+ if (routeDecision.route === 'certified'
4779
+ && routeDecision.exactObjectKey === objectKey
4780
+ && certifiedFitAllowsTier1(fit)
4781
+ && (fit.missingMeasures?.length ?? 0) === 0)
4686
4782
  return 'certified_answer';
4687
4783
  if (routeDecision.certifiedApplicability?.objectKey === objectKey && routeDecision.route !== 'certified')
4688
4784
  return 'context_only';
@@ -4831,6 +4927,19 @@ function hasExactExampleQuestion(question, object) {
4831
4927
  typeof example === 'object' &&
4832
4928
  normalizeSearchText(String(example.question ?? '')) === q);
4833
4929
  }
4930
+ /**
4931
+ * An authored example is a block-local contract only when it identifies one
4932
+ * certified block in this snapshot. Shared examples are ambiguous evidence:
4933
+ * neither block may reinterpret parser member tokens through its own shape.
4934
+ */
4935
+ function hasUniqueExactCertifiedExample(question, objects, object) {
4936
+ if (!hasExactExampleQuestion(question, object))
4937
+ return false;
4938
+ const matches = objects.filter((candidate) => candidate.objectType === 'dql_block'
4939
+ && isCertifiedMetadataObject(candidate)
4940
+ && hasExactExampleQuestion(question, candidate));
4941
+ return matches.length === 1 && matches[0]?.objectKey === object.objectKey;
4942
+ }
4834
4943
  function hasMeaningfulObjectOverlap(question, object) {
4835
4944
  const terms = new Set(tokenize(question));
4836
4945
  if (terms.size === 0)
@@ -4909,6 +5018,7 @@ function buildMissingContext(request, intent, objects, allowedSqlContext) {
4909
5018
  return missing;
4910
5019
  }
4911
5020
  function hasComparableBaselineContext(request, objects, allowedSqlContext) {
5021
+ const observedBaseline = hasObservedBaselineRows(request.selectedContext);
4912
5022
  if (request.focusObjectKey) {
4913
5023
  const focus = objects.find((object) => object.objectKey === request.focusObjectKey);
4914
5024
  if (focus) {
@@ -4919,17 +5029,30 @@ function hasComparableBaselineContext(request, objects, allowedSqlContext) {
4919
5029
  const focusedRelations = dependencyKeys.size > 0
4920
5030
  ? allowedSqlContext.relations.filter((relation) => relationLookupKeysForCatalog(relation.relation).some((key) => dependencyKeys.has(key)))
4921
5031
  : [];
4922
- const focusTextHasBaseline = /\b(date|time|day|week|month|quarter|year|season|period|baseline|history|snapshot)\b/i.test([
4923
- focus.name,
4924
- focus.description ?? '',
4925
- String(focus.payload?.sql ?? ''),
4926
- ].join(' '));
4927
- return focusTextHasBaseline || focusedRelations.some((relation) => relation.columns.some((column) => isTimeLikeColumn(column.name)));
5032
+ // A time-like column somewhere in the dependency graph is potential
5033
+ // exploration context, not proof that the focused artifact contains a
5034
+ // comparable baseline. Treating it as proof made a current-only
5035
+ // availability tile answer “what changed?” from an unrelated raw table.
5036
+ // Require either observed selected rows spanning two values, or an
5037
+ // authored comparison expression that uses a declared focused time
5038
+ // column. Names/descriptions/LLM prose remain retrieval context only.
5039
+ if (observedBaseline)
5040
+ return true;
5041
+ const focusSql = String(focus.payload?.sql ?? focus.payload?.query ?? '');
5042
+ const timeColumns = focusedRelations.flatMap((relation) => relation.columns
5043
+ .map((column) => column.name)
5044
+ .filter(isTimeLikeColumn));
5045
+ const usesFocusedTimeColumn = timeColumns.some((column) => new RegExp(`\\b${escapeRegExp(column)}\\b`, 'i').test(focusSql));
5046
+ const declaresComparison = /\b(?:baseline|history|prior|previous|compare|comparison|versus|\bvs\.?|lag|lead)\b/i.test(focusSql);
5047
+ return usesFocusedTimeColumn && declaresComparison;
4928
5048
  }
4929
5049
  }
4930
5050
  if (allowedSqlContext.relations.some((relation) => relation.columns.some((column) => isTimeLikeColumn(column.name))))
4931
5051
  return true;
4932
- const rows = selectedRows(request.selectedContext);
5052
+ return observedBaseline;
5053
+ }
5054
+ function hasObservedBaselineRows(value) {
5055
+ const rows = selectedRows(value);
4933
5056
  if (rows.length < 2)
4934
5057
  return false;
4935
5058
  const columns = new Set(rows.flatMap((row) => Object.keys(row)));
@@ -4957,6 +5080,9 @@ function relationLookupKeysForCatalog(relation) {
4957
5080
  function isTimeLikeColumn(name) {
4958
5081
  return /\b(date|time|day|week|month|quarter|year|season|period|created_at|updated_at)\b/i.test(name);
4959
5082
  }
5083
+ function escapeRegExp(value) {
5084
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
5085
+ }
4960
5086
  function selectedRows(value) {
4961
5087
  const root = value && typeof value === 'object' ? value : null;
4962
5088
  const selected = root?.selectedBlock && typeof root.selectedBlock === 'object' ? root.selectedBlock : root;
@@ -6822,11 +6948,56 @@ const VECTOR_EXCLUDED_OBJECT_TYPES = new Set([
6822
6948
  'skill',
6823
6949
  'runtime_value',
6824
6950
  ]);
6951
+ /**
6952
+ * A DOCUMENTED column earns a vector, even though columns are excluded as a class.
6953
+ *
6954
+ * Excluding every column left a question phrased in column vocabulary ("which
6955
+ * field holds the customer's tier?") with no semantic recall path at all — the
6956
+ * lexical lane is the only thing that could ever find it, and that is exactly
6957
+ * the case where the user's words and the schema's words differ.
6958
+ *
6959
+ * The exclusion existed for volume, and that concern is real: columns outnumber
6960
+ * models by 10-50x and `searchVectorObjects` is an O(n) scan in JS. A DESCRIPTION
6961
+ * is the natural bound — it means someone documented the column on purpose, which
6962
+ * is both a quality signal and a small fraction of any real warehouse. An
6963
+ * undocumented column has nothing to embed but its name, which the lexical lane
6964
+ * already matches better than a vector would.
6965
+ */
6966
+ function isDocumentedColumnObject(object) {
6967
+ return COLUMN_OBJECT_TYPES.has(object.objectType)
6968
+ && object.objectType !== 'runtime_value'
6969
+ && (object.description?.trim().length ?? 0) > 0;
6970
+ }
6971
+ /**
6972
+ * A skill is written vocabulary — the words a team uses for a task — which is
6973
+ * exactly what a vector is for. Excluding the type wholesale meant a question
6974
+ * phrased in the team's language could only ever be found by keyword. Bounded
6975
+ * the same way as columns: it must actually be documented, so an empty skill
6976
+ * stub does not earn an embedding.
6977
+ */
6978
+ function isDocumentedSkillObject(object) {
6979
+ return object.objectType === 'skill' && (object.description?.trim().length ?? 0) > 0;
6980
+ }
6825
6981
  function isVectorIndexObject(object) {
6982
+ if (isDocumentedColumnObject(object))
6983
+ return true;
6984
+ if (isDocumentedSkillObject(object))
6985
+ return true;
6826
6986
  return !VECTOR_EXCLUDED_OBJECT_TYPES.has(object.objectType);
6827
6987
  }
6828
6988
  function metadataVectorText(object) {
6989
+ // A bare column name is a naked token: `status` on its own is equally close to
6990
+ // every status-ish thing in the warehouse. Lead with the parent-qualified name
6991
+ // and the type so the vector carries WHICH table's status this is.
6992
+ const columnPrefix = isDocumentedColumnObject(object)
6993
+ ? [
6994
+ `${object.fullName ?? object.name} column`,
6995
+ stringValue((object.payload ?? {}).type) ?? '',
6996
+ stringValue((object.payload ?? {}).relation) ?? '',
6997
+ ].filter(Boolean).join(' ')
6998
+ : '';
6829
6999
  return [
7000
+ columnPrefix,
6830
7001
  object.name,
6831
7002
  object.fullName ?? '',
6832
7003
  object.description ?? '',