@pella-labs/pinakes 0.1.9 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/cli/contradiction-cli.d.ts +11 -0
  2. package/dist/cli/contradiction-cli.d.ts.map +1 -0
  3. package/dist/cli/contradiction-cli.js +26 -0
  4. package/dist/cli/contradiction-cli.js.map +1 -0
  5. package/dist/cli/contradiction.d.ts +59 -0
  6. package/dist/cli/contradiction.d.ts.map +1 -0
  7. package/dist/cli/contradiction.js +172 -0
  8. package/dist/cli/contradiction.js.map +1 -0
  9. package/dist/cli/index.js +24 -1
  10. package/dist/cli/index.js.map +1 -1
  11. package/dist/cli/rebuild.js +16 -0
  12. package/dist/cli/rebuild.js.map +1 -1
  13. package/dist/cli/serve.js +19 -0
  14. package/dist/cli/serve.js.map +1 -1
  15. package/dist/ingest/ingester.d.ts +5 -0
  16. package/dist/ingest/ingester.d.ts.map +1 -1
  17. package/dist/ingest/ingester.js +66 -1
  18. package/dist/ingest/ingester.js.map +1 -1
  19. package/dist/llm/provider.d.ts +70 -0
  20. package/dist/llm/provider.d.ts.map +1 -0
  21. package/dist/llm/provider.js +235 -0
  22. package/dist/llm/provider.js.map +1 -0
  23. package/dist/mcp/tools/execute.d.ts.map +1 -1
  24. package/dist/mcp/tools/execute.js +21 -39
  25. package/dist/mcp/tools/execute.js.map +1 -1
  26. package/dist/mcp/tools/search.d.ts +5 -0
  27. package/dist/mcp/tools/search.d.ts.map +1 -1
  28. package/dist/mcp/tools/search.js +30 -6
  29. package/dist/mcp/tools/search.js.map +1 -1
  30. package/dist/retrieval/dedup.d.ts +25 -0
  31. package/dist/retrieval/dedup.d.ts.map +1 -0
  32. package/dist/retrieval/dedup.js +97 -0
  33. package/dist/retrieval/dedup.js.map +1 -0
  34. package/dist/retrieval/expand.d.ts +18 -0
  35. package/dist/retrieval/expand.d.ts.map +1 -0
  36. package/dist/retrieval/expand.js +89 -0
  37. package/dist/retrieval/expand.js.map +1 -0
  38. package/dist/retrieval/graph.d.ts +47 -0
  39. package/dist/retrieval/graph.d.ts.map +1 -0
  40. package/dist/retrieval/graph.js +144 -0
  41. package/dist/retrieval/graph.js.map +1 -0
  42. package/dist/retrieval/hybrid.d.ts +10 -0
  43. package/dist/retrieval/hybrid.d.ts.map +1 -1
  44. package/dist/retrieval/hybrid.js +57 -2
  45. package/dist/retrieval/hybrid.js.map +1 -1
  46. package/dist/sandbox/bindings/kg.d.ts.map +1 -1
  47. package/dist/sandbox/bindings/kg.js +10 -0
  48. package/dist/sandbox/bindings/kg.js.map +1 -1
  49. package/package.json +16 -27
@@ -0,0 +1,11 @@
1
+ import { type ContradictionResult } from './contradiction.js';
2
+ /**
3
+ * CLI wrapper for the contradiction scan command.
4
+ * Sets up DB connection and LLM provider, runs the scan, cleans up.
5
+ */
6
+ export declare function contradictionScanCommand(opts: {
7
+ scope: 'project' | 'personal';
8
+ wikiPath?: string;
9
+ dbPath?: string;
10
+ }): Promise<ContradictionResult>;
11
+ //# sourceMappingURL=contradiction-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contradiction-cli.d.ts","sourceRoot":"","sources":["../../src/cli/contradiction-cli.ts"],"names":[],"mappings":"AAGA,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEjF;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAgB/B"}
@@ -0,0 +1,26 @@
1
+ import { resolve } from 'node:path';
2
+ import { closeDb, openDb } from '../db/client.js';
3
+ import { createLlmProvider } from '../llm/provider.js';
4
+ import { contradictionScan } from './contradiction.js';
5
+ /**
6
+ * CLI wrapper for the contradiction scan command.
7
+ * Sets up DB connection and LLM provider, runs the scan, cleans up.
8
+ */
9
+ export async function contradictionScanCommand(opts) {
10
+ const wikiPath = resolve(opts.wikiPath ?? '.kg/wiki');
11
+ const dbPath = opts.dbPath ?? resolve(wikiPath, '..', 'kg.db');
12
+ const bundle = openDb(dbPath);
13
+ try {
14
+ const llmProvider = createLlmProvider();
15
+ return await contradictionScan({
16
+ bundle,
17
+ scope: opts.scope,
18
+ llmProvider,
19
+ wikiRoot: wikiPath,
20
+ });
21
+ }
22
+ finally {
23
+ closeDb(bundle);
24
+ }
25
+ }
26
+ //# sourceMappingURL=contradiction-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contradiction-cli.js","sourceRoot":"","sources":["../../src/cli/contradiction-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAA4B,MAAM,oBAAoB,CAAC;AAEjF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAI9C;IACC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;QACxC,OAAO,MAAM,iBAAiB,CAAC;YAC7B,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW;YACX,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,59 @@
1
+ import type { DbBundle } from '../db/client.js';
2
+ import type { LlmProvider } from '../llm/provider.js';
3
+ /**
4
+ * Contradiction detector CLI command (PRD Phase 8, stretch goal H).
5
+ *
6
+ * Scans wiki chunks for contradictory claims using pairwise LLM judge.
7
+ * Rate-limited to 1 scan per hour. Outputs contradictions.md to wiki root.
8
+ */
9
+ export interface ContradictionScanOpts {
10
+ bundle: DbBundle;
11
+ scope: 'project' | 'personal';
12
+ llmProvider: LlmProvider;
13
+ wikiRoot: string;
14
+ }
15
+ export interface Contradiction {
16
+ chunkA: {
17
+ id: string;
18
+ source_uri: string;
19
+ text: string;
20
+ };
21
+ chunkB: {
22
+ id: string;
23
+ source_uri: string;
24
+ text: string;
25
+ };
26
+ explanation: string;
27
+ confidence: 'high' | 'medium';
28
+ }
29
+ export interface ContradictionResult {
30
+ scanned_pairs: number;
31
+ contradictions: Contradiction[];
32
+ rate_limited: boolean;
33
+ }
34
+ /**
35
+ * Run a contradiction scan. Returns immediately if rate-limited.
36
+ */
37
+ export declare function contradictionScan(opts: ContradictionScanOpts): Promise<ContradictionResult>;
38
+ interface ChunkInfo {
39
+ id: string;
40
+ source_uri: string;
41
+ text: string;
42
+ }
43
+ interface CandidatePair {
44
+ a: ChunkInfo;
45
+ b: ChunkInfo;
46
+ }
47
+ /**
48
+ * Find candidate pairs for contradiction checking.
49
+ * Uses vector similarity to find chunks that are semantically similar
50
+ * (which is a prerequisite for them to potentially contradict).
51
+ */
52
+ declare function findCandidatePairs(bundle: DbBundle, scope: string): CandidatePair[];
53
+ declare function parseJudgment(response: string): {
54
+ contradicts: boolean;
55
+ explanation: string;
56
+ confidence: string;
57
+ } | null;
58
+ export { findCandidatePairs as _findCandidatePairs, parseJudgment as _parseJudgment };
59
+ //# sourceMappingURL=contradiction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contradiction.d.ts","sourceRoot":"","sources":["../../src/cli/contradiction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD;;;;;GAKG;AAEH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,YAAY,EAAE,OAAO,CAAC;CACvB;AAQD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAmE9B;AAMD,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,aAAa;IACrB,CAAC,EAAE,SAAS,CAAC;IACb,CAAC,EAAE,SAAS,CAAC;CACd;AAED;;;;GAIG;AACH,iBAAS,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAwD5E;AAED,iBAAS,aAAa,CACpB,QAAQ,EAAE,MAAM,GACf;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAkB1E;AAyDD,OAAO,EAAE,kBAAkB,IAAI,mBAAmB,EAAE,aAAa,IAAI,cAAc,EAAE,CAAC"}
@@ -0,0 +1,172 @@
1
+ import { logger } from '../observability/logger.js';
2
+ const RATE_LIMIT_MS = 60 * 60 * 1000; // 1 hour
3
+ const MAX_PAIRS = 50;
4
+ const SIMILARITY_THRESHOLD = 0.3;
5
+ const JUDGE_SYSTEM = `You are a contradiction detector. Given two text chunks from a knowledge wiki, determine if they contain contradictory claims. Respond with ONLY valid JSON: {"contradicts": true/false, "explanation": "why", "confidence": "high"|"medium"|"low"}. Only report contradictions you are confident about.`;
6
+ /**
7
+ * Run a contradiction scan. Returns immediately if rate-limited.
8
+ */
9
+ export async function contradictionScan(opts) {
10
+ const { bundle, scope, llmProvider, wikiRoot } = opts;
11
+ // Rate limit check
12
+ const lastScan = bundle.writer
13
+ .prepare(`SELECT value FROM kg_meta WHERE key = ?`)
14
+ .get('last_contradiction_scan');
15
+ if (lastScan) {
16
+ const lastTs = parseInt(lastScan.value, 10);
17
+ if (Date.now() - lastTs < RATE_LIMIT_MS) {
18
+ return { scanned_pairs: 0, contradictions: [], rate_limited: true };
19
+ }
20
+ }
21
+ if (!llmProvider.available()) {
22
+ throw new Error('No LLM provider available for contradiction detection. ' +
23
+ 'Set KG_OLLAMA_URL, ANTHROPIC_API_KEY, or OPENAI_API_KEY, ' +
24
+ 'or install the claude/codex CLI.');
25
+ }
26
+ // Find candidate pairs via vector similarity
27
+ const pairs = findCandidatePairs(bundle, scope);
28
+ const contradictions = [];
29
+ let scanned = 0;
30
+ for (const pair of pairs) {
31
+ try {
32
+ const response = await llmProvider.complete({
33
+ system: JUDGE_SYSTEM,
34
+ prompt: `Chunk A (from ${pair.a.source_uri}):\n${pair.a.text}\n\nChunk B (from ${pair.b.source_uri}):\n${pair.b.text}`,
35
+ maxTokens: 200,
36
+ });
37
+ const judgment = parseJudgment(response);
38
+ if (judgment && judgment.contradicts && (judgment.confidence === 'high' || judgment.confidence === 'medium')) {
39
+ contradictions.push({
40
+ chunkA: pair.a,
41
+ chunkB: pair.b,
42
+ explanation: judgment.explanation,
43
+ confidence: judgment.confidence,
44
+ });
45
+ }
46
+ scanned++;
47
+ }
48
+ catch (err) {
49
+ logger.warn({ err, pairA: pair.a.id, pairB: pair.b.id }, 'contradiction check failed for pair');
50
+ }
51
+ }
52
+ // Update rate limit timestamp
53
+ bundle.writer
54
+ .prepare(`INSERT OR REPLACE INTO kg_meta (key, value) VALUES ('last_contradiction_scan', ?)`)
55
+ .run(String(Date.now()));
56
+ // Write contradictions.md if any found
57
+ if (contradictions.length > 0) {
58
+ writeContradictionReport(wikiRoot, contradictions, bundle, scope);
59
+ }
60
+ return { scanned_pairs: scanned, contradictions, rate_limited: false };
61
+ }
62
+ /**
63
+ * Find candidate pairs for contradiction checking.
64
+ * Uses vector similarity to find chunks that are semantically similar
65
+ * (which is a prerequisite for them to potentially contradict).
66
+ */
67
+ function findCandidatePairs(bundle, scope) {
68
+ // Get all chunks with their vec embeddings
69
+ const chunks = bundle.writer
70
+ .prepare(`SELECT c.id, n.source_uri, c.text, c.rowid
71
+ FROM kg_chunks c
72
+ JOIN kg_nodes n ON c.node_id = n.id
73
+ WHERE n.scope = ?
74
+ ORDER BY c.rowid`)
75
+ .all(scope);
76
+ if (chunks.length < 2)
77
+ return [];
78
+ // For each chunk, find the top 5 most similar via vec
79
+ const pairs = new Set();
80
+ const result = [];
81
+ for (const chunk of chunks) {
82
+ if (result.length >= MAX_PAIRS)
83
+ break;
84
+ const similar = bundle.writer
85
+ .prepare(`SELECT rowid, distance
86
+ FROM kg_chunks_vec
87
+ WHERE embedding MATCH (SELECT embedding FROM kg_chunks_vec WHERE rowid = ?)
88
+ AND k = ?
89
+ ORDER BY distance`)
90
+ .all(chunk.rowid, 6); // 6 because first result is self
91
+ for (const sim of similar) {
92
+ if (sim.rowid === chunk.rowid)
93
+ continue;
94
+ if (sim.distance > SIMILARITY_THRESHOLD)
95
+ continue;
96
+ // Deduplicate symmetric pairs
97
+ const pairKey = [chunk.rowid, sim.rowid].sort().join(':');
98
+ if (pairs.has(pairKey))
99
+ continue;
100
+ pairs.add(pairKey);
101
+ const other = chunks.find((c) => c.rowid === sim.rowid);
102
+ if (!other)
103
+ continue;
104
+ // Skip same-source pairs (they're likely just adjacent sections)
105
+ if (chunk.source_uri === other.source_uri)
106
+ continue;
107
+ result.push({
108
+ a: { id: chunk.id, source_uri: chunk.source_uri, text: chunk.text },
109
+ b: { id: other.id, source_uri: other.source_uri, text: other.text },
110
+ });
111
+ if (result.length >= MAX_PAIRS)
112
+ break;
113
+ }
114
+ }
115
+ return result;
116
+ }
117
+ function parseJudgment(response) {
118
+ try {
119
+ const match = response.match(/\{[\s\S]*\}/);
120
+ if (!match)
121
+ return null;
122
+ const parsed = JSON.parse(match[0]);
123
+ if (typeof parsed.contradicts !== 'boolean')
124
+ return null;
125
+ return {
126
+ contradicts: parsed.contradicts,
127
+ explanation: parsed.explanation ?? '',
128
+ confidence: parsed.confidence ?? 'low',
129
+ };
130
+ }
131
+ catch {
132
+ return null;
133
+ }
134
+ }
135
+ function writeContradictionReport(wikiRoot, contradictions, bundle, scope) {
136
+ const { writeFileSync } = require('node:fs');
137
+ const { join } = require('node:path');
138
+ const lines = [
139
+ '# Detected Contradictions',
140
+ '',
141
+ `*Last scanned: ${new Date().toISOString()}*`,
142
+ '',
143
+ ];
144
+ for (const c of contradictions) {
145
+ lines.push(`## ${c.chunkA.source_uri} vs ${c.chunkB.source_uri}`);
146
+ lines.push('');
147
+ lines.push(`- **Chunk A** (${c.chunkA.source_uri}): "${truncate(c.chunkA.text, 200)}"`);
148
+ lines.push(`- **Chunk B** (${c.chunkB.source_uri}): "${truncate(c.chunkB.text, 200)}"`);
149
+ lines.push(`- **Explanation**: ${c.explanation}`);
150
+ lines.push(`- **Confidence**: ${c.confidence}`);
151
+ lines.push('');
152
+ }
153
+ writeFileSync(join(wikiRoot, 'contradictions.md'), lines.join('\n'), 'utf8');
154
+ // Log the scan
155
+ try {
156
+ bundle.writer
157
+ .prepare(`INSERT INTO kg_log (ts, scope, kind, source_uri, payload)
158
+ VALUES (?, ?, 'contradiction:scan', NULL, ?)`)
159
+ .run(Date.now(), scope, JSON.stringify({ contradictions_found: contradictions.length }));
160
+ }
161
+ catch {
162
+ // Non-fatal
163
+ }
164
+ }
165
+ function truncate(s, maxLen) {
166
+ if (s.length <= maxLen)
167
+ return s;
168
+ return s.slice(0, maxLen) + '...';
169
+ }
170
+ // Export for testing
171
+ export { findCandidatePairs as _findCandidatePairs, parseJudgment as _parseJudgment };
172
+ //# sourceMappingURL=contradiction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contradiction.js","sourceRoot":"","sources":["../../src/cli/contradiction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AA6BpD,MAAM,aAAa,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AAC/C,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,MAAM,YAAY,GAAG,0SAA0S,CAAC;AAEhU;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAA2B;IAE3B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAEtD,mBAAmB;IACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM;SAC3B,OAAO,CACN,yCAAyC,CAC1C;SACA,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAElC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,aAAa,EAAE,CAAC;YACxC,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QACtE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,yDAAyD;YACvD,2DAA2D;YAC3D,kCAAkC,CACrC,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhD,MAAM,cAAc,GAAoB,EAAE,CAAC;IAC3C,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC;gBAC1C,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,iBAAiB,IAAI,CAAC,CAAC,CAAC,UAAU,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,qBAAqB,IAAI,CAAC,CAAC,CAAC,UAAU,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;gBACtH,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,QAAQ,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC7G,cAAc,CAAC,IAAI,CAAC;oBAClB,MAAM,EAAE,IAAI,CAAC,CAAC;oBACd,MAAM,EAAE,IAAI,CAAC,CAAC;oBACd,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;iBAChC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,qCAAqC,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,MAAM,CAAC,MAAM;SACV,OAAO,CACN,mFAAmF,CACpF;SACA,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAE3B,uCAAuC;IACvC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,wBAAwB,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AACzE,CAAC;AAiBD;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,MAAgB,EAAE,KAAa;IACzD,2CAA2C;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;SACzB,OAAO,CACN;;;;wBAIkB,CACnB;SACA,GAAG,CAAC,KAAK,CAAC,CAAC;IAEd,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,sDAAsD;IACtD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS;YAAE,MAAM;QAEtC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM;aAC1B,OAAO,CACN;;;;2BAImB,CACpB;aACA,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,iCAAiC;QAEzD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;gBAAE,SAAS;YACxC,IAAI,GAAG,CAAC,QAAQ,GAAG,oBAAoB;gBAAE,SAAS;YAElD,8BAA8B;YAC9B,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1D,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YACjC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEnB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,iEAAiE;YACjE,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;gBAAE,SAAS;YAEpD,MAAM,CAAC,IAAI,CAAC;gBACV,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;gBACnE,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;aACpE,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS;gBAAE,MAAM;QACxC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CACpB,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAIjC,CAAC;QACF,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACzD,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;YACrC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,KAAK;SACvC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAgB,EAChB,cAA+B,EAC/B,MAAgB,EAChB,KAAa;IAEb,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,SAAS,CAA6B,CAAC;IACzE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,WAAW,CAA+B,CAAC;IAEpE,MAAM,KAAK,GAAG;QACZ,2BAA2B;QAC3B,EAAE;QACF,kBAAkB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG;QAC7C,EAAE;KACH,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,kBAAkB,CAAC,CAAC,MAAM,CAAC,UAAU,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAC5E,CAAC;QACF,KAAK,CAAC,IAAI,CACR,kBAAkB,CAAC,CAAC,MAAM,CAAC,UAAU,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAC5E,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAE7E,eAAe;IACf,IAAI,CAAC;QACH,MAAM,CAAC,MAAM;aACV,OAAO,CACN;sDAC8C,CAC/C;aACA,GAAG,CACF,IAAI,CAAC,GAAG,EAAE,EACV,KAAK,EACL,IAAI,CAAC,SAAS,CAAC,EAAE,oBAAoB,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAChE,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,MAAc;IACzC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;AACpC,CAAC;AAED,qBAAqB;AACrB,OAAO,EAAE,kBAAkB,IAAI,mBAAmB,EAAE,aAAa,IAAI,cAAc,EAAE,CAAC"}
package/dist/cli/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { auditCommand, renderAudit } from './audit.js';
3
+ import { contradictionScanCommand } from './contradiction-cli.js';
3
4
  import { exportCommand, renderExport } from './export.js';
4
5
  import { importCommand, renderImport } from './import.js';
5
6
  import { purgeCommand, renderPurge } from './purge.js';
@@ -143,6 +144,27 @@ async function main() {
143
144
  console.log(renderImport(result));
144
145
  break;
145
146
  }
147
+ case 'contradiction-scan': {
148
+ const scope = (getString(flags, 'scope') ?? 'project');
149
+ const result = await contradictionScanCommand({
150
+ scope,
151
+ wikiPath: getString(flags, 'wiki-path'),
152
+ dbPath: getString(flags, 'db-path'),
153
+ });
154
+ if (result.rate_limited) {
155
+ // eslint-disable-next-line no-console
156
+ console.log('Rate limited — last scan was less than 1 hour ago.');
157
+ }
158
+ else {
159
+ // eslint-disable-next-line no-console
160
+ console.log(`Scanned ${result.scanned_pairs} pairs, found ${result.contradictions.length} contradictions.`);
161
+ if (result.contradictions.length > 0) {
162
+ // eslint-disable-next-line no-console
163
+ console.log('Wrote contradictions.md to wiki root.');
164
+ }
165
+ }
166
+ break;
167
+ }
146
168
  case undefined:
147
169
  case 'help':
148
170
  case '-h':
@@ -157,7 +179,8 @@ Usage:
157
179
  kg audit [--tail] [--n <count>] [--scope project|personal] [--db-path <path>]
158
180
  kg purge --scope <project|personal> --confirm [--db-path <path>]
159
181
  kg export --scope <project|personal> [--out file.json] [--db-path <path>]
160
- kg import --scope <project|personal> --in file.json [--db-path <path>]`);
182
+ kg import --scope <project|personal> --in file.json [--db-path <path>]
183
+ kg contradiction-scan [--scope project|personal] [--wiki-path <dir>] [--db-path <path>]`);
161
184
  break;
162
185
  }
163
186
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,22 @@ async function rebuildOneScope(args) {
52
52
  const t0 = Date.now();
53
53
  const bundle = openDb(dbPath);
54
54
  try {
55
+ // Clean up legacy absolute file:// URIs before rebuild (0.1.9+ migration).
56
+ if (scope === 'project') {
57
+ try {
58
+ const orphaned = bundle.writer
59
+ .prepare("SELECT COUNT(*) AS cnt FROM kg_nodes WHERE scope = 'project' AND source_uri LIKE 'file://%'")
60
+ .get();
61
+ if (orphaned.cnt > 0) {
62
+ logger.info({ count: orphaned.cnt }, 'rebuild: deleting legacy absolute-path rows');
63
+ bundle.writer.exec("DELETE FROM kg_chunks_vec WHERE rowid IN (SELECT c.rowid FROM kg_chunks c JOIN kg_nodes n ON c.node_id = n.id WHERE n.scope = 'project' AND n.source_uri LIKE 'file://%')");
64
+ bundle.writer.exec("DELETE FROM kg_nodes WHERE scope = 'project' AND source_uri LIKE 'file://%'");
65
+ }
66
+ }
67
+ catch (err) {
68
+ logger.warn({ err }, 'legacy URI cleanup failed — continuing');
69
+ }
70
+ }
55
71
  const ingester = new IngesterService(bundle, embedder, scope, wikiDir);
56
72
  const files = listMarkdownFiles(wikiDir);
57
73
  let nodes = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"rebuild.js","sourceRoot":"","sources":["../../src/cli/rebuild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rebuild.js","sourceRoot":"","sources":["../../src/cli/rebuild.ts"],"names":[],"mappings":"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"}
package/dist/cli/serve.js CHANGED
@@ -183,6 +183,25 @@ function makeOnEvent(ingester) {
183
183
  };
184
184
  }
185
185
  async function runStartupConsistency(ingester, wikiDir, scope, writer) {
186
+ // Migrate legacy absolute file:// URIs to relative paths (0.1.9+).
187
+ // Old project-scope rows have source_uri like "file:///abs/path/auth.md";
188
+ // new rows use relative paths like "auth.md". Delete the orphans so they
189
+ // don't pollute search results after re-ingest.
190
+ if (scope === 'project' && writer) {
191
+ try {
192
+ const orphaned = writer
193
+ .prepare("SELECT COUNT(*) AS cnt FROM kg_nodes WHERE scope = 'project' AND source_uri LIKE 'file://%'")
194
+ .get();
195
+ if (orphaned.cnt > 0) {
196
+ logger.info({ count: orphaned.cnt }, 'migrating legacy absolute-path rows — deleting orphans before re-ingest');
197
+ writer.exec("DELETE FROM kg_chunks_vec WHERE rowid IN (SELECT c.rowid FROM kg_chunks c JOIN kg_nodes n ON c.node_id = n.id WHERE n.scope = 'project' AND n.source_uri LIKE 'file://%')");
198
+ writer.exec("DELETE FROM kg_nodes WHERE scope = 'project' AND source_uri LIKE 'file://%'");
199
+ }
200
+ }
201
+ catch (err) {
202
+ logger.warn({ err }, 'legacy URI migration check failed — continuing');
203
+ }
204
+ }
186
205
  ingester.reloadManifest();
187
206
  const manifest = ingester.getManifest();
188
207
  const stale = checkConsistency(manifest, wikiDir, scope, writer);
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/cli/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/cli/serve.ts"],"names":[],"mappings":"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"}
@@ -112,6 +112,11 @@ export declare class IngesterService {
112
112
  * caller passes `--clean` to force a full re-ingest from scratch.
113
113
  */
114
114
  export declare function freshManifest(): Manifest;
115
+ /**
116
+ * Extract wikilink targets from markdown content.
117
+ * Returns deduplicated, normalized (trimmed, lowercase) link targets.
118
+ */
119
+ export declare function extractWikilinks(content: string): string[];
115
120
  export type { ChunkText };
116
121
  export { manifestPathFor };
117
122
  export { fileSha };
@@ -1 +1 @@
1
- {"version":3,"file":"ingester.d.ts","sourceRoot":"","sources":["../../src/ingest/ingester.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EACL,KAAK,QAAQ,EAGb,OAAO,EACP,eAAe,EAOhB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAgB,KAAK,KAAK,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAMH,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAoBD,gFAAgF;AAChF,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAMD,qBAAa,eAAe;IAMxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAPxB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAGf,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB;IAO/B;;;;;;OAMG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAsBxD;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAcjC;;;OAGG;IACH,WAAW,IAAI,QAAQ;IAIvB;;;OAGG;IACH,cAAc,IAAI,IAAI;YAQR,cAAc;IAkM5B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IA4B9B,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,SAAS;CAYlB;AAsCD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,QAAQ,CAExC;AAGD,YAAY,EAAE,SAAS,EAAE,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"ingester.d.ts","sourceRoot":"","sources":["../../src/ingest/ingester.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EACL,KAAK,QAAQ,EAGb,OAAO,EACP,eAAe,EAOhB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAgB,KAAK,KAAK,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAMH,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAoBD,gFAAgF;AAChF,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAMD,qBAAa,eAAe;IAMxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAPxB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAGf,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB;IAO/B;;;;;;OAMG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAsBxD;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAcjC;;;OAGG;IACH,WAAW,IAAI,QAAQ;IAIvB;;;OAGG;IACH,cAAc,IAAI,IAAI;YAQR,cAAc;IAmO5B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IA4B9B,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,SAAS;CAYlB;AAsCD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,QAAQ,CAExC;AASD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAO1D;AAiCD,YAAY,EAAE,SAAS,EAAE,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -166,7 +166,7 @@ export class IngesterService {
166
166
  }
167
167
  }
168
168
  }
169
- // Step 6: transaction — delete-then-insert nodes/chunks/vec for this file
169
+ // Step 6: transaction — delete-then-insert nodes/chunks/vec/edges for this file
170
170
  const now = Date.now();
171
171
  const totalChunks = planned.reduce((acc, n) => acc + n.chunks.length, 0);
172
172
  this.runInTransaction((w) => {
@@ -183,6 +183,17 @@ export class IngesterService {
183
183
  w.prepare(`DELETE FROM kg_chunks_vec WHERE rowid IN (${placeholders})`).run(...oldRowids.map((r) => r.rowid));
184
184
  }
185
185
  // Delete old nodes for this file (cascades to chunks → FTS5 trigger fires).
186
+ // Also delete outbound edges from this file's nodes (edges don't cascade
187
+ // from kg_nodes FK — they reference src_id/dst_id without ON DELETE CASCADE
188
+ // on dst_id, so we delete src edges explicitly).
189
+ const oldNodeIds = w
190
+ .prepare(`SELECT id FROM kg_nodes WHERE scope = ? AND source_uri = ?`)
191
+ .all(this.scope, sourceUri)
192
+ .map((r) => r.id);
193
+ if (oldNodeIds.length > 0) {
194
+ const ph = oldNodeIds.map(() => '?').join(',');
195
+ w.prepare(`DELETE FROM kg_edges WHERE src_id IN (${ph})`).run(...oldNodeIds);
196
+ }
186
197
  w.prepare('DELETE FROM kg_nodes WHERE scope = ? AND source_uri = ?').run(this.scope, sourceUri);
187
198
  // Insert new nodes
188
199
  const insertNode = w.prepare(`INSERT INTO kg_nodes (id, scope, source_uri, section_path, kind, title, content, source_sha, token_count, created_at, updated_at, last_accessed_at, confidence)
@@ -211,6 +222,20 @@ export class IngesterService {
211
222
  }
212
223
  }
213
224
  }
225
+ // Step 6.5: wikilink edge extraction (D39)
226
+ // Scan each node's content for [[wikilinks]], resolve targets to
227
+ // existing node IDs, and insert edges. Unresolved links are silently
228
+ // skipped (gap detector already surfaces those).
229
+ const insertEdge = w.prepare(`INSERT OR IGNORE INTO kg_edges (src_id, dst_id, edge_kind) VALUES (?, ?, 'wikilink')`);
230
+ for (const node of planned) {
231
+ const links = extractWikilinks(node.section.content);
232
+ for (const linkTarget of links) {
233
+ const dstId = resolveWikilinkTarget(w, this.scope, linkTarget);
234
+ if (dstId && dstId !== node.nodeId) {
235
+ insertEdge.run(node.nodeId, dstId);
236
+ }
237
+ }
238
+ }
214
239
  });
215
240
  // Step 7: append kg_log row
216
241
  this.appendLog('ingest:done', absPath, {
@@ -309,6 +334,46 @@ function sha1(input) {
309
334
  export function freshManifest() {
310
335
  return emptyManifest();
311
336
  }
337
+ // ----------------------------------------------------------------------------
338
+ // Wikilink extraction + resolution (D39)
339
+ // ----------------------------------------------------------------------------
340
+ /** Wikilink regex: [[term]] or [[term|display]] — reuses pattern from gaps/detector.ts */
341
+ const WIKILINK_RE = /\[\[([^\]|]+)(?:\|[^\]]+)?\]\]/g;
342
+ /**
343
+ * Extract wikilink targets from markdown content.
344
+ * Returns deduplicated, normalized (trimmed, lowercase) link targets.
345
+ */
346
+ export function extractWikilinks(content) {
347
+ const targets = new Set();
348
+ for (const m of content.matchAll(WIKILINK_RE)) {
349
+ const target = (m[1] ?? '').trim().toLowerCase();
350
+ if (target.length >= 1)
351
+ targets.add(target);
352
+ }
353
+ return [...targets];
354
+ }
355
+ /**
356
+ * Resolve a wikilink target string to a node ID. Checks:
357
+ * 1. source_uri basename match (e.g. "auth" → "auth.md")
358
+ * 2. title match (case-insensitive)
359
+ *
360
+ * Returns the first matching node ID, or null if unresolved.
361
+ */
362
+ function resolveWikilinkTarget(w, scope, target) {
363
+ // Try source_uri basename match: "auth" should match "auth.md" or "guides/auth.md"
364
+ // We match the last path component without .md extension.
365
+ const withMd = target.endsWith('.md') ? target : `${target}.md`;
366
+ const row = w
367
+ .prepare(`SELECT id FROM kg_nodes
368
+ WHERE scope = ? AND (
369
+ source_uri = ? OR
370
+ source_uri LIKE ? OR
371
+ LOWER(title) = ?
372
+ )
373
+ LIMIT 1`)
374
+ .get(scope, withMd, `%/${withMd}`, target);
375
+ return row?.id ?? null;
376
+ }
312
377
  export { manifestPathFor };
313
378
  export { fileSha };
314
379
  //# sourceMappingURL=ingester.js.map