@derwinjs/db 0.4.0 → 0.5.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.
- package/dist/rag-retriever.d.ts +44 -0
- package/dist/rag-retriever.d.ts.map +1 -0
- package/dist/rag-retriever.js +177 -0
- package/dist/rag-retriever.js.map +1 -0
- package/dist/scripts/smoke-auto-fix.js +2 -0
- package/dist/scripts/smoke-auto-fix.js.map +1 -1
- package/dist/scripts/smoke-learning-loop.js +2 -0
- package/dist/scripts/smoke-learning-loop.js.map +1 -1
- package/package.json +3 -3
- package/prisma/migrations/20260506180000_enable_pgvector_and_vector_column/migration.sql +12 -0
- package/prisma/schema.prisma +10 -7
- package/prisma-client/edge.js +3 -4
- package/prisma-client/index-browser.js +0 -1
- package/prisma-client/index.d.ts +0 -80
- package/prisma-client/index.js +3 -4
- package/prisma-client/package.json +1 -1
- package/prisma-client/schema.prisma +10 -7
- package/prisma-client/wasm.js +0 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RAGRetriever — Prisma implementation against Derwin's RAGCorpus table,
|
|
3
|
+
* backed by pgvector.
|
|
4
|
+
*
|
|
5
|
+
* QAP-Sprint5 Phase 2. Implements the RAGRetriever contract from
|
|
6
|
+
* @derwinjs/sdk (see packages/sdk/src/types/rag-retriever.ts) against the
|
|
7
|
+
* @derwinjs/db Prisma client. Sprint 5 Phase 1 enabled the pgvector
|
|
8
|
+
* extension and migrated `rag_corpus.embedding` to `vector(1536)`. The
|
|
9
|
+
* generated client types this column as `Unsupported("vector(1536)")?` —
|
|
10
|
+
* standard model.* methods cannot read or write it. We therefore go
|
|
11
|
+
* through `$queryRaw` / `$executeRaw` for both paths. The HNSW index from
|
|
12
|
+
* the same migration is configured with `vector_cosine_ops` to back the
|
|
13
|
+
* `<=>` cosine-distance operator we use in the ORDER BY / similarity
|
|
14
|
+
* computation.
|
|
15
|
+
*
|
|
16
|
+
* Query convention (read path):
|
|
17
|
+
*
|
|
18
|
+
* ORDER BY embedding <=> $vec::vector -- smallest distance first
|
|
19
|
+
* 1 - (embedding <=> $vec::vector) AS similarity -- 0..1 cosine sim
|
|
20
|
+
*
|
|
21
|
+
* For the read path we use `Prisma.sql` template-tag + parameterized
|
|
22
|
+
* vector literal cast to `::vector`. PostgreSQL accepts `$N::vector` —
|
|
23
|
+
* the cast applies to the bound parameter at execution. The vector text
|
|
24
|
+
* format pgvector accepts is `[0.1,0.2,...]`. This keeps the value
|
|
25
|
+
* parameterized (no string concatenation, no SQL injection surface) while
|
|
26
|
+
* still letting us hit the HNSW index. The conditional surface filter is
|
|
27
|
+
* spliced in via `Prisma.sql` / `Prisma.empty` so the SQL stays a single
|
|
28
|
+
* template-tag chain. We deliberately do NOT use `$queryRawUnsafe` — the
|
|
29
|
+
* `Prisma.sql` path is type-checked, parameterized, and survives the
|
|
30
|
+
* vitest-mock-extended mock just as cleanly.
|
|
31
|
+
*
|
|
32
|
+
* Tenant isolation: every method scopes by projectId in the WHERE clause.
|
|
33
|
+
* Pattern D — findSimilar surfaces an empty array for cross-tenant misses
|
|
34
|
+
* (Postgres simply returns no rows when projectId doesn't match), never
|
|
35
|
+
* throws on tenant mismatch (defense-in-depth against tenant enumeration).
|
|
36
|
+
*/
|
|
37
|
+
import { type PrismaClient } from './prisma.js';
|
|
38
|
+
import { type RAGRetriever } from '@derwinjs/sdk';
|
|
39
|
+
export interface PrismaRAGRetrieverConfig {
|
|
40
|
+
/** Generated Prisma client. Pass an instance per process. */
|
|
41
|
+
prisma: PrismaClient;
|
|
42
|
+
}
|
|
43
|
+
export declare function createPrismaRAGRetriever(config: PrismaRAGRetrieverConfig): RAGRetriever;
|
|
44
|
+
//# sourceMappingURL=rag-retriever.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rag-retriever.d.ts","sourceRoot":"","sources":["../src/rag-retriever.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAGL,KAAK,YAAY,EAGlB,MAAM,eAAe,CAAC;AASvB,MAAM,WAAW,wBAAwB;IACvC,6DAA6D;IAC7D,MAAM,EAAE,YAAY,CAAC;CACtB;AAiBD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,wBAAwB,GAAG,YAAY,CAuGvF"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RAGRetriever — Prisma implementation against Derwin's RAGCorpus table,
|
|
3
|
+
* backed by pgvector.
|
|
4
|
+
*
|
|
5
|
+
* QAP-Sprint5 Phase 2. Implements the RAGRetriever contract from
|
|
6
|
+
* @derwinjs/sdk (see packages/sdk/src/types/rag-retriever.ts) against the
|
|
7
|
+
* @derwinjs/db Prisma client. Sprint 5 Phase 1 enabled the pgvector
|
|
8
|
+
* extension and migrated `rag_corpus.embedding` to `vector(1536)`. The
|
|
9
|
+
* generated client types this column as `Unsupported("vector(1536)")?` —
|
|
10
|
+
* standard model.* methods cannot read or write it. We therefore go
|
|
11
|
+
* through `$queryRaw` / `$executeRaw` for both paths. The HNSW index from
|
|
12
|
+
* the same migration is configured with `vector_cosine_ops` to back the
|
|
13
|
+
* `<=>` cosine-distance operator we use in the ORDER BY / similarity
|
|
14
|
+
* computation.
|
|
15
|
+
*
|
|
16
|
+
* Query convention (read path):
|
|
17
|
+
*
|
|
18
|
+
* ORDER BY embedding <=> $vec::vector -- smallest distance first
|
|
19
|
+
* 1 - (embedding <=> $vec::vector) AS similarity -- 0..1 cosine sim
|
|
20
|
+
*
|
|
21
|
+
* For the read path we use `Prisma.sql` template-tag + parameterized
|
|
22
|
+
* vector literal cast to `::vector`. PostgreSQL accepts `$N::vector` —
|
|
23
|
+
* the cast applies to the bound parameter at execution. The vector text
|
|
24
|
+
* format pgvector accepts is `[0.1,0.2,...]`. This keeps the value
|
|
25
|
+
* parameterized (no string concatenation, no SQL injection surface) while
|
|
26
|
+
* still letting us hit the HNSW index. The conditional surface filter is
|
|
27
|
+
* spliced in via `Prisma.sql` / `Prisma.empty` so the SQL stays a single
|
|
28
|
+
* template-tag chain. We deliberately do NOT use `$queryRawUnsafe` — the
|
|
29
|
+
* `Prisma.sql` path is type-checked, parameterized, and survives the
|
|
30
|
+
* vitest-mock-extended mock just as cleanly.
|
|
31
|
+
*
|
|
32
|
+
* Tenant isolation: every method scopes by projectId in the WHERE clause.
|
|
33
|
+
* Pattern D — findSimilar surfaces an empty array for cross-tenant misses
|
|
34
|
+
* (Postgres simply returns no rows when projectId doesn't match), never
|
|
35
|
+
* throws on tenant mismatch (defense-in-depth against tenant enumeration).
|
|
36
|
+
*/
|
|
37
|
+
import { Prisma } from './prisma.js';
|
|
38
|
+
import { RAGRetrieverError, } from '@derwinjs/sdk';
|
|
39
|
+
// ─── Constants ────────────────────────────────────────────────────────────
|
|
40
|
+
const EMBEDDING_DIM = 1536;
|
|
41
|
+
const DEFAULT_TOP_K = 5;
|
|
42
|
+
// ─── Factory ─────────────────────────────────────────────────────────────
|
|
43
|
+
export function createPrismaRAGRetriever(config) {
|
|
44
|
+
const { prisma } = config;
|
|
45
|
+
return {
|
|
46
|
+
async findSimilar(input) {
|
|
47
|
+
validateFindSimilarInput(input);
|
|
48
|
+
const limit = input.limit ?? DEFAULT_TOP_K;
|
|
49
|
+
const vectorLiteral = formatVectorLiteral(input.queryEmbedding);
|
|
50
|
+
// Surface filter is optional — splice it in via Prisma.sql or
|
|
51
|
+
// Prisma.empty so the rest of the template chain stays parameterized.
|
|
52
|
+
const surfaceFilter = input.surface
|
|
53
|
+
? Prisma.sql `AND surface::text = ${input.surface}`
|
|
54
|
+
: Prisma.empty;
|
|
55
|
+
const rows = await prisma.$queryRaw(Prisma.sql `
|
|
56
|
+
SELECT
|
|
57
|
+
id,
|
|
58
|
+
classification,
|
|
59
|
+
surface::text AS surface,
|
|
60
|
+
"promptText",
|
|
61
|
+
diff,
|
|
62
|
+
"outcomeQuality",
|
|
63
|
+
"addedAt",
|
|
64
|
+
(1 - (embedding <=> ${vectorLiteral}::vector))::float8 AS similarity
|
|
65
|
+
FROM "derwin"."rag_corpus"
|
|
66
|
+
WHERE "projectId" = ${input.projectId}
|
|
67
|
+
AND classification = ${input.classification}
|
|
68
|
+
${surfaceFilter}
|
|
69
|
+
ORDER BY embedding <=> ${vectorLiteral}::vector
|
|
70
|
+
LIMIT ${limit}
|
|
71
|
+
`);
|
|
72
|
+
// Defensive shape coercion — the raw projection should already match,
|
|
73
|
+
// but we copy through the SDK type to ensure consumers never receive
|
|
74
|
+
// an opaque Prisma row.
|
|
75
|
+
return rows.map((r) => ({
|
|
76
|
+
id: r.id,
|
|
77
|
+
classification: r.classification,
|
|
78
|
+
surface: r.surface,
|
|
79
|
+
promptText: r.promptText,
|
|
80
|
+
diff: r.diff,
|
|
81
|
+
outcomeQuality: r.outcomeQuality,
|
|
82
|
+
addedAt: r.addedAt,
|
|
83
|
+
similarity: r.similarity,
|
|
84
|
+
}));
|
|
85
|
+
},
|
|
86
|
+
async persist(input) {
|
|
87
|
+
validatePersistInput(input);
|
|
88
|
+
const id = generateId();
|
|
89
|
+
const vectorLiteral = formatVectorLiteral(input.embedding);
|
|
90
|
+
try {
|
|
91
|
+
await prisma.$executeRaw(Prisma.sql `
|
|
92
|
+
INSERT INTO "derwin"."rag_corpus"
|
|
93
|
+
(id, "projectId", classification, surface, "promptText", diff, embedding, "fixAttemptId", "outcomeQuality", "addedAt")
|
|
94
|
+
VALUES
|
|
95
|
+
(
|
|
96
|
+
${id},
|
|
97
|
+
${input.projectId},
|
|
98
|
+
${input.classification},
|
|
99
|
+
${input.surface}::"derwin"."SurfaceCategory",
|
|
100
|
+
${input.promptText},
|
|
101
|
+
${input.diff},
|
|
102
|
+
${vectorLiteral}::vector,
|
|
103
|
+
${input.fixAttemptId},
|
|
104
|
+
${input.outcomeQuality},
|
|
105
|
+
NOW()
|
|
106
|
+
)
|
|
107
|
+
`);
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
// Map FK violations. Postgres surfaces them via the SQLSTATE 23503
|
|
111
|
+
// class; Prisma wraps that into PrismaClientKnownRequestError P2003
|
|
112
|
+
// when the model has an explicit relation, but for raw SQL we may
|
|
113
|
+
// see the underlying message. Match on either signal.
|
|
114
|
+
if (err instanceof Prisma.PrismaClientKnownRequestError &&
|
|
115
|
+
(err.code === 'P2003' || /foreign key/i.test(err.message))) {
|
|
116
|
+
throw new RAGRetrieverError('fk_violation', 'fixAttemptId or projectId not found — foreign key violation', err);
|
|
117
|
+
}
|
|
118
|
+
if (err instanceof Error && /foreign key|fk constraint|constraint/i.test(err.message)) {
|
|
119
|
+
throw new RAGRetrieverError('fk_violation', 'fixAttemptId or projectId not found — foreign key violation', err);
|
|
120
|
+
}
|
|
121
|
+
throw err;
|
|
122
|
+
}
|
|
123
|
+
return { id };
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────
|
|
128
|
+
/** pgvector accepts `[v1,v2,...]` as the text representation of a vector. */
|
|
129
|
+
function formatVectorLiteral(values) {
|
|
130
|
+
return '[' + values.join(',') + ']';
|
|
131
|
+
}
|
|
132
|
+
/** cuid-ish id; deterministic shape so callers can pattern-match in logs. */
|
|
133
|
+
function generateId() {
|
|
134
|
+
return `rag_${String(Date.now())}_${Math.random().toString(36).slice(2, 11)}`;
|
|
135
|
+
}
|
|
136
|
+
function validateFindSimilarInput(input) {
|
|
137
|
+
if (typeof input.projectId !== 'string' || !input.projectId.trim()) {
|
|
138
|
+
throw new RAGRetrieverError('invalid_input', 'projectId is required');
|
|
139
|
+
}
|
|
140
|
+
if (typeof input.classification !== 'string' || !input.classification.trim()) {
|
|
141
|
+
throw new RAGRetrieverError('invalid_input', 'classification is required');
|
|
142
|
+
}
|
|
143
|
+
if (!Array.isArray(input.queryEmbedding) || input.queryEmbedding.length !== EMBEDDING_DIM) {
|
|
144
|
+
const actual = Array.isArray(input.queryEmbedding)
|
|
145
|
+
? String(input.queryEmbedding.length)
|
|
146
|
+
: 'non-array';
|
|
147
|
+
throw new RAGRetrieverError('invalid_embedding_length', `queryEmbedding must be ${String(EMBEDDING_DIM)}-dim, got ${actual}`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
function validatePersistInput(input) {
|
|
151
|
+
if (typeof input.projectId !== 'string' || !input.projectId.trim()) {
|
|
152
|
+
throw new RAGRetrieverError('invalid_input', 'projectId is required');
|
|
153
|
+
}
|
|
154
|
+
if (typeof input.classification !== 'string' || !input.classification.trim()) {
|
|
155
|
+
throw new RAGRetrieverError('invalid_input', 'classification is required');
|
|
156
|
+
}
|
|
157
|
+
if (typeof input.surface !== 'string' || !input.surface.trim()) {
|
|
158
|
+
throw new RAGRetrieverError('invalid_input', 'surface is required');
|
|
159
|
+
}
|
|
160
|
+
if (typeof input.promptText !== 'string' || !input.promptText.trim()) {
|
|
161
|
+
throw new RAGRetrieverError('invalid_input', 'promptText is required');
|
|
162
|
+
}
|
|
163
|
+
if (typeof input.diff !== 'string' || !input.diff.trim()) {
|
|
164
|
+
throw new RAGRetrieverError('invalid_input', 'diff is required');
|
|
165
|
+
}
|
|
166
|
+
if (typeof input.fixAttemptId !== 'string' || !input.fixAttemptId.trim()) {
|
|
167
|
+
throw new RAGRetrieverError('invalid_input', 'fixAttemptId is required');
|
|
168
|
+
}
|
|
169
|
+
if (typeof input.outcomeQuality !== 'number' || Number.isNaN(input.outcomeQuality)) {
|
|
170
|
+
throw new RAGRetrieverError('invalid_input', 'outcomeQuality must be a number');
|
|
171
|
+
}
|
|
172
|
+
if (!Array.isArray(input.embedding) || input.embedding.length !== EMBEDDING_DIM) {
|
|
173
|
+
const actual = Array.isArray(input.embedding) ? String(input.embedding.length) : 'non-array';
|
|
174
|
+
throw new RAGRetrieverError('invalid_embedding_length', `embedding must be ${String(EMBEDDING_DIM)}-dim, got ${actual}`);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=rag-retriever.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rag-retriever.js","sourceRoot":"","sources":["../src/rag-retriever.ts"],"names":[],"mappings":"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"}
|
|
@@ -89,6 +89,8 @@ const stubRepo = {
|
|
|
89
89
|
throw new Error('smoke: stubRepo.describeRepo called — DRY_RUN should not reach repo');
|
|
90
90
|
},
|
|
91
91
|
fetchPRDiff: (_prNumber) => Promise.resolve(null),
|
|
92
|
+
fetchFile: () => Promise.resolve(null),
|
|
93
|
+
fetchFileHistory: () => Promise.resolve(null),
|
|
92
94
|
};
|
|
93
95
|
// ─── Wiring ───────────────────────────────────────────────────────────────
|
|
94
96
|
const prisma = new PrismaClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smoke-auto-fix.js","sourceRoot":"","sources":["../../src/scripts/smoke-auto-fix.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAWrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,6EAA6E;AAE7E,MAAM,YAAY,GAAG,iBAAiB,CAAC;AACvC,MAAM,kBAAkB,GAAG,UAAU,CAAC;AACtC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,uBAAuB,CAAC;AAEvF,MAAM,YAAY,GAAG;;;;;;CAMpB,CAAC;AAEF,2EAA2E;AAC3E,uEAAuE;AACvE,wEAAwE;AACxE,yEAAyE;AACzE,yEAAyE;AACzE,WAAW;AACX,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,YAAY,CAAC;AAEvD,6EAA6E;AAE7E;;;;;GAKG;AACH,MAAM,aAAa,GAAuB;IACxC,IAAI,EAAE,mBAAmB;IACzB,YAAY,EAAE,CAAC,IAAsB,EAA4B,EAAE;QACjE,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;IACJ,CAAC;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,QAAQ,GAAkB;IAC9B,MAAM,EAAE,CAAC,KAAkB,EAAyB,EAAE;QACpD,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,EAAE,CAAC,SAAiB,EAAoB,EAAE;QAC/C,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,QAAQ,EAAE,CAAC,SAAiB,EAAE,OAAe,EAA2B,EAAE;QACxE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,YAAY,EAAE,GAA0B,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IACD,WAAW,EAAE,CAAC,SAAiB,EAA0B,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"smoke-auto-fix.js","sourceRoot":"","sources":["../../src/scripts/smoke-auto-fix.ts"],"names":[],"mappings":"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"}
|
|
@@ -261,6 +261,8 @@ async function main() {
|
|
|
261
261
|
throw new Error('smoke: describeRepo not exercised');
|
|
262
262
|
},
|
|
263
263
|
fetchPRDiff: () => Promise.resolve(null),
|
|
264
|
+
fetchFile: () => Promise.resolve(null),
|
|
265
|
+
fetchFileHistory: () => Promise.resolve(null),
|
|
264
266
|
};
|
|
265
267
|
const stubRegressionDetector = () => Promise.resolve(false);
|
|
266
268
|
const recorder = createOutcomeRecorder({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smoke-learning-loop.js","sourceRoot":"","sources":["../../src/scripts/smoke-learning-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smoke-learning-loop.js","sourceRoot":"","sources":["../../src/scripts/smoke-learning-loop.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@derwinjs/db",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Prisma schema + migrations for Derwin's own Postgres. 14 models, project-namespaced. Per ADR-0005. Ships its own generated Prisma client (multi-platform binaries) for cross-consumer compatibility.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"type": "module",
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@prisma/client": "^5.22.0",
|
|
36
|
-
"@derwinjs/core": "0.
|
|
37
|
-
"@derwinjs/sdk": "0.
|
|
36
|
+
"@derwinjs/core": "0.5.0",
|
|
37
|
+
"@derwinjs/sdk": "0.5.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@vitest/coverage-v8": "^2.1.9",
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
-- Sprint 5 Phase 1 — Enable pgvector extension + migrate RAGCorpus.embedding to vector(1536)
|
|
2
|
+
-- The corpus is empty at v0.4.0 — DROP+ADD is safe (no data loss).
|
|
3
|
+
-- Index uses HNSW with cosine ops for similarity search per pgvector docs.
|
|
4
|
+
|
|
5
|
+
CREATE EXTENSION IF NOT EXISTS vector;
|
|
6
|
+
|
|
7
|
+
ALTER TABLE "derwin"."rag_corpus" DROP COLUMN IF EXISTS "embedding";
|
|
8
|
+
ALTER TABLE "derwin"."rag_corpus" ADD COLUMN "embedding" vector(1536);
|
|
9
|
+
|
|
10
|
+
CREATE INDEX "rag_corpus_embedding_hnsw_idx"
|
|
11
|
+
ON "derwin"."rag_corpus"
|
|
12
|
+
USING hnsw ("embedding" vector_cosine_ops);
|
package/prisma/schema.prisma
CHANGED
|
@@ -11,9 +11,11 @@
|
|
|
11
11
|
// 2. A multi-project broken-fixture E2E that asserts isolation
|
|
12
12
|
// (added in Sprint 13 / QAP-130).
|
|
13
13
|
//
|
|
14
|
-
// pgvector convention:
|
|
15
|
-
//
|
|
16
|
-
//
|
|
14
|
+
// pgvector convention: Sprint 5 Phase 1 enabled the pgvector extension and
|
|
15
|
+
// migrated `RAGCorpus.embedding` to `vector(1536)`. The column is typed as
|
|
16
|
+
// `Unsupported("vector(1536)")` because Prisma 5.22.0 has no native vector
|
|
17
|
+
// type — reads/writes use raw SQL via `$queryRaw` / `$executeRaw`. The HNSW
|
|
18
|
+
// index with `vector_cosine_ops` lives in the migration SQL.
|
|
17
19
|
//
|
|
18
20
|
// Multi-schema: every model + enum is in the `derwin` Postgres schema (not
|
|
19
21
|
// `public`). This isolates Derwin's tables from each consumer's existing
|
|
@@ -494,16 +496,17 @@ model ClassificationTrust {
|
|
|
494
496
|
}
|
|
495
497
|
|
|
496
498
|
// Successful past fixes used as in-context examples for new dispatches.
|
|
497
|
-
// Embedding column is
|
|
499
|
+
// Embedding column is `vector(1536)` (pgvector); Sprint 5 Phase 1 enabled the
|
|
500
|
+
// extension and migrated from `Bytes?`. See file header for query convention.
|
|
498
501
|
model RAGCorpus {
|
|
499
502
|
id String @id @default(cuid())
|
|
500
503
|
projectId String
|
|
501
504
|
classification String
|
|
502
505
|
surface SurfaceCategory
|
|
503
506
|
|
|
504
|
-
promptText String
|
|
505
|
-
diff String
|
|
506
|
-
embedding
|
|
507
|
+
promptText String @db.Text // the prompt that produced the fix
|
|
508
|
+
diff String @db.Text // the unified diff that worked
|
|
509
|
+
embedding Unsupported("vector(1536)")? // pgvector — Sprint 5 Phase 1 enabled the extension. Queries via raw SQL because Prisma 5.22.0 doesn't have native vector type support.
|
|
507
510
|
|
|
508
511
|
fixAttemptId String // back-reference to the source attempt
|
|
509
512
|
outcomeQuality Float // priority weight; declines if later usage shows problems
|