@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.
@@ -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() && !["node_modules", ".git", "dist"].includes(entry.name)) {
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
- for (const target of targets) {
92
- const full = path.join(input.rootDir, target);
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
- const binDir = path.join(input.rootDir, "bin", "commands");
166
- let commandFiles = [];
167
- try {
168
- commandFiles = (await fs.readdir(binDir)).filter(f => f.endsWith(".js"));
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
- content = await fs.readFile(filePath, "utf8");
153
+ entries = await fs.readdir(binDir, { withFileTypes: true });
179
154
  }
180
155
  catch {
181
156
  continue;
182
157
  }
183
- const relPath = `bin/commands/${file}`;
184
- // Detect subcommands from switch/if patterns
185
- const subcmdMatches = [...content.matchAll(/case ["']([a-z-]+)["']/g)];
186
- const subcommands = subcmdMatches.map(m => m[1]);
187
- // Detect flags
188
- const flagMatches = [...content.matchAll(/["'](--[a-z-]+)["']/g)];
189
- const flags = [...new Set(flagMatches.map(m => m[1]))];
190
- // Detect LLM usage
191
- const usesLLM = /llm|LLM|provider|model/.test(content);
192
- // Detect Chronicle reads/writes
193
- const readsChronicle = /readCommitted|findChronicleDir|committed/.test(content);
194
- const writesChronicle = /writeFile.*proposals|proposals.*writeFile|oracle\.propose/.test(content);
195
- findings.push({
196
- id: `cli-${idx++}`,
197
- kind: "cli",
198
- source: relPath,
199
- path: relPath,
200
- title: `Command: quorum ${cmdName}`,
201
- summary: [
202
- `quorum ${cmdName}`,
203
- subcommands.length > 0 ? `Subcommands: ${subcommands.join(", ")}` : "",
204
- flags.length > 0 ? `Flags: ${flags.slice(0, 8).join(", ")}` : "",
205
- usesLLM ? "Uses LLM" : "No LLM required",
206
- readsChronicle ? "Reads Chronicle" : "",
207
- writesChronicle ? "Writes Chronicle proposals" : "",
208
- ].filter(Boolean).join(" | "),
209
- confidence: 0.9,
210
- tags: [
211
- "cli", "command", cmdName,
212
- ...subcommands.map(s => `subcommand:${s}`),
213
- usesLLM ? "llm" : "deterministic",
214
- readsChronicle ? "chronicle" : "",
215
- ].filter(Boolean),
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
- // Scan modules/
232
- const modulesDir = path.join(input.rootDir, "modules");
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
- const entries = await fs.readdir(modulesDir, { withFileTypes: true });
235
- for (const entry of entries) {
236
- if (entry.isDirectory() && !entry.name.startsWith("_") && !["shared"].includes(entry.name)) {
237
- findings.push({
238
- id: `repo-module-${idx++}`,
239
- kind: "code",
240
- source: `modules/${entry.name}/`,
241
- path: `modules/${entry.name}/`,
242
- title: `Module: ${entry.name}`,
243
- summary: `TypeScript module: modules/${entry.name}/`,
244
- confidence: 0.85,
245
- tags: ["module", entry.name, "code"],
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
- catch { /* no modules dir */ }
251
- // Scan workflows
292
+ // GitHub Actions workflows
252
293
  const workflowsDir = path.join(input.rootDir, ".github", "workflows");
253
294
  try {
254
- const entries = await fs.readdir(workflowsDir);
255
- for (const file of entries.filter(f => f.endsWith(".yml"))) {
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", "github-actions"],
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() && !["node_modules", "dist"].includes(entry.name)) {
336
+ if (entry.isDirectory() && !SKIP_TEST.has(entry.name) && !entry.name.startsWith(".")) {
295
337
  await walkTests(full);
296
338
  }
297
- else if (entry.isFile() && (entry.name.endsWith(".test.ts") || entry.name.endsWith(".test.js"))) {
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, ".test.ts")}`,
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(path.join(input.rootDir, "modules"));
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|init|install|setup|get.?started/, "onboarding"],
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
- [/commit|proposal|review|approve|memory/, "chronicle"],
374
- [/advisor|brief|query/, "advisor"],
375
- [/sentinel|coverage|drift/, "sentinel"],
376
- [/jury|evaluate|score/, "jury"],
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|eval|spec/, "testing"],
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;AAe9C,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA+CnF"}
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":"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"}
1
+ {"version":3,"file":"lance-db.js","sourceRoot":"","sources":["../../../modules/oracle/adapters/lance-db.ts"],"names":[],"mappings":"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"}
@@ -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.2.0",
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",