@balpal4495/quorum 3.2.0 → 3.3.1
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/.github/copilot-instructions.md +117 -0
- package/GEMINI.md +73 -0
- package/SETUP.md +264 -0
- package/dist/compass/behavior.d.ts.map +1 -1
- package/dist/compass/behavior.js +58 -67
- package/dist/compass/behavior.js.map +1 -1
- package/dist/compass/schemas.d.ts +26 -26
- package/dist/compass/sources/index.d.ts.map +1 -1
- package/dist/compass/sources/index.js +162 -122
- package/dist/compass/sources/index.js.map +1 -1
- package/dist/oracle/adapters/lance-db.d.ts.map +1 -1
- package/dist/oracle/adapters/lance-db.js +7 -2
- package/dist/oracle/adapters/lance-db.js.map +1 -1
- package/modules/AGENTS.md +78 -0
- package/package.json +6 -2
|
@@ -5,19 +5,9 @@ export function docsSource() {
|
|
|
5
5
|
async scan(input) {
|
|
6
6
|
const { promises: fs } = await import("fs");
|
|
7
7
|
const path = await import("path");
|
|
8
|
-
const targets = [
|
|
9
|
-
"README.md",
|
|
10
|
-
"SETUP.md",
|
|
11
|
-
"CLAUDE.md",
|
|
12
|
-
"AGENTS.md",
|
|
13
|
-
"GEMINI.md",
|
|
14
|
-
"modules/README.md",
|
|
15
|
-
"quorum/CLAUDE.md",
|
|
16
|
-
"quorum/SETUP.md",
|
|
17
|
-
"docs",
|
|
18
|
-
];
|
|
19
8
|
const findings = [];
|
|
20
9
|
let idx = 0;
|
|
10
|
+
const SKIP_DIRS = new Set(["node_modules", ".git", "dist", "build", "out", ".next", ".chronicle", "coverage", ".cache", ".turbo", ".vercel"]);
|
|
21
11
|
async function scanMarkdown(filePath) {
|
|
22
12
|
let content;
|
|
23
13
|
try {
|
|
@@ -28,13 +18,11 @@ export function docsSource() {
|
|
|
28
18
|
}
|
|
29
19
|
const rel = path.relative(input.rootDir, filePath).replace(/\\/g, "/");
|
|
30
20
|
const lines = content.split("\n");
|
|
31
|
-
// Extract headings as structural claims
|
|
32
21
|
for (let i = 0; i < lines.length; i++) {
|
|
33
22
|
const line = lines[i];
|
|
34
23
|
const headingMatch = line.match(/^#{1,3}\s+(.+)/);
|
|
35
24
|
if (headingMatch) {
|
|
36
25
|
const heading = headingMatch[1].trim();
|
|
37
|
-
// Grab up to 3 lines of context below
|
|
38
26
|
const context = lines
|
|
39
27
|
.slice(i + 1, i + 4)
|
|
40
28
|
.join(" ")
|
|
@@ -53,21 +41,6 @@ export function docsSource() {
|
|
|
53
41
|
tags: inferTags(heading + " " + context),
|
|
54
42
|
});
|
|
55
43
|
}
|
|
56
|
-
// Extract CLI code blocks (``` lines starting with quorum)
|
|
57
|
-
if (line.trim().startsWith("quorum ") || line.trim().startsWith("npx quorum")) {
|
|
58
|
-
const cmd = line.trim();
|
|
59
|
-
findings.push({
|
|
60
|
-
id: `docs-cmd-${idx++}`,
|
|
61
|
-
kind: "docs",
|
|
62
|
-
source: rel,
|
|
63
|
-
path: rel,
|
|
64
|
-
line: i + 1,
|
|
65
|
-
title: `CLI usage: ${cmd.slice(0, 60)}`,
|
|
66
|
-
summary: `Documented command: ${cmd}`,
|
|
67
|
-
confidence: 0.85,
|
|
68
|
-
tags: ["cli", "command", ...inferTags(cmd)],
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
44
|
}
|
|
72
45
|
}
|
|
73
46
|
async function scanDir(dir) {
|
|
@@ -80,7 +53,7 @@ export function docsSource() {
|
|
|
80
53
|
}
|
|
81
54
|
for (const entry of entries) {
|
|
82
55
|
const full = path.join(dir, entry.name);
|
|
83
|
-
if (entry.isDirectory() && !
|
|
56
|
+
if (entry.isDirectory() && !SKIP_DIRS.has(entry.name)) {
|
|
84
57
|
await scanDir(full);
|
|
85
58
|
}
|
|
86
59
|
else if (entry.isFile() && entry.name.endsWith(".md")) {
|
|
@@ -88,8 +61,22 @@ export function docsSource() {
|
|
|
88
61
|
}
|
|
89
62
|
}
|
|
90
63
|
}
|
|
91
|
-
|
|
92
|
-
|
|
64
|
+
// Scan all .md files at project root (non-recursive)
|
|
65
|
+
let rootEntries = [];
|
|
66
|
+
try {
|
|
67
|
+
rootEntries = await fs.readdir(input.rootDir, { withFileTypes: true });
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
rootEntries = [];
|
|
71
|
+
}
|
|
72
|
+
for (const entry of rootEntries) {
|
|
73
|
+
if (entry.isFile() && entry.name.endsWith(".md")) {
|
|
74
|
+
await scanMarkdown(path.join(input.rootDir, entry.name));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// Scan standard documentation directories recursively
|
|
78
|
+
for (const d of ["docs", "documentation", "doc", ".github", "wiki"]) {
|
|
79
|
+
const full = path.join(input.rootDir, d);
|
|
93
80
|
let stat;
|
|
94
81
|
try {
|
|
95
82
|
stat = await fs.stat(full);
|
|
@@ -97,12 +84,8 @@ export function docsSource() {
|
|
|
97
84
|
catch {
|
|
98
85
|
continue;
|
|
99
86
|
}
|
|
100
|
-
if (stat.isDirectory())
|
|
87
|
+
if (stat.isDirectory())
|
|
101
88
|
await scanDir(full);
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
await scanMarkdown(full);
|
|
105
|
-
}
|
|
106
89
|
}
|
|
107
90
|
return area(input.area, findings);
|
|
108
91
|
},
|
|
@@ -162,58 +145,100 @@ export function cliSource() {
|
|
|
162
145
|
const path = await import("path");
|
|
163
146
|
const findings = [];
|
|
164
147
|
let idx = 0;
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}
|
|
170
|
-
catch {
|
|
171
|
-
return [];
|
|
172
|
-
}
|
|
173
|
-
for (const file of commandFiles) {
|
|
174
|
-
const cmdName = file.replace(".js", "");
|
|
175
|
-
const filePath = path.join(binDir, file);
|
|
176
|
-
let content;
|
|
148
|
+
// ── CLI tool pattern ──────────────────────────────────────────────────
|
|
149
|
+
for (const base of ["bin/commands", "bin", "src/commands", "src/cli"]) {
|
|
150
|
+
const binDir = path.join(input.rootDir, base);
|
|
151
|
+
let entries;
|
|
177
152
|
try {
|
|
178
|
-
|
|
153
|
+
entries = await fs.readdir(binDir, { withFileTypes: true });
|
|
179
154
|
}
|
|
180
155
|
catch {
|
|
181
156
|
continue;
|
|
182
157
|
}
|
|
183
|
-
const
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
158
|
+
const files = entries.filter((e) => e.isFile() && /\.(js|ts)$/.test(e.name));
|
|
159
|
+
for (const entry of files) {
|
|
160
|
+
let content;
|
|
161
|
+
try {
|
|
162
|
+
content = await fs.readFile(path.join(binDir, entry.name), "utf8");
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
const cmdName = entry.name.replace(/\.(js|ts)$/, "");
|
|
168
|
+
const relPath = `${base}/${entry.name}`;
|
|
169
|
+
const subcommands = [...content.matchAll(/case ["']([a-z-]+)["']/g)].map(m => m[1]);
|
|
170
|
+
const flags = [...new Set([...content.matchAll(/["'](--[a-z-]+)["']/g)].map(m => m[1]))];
|
|
171
|
+
findings.push({
|
|
172
|
+
id: `cli-${idx++}`,
|
|
173
|
+
kind: "cli",
|
|
174
|
+
source: relPath,
|
|
175
|
+
path: relPath,
|
|
176
|
+
title: `Command: ${cmdName}`,
|
|
177
|
+
summary: [
|
|
178
|
+
cmdName,
|
|
179
|
+
subcommands.length ? `Subcommands: ${subcommands.join(", ")}` : "",
|
|
180
|
+
flags.length ? `Flags: ${flags.slice(0, 8).join(", ")}` : "",
|
|
181
|
+
].filter(Boolean).join(" | "),
|
|
182
|
+
confidence: 0.9,
|
|
183
|
+
tags: ["cli", "command", cmdName, ...subcommands.map((s) => `subcommand:${s}`)].filter(Boolean),
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
if (findings.length)
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
// ── Web app route pattern (Next.js app/pages router) ──────────────────
|
|
190
|
+
if (!findings.length) {
|
|
191
|
+
const SKIP_ROUTE = new Set(["node_modules", "_components", "_lib", "_hooks"]);
|
|
192
|
+
async function walkRoutes(dir, prefix, isApiBase) {
|
|
193
|
+
let entries;
|
|
194
|
+
try {
|
|
195
|
+
entries = await fs.readdir(dir, { withFileTypes: true });
|
|
196
|
+
}
|
|
197
|
+
catch {
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
for (const e of entries) {
|
|
201
|
+
if (SKIP_ROUTE.has(e.name) || e.name.startsWith("."))
|
|
202
|
+
continue;
|
|
203
|
+
const full = path.join(dir, e.name);
|
|
204
|
+
const rel = path.relative(input.rootDir, full).replace(/\\/g, "/");
|
|
205
|
+
if (e.isDirectory()) {
|
|
206
|
+
const seg = e.name.startsWith("(") ? "" : ("/" + e.name);
|
|
207
|
+
await walkRoutes(full, prefix + seg, isApiBase || e.name === "api");
|
|
208
|
+
}
|
|
209
|
+
else if (e.isFile() && /\.(tsx?|jsx?)$/.test(e.name)) {
|
|
210
|
+
const name = e.name.replace(/\.(tsx?|jsx?)$/, "");
|
|
211
|
+
const isPage = ["page", "index"].includes(name) && !["_app", "_document", "_error"].includes(name);
|
|
212
|
+
const isRoute = name === "route";
|
|
213
|
+
if (!isPage && !isRoute)
|
|
214
|
+
continue;
|
|
215
|
+
const route = prefix || "/";
|
|
216
|
+
const isApi = isApiBase || isRoute || prefix.startsWith("/api");
|
|
217
|
+
findings.push({
|
|
218
|
+
id: `route-${idx++}`,
|
|
219
|
+
kind: "code",
|
|
220
|
+
source: rel,
|
|
221
|
+
path: rel,
|
|
222
|
+
title: isApi ? `API: ${route}` : `Page: ${route}`,
|
|
223
|
+
summary: isApi ? `API route at ${route}` : `Page/screen at ${route}`,
|
|
224
|
+
confidence: 0.85,
|
|
225
|
+
tags: [isApi ? "api" : "ui", "route", ...inferTags(route + " " + rel)],
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
for (const base of ["app", "pages", "src/app", "src/pages"]) {
|
|
231
|
+
const routeBase = path.join(input.rootDir, base);
|
|
232
|
+
try {
|
|
233
|
+
await fs.stat(routeBase);
|
|
234
|
+
}
|
|
235
|
+
catch {
|
|
236
|
+
continue;
|
|
237
|
+
}
|
|
238
|
+
await walkRoutes(routeBase, "", base.includes("api"));
|
|
239
|
+
if (findings.length)
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
217
242
|
}
|
|
218
243
|
return area(input.area, findings);
|
|
219
244
|
},
|
|
@@ -228,31 +253,47 @@ export function repoSource() {
|
|
|
228
253
|
const path = await import("path");
|
|
229
254
|
const findings = [];
|
|
230
255
|
let idx = 0;
|
|
231
|
-
|
|
232
|
-
const
|
|
256
|
+
const SKIP = new Set(["node_modules", ".git", "dist", "build", "out", ".next", ".chronicle", "coverage", ".cache", ".turbo", ".vercel", "public", "static", "assets", "images", "fonts"]);
|
|
257
|
+
const SOURCE_HINTS = new Set(["src", "lib", "app", "modules", "packages", "services", "components", "api", "server", "client", "core", "shared", "common", "utils", "hooks", "stores", "models", "types", "schemas", "db", "database"]);
|
|
258
|
+
let rootEntries;
|
|
233
259
|
try {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
});
|
|
247
|
-
}
|
|
260
|
+
rootEntries = await fs.readdir(input.rootDir, { withFileTypes: true });
|
|
261
|
+
}
|
|
262
|
+
catch {
|
|
263
|
+
return findings;
|
|
264
|
+
}
|
|
265
|
+
for (const entry of rootEntries) {
|
|
266
|
+
if (!entry.isDirectory() || SKIP.has(entry.name) || entry.name.startsWith("."))
|
|
267
|
+
continue;
|
|
268
|
+
const isSource = SOURCE_HINTS.has(entry.name);
|
|
269
|
+
let subEntries = [];
|
|
270
|
+
try {
|
|
271
|
+
subEntries = await fs.readdir(path.join(input.rootDir, entry.name), { withFileTypes: true });
|
|
248
272
|
}
|
|
273
|
+
catch { }
|
|
274
|
+
const subDirs = subEntries.filter((e) => e.isDirectory() && !SKIP.has(e.name) && !e.name.startsWith(".")).map((e) => e.name);
|
|
275
|
+
const fileCount = subEntries.filter((e) => e.isFile()).length;
|
|
276
|
+
if (fileCount === 0 && subDirs.length === 0)
|
|
277
|
+
continue;
|
|
278
|
+
const desc = subDirs.length
|
|
279
|
+
? `Contains: ${subDirs.slice(0, 6).join(", ")}${subDirs.length > 6 ? "\u2026" : ""}`
|
|
280
|
+
: `${fileCount} files`;
|
|
281
|
+
findings.push({
|
|
282
|
+
id: `repo-${idx++}`,
|
|
283
|
+
kind: "code",
|
|
284
|
+
source: `${entry.name}/`,
|
|
285
|
+
path: `${entry.name}/`,
|
|
286
|
+
title: `${isSource ? "Source" : "Directory"}: ${entry.name}/`,
|
|
287
|
+
summary: desc,
|
|
288
|
+
confidence: isSource ? 0.9 : 0.7,
|
|
289
|
+
tags: ["code", entry.name, isSource ? "source" : "directory", ...inferTags(entry.name + " " + desc)],
|
|
290
|
+
});
|
|
249
291
|
}
|
|
250
|
-
|
|
251
|
-
// Scan workflows
|
|
292
|
+
// GitHub Actions workflows
|
|
252
293
|
const workflowsDir = path.join(input.rootDir, ".github", "workflows");
|
|
253
294
|
try {
|
|
254
|
-
const
|
|
255
|
-
for (const file of
|
|
295
|
+
const wfEntries = await fs.readdir(workflowsDir);
|
|
296
|
+
for (const file of wfEntries.filter((f) => f.endsWith(".yml") || f.endsWith(".yaml"))) {
|
|
256
297
|
const content = await fs.readFile(path.join(workflowsDir, file), "utf8");
|
|
257
298
|
const nameMatch = content.match(/^name:\s*(.+)$/m);
|
|
258
299
|
findings.push({
|
|
@@ -263,7 +304,7 @@ export function repoSource() {
|
|
|
263
304
|
title: `Workflow: ${nameMatch?.[1]?.trim() ?? file}`,
|
|
264
305
|
summary: `CI/CD workflow: ${nameMatch?.[1]?.trim() ?? file}`,
|
|
265
306
|
confidence: 0.8,
|
|
266
|
-
tags: ["workflow", "ci", "
|
|
307
|
+
tags: ["workflow", "ci", "deploy"],
|
|
267
308
|
});
|
|
268
309
|
}
|
|
269
310
|
}
|
|
@@ -281,6 +322,7 @@ export function testsSource() {
|
|
|
281
322
|
const path = await import("path");
|
|
282
323
|
const findings = [];
|
|
283
324
|
let idx = 0;
|
|
325
|
+
const SKIP_TEST = new Set(["node_modules", "dist", "build", ".next", ".cache", "coverage"]);
|
|
284
326
|
async function walkTests(dir) {
|
|
285
327
|
let entries;
|
|
286
328
|
try {
|
|
@@ -291,10 +333,10 @@ export function testsSource() {
|
|
|
291
333
|
}
|
|
292
334
|
for (const entry of entries) {
|
|
293
335
|
const full = path.join(dir, entry.name);
|
|
294
|
-
if (entry.isDirectory() && !
|
|
336
|
+
if (entry.isDirectory() && !SKIP_TEST.has(entry.name) && !entry.name.startsWith(".")) {
|
|
295
337
|
await walkTests(full);
|
|
296
338
|
}
|
|
297
|
-
else if (entry.isFile() && (
|
|
339
|
+
else if (entry.isFile() && /\.(test|spec)\.(ts|js|tsx|jsx)$/.test(entry.name)) {
|
|
298
340
|
let content;
|
|
299
341
|
try {
|
|
300
342
|
content = await fs.readFile(full, "utf8");
|
|
@@ -303,7 +345,6 @@ export function testsSource() {
|
|
|
303
345
|
continue;
|
|
304
346
|
}
|
|
305
347
|
const rel = path.relative(input.rootDir, full).replace(/\\/g, "/");
|
|
306
|
-
// Extract describe/it/test names
|
|
307
348
|
const describeMatches = [...content.matchAll(/(?:describe|it|test)\s*\(\s*["'`]([^"'`]+)/g)];
|
|
308
349
|
const behaviors = describeMatches.map(m => m[1]).slice(0, 5);
|
|
309
350
|
if (behaviors.length > 0) {
|
|
@@ -312,7 +353,7 @@ export function testsSource() {
|
|
|
312
353
|
kind: "tests",
|
|
313
354
|
source: rel,
|
|
314
355
|
path: rel,
|
|
315
|
-
title: `Test: ${path.basename(entry.name
|
|
356
|
+
title: `Test: ${path.basename(entry.name).replace(/\.(test|spec)\.(ts|js|tsx|jsx)$/, "")}`,
|
|
316
357
|
summary: `Regression-protected: ${behaviors.join("; ")}`,
|
|
317
358
|
confidence: 0.85,
|
|
318
359
|
tags: ["test", "guaranteed-behavior", ...inferTags(behaviors.join(" "))],
|
|
@@ -321,8 +362,7 @@ export function testsSource() {
|
|
|
321
362
|
}
|
|
322
363
|
}
|
|
323
364
|
}
|
|
324
|
-
await walkTests(
|
|
325
|
-
await walkTests(path.join(input.rootDir, "evals"));
|
|
365
|
+
await walkTests(input.rootDir);
|
|
326
366
|
return area(input.area, findings);
|
|
327
367
|
},
|
|
328
368
|
};
|
|
@@ -365,20 +405,20 @@ function inferTags(text) {
|
|
|
365
405
|
const tags = [];
|
|
366
406
|
const lower = text.toLowerCase();
|
|
367
407
|
const patterns = [
|
|
368
|
-
[/onboard|
|
|
369
|
-
[/auth|jwt|session|login|token/, "auth"],
|
|
370
|
-
[/database|migration|sql|postgres|mysql/, "database"],
|
|
371
|
-
[/payment|stripe|billing|checkout/, "payments"],
|
|
408
|
+
[/onboard|install|setup|get.?started/, "onboarding"],
|
|
409
|
+
[/auth|jwt|session|login|token|oauth|saml/, "auth"],
|
|
410
|
+
[/database|migration|sql|postgres|mysql|mongo|redis|prisma/, "database"],
|
|
411
|
+
[/payment|stripe|billing|checkout|invoice|subscription/, "payments"],
|
|
372
412
|
[/pii|privacy|gdpr|personal.?data/, "pii"],
|
|
373
|
-
[/
|
|
374
|
-
[/
|
|
375
|
-
[/
|
|
376
|
-
[/
|
|
377
|
-
[/council|deliberate|validate/, "council"],
|
|
378
|
-
[/compass|pathway|bet|direction/, "compass"],
|
|
413
|
+
[/api|endpoint|rest|graphql|rpc|webhook/, "api"],
|
|
414
|
+
[/component|page|view|screen|widget|layout/, "ui"],
|
|
415
|
+
[/deploy|pipeline|release|ci|cd/, "deploy"],
|
|
416
|
+
[/config|setting|env|environment|dotenv/, "config"],
|
|
379
417
|
[/cli|command|terminal/, "cli"],
|
|
380
|
-
[/test|
|
|
381
|
-
[/llm|gpt|claude|openai|anthropic|gemini/, "llm"],
|
|
418
|
+
[/test|spec|fixture/, "testing"],
|
|
419
|
+
[/llm|gpt|claude|openai|anthropic|gemini|model/, "llm"],
|
|
420
|
+
[/middleware|interceptor|guard|filter/, "middleware"],
|
|
421
|
+
[/worker|job|queue|cron|schedule/, "service"],
|
|
382
422
|
];
|
|
383
423
|
for (const [rx, tag] of patterns) {
|
|
384
424
|
if (rx.test(lower))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../modules/compass/sources/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../modules/compass/sources/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lance-db.d.ts","sourceRoot":"","sources":["../../../modules/oracle/adapters/lance-db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"lance-db.d.ts","sourceRoot":"","sources":["../../../modules/oracle/adapters/lance-db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAa9C,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAsDnF"}
|
|
@@ -11,10 +11,15 @@
|
|
|
11
11
|
* is nearly identical but table.query() replaces table.search() for non-vector queries.
|
|
12
12
|
*/
|
|
13
13
|
import path from "path";
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
15
|
-
const lancedb = require("vectordb");
|
|
16
14
|
export async function createLanceDBStore(chronicleDir) {
|
|
15
|
+
// Dynamic import keeps this file valid ESM — `vectordb` is CJS-only and has
|
|
16
|
+
// no ESM export, so a top-level `require()` would throw in ESM scope.
|
|
17
|
+
const lancedbMod = await import("vectordb");
|
|
18
|
+
const lancedb = lancedbMod.default ?? lancedbMod;
|
|
17
19
|
const tableDir = path.join(chronicleDir, "entries");
|
|
20
|
+
// Cast to any — `vectordb` is a CJS-only package whose TypeScript declarations
|
|
21
|
+
// are incomplete (e.g. `metric` option not typed in WriteOptions).
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
18
23
|
const db = await lancedb.connect(tableDir);
|
|
19
24
|
let table = null;
|
|
20
25
|
async function getOrCreateTable(firstRow) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lance-db.js","sourceRoot":"","sources":["../../../modules/oracle/adapters/lance-db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,IAAI,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"lance-db.js","sourceRoot":"","sources":["../../../modules/oracle/adapters/lance-db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,IAAI,MAAM,MAAM,CAAA;AAWvB,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,YAAoB;IAC3D,4EAA4E;IAC5E,sEAAsE;IACtE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;IAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,UAAU,CAAA;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IACnD,+EAA+E;IAC/E,mEAAmE;IACnE,8DAA8D;IAC9D,MAAM,EAAE,GAAQ,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC/C,IAAI,KAAK,GAAQ,IAAI,CAAA;IAErB,KAAK,UAAU,gBAAgB,CAAC,QAAmB;QACjD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAA;QACvB,MAAM,KAAK,GAAa,MAAM,EAAE,CAAC,UAAU,EAAE,CAAA;QAC7C,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,KAAK,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QACvC,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,KAAK,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC3E,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ;YAC/B,MAAM,GAAG,GAAa,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAA;YACvE,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAA;YACrC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBAChB,0DAA0D;gBAC1D,OAAM;YACR,CAAC;YACD,oEAAoE;YACpE,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;YAC1C,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACpB,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK;YACxB,MAAM,CAAC,GAAG,MAAM,gBAAgB,EAAE,CAAA;YAClC,IAAI,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAA;YACjB,MAAM,IAAI,GAAe,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;YACtE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAmB;gBAChD,wEAAwE;gBACxE,KAAK,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC3D,CAAC,CAAC,CAAA;QACL,CAAC;QAED,KAAK,CAAC,MAAM;YACV,MAAM,CAAC,GAAG,MAAM,gBAAgB,EAAE,CAAA;YAClC,IAAI,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAA;YACjB,MAAM,IAAI,GAAe,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAA;YAClD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAmB,CAAC,CAAA;QACnE,CAAC;KACF,CAAA;AACH,CAAC;AAED,uFAAuF;AACvF,SAAS,UAAU,CAAC,EAAU;IAC5B,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAC/B,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# modules/ — Agent Instructions
|
|
2
|
+
|
|
3
|
+
Supplements the root `AGENTS.md` / `copilot-instructions.md` with module-specific internals.
|
|
4
|
+
When working inside this folder, follow these rules in addition to the root guidelines.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## File ownership
|
|
9
|
+
|
|
10
|
+
### Oracle
|
|
11
|
+
| File | Owns |
|
|
12
|
+
|---|---|
|
|
13
|
+
| `oracle/query.ts` | Two-pass retrieval (vector → BM25 → RRF fusion). Score threshold. Query log. |
|
|
14
|
+
| `oracle/bm25.ts` | BM25 scoring algorithm. Domain term extraction for query enrichment. |
|
|
15
|
+
| `oracle/propose.ts` | `propose()` + `commit()`. The human-gated write path. Do not add auto-commit logic here. |
|
|
16
|
+
| `oracle/log.ts` | Best-effort JSONL query log writer. Must never throw to callers. |
|
|
17
|
+
| `oracle/adapters/lance-db.ts` | LanceDB `VectorStore` implementation. Swappable — do not couple oracle internals to this. |
|
|
18
|
+
| `oracle/adapters/xenova-embedder.ts` | Local ONNX embedder. Swappable — do not couple oracle internals to this. |
|
|
19
|
+
|
|
20
|
+
### Jury
|
|
21
|
+
| File | Owns |
|
|
22
|
+
|---|---|
|
|
23
|
+
| `jury/schema.ts` | Zod schema for structured LLM output. Source of truth for `JuryOutput` shape including `confidence_breakdown` and `blocking_gaps`. |
|
|
24
|
+
| `jury/evaluate.ts` | Four-dimension evaluation. **Confidence is always recomputed from the breakdown average here — do not remove this. `council_brief` is also overridden from confidence.** |
|
|
25
|
+
| `jury/preflight.ts` | Deterministic preflight — no LLM. Detects sensitive areas, rollback mention, and Chronicle conflicts before the LLM runs. Safe to extend with new patterns. |
|
|
26
|
+
|
|
27
|
+
### Council
|
|
28
|
+
| File | Owns |
|
|
29
|
+
|---|---|
|
|
30
|
+
| `council/personas.ts` | Default advisor personas. Safe to extend. Do not remove existing personas without good reason. |
|
|
31
|
+
| `council/frame.ts` | Sets deliberation tone from `council_brief`. Challenge vs pressure-test framing lives here. |
|
|
32
|
+
| `council/advisors.ts` | Parallel advisor fan-out. Advisors must cite Oracle entry IDs — enforced in the prompt. |
|
|
33
|
+
| `council/reviewers.ts` | Anonymisation of advisor responses + parallel reviewer fan-out. Anonymisation must happen before reviewers see responses. |
|
|
34
|
+
| `council/chairman.ts` | Verdict synthesis + Zod validation. Produces structured `blockers`/`warnings`, validates citations, tracks `advisor_split`. Throws on bad output — do not add fallbacks. |
|
|
35
|
+
| `council/risk.ts` | Deterministic risk classifier — no LLM. Assigns `low/medium/high/critical` and `council_mode` from design text and refuted evidence. Drives advisor/reviewer fan-out counts. |
|
|
36
|
+
| `council/deliberate.ts` | Full pipeline orchestration. Calls `oracle.propose()` at the end — never `oracle.commit()`. Risk classifier runs first to set fan-out counts. |
|
|
37
|
+
|
|
38
|
+
### Advisor
|
|
39
|
+
| File | Owns |
|
|
40
|
+
|---|---|
|
|
41
|
+
| `advisor/ask.ts` | Main entry point. Queries Oracle, calls LLM, validates answer against satisfaction threshold (confidence ≥ 0.7, no blockers). Retries up to 2 times with previous answer as context. Throws on bad LLM output — do not add fallbacks. |
|
|
42
|
+
| `advisor/prompt.ts` | SYSTEM_PROMPT, evidence formatter, user prompt builder. The plain-language framing lives here. |
|
|
43
|
+
| `advisor/types.ts` | `AdvisorInput`, `AdvisorAnswer`, `AdvisorOutput`, `AdvisorDeps` types. |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Extension points
|
|
48
|
+
|
|
49
|
+
**Swap the vector store** — implement `VectorStore` from `oracle/types.ts` and pass it to `createOracleClient()` or `setup()`.
|
|
50
|
+
|
|
51
|
+
**Swap the embedder** — pass `embedder: yourFn` to `setup()`. Must return a consistent-dimension float array.
|
|
52
|
+
|
|
53
|
+
**Add advisor personas** — extend `DEFAULT_PERSONAS` in `council/personas.ts`, or pass a custom personas array directly to `fanOutAdvisors()`.
|
|
54
|
+
|
|
55
|
+
**Use different models per step** — pass `models` to `setup()` or `council.deliberate()` deps. Cheaper models for advisors, stronger for chairman is the intended pattern.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Invariants — do not break these
|
|
60
|
+
|
|
61
|
+
- `advisor/ask.ts` never calls `oracle.propose()` or `oracle.commit()`. It is a read-only path.
|
|
62
|
+
- `oracle.commit()` is never called without explicit human input. `deliberate()` calls `propose()` only.
|
|
63
|
+
- `jury/evaluate.ts` recomputes `confidence` as the exact average of `confidence_breakdown` dimensions — the LLM value is discarded.
|
|
64
|
+
- `jury/evaluate.ts` derives `council_brief` from the recomputed confidence — never trusts the LLM value.
|
|
65
|
+
- `chairman.ts` and `jury/evaluate.ts` throw on schema validation failure. Do not add try/catch that swallows these errors.
|
|
66
|
+
- `deliberate.ts` passes `citation_validation.valid_ids` (not raw `evidence_cited`) to `oracle.propose()` — hallucinated IDs are stripped.
|
|
67
|
+
- Query logging in `oracle/log.ts` is always best-effort — callers must not fail because of a log write error.
|
|
68
|
+
- `VectorStore` and `embedder` are always injected — never imported directly inside Oracle logic.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Tests
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npx vitest run modules/
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Tests live in `__tests__/` inside each module folder. Use `vi.fn()` for LLM providers and vector stores — never call a real LLM in tests.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@balpal4495/quorum",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.1",
|
|
4
4
|
"description": "Git-backed memory and design review for AI coding agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -26,7 +26,11 @@
|
|
|
26
26
|
},
|
|
27
27
|
"files": [
|
|
28
28
|
"dist/**",
|
|
29
|
-
"bin/**"
|
|
29
|
+
"bin/**",
|
|
30
|
+
"SETUP.md",
|
|
31
|
+
"GEMINI.md",
|
|
32
|
+
".github/copilot-instructions.md",
|
|
33
|
+
"modules/AGENTS.md"
|
|
30
34
|
],
|
|
31
35
|
"exports": {
|
|
32
36
|
".": "./dist/setup.js",
|