@memberjunction/db-auto-doc 6.2.0-edge.5 → 6.2.0-edge.6

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 (117) hide show
  1. package/README.md +10 -0
  2. package/dist/api/DBAutoDocAPI.d.ts +2 -0
  3. package/dist/api/DBAutoDocAPI.d.ts.map +1 -1
  4. package/dist/api/DBAutoDocAPI.js +2 -1
  5. package/dist/api/DBAutoDocAPI.js.map +1 -1
  6. package/dist/core/AnalysisEngine.d.ts +24 -0
  7. package/dist/core/AnalysisEngine.d.ts.map +1 -1
  8. package/dist/core/AnalysisEngine.js +104 -11
  9. package/dist/core/AnalysisEngine.js.map +1 -1
  10. package/dist/core/AnalysisOrchestrator.d.ts.map +1 -1
  11. package/dist/core/AnalysisOrchestrator.js +17 -5
  12. package/dist/core/AnalysisOrchestrator.js.map +1 -1
  13. package/dist/discovery/ColumnNormalizer.d.ts +31 -0
  14. package/dist/discovery/ColumnNormalizer.d.ts.map +1 -1
  15. package/dist/discovery/ColumnNormalizer.js +68 -2
  16. package/dist/discovery/ColumnNormalizer.js.map +1 -1
  17. package/dist/discovery/Composer.d.ts +33 -2
  18. package/dist/discovery/Composer.d.ts.map +1 -1
  19. package/dist/discovery/Composer.js +126 -5
  20. package/dist/discovery/Composer.js.map +1 -1
  21. package/dist/discovery/DiscoveryEngine.d.ts +3 -0
  22. package/dist/discovery/DiscoveryEngine.d.ts.map +1 -1
  23. package/dist/discovery/DiscoveryEngine.js +1 -1
  24. package/dist/discovery/DiscoveryEngine.js.map +1 -1
  25. package/dist/discovery/EmbeddingProvider.d.ts +6 -1
  26. package/dist/discovery/EmbeddingProvider.d.ts.map +1 -1
  27. package/dist/discovery/EmbeddingProvider.js +11 -1
  28. package/dist/discovery/EmbeddingProvider.js.map +1 -1
  29. package/dist/discovery/IndexKeyEvidence.d.ts +36 -0
  30. package/dist/discovery/IndexKeyEvidence.d.ts.map +1 -0
  31. package/dist/discovery/IndexKeyEvidence.js +42 -0
  32. package/dist/discovery/IndexKeyEvidence.js.map +1 -0
  33. package/dist/discovery/JoinProbe.d.ts +148 -0
  34. package/dist/discovery/JoinProbe.d.ts.map +1 -0
  35. package/dist/discovery/JoinProbe.js +233 -0
  36. package/dist/discovery/JoinProbe.js.map +1 -0
  37. package/dist/discovery/LLMDiscoveryValidator.d.ts +8 -1
  38. package/dist/discovery/LLMDiscoveryValidator.d.ts.map +1 -1
  39. package/dist/discovery/LLMDiscoveryValidator.js +24 -3
  40. package/dist/discovery/LLMDiscoveryValidator.js.map +1 -1
  41. package/dist/discovery/LLMSanityChecker.d.ts.map +1 -1
  42. package/dist/discovery/LLMSanityChecker.js +10 -1
  43. package/dist/discovery/LLMSanityChecker.js.map +1 -1
  44. package/dist/discovery/OrganicKeyDetector.d.ts +29 -1
  45. package/dist/discovery/OrganicKeyDetector.d.ts.map +1 -1
  46. package/dist/discovery/OrganicKeyDetector.js +26 -3
  47. package/dist/discovery/OrganicKeyDetector.js.map +1 -1
  48. package/dist/discovery/OrganicKeyTranslator.d.ts +24 -5
  49. package/dist/discovery/OrganicKeyTranslator.d.ts.map +1 -1
  50. package/dist/discovery/OrganicKeyTranslator.js +32 -14
  51. package/dist/discovery/OrganicKeyTranslator.js.map +1 -1
  52. package/dist/discovery/PKDetector.d.ts +9 -0
  53. package/dist/discovery/PKDetector.d.ts.map +1 -1
  54. package/dist/discovery/PKDetector.js +86 -8
  55. package/dist/discovery/PKDetector.js.map +1 -1
  56. package/dist/discovery/SemanticPhase.d.ts +25 -0
  57. package/dist/discovery/SemanticPhase.d.ts.map +1 -1
  58. package/dist/discovery/SemanticPhase.js +55 -11
  59. package/dist/discovery/SemanticPhase.js.map +1 -1
  60. package/dist/discovery/embedding-provider-default.d.ts +25 -0
  61. package/dist/discovery/embedding-provider-default.d.ts.map +1 -0
  62. package/dist/discovery/embedding-provider-default.js +47 -0
  63. package/dist/discovery/embedding-provider-default.js.map +1 -0
  64. package/dist/drivers/BaseAutoDocDriver.d.ts +63 -0
  65. package/dist/drivers/BaseAutoDocDriver.d.ts.map +1 -1
  66. package/dist/drivers/BaseAutoDocDriver.js.map +1 -1
  67. package/dist/drivers/MySQLDriver.d.ts +21 -1
  68. package/dist/drivers/MySQLDriver.d.ts.map +1 -1
  69. package/dist/drivers/MySQLDriver.js +64 -0
  70. package/dist/drivers/MySQLDriver.js.map +1 -1
  71. package/dist/drivers/PostgreSQLDriver.d.ts +34 -1
  72. package/dist/drivers/PostgreSQLDriver.d.ts.map +1 -1
  73. package/dist/drivers/PostgreSQLDriver.js +91 -0
  74. package/dist/drivers/PostgreSQLDriver.js.map +1 -1
  75. package/dist/drivers/SQLServerDriver.d.ts +28 -1
  76. package/dist/drivers/SQLServerDriver.d.ts.map +1 -1
  77. package/dist/drivers/SQLServerDriver.js +106 -0
  78. package/dist/drivers/SQLServerDriver.js.map +1 -1
  79. package/dist/drivers/probeErrors.d.ts +30 -0
  80. package/dist/drivers/probeErrors.d.ts.map +1 -0
  81. package/dist/drivers/probeErrors.js +94 -0
  82. package/dist/drivers/probeErrors.js.map +1 -0
  83. package/dist/generators/AdditionalSchemaInfoGenerator.d.ts +0 -18
  84. package/dist/generators/AdditionalSchemaInfoGenerator.d.ts.map +1 -1
  85. package/dist/generators/AdditionalSchemaInfoGenerator.js +45 -4
  86. package/dist/generators/AdditionalSchemaInfoGenerator.js.map +1 -1
  87. package/dist/prompts/PromptEngine.d.ts.map +1 -1
  88. package/dist/prompts/PromptEngine.js +10 -1
  89. package/dist/prompts/PromptEngine.js.map +1 -1
  90. package/dist/types/config.d.ts +82 -4
  91. package/dist/types/config.d.ts.map +1 -1
  92. package/dist/types/config.js.map +1 -1
  93. package/dist/types/discovery.d.ts +39 -0
  94. package/dist/types/discovery.d.ts.map +1 -1
  95. package/dist/types/state.d.ts +2 -0
  96. package/dist/types/state.d.ts.map +1 -1
  97. package/dist/utils/call-deadline.d.ts +43 -0
  98. package/dist/utils/call-deadline.d.ts.map +1 -0
  99. package/dist/utils/call-deadline.js +81 -0
  100. package/dist/utils/call-deadline.js.map +1 -0
  101. package/dist/utils/index-hints.d.ts +8 -1
  102. package/dist/utils/index-hints.d.ts.map +1 -1
  103. package/dist/utils/index-hints.js +15 -0
  104. package/dist/utils/index-hints.js.map +1 -1
  105. package/dist/utils/index.d.ts +1 -0
  106. package/dist/utils/index.d.ts.map +1 -1
  107. package/dist/utils/index.js +1 -0
  108. package/dist/utils/index.js.map +1 -1
  109. package/dist/utils/seed-context.d.ts +23 -0
  110. package/dist/utils/seed-context.d.ts.map +1 -0
  111. package/dist/utils/seed-context.js +38 -0
  112. package/dist/utils/seed-context.js.map +1 -0
  113. package/package.json +5 -5
  114. package/prompts/fk-pruning-holistic.md +7 -0
  115. package/prompts/fk-pruning-table.md +7 -0
  116. package/prompts/pk-pruning-holistic.md +7 -0
  117. package/prompts/pk-pruning-table.md +7 -0
package/README.md CHANGED
@@ -196,6 +196,11 @@ Long-form context (a data dictionary, an engineering assessment) can live in fil
196
196
  Paths are relative to `config.json`. The text is sent with every table prompt, so keep it to what the
197
197
  model needs for descriptions rather than a full specification.
198
198
 
199
+ The primary- and foreign-key passes (discovery validation and PK/FK pruning) also get it, trimmed. A per-table
200
+ pass gets only the paragraphs that name its table, and the whole-schema passes get the full text. Both are capped at
201
+ `seedContext.keyPassMaxChars` characters (default 6000; `0` sends none). Name tables in your paragraphs so they
202
+ reach the right pass.
203
+
199
204
  ### 3. Generate Sample Queries (Optional)
200
205
 
201
206
  Generate reference SQL queries for AI agent training:
@@ -523,6 +528,11 @@ Databases often have indexes where no key is declared: developers index the colu
523
528
 
524
529
  They are hints, not proof, and are weighed with names, statistics and value overlap. Turn this off with `"analysis": { "useExistingIndexes": false }`. A resumed run reads indexes for any table whose state has none yet. If a schema's catalog can't be read, the run continues without its indexes.
525
530
 
531
+ Unique indexes also feed deterministic PK detection (`relationshipDiscovery.indexBackedCandidates`, default true). This matters for tables with no declared primary key; tables that have one skip PK discovery entirely.
532
+ - a unique index on NOT NULL columns becomes a candidate even when the statistics can't show uniqueness (an empty table, for example), scored with an index boost, so naming, type, the name blacklist and column position still decide between several unique columns;
533
+ - a unique index on a nullable column only boosts a column that already passes the statistical checks;
534
+ - multi-column unique indexes are considered as composite keys when no single column qualifies (junction tables, for example); next to a qualifying single-column key they are alternate keys and are not added.
535
+
526
536
  ### Organic Key Detection (Optional)
527
537
 
528
538
  Foreign keys require **shared exact values**. Organic keys (MemberJunction [PR #2193](https://github.com/MemberJunction/MJ/pull/2193)) capture the weaker-but-broader condition of **shared identity**: two columns refer to the same real-world thing once each is canonicalized through its own transformation. That joins far more cross-system data than exact-match FKs -- e.g. the same phone number stored as `+1 (555) 123-4567`, `5551234567`, and `555.123.4567` across HubSpot, Zendesk, and QuickBooks.
@@ -57,6 +57,8 @@ export interface DBAutoDocAPIConfig {
57
57
  businessDomains?: string[];
58
58
  industryContext?: string;
59
59
  customInstructions?: string;
60
+ /** Cap on the customInstructions text sent to each PK/FK inference prompt. Default 6000; 0 sends none. */
61
+ keyPassMaxChars?: number;
60
62
  };
61
63
  /** Optional output directory (default: ./output) */
62
64
  outputDir?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DBAutoDocAPI.d.ts","sourceRoot":"","sources":["../../src/api/DBAutoDocAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DBAutoDocAPI.d.ts","sourceRoot":"","sources":["../../src/api/DBAutoDocAPI.ts"],"names":[],"mappings":"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"}
@@ -425,7 +425,8 @@ export class DBAutoDocAPI {
425
425
  markdownFile: path.join(outputDir, 'summary.md')
426
426
  },
427
427
  schemas: config.schemas || {},
428
- tables: config.tables || {}
428
+ tables: config.tables || {},
429
+ seedContext: config.seedContext
429
430
  };
430
431
  }
431
432
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DBAutoDocAPI.js","sourceRoot":"","sources":["../../src/api/DBAutoDocAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DBAutoDocAPI.js","sourceRoot":"","sources":["../../src/api/DBAutoDocAPI.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  import { DatabaseDocumentation, AnalysisRun, SchemaDefinition, TableDefinition } from '../types/state.js';
6
6
  import type { BaseAutoDocDriver } from "../drivers/BaseAutoDocDriver.js";
7
7
  import { TableNode, BackpropagationTrigger } from '../types/analysis.js';
8
+ import { KeyVerifier } from '../discovery/JoinProbe.js';
8
9
  import { ColumnDescriptionPromptResult } from '../types/prompts.js';
9
10
  import { DBAutoDocConfig } from '../types/config.js';
10
11
  import { PromptEngine } from '../prompts/PromptEngine.js';
@@ -24,6 +25,19 @@ export declare class AnalysisEngine {
24
25
  private startTime;
25
26
  private currentRun?;
26
27
  private onProgress;
28
+ /**
29
+ * Verifies a proposed key against the data before it is confirmed. Optional: when
30
+ * absent, LLM-proposed FKs are still emitted but stamped `Unprobed` rather than
31
+ * silently presented as though someone had checked them.
32
+ */
33
+ private keyVerifier;
34
+ /**
35
+ * Supply the probe used to verify LLM-proposed foreign keys. Injected rather than
36
+ * constructed here because the engine has no driver of its own; the orchestrator owns
37
+ * the connection and passes ONE verifier so the per-run probe budget is shared with
38
+ * the organic-key path instead of each path getting its own allowance.
39
+ */
40
+ SetKeyVerifier(verifier: KeyVerifier | null): void;
27
41
  constructor(config: DBAutoDocConfig, promptEngine: PromptEngine, stateManager: StateManager, iterationTracker: IterationTracker, onProgress?: (message: string, data?: Record<string, unknown>) => void,
28
42
  /** Database access for checks the LLM's proposals must pass (composite PK uniqueness). Optional: without it, composite PK proposals are rejected. */
29
43
  driver?: BaseAutoDocDriver);
@@ -197,6 +211,16 @@ export declare class AnalysisEngine {
197
211
  * Uses the foreignKeys array from table-analysis prompt response instead of brittle regex parsing.
198
212
  * Per architectural decision: use LLM for language understanding, deterministic code for processing.
199
213
  */
214
+ /**
215
+ * Probe an LLM-proposed foreign key.
216
+ *
217
+ * Returns `Unprobed` rather than throwing for every reason a probe can fail to run —
218
+ * no verifier injected, no such table or column in the analysed state, or the driver
219
+ * reporting that it could not evaluate the join. `Refuted` is reserved for a probe
220
+ * that RAN and measured containment below the floor, because only that is evidence
221
+ * the key is wrong.
222
+ */
223
+ private verifyProposedFK;
200
224
  private processFKInsightsFromLLM;
201
225
  /**
202
226
  * Find a column in the state schemas
@@ -1 +1 @@
1
- {"version":3,"file":"AnalysisEngine.d.ts","sourceRoot":"","sources":["../../src/core/AnalysisEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnalysisEngine.d.ts","sourceRoot":"","sources":["../../src/core/AnalysisEngine.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,22 @@
5
5
  import { EnsureArray } from "../utils/ensureArray.js";
6
6
  import { CheckPKProposal } from "./PKProposalGate.js";
7
7
  import { BuildIndexHints, FormatIndexHint, IsUniquelyIndexed } from "../utils/index-hints.js";
8
+ import { SeedContextExcerpt } from "../utils/seed-context.js";
8
9
  import { EnumCandidateGate } from '../discovery/EnumCandidateGate.js';
10
+ import { StampFor } from '../discovery/JoinProbe.js';
9
11
  import { BackpropagationEngine } from './BackpropagationEngine.js';
10
12
  import { ConvergenceDetector } from './ConvergenceDetector.js';
11
13
  import { GuardrailsManager } from './GuardrailsManager.js';
12
14
  export class AnalysisEngine {
15
+ /**
16
+ * Supply the probe used to verify LLM-proposed foreign keys. Injected rather than
17
+ * constructed here because the engine has no driver of its own; the orchestrator owns
18
+ * the connection and passes ONE verifier so the per-run probe budget is shared with
19
+ * the organic-key path instead of each path getting its own allowance.
20
+ */
21
+ SetKeyVerifier(verifier) {
22
+ this.keyVerifier = verifier;
23
+ }
13
24
  constructor(config, promptEngine, stateManager, iterationTracker, onProgress,
14
25
  /** Database access for checks the LLM's proposals must pass (composite PK uniqueness). Optional: without it, composite PK proposals are rejected. */
15
26
  driver) {
@@ -19,6 +30,12 @@ export class AnalysisEngine {
19
30
  this.iterationTracker = iterationTracker;
20
31
  this.driver = driver;
21
32
  this.startTime = 0;
33
+ /**
34
+ * Verifies a proposed key against the data before it is confirmed. Optional: when
35
+ * absent, LLM-proposed FKs are still emitted but stamped `Unprobed` rather than
36
+ * silently presented as though someone had checked them.
37
+ */
38
+ this.keyVerifier = null;
22
39
  this.onProgress = onProgress || (() => { });
23
40
  this.backpropagationEngine = new BackpropagationEngine(promptEngine, stateManager, iterationTracker, config.analysis.backpropagation.maxDepth, config);
24
41
  this.convergenceDetector = new ConvergenceDetector(config.analysis.convergence, stateManager, iterationTracker);
@@ -133,7 +150,7 @@ export class AnalysisEngine {
133
150
  const [schemaName, tableName] = tableKey.split('.');
134
151
  const table = this.stateManager.findTable(state, schemaName, tableName);
135
152
  const candidates = tablePKs.map(pk => ({ columns: pk.columnNames, confidence: pk.confidence, locked: pk.status === 'confirmed' }));
136
- const context = { sourceSchema: schemaName, sourceTable: tableName, tableDescription: table?.description || '', allTables, candidates, existingIndexes: this.indexHintLines(table), seedContext: state.seedContext ?? this.config.seedContext };
153
+ const context = { sourceSchema: schemaName, sourceTable: tableName, tableDescription: table?.description || '', allTables, candidates, existingIndexes: this.indexHintLines(table), seedContext: state.seedContext ?? this.config.seedContext, seedExcerpt: SeedContextExcerpt(state.seedContext ?? this.config.seedContext, [tableName]) };
137
154
  const result = await this.promptEngine.executePrompt('pk-pruning-table', context, { responseFormat: 'JSON', temperature: override?.temperature ?? 0.05, maxTokens: override?.maxTokens ?? this.config.ai.maxTokens, modelOverride: override?.model, effortLevelOverride: override?.effortLevel });
138
155
  if (!result.success || !result.result) {
139
156
  console.log(`[AnalysisEngine] PK pruning failed for ${tableKey}: ${result.errorMessage}`);
@@ -159,7 +176,7 @@ export class AnalysisEngine {
159
176
  if (allProposals.length === 0)
160
177
  return { removed: 0, kept: allPKs.length };
161
178
  this.onProgress('PK pruning pass 2: holistic review', { proposals: allProposals.length, model: effectiveModel });
162
- const holisticContext = { allTables, proposals: allProposals.map(p => ({ sourceSchema: p.sourceSchema, sourceTable: p.sourceTable, columns: p.columns, confidence: p.confidence, reasoning: p.reasoning })), seedContext: state.seedContext ?? this.config.seedContext };
179
+ const holisticContext = { allTables, proposals: allProposals.map(p => ({ sourceSchema: p.sourceSchema, sourceTable: p.sourceTable, columns: p.columns, confidence: p.confidence, reasoning: p.reasoning })), seedContext: state.seedContext ?? this.config.seedContext, seedExcerpt: SeedContextExcerpt(state.seedContext ?? this.config.seedContext, []) };
163
180
  const holisticResult = await this.promptEngine.executePrompt('pk-pruning-holistic', holisticContext, { responseFormat: 'JSON', temperature: override?.temperature ?? 0.05, maxTokens: override?.maxTokens ?? this.config.ai.maxTokens, modelOverride: override?.model, effortLevelOverride: override?.effortLevel });
164
181
  let removed = 0;
165
182
  if (holisticResult.success && holisticResult.result) {
@@ -252,7 +269,8 @@ export class AnalysisEngine {
252
269
  allTables,
253
270
  candidates,
254
271
  existingIndexes: this.indexHintLines(table),
255
- seedContext: state.seedContext ?? this.config.seedContext
272
+ seedContext: state.seedContext ?? this.config.seedContext,
273
+ seedExcerpt: SeedContextExcerpt(state.seedContext ?? this.config.seedContext, [tableName])
256
274
  };
257
275
  const result = await this.promptEngine.executePrompt('fk-pruning-table', context, {
258
276
  responseFormat: 'JSON',
@@ -311,7 +329,8 @@ export class AnalysisEngine {
311
329
  confidence: p.confidence,
312
330
  reasoning: p.reasoning
313
331
  })),
314
- seedContext: state.seedContext ?? this.config.seedContext
332
+ seedContext: state.seedContext ?? this.config.seedContext,
333
+ seedExcerpt: SeedContextExcerpt(state.seedContext ?? this.config.seedContext, [])
315
334
  };
316
335
  const holisticResult = await this.promptEngine.executePrompt('fk-pruning-holistic', holisticContext, {
317
336
  responseFormat: 'JSON',
@@ -445,7 +464,7 @@ export class AnalysisEngine {
445
464
  this.persistEnumVerdicts(table, result.result.columnDescriptions, run.modelUsed);
446
465
  // Process structured FK insights from LLM and feed back to discovery phase
447
466
  if (state.phases.keyDetection && result.result.foreignKeys) {
448
- this.processFKInsightsFromLLM(state, tableNode.schema, tableNode.table, result.result.foreignKeys);
467
+ await this.processFKInsightsFromLLM(state, tableNode.schema, tableNode.table, result.result.foreignKeys);
449
468
  }
450
469
  // Process PK proposal from LLM — verify eligibility deterministically
451
470
  if (state.phases.keyDetection && result.result.primaryKey) {
@@ -1081,7 +1100,39 @@ export class AnalysisEngine {
1081
1100
  * Uses the foreignKeys array from table-analysis prompt response instead of brittle regex parsing.
1082
1101
  * Per architectural decision: use LLM for language understanding, deterministic code for processing.
1083
1102
  */
1084
- processFKInsightsFromLLM(state, schemaName, tableName, foreignKeys) {
1103
+ /**
1104
+ * Probe an LLM-proposed foreign key.
1105
+ *
1106
+ * Returns `Unprobed` rather than throwing for every reason a probe can fail to run —
1107
+ * no verifier injected, no such table or column in the analysed state, or the driver
1108
+ * reporting that it could not evaluate the join. `Refuted` is reserved for a probe
1109
+ * that RAN and measured containment below the floor, because only that is evidence
1110
+ * the key is wrong.
1111
+ */
1112
+ async verifyProposedFK(childSchema, childTable, childColumn, parentSchema, parentTable, parentColumn) {
1113
+ const now = new Date().toISOString();
1114
+ if (!this.keyVerifier) {
1115
+ return {
1116
+ Status: 'Unprobed',
1117
+ Containment: null,
1118
+ Reason: 'no key verifier configured for this run',
1119
+ ProbedAt: now
1120
+ };
1121
+ }
1122
+ if (!parentColumn || !parentTable || !parentSchema) {
1123
+ return {
1124
+ Status: 'Unprobed',
1125
+ Containment: null,
1126
+ Reason: 'LLM did not name a complete target column',
1127
+ ProbedAt: now
1128
+ };
1129
+ }
1130
+ return this.keyVerifier.Verify({
1131
+ Child: { Schema: childSchema, Table: childTable, Column: childColumn },
1132
+ Parent: { Schema: parentSchema, Table: parentTable, Column: parentColumn }
1133
+ });
1134
+ }
1135
+ async processFKInsightsFromLLM(state, schemaName, tableName, foreignKeys) {
1085
1136
  const discoveryPhase = state.phases.keyDetection;
1086
1137
  if (!discoveryPhase || !foreignKeys || foreignKeys.length === 0)
1087
1138
  return;
@@ -1123,6 +1174,38 @@ export class AnalysisEngine {
1123
1174
  console.log(`[AnalysisEngine] Rejecting LLM FK suggestion for confirmed PK: ${schemaName}.${tableName}.${columnName} -> ${referencesSchema}.${referencesTable}.${referencesColumn}`);
1124
1175
  continue;
1125
1176
  }
1177
+ // ── Verify the proposed join before anything is confirmed ────────────────
1178
+ //
1179
+ // This is the gate that was missing. The statistical path (FKDetector) probes
1180
+ // and rejects below 75% containment at its GATE 6; this path never probed at
1181
+ // all — it wrote a literal `valueOverlap: 0` placeholder, set
1182
+ // `status: 'confirmed'`, and stamped `column.isForeignKey = true`. The
1183
+ // additionalSchemaInfo generator then emits from BOTH
1184
+ // `discovered.foreignKeys` (gated on confidence + status, never on overlap)
1185
+ // and `column.foreignKeyReferences` (gated on nothing at all), so an
1186
+ // LLM-proposed key reached the output through two independent unchecked doors.
1187
+ //
1188
+ // The shape this catches: a connector schema whose parent key is namespaced
1189
+ // `<product>:<id>` while children store the bare id. "A foreign key points at
1190
+ // the parent's primary key" is correct almost everywhere and unfalsifiable
1191
+ // from schema shape, so the LLM proposes it for every child table and every
1192
+ // one of them matches zero rows.
1193
+ const probe = await this.verifyProposedFK(schemaName, tableName, columnName, referencesSchema, referencesTable, referencesColumn);
1194
+ if (probe.Status === 'Refuted') {
1195
+ // Measured, not assumed: the probe ran and the join matches (near) nothing.
1196
+ // Dropping it here is the only place it can be dropped — once the column is
1197
+ // stamped, the introspected-FK path emits it with no gate to fail. It runs
1198
+ // before the PK block below, so a refuted proposal is not evidence against a
1199
+ // PK candidate either.
1200
+ console.log(`[AnalysisEngine] Rejecting LLM FK — probe refuted: ${schemaName}.${tableName}.${columnName} -> ${referencesSchema}.${referencesTable}.${referencesColumn} (${probe.Reason})`);
1201
+ this.onProgress(`Rejected LLM-proposed FK ${schemaName}.${tableName}.${columnName} → ${referencesTable}.${referencesColumn}: ${probe.Reason}`, { refutedKey: `${schemaName}.${tableName}.${columnName}` });
1202
+ continue;
1203
+ }
1204
+ // Verified or Unprobed both proceed. Unprobed proceeds deliberately: refusing
1205
+ // whenever the probe cannot run turns a permissions or timeout problem into
1206
+ // total key loss with no signal. It proceeds STAMPED, so a consumer can tell a
1207
+ // checked key from an unchecked one.
1208
+ const verificationStamp = StampFor('LLM', probe);
1126
1209
  if (existingPK && existingPK.status !== 'confirmed') {
1127
1210
  // PK exists but isn't confirmed — LLM suggesting it's an FK is evidence
1128
1211
  // that the PK detection was wrong. Reject the PK.
@@ -1141,6 +1224,7 @@ export class AnalysisEngine {
1141
1224
  existingFK.validatedByLLM = true;
1142
1225
  existingFK.status = 'confirmed';
1143
1226
  existingFK.confidence = Math.min(existingFK.confidence + 20, 100);
1227
+ existingFK.verification = verificationStamp;
1144
1228
  feedback.type = 'confidence_change';
1145
1229
  feedback.newConfidence = existingFK.confidence;
1146
1230
  feedback.affectedCandidates.push(`FK:${schemaName}.${tableName}.${columnName}`);
@@ -1170,17 +1254,26 @@ export class AnalysisEngine {
1170
1254
  confidence: Math.round(confidence * 100),
1171
1255
  evidence: {
1172
1256
  namingMatch: 0.9,
1173
- valueOverlap: 0,
1257
+ // Real measurements where the probe ran. These were hardcoded 0 / 0 / 0,
1258
+ // which is indistinguishable from a probe that ran and found nothing —
1259
+ // the exact conflation that let a schema of zero-match keys be emitted
1260
+ // with the same apparent confidence as a correct one.
1261
+ valueOverlap: probe.Containment ? probe.Containment.Containment : 0,
1174
1262
  cardinalityRatio: 0,
1175
1263
  dataTypeMatch: true,
1176
1264
  nullPercentage: 0,
1177
- sampleSize: 0,
1178
- orphanCount: 0,
1179
- warnings: ['Created from structured LLM output']
1265
+ sampleSize: probe.Containment ? probe.Containment.SampledValues : 0,
1266
+ orphanCount: probe.Containment
1267
+ ? probe.Containment.SampledValues - probe.Containment.MatchedValues
1268
+ : 0,
1269
+ warnings: probe.Status === 'Unprobed'
1270
+ ? ['Created from structured LLM output', `Join NOT verified: ${probe.Reason}`]
1271
+ : ['Created from structured LLM output', `Join verified: ${probe.Reason}`]
1180
1272
  },
1181
1273
  discoveredInIteration: 1,
1182
1274
  validatedByLLM: true,
1183
- status: 'confirmed'
1275
+ status: 'confirmed',
1276
+ verification: verificationStamp
1184
1277
  };
1185
1278
  discoveryPhase.discovered.foreignKeys.push(newFK);
1186
1279
  feedback.newConfidence = newFK.confidence;