@kevinrabun/judges 1.6.0 → 1.8.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/README.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # Judges Panel
2
2
 
3
- An MCP (Model Context Protocol) server that provides a panel of **30 specialized judges** to evaluate AI-generated code — acting as an independent quality gate regardless of which project is being reviewed.
3
+ An MCP (Model Context Protocol) server that provides a panel of **32 specialized judges** to evaluate AI-generated code — acting as an independent quality gate regardless of which project is being reviewed. Includes **built-in AST analysis** powered by the TypeScript Compiler API — no separate parser server needed.
4
+
5
+ **Highlights:**
6
+ - Includes an **App Builder Workflow (3-step)** demo for release decisions, plain-language risk summaries, and prioritized fixes — see [Try the Demo](#2-try-the-demo).
4
7
 
5
8
  [![CI](https://github.com/KevinRabun/judges/actions/workflows/ci.yml/badge.svg)](https://github.com/KevinRabun/judges/actions/workflows/ci.yml)
6
9
  [![npm](https://img.shields.io/npm/v/@kevinrabun/judges)](https://www.npmjs.com/package/@kevinrabun/judges)
@@ -21,7 +24,7 @@ npm run build
21
24
 
22
25
  ### 2. Try the Demo
23
26
 
24
- Run the included demo to see all 30 judges evaluate a purposely flawed API server:
27
+ Run the included demo to see all 32 judges evaluate a purposely flawed API server:
25
28
 
26
29
  ```bash
27
30
  npm run demo
@@ -29,7 +32,38 @@ npm run demo
29
32
 
30
33
  This evaluates [`examples/sample-vulnerable-api.ts`](examples/sample-vulnerable-api.ts) — a file intentionally packed with security holes, performance anti-patterns, and code quality issues — and prints a full verdict with per-judge scores and findings.
31
34
 
32
- **What you'll see:**
35
+ The demo now also includes an **App Builder Workflow (3-step)** section. In a single run, you get both tribunal output and workflow output:
36
+ - Release decision (`Ship now` / `Ship with caution` / `Do not ship`)
37
+ - Plain-language summaries of top risks
38
+ - Prioritized remediation tasks and AI-fixable `P0/P1` items
39
+
40
+ **Sample workflow output (truncated):**
41
+
42
+ ```text
43
+ ╔══════════════════════════════════════════════════════════════╗
44
+ ║ App Builder Workflow Demo (3-Step) ║
45
+ ╚══════════════════════════════════════════════════════════════╝
46
+
47
+ Decision : Do not ship
48
+ Verdict : FAIL (47/100)
49
+ Risk Counts : Critical 24 | High 27 | Medium 55
50
+
51
+ Step 2 — Plain-Language Findings:
52
+ - [CRITICAL] DATA-001: Hardcoded password detected
53
+ What: ...
54
+ Why : ...
55
+ Next: ...
56
+
57
+ Step 3 — Prioritized Tasks:
58
+ - P0 | DEVELOPER | Effort L | DATA-001
59
+ Task: ...
60
+ Done: ...
61
+
62
+ AI-Fixable Now (P0/P1):
63
+ - P0 DATA-001: ...
64
+ ```
65
+
66
+ **Sample tribunal output (truncated):**
33
67
 
34
68
  ```
35
69
  ╔══════════════════════════════════════════════════════════════╗
@@ -41,7 +75,7 @@ This evaluates [`examples/sample-vulnerable-api.ts`](examples/sample-vulnerable-
41
75
  Critical Issues : 15
42
76
  High Issues : 17
43
77
  Total Findings : 83
44
- Judges Run : 30
78
+ Judges Run : 32
45
79
 
46
80
  Per-Judge Breakdown:
47
81
  ────────────────────────────────────────────────────────────────
@@ -83,7 +117,7 @@ This evaluates [`examples/sample-vulnerable-api.ts`](examples/sample-vulnerable-
83
117
  npm test
84
118
  ```
85
119
 
86
- Runs automated tests covering all 30 judges, markdown formatters, and edge cases.
120
+ Runs automated tests covering all judges, AST parsers, markdown formatters, and edge cases.
87
121
 
88
122
  ### 4. Connect to Your Editor
89
123
 
@@ -141,6 +175,7 @@ Then use `judges` as the command in your MCP config (no `args` needed).
141
175
  | **Observability** | Observability & Monitoring | `OBS-` | Structured logging, health checks, metrics, tracing |
142
176
  | **Performance** | Performance & Efficiency | `PERF-` | N+1 queries, sync I/O, caching, memory leaks |
143
177
  | **Compliance** | Regulatory Compliance | `COMP-` | GDPR/CCPA, PII protection, consent, data retention, audit trails |
178
+ | **Data Sovereignty** | Data Sovereignty & Jurisdictional Controls | `SOV-` | Data residency, cross-border transfer controls, jurisdiction-aware routing, sovereignty guardrails |
144
179
  | **Testing** | Testing & Quality Assurance | `TEST-` | Test coverage, assertions, test isolation, naming |
145
180
  | **Documentation** | Documentation & Readability | `DOC-` | JSDoc/docstrings, magic numbers, TODOs, code comments |
146
181
  | **Internationalization** | Internationalization (i18n) | `I18N-` | Hardcoded strings, locale handling, currency formatting |
@@ -159,22 +194,47 @@ Then use `judges` as the command in your MCP config (no `args` needed).
159
194
  | **Logging Privacy** | Logging Privacy & Data Redaction | `LOGPRIV-` | PII in logs, token logging, structured logging, redaction |
160
195
  | **Rate Limiting** | Rate Limiting & Throttling | `RATE-` | Missing rate limits, unbounded queries, backoff strategy |
161
196
  | **CI/CD** | CI/CD Pipeline & Deployment Safety | `CICD-` | Test infrastructure, lint config, Docker tags, build scripts |
197
+ | **Code Structure** | Structural Analysis (AST) | `STRUCT-` | Cyclomatic complexity, nesting depth, function length, dead code, type safety |
162
198
 
163
199
  ---
164
200
 
165
201
  ## How It Works
166
202
 
167
- The tribunal operates in two modes:
203
+ The tribunal operates in three layers:
204
+
205
+ 1. **Pattern-Based Analysis** — All tools (`evaluate_code`, `evaluate_code_single_judge`, `evaluate_project`, `evaluate_diff`) perform heuristic analysis using regex pattern matching to catch common anti-patterns. This works entirely offline with zero external API calls.
168
206
 
169
- 1. **Pattern-Based Analysis (Tools)** — The `evaluate_code` and `evaluate_code_single_judge` tools perform heuristic analysis using pattern matching to catch common anti-patterns. This works entirely offline with zero external API calls.
207
+ 2. **AST-Based Structural Analysis** — The Code Structure judge (`STRUCT-*` rules) uses real Abstract Syntax Tree parsing to measure cyclomatic complexity, nesting depth, function length, parameter count, dead code, and type safety with precision that regex cannot achieve. JavaScript/TypeScript files are parsed via the TypeScript Compiler API; Python, Rust, Go, Java, and C# use a scope-tracking structural parser. No external AST server required.
170
208
 
171
- 2. **LLM-Powered Deep Analysis (Prompts)** — The server exposes MCP prompts (e.g., `judge-data-security`, `full-tribunal`) that provide each judge's expert persona as a system prompt. When used by an LLM-based client, this enables deeper, context-aware analysis beyond what pattern matching can detect.
209
+ 3. **LLM-Powered Deep Analysis (Prompts)** — The server exposes MCP prompts (e.g., `judge-data-security`, `full-tribunal`) that provide each judge's expert persona as a system prompt. When used by an LLM-based client, this enables deeper, context-aware analysis beyond what static analysis can detect.
172
210
 
173
211
  ---
174
212
 
175
213
  ## Composable by Design
176
214
 
177
- Judges Panel is intentionally focused on **heuristic pattern detection** — fast, offline, zero-dependency. It does not try to be an AST parser, a CVE scanner, or a linter. Those capabilities belong in dedicated MCP servers that an AI agent can orchestrate alongside Judges.
215
+ Judges Panel covers **heuristic pattern detection** and **AST structural analysis** in a single server — fast, offline, and self-contained. It does not try to be a CVE scanner or a linter. Those capabilities belong in dedicated MCP servers that an AI agent can orchestrate alongside Judges.
216
+
217
+ ### Built-in AST Analysis (v1.8.0)
218
+
219
+ Unlike earlier versions that recommended a separate AST MCP server, Judges Panel now includes **real AST-based structural analysis** out of the box:
220
+
221
+ - **JavaScript / TypeScript** — Parsed with the TypeScript Compiler API (`ts.createSourceFile`) for full-fidelity AST
222
+ - **Python, Rust, Go, Java, C#** — Analyzed with a scope-tracking structural parser that counts decision points and nesting levels
223
+
224
+ The Code Structure judge (`STRUCT-*`) uses these parsers to accurately measure:
225
+
226
+ | Rule | Metric | Threshold |
227
+ |------|--------|-----------|
228
+ | `STRUCT-001` | Cyclomatic complexity | > 10 per function (high) |
229
+ | `STRUCT-002` | Nesting depth | > 4 levels (medium) |
230
+ | `STRUCT-003` | Function length | > 50 lines (medium) |
231
+ | `STRUCT-004` | Parameter count | > 5 parameters (medium) |
232
+ | `STRUCT-005` | Dead code | Unreachable statements (low) |
233
+ | `STRUCT-006` | Weak types | `any`, `dynamic`, `Object`, `interface{}`, `unsafe` (medium) |
234
+ | `STRUCT-007` | File complexity | > 40 total cyclomatic complexity (high) |
235
+ | `STRUCT-008` | Extreme complexity | > 20 per function (critical) |
236
+ | `STRUCT-009` | Extreme parameters | > 8 parameters (high) |
237
+ | `STRUCT-010` | Extreme function length | > 150 lines (high) |
178
238
 
179
239
  ### Recommended MCP Stack
180
240
 
@@ -184,44 +244,36 @@ When your AI coding assistant connects to multiple MCP servers, each one contrib
184
244
  ┌─────────────────────────────────────────────────────────┐
185
245
  │ AI Coding Assistant │
186
246
  │ (Claude, Copilot, Cursor, etc.) │
187
- └──────┬──────────┬──────────┬──────────┬────────────────┘
188
- │ │
189
- ▼ ▼
190
- ┌─────────┐ ┌────────┐ ┌────────┐ ┌────────┐
191
- Judges AST CVE / │ │ Linter │
192
- Panel │ │ Server │ │ SBOM │ │ Server │
193
- └─────────┘ └────────┘ └────────┘ └────────┘
194
- Heuristic Structural Vuln DB Style &
195
- patterns analysis scanning correctness
247
+ └──────┬──────────────────┬──────────┬───────────────────┘
248
+ │ │
249
+ ▼ ▼
250
+ ┌──────────────┐ ┌────────┐ ┌────────┐
251
+ Judges │ │ CVE / │ │ Linter │
252
+ Panel │ SBOM │ │ Server │
253
+ ─────────────│ └────────┘ └────────┘
254
+ │ 31 Heuristic Vuln DB Style &
255
+ judges │ scanning correctness
256
+ │ + AST judge │
257
+ └──────────────┘
258
+ Patterns +
259
+ structural
260
+ analysis
196
261
  ```
197
262
 
198
263
  | Layer | What It Does | Example Servers |
199
264
  |-------|-------------|-----------------|
200
- | **Judges Panel** | 30-judge quality gate — security patterns, cost, scalability, a11y, compliance, ethics | This server |
201
- | **AST Analysis** | Deep structural analysis — data flow, complexity metrics, dead code, type tracking | Tree-sitter, Semgrep, SonarQube MCP servers |
265
+ | **Judges Panel** | 32-judge quality gate — security patterns, AST analysis, cost, scalability, a11y, compliance, sovereignty, ethics, dependency health | This server |
202
266
  | **CVE / SBOM** | Vulnerability scanning against live databases — known CVEs, license risks, supply chain | OSV, Snyk, Trivy, Grype MCP servers |
203
267
  | **Linting** | Language-specific style and correctness rules | ESLint, Ruff, Clippy MCP servers |
204
268
  | **Runtime Profiling** | Memory, CPU, latency measurement on running code | Custom profiling MCP servers |
205
269
 
206
- ### Why Orchestration Beats a Monolith
207
-
208
- | | Monolith | Orchestrated MCP Stack |
209
- |---|---|---|
210
- | **Maintenance** | One team owns everything | Each server evolves independently |
211
- | **Depth** | Shallow coverage of many domains | Deep expertise per server |
212
- | **Updates** | CVE data stale = full redeploy | CVE server updates on its own |
213
- | **Language support** | Must embed parsers for every language | AST server handles this |
214
- | **User choice** | All or nothing | Pick the servers you need |
215
- | **Offline capability** | Hard to achieve with CVE deps | Judges runs fully offline; CVE server handles network |
216
-
217
270
  ### What This Means in Practice
218
271
 
219
272
  When you ask your AI assistant *"Is this code production-ready?"*, the agent can:
220
273
 
221
- 1. **Judges Panel** → Scan for hardcoded secrets, missing error handling, N+1 queries, accessibility gaps, compliance issues
222
- 2. **AST Server** → Analyze cyclomatic complexity, detect unreachable code, trace tainted data flows
223
- 3. **CVE Server** → Check every dependency in `package.json` against known vulnerabilities
224
- 4. **Linter Server** → Enforce team style rules, catch language-specific gotchas
274
+ 1. **Judges Panel** → Scan for hardcoded secrets, missing error handling, N+1 queries, accessibility gaps, compliance issues, **plus** analyze cyclomatic complexity, detect dead code, and flag deeply nested functions via AST
275
+ 2. **CVE Server** → Check every dependency in `package.json` against known vulnerabilities
276
+ 3. **Linter Server** → Enforce team style rules, catch language-specific gotchas
225
277
 
226
278
  Each server returns structured findings. The AI synthesizes everything into a single, actionable review — no single server needs to do it all.
227
279
 
@@ -229,11 +281,33 @@ Each server returns structured findings. The AI synthesizes everything into a si
229
281
 
230
282
  ## MCP Tools
231
283
 
284
+ ### `evaluate_app_builder_flow`
285
+ Run a **3-step app-builder workflow** for technical and non-technical stakeholders:
286
+
287
+ 1. Tribunal review (code/project/diff)
288
+ 2. Plain-language translation of top risks
289
+ 3. Prioritized remediation tasks with AI-fixable P0/P1 extraction
290
+
291
+ Supports:
292
+ - **Code mode**: `code` + `language`
293
+ - **Project mode**: `files[]`
294
+ - **Diff mode**: `code` + `language` + `changedLines[]`
295
+
296
+ | Parameter | Type | Required | Description |
297
+ |-----------|------|----------|-------------|
298
+ | `code` | string | conditional | Full source content (code/diff mode) |
299
+ | `language` | string | conditional | Programming language (code/diff mode) |
300
+ | `files` | array | conditional | `{ path, content, language }[]` for project mode |
301
+ | `changedLines` | number[] | no | 1-based changed lines for diff mode |
302
+ | `context` | string | no | Optional business/technical context |
303
+ | `maxFindings` | number | no | Max translated top findings (default: 10) |
304
+ | `maxTasks` | number | no | Max generated tasks (default: 20) |
305
+
232
306
  ### `get_judges`
233
307
  List all available judges with their domains and descriptions.
234
308
 
235
309
  ### `evaluate_code`
236
- Submit code to the **full judges panel**. All 30 judges evaluate independently and return a combined verdict.
310
+ Submit code to the **full judges panel**. All 32 judges evaluate independently and return a combined verdict.
237
311
 
238
312
  | Parameter | Type | Required | Description |
239
313
  |-----------|------|----------|-------------|
@@ -251,9 +325,36 @@ Submit code to a **specific judge** for targeted review.
251
325
  | `judgeId` | string | yes | See [judge IDs](#judge-ids) below |
252
326
  | `context` | string | no | Additional context |
253
327
 
328
+ ### `evaluate_project`
329
+ Submit multiple files for **project-level analysis**. All 32 judges evaluate each file, plus cross-file architectural analysis detects code duplication, inconsistent error handling, and dependency cycles.
330
+
331
+ | Parameter | Type | Required | Description |
332
+ |-----------|------|----------|-------------|
333
+ | `files` | array | yes | Array of `{ path, content, language }` objects |
334
+ | `context` | string | no | Optional project context |
335
+
336
+ ### `evaluate_diff`
337
+ Evaluate only the **changed lines** in a code diff. Runs all 32 judges on the full file but filters findings to lines you specify. Ideal for PR reviews and incremental analysis.
338
+
339
+ | Parameter | Type | Required | Description |
340
+ |-----------|------|----------|-------------|
341
+ | `code` | string | yes | The full file content (post-change) |
342
+ | `language` | string | yes | Programming language |
343
+ | `changedLines` | number[] | yes | 1-based line numbers that were changed |
344
+ | `context` | string | no | Optional context about the change |
345
+
346
+ ### `analyze_dependencies`
347
+ Analyze a dependency manifest file for supply-chain risks, version pinning issues, typosquatting indicators, and dependency hygiene. Supports `package.json`, `requirements.txt`, `Cargo.toml`, `go.mod`, `pom.xml`, and `.csproj` files.
348
+
349
+ | Parameter | Type | Required | Description |
350
+ |-----------|------|----------|-------------|
351
+ | `manifest` | string | yes | Contents of the dependency manifest file |
352
+ | `manifestType` | string | yes | File type: `package.json`, `requirements.txt`, etc. |
353
+ | `context` | string | no | Optional context |
354
+
254
355
  #### Judge IDs
255
356
 
256
- `data-security` · `cybersecurity` · `cost-effectiveness` · `scalability` · `cloud-readiness` · `software-practices` · `accessibility` · `api-design` · `reliability` · `observability` · `performance` · `compliance` · `testing` · `documentation` · `internationalization` · `dependency-health` · `concurrency` · `ethics-bias` · `maintainability` · `error-handling` · `authentication` · `database` · `caching` · `configuration-management` · `backwards-compatibility` · `portability` · `ux` · `logging-privacy` · `rate-limiting` · `ci-cd`
357
+ `data-security` · `cybersecurity` · `cost-effectiveness` · `scalability` · `cloud-readiness` · `software-practices` · `accessibility` · `api-design` · `reliability` · `observability` · `performance` · `compliance` · `data-sovereignty` · `testing` · `documentation` · `internationalization` · `dependency-health` · `concurrency` · `ethics-bias` · `maintainability` · `error-handling` · `authentication` · `database` · `caching` · `configuration-management` · `backwards-compatibility` · `portability` · `ux` · `logging-privacy` · `rate-limiting` · `ci-cd` · `code-structure`
257
358
 
258
359
  ---
259
360
 
@@ -275,6 +376,7 @@ Each judge has a corresponding prompt for LLM-powered deep analysis:
275
376
  | `judge-observability` | Deep observability & monitoring review |
276
377
  | `judge-performance` | Deep performance optimization review |
277
378
  | `judge-compliance` | Deep regulatory compliance review |
379
+ | `judge-data-sovereignty` | Deep data sovereignty and jurisdictional controls review |
278
380
  | `judge-testing` | Deep testing quality review |
279
381
  | `judge-documentation` | Deep documentation quality review |
280
382
  | `judge-internationalization` | Deep i18n review |
@@ -293,7 +395,8 @@ Each judge has a corresponding prompt for LLM-powered deep analysis:
293
395
  | `judge-logging-privacy` | Deep logging privacy review |
294
396
  | `judge-rate-limiting` | Deep rate limiting review |
295
397
  | `judge-ci-cd` | Deep CI/CD pipeline review |
296
- | `full-tribunal` | All 30 judges in a single prompt |
398
+ | `judge-code-structure` | Deep AST-based structural analysis review |
399
+ | `full-tribunal` | All 32 judges in a single prompt |
297
400
 
298
401
  ---
299
402
 
@@ -314,7 +417,7 @@ Each judge scores the code from **0 to 100**:
314
417
  - **WARNING** — Any high finding, any medium finding, or score < 80
315
418
  - **PASS** — Score ≥ 80 with no critical, high, or medium findings
316
419
 
317
- The **overall tribunal score** is the average of all 30 judges. The overall verdict fails if **any** judge fails.
420
+ The **overall tribunal score** is the average of all 32 judges. The overall verdict fails if **any** judge fails.
318
421
 
319
422
  ---
320
423
 
@@ -323,20 +426,25 @@ The **overall tribunal score** is the average of all 30 judges. The overall verd
323
426
  ```
324
427
  judges/
325
428
  ├── src/
326
- │ ├── index.ts # MCP server entry point — tools, prompts, transport
429
+ │ ├── index.ts # MCP server entry point — 6 tools, prompts, transport
327
430
  │ ├── types.ts # TypeScript interfaces (Finding, JudgeEvaluation, etc.)
328
- │ ├── evaluators/ # Pattern-based analysis engine for each judge
329
- │ │ ├── index.ts # evaluateWithJudge(), evaluateWithTribunal()
431
+ │ ├── ast/ # AST analysis engine (built-in, no external deps)
432
+ │ │ ├── index.ts # analyzeStructure() — routes to correct parser
433
+ │ │ ├── types.ts # FunctionInfo, CodeStructure interfaces
434
+ │ │ ├── typescript-ast.ts # TypeScript Compiler API parser (JS/TS)
435
+ │ │ └── structural-parser.ts # Scope-tracking parser (Python/Rust/Go/Java/C#)
436
+ │ ├── evaluators/ # Analysis engine for each judge
437
+ │ │ ├── index.ts # evaluateWithJudge(), evaluateWithTribunal(), evaluateProject(), etc.
330
438
  │ │ ├── shared.ts # Scoring, verdict logic, markdown formatters
331
- │ │ └── *.ts # One analyzer per judge (30 files)
439
+ │ │ └── *.ts # One analyzer per judge (32 files)
332
440
  │ └── judges/ # Judge definitions (id, name, domain, system prompt)
333
441
  │ ├── index.ts # JUDGES array, getJudge(), getJudgeSummaries()
334
- │ └── *.ts # One definition per judge (30 files)
442
+ │ └── *.ts # One definition per judge (32 files)
335
443
  ├── examples/
336
- │ ├── sample-vulnerable-api.ts # Intentionally flawed code (triggers all 30 judges)
444
+ │ ├── sample-vulnerable-api.ts # Intentionally flawed code (triggers all judges)
337
445
  │ └── demo.ts # Run: npm run demo
338
446
  ├── tests/
339
- │ └── judges.test.ts # Run: npm test (184 tests)
447
+ │ └── judges.test.ts # Run: npm test
340
448
  ├── server.json # MCP Registry manifest
341
449
  ├── package.json
342
450
  ├── tsconfig.json
@@ -0,0 +1,3 @@
1
+ import { Finding } from "../types.js";
2
+ export declare function analyzeDataSovereignty(code: string, language: string): Finding[];
3
+ //# sourceMappingURL=data-sovereignty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-sovereignty.d.ts","sourceRoot":"","sources":["../../src/evaluators/data-sovereignty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAyIhF"}
@@ -0,0 +1,109 @@
1
+ export function analyzeDataSovereignty(code, language) {
2
+ const findings = [];
3
+ const lines = code.split("\n");
4
+ const prefix = "SOV";
5
+ let ruleNum = 1;
6
+ const regionMentionLines = [];
7
+ const hardcodedGlobalOrForeignLines = [];
8
+ lines.forEach((line, index) => {
9
+ if (/region|location|geo|jurisdiction|data.?residen/i.test(line)) {
10
+ regionMentionLines.push(index + 1);
11
+ }
12
+ if (/(global|multi-?region|us-|asia-|ap-|worldwide|any-region|default-region)/i.test(line) &&
13
+ !/allow|approved|whitelist|policy|guard|eu-|sovereign/i.test(line)) {
14
+ hardcodedGlobalOrForeignLines.push(index + 1);
15
+ }
16
+ });
17
+ const hasRegionPolicy = /allow(ed)?Regions|approvedRegions|regionPolicy|dataResidencyPolicy|sovereignty/i.test(code);
18
+ if (hardcodedGlobalOrForeignLines.length > 0 && !hasRegionPolicy) {
19
+ findings.push({
20
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
21
+ severity: "high",
22
+ title: "Region usage without residency policy guardrails",
23
+ description: "Code appears to use global/foreign region patterns without an explicit approved-region policy. This can cause unintentional cross-border storage or processing.",
24
+ lineNumbers: hardcodedGlobalOrForeignLines.slice(0, 10),
25
+ recommendation: "Enforce a strict approved-region allowlist and reject deployments/requests outside permitted jurisdictions.",
26
+ reference: "Data Residency Governance / GDPR Chapter V",
27
+ });
28
+ }
29
+ const crossBorderEgressLines = [];
30
+ lines.forEach((line, index) => {
31
+ if (/(fetch\(|axios\.|http(s)?:\/\/|webhook|third.?party|external.?api|sendTo|forwardTo)/i.test(line) &&
32
+ !/consent|scc|adequacy|jurisdiction|region|residency|sovereignty/i.test(line)) {
33
+ crossBorderEgressLines.push(index + 1);
34
+ }
35
+ });
36
+ if (crossBorderEgressLines.length > 0) {
37
+ findings.push({
38
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
39
+ severity: "high",
40
+ title: "Potential cross-border data egress without jurisdiction checks",
41
+ description: "External API/network calls are present without visible jurisdictional or transfer controls, increasing cross-border data transfer risk.",
42
+ lineNumbers: crossBorderEgressLines.slice(0, 10),
43
+ recommendation: "Add egress controls that validate destination jurisdiction, data classification, and lawful transfer conditions before sending data.",
44
+ reference: "GDPR Articles 44-49 / Cross-Border Transfer Controls",
45
+ });
46
+ }
47
+ const replicationLines = [];
48
+ lines.forEach((line, index) => {
49
+ if (/(replica|replication|backup|dr|disaster.?recovery|geo-?redundant|read.?replica)/i.test(line) && !/same.?region|region.?locked|sovereign|local.?zone/i.test(line)) {
50
+ replicationLines.push(index + 1);
51
+ }
52
+ });
53
+ if (replicationLines.length > 0) {
54
+ findings.push({
55
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
56
+ severity: "medium",
57
+ title: "Replication/backup configuration may violate localization requirements",
58
+ description: "Replication or backup behavior is referenced without explicit geography constraints, which can replicate regulated data to unauthorized regions.",
59
+ lineNumbers: replicationLines.slice(0, 10),
60
+ recommendation: "Pin replication and backup targets to approved jurisdictions and document DR geography constraints.",
61
+ reference: "Data Localization Controls / Operational Resilience",
62
+ });
63
+ }
64
+ const exportLines = [];
65
+ lines.forEach((line, index) => {
66
+ if (/(export|download|dump|report|analytics|telemetry|support.?bundle)/i.test(line) && !/redact|anonym|aggregate|jurisdiction|policy/i.test(line)) {
67
+ exportLines.push(index + 1);
68
+ }
69
+ });
70
+ if (exportLines.length > 0) {
71
+ findings.push({
72
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
73
+ severity: "medium",
74
+ title: "Data export path without sovereignty-aware controls",
75
+ description: "Export/reporting flows appear without visible controls for jurisdiction, minimization, or anonymization, increasing sovereignty and transfer risk.",
76
+ lineNumbers: exportLines.slice(0, 10),
77
+ recommendation: "Apply policy checks to export paths (region eligibility, minimization, anonymization) and block disallowed exports.",
78
+ reference: "Data Governance / Transfer Risk Mitigation",
79
+ });
80
+ }
81
+ const geoRoutingSignals = /(country|locale|region|jurisdiction|tenantRegion|dataBoundary)/i.test(code);
82
+ const hasPolicyEnforcement = /(deny|reject|throw|forbidden|policyViolation|residencyViolation)/i.test(code);
83
+ if (regionMentionLines.length > 0 && geoRoutingSignals && !hasPolicyEnforcement) {
84
+ findings.push({
85
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
86
+ severity: "low",
87
+ title: "Jurisdiction context present without explicit enforcement branch",
88
+ description: "Code references region/jurisdiction context but does not clearly enforce deny/allow behavior when rules are violated.",
89
+ lineNumbers: regionMentionLines.slice(0, 10),
90
+ recommendation: "Implement explicit enforcement branches that block operations violating residency or transfer policy.",
91
+ reference: "Policy-as-Code Enforcement Best Practices",
92
+ });
93
+ }
94
+ if (findings.length === 0 && code.length > 0) {
95
+ const hasDataHandling = /(user|customer|personal|profile|account|email|phone|pii|data)/i.test(code);
96
+ if (hasDataHandling) {
97
+ findings.push({
98
+ ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
99
+ severity: "info",
100
+ title: "Sovereignty evidence not explicit in code",
101
+ description: "Data handling is present, but sovereignty controls (policy references, jurisdiction checks, transfer guardrails) are not explicitly visible in this code segment.",
102
+ recommendation: "Add explicit sovereignty control points in code/config and link them to auditable policy artifacts.",
103
+ reference: "Data Sovereignty Assurance Guidance",
104
+ });
105
+ }
106
+ }
107
+ return findings;
108
+ }
109
+ //# sourceMappingURL=data-sovereignty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-sovereignty.js","sourceRoot":"","sources":["../../src/evaluators/data-sovereignty.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { JudgeDefinition, JudgeEvaluation, TribunalVerdict, ProjectVerdict, DiffVerdict, DependencyVerdict } from "../types.js";
1
+ import { JudgeDefinition, JudgeEvaluation, TribunalVerdict, ProjectVerdict, DiffVerdict, DependencyVerdict, AppBuilderWorkflowResult } from "../types.js";
2
2
  import { formatVerdictAsMarkdown, formatEvaluationAsMarkdown } from "./shared.js";
3
3
  /**
4
4
  * Run a single judge against the provided code.
@@ -26,5 +26,18 @@ export declare function evaluateDiff(code: string, language: string, changedLine
26
26
  * Parse a manifest file and analyze dependencies for supply-chain risks.
27
27
  */
28
28
  export declare function analyzeDependencies(manifest: string, manifestType: string): DependencyVerdict;
29
+ export declare function runAppBuilderWorkflow(params: {
30
+ code?: string;
31
+ language?: string;
32
+ files?: Array<{
33
+ path: string;
34
+ content: string;
35
+ language: string;
36
+ }>;
37
+ changedLines?: number[];
38
+ context?: string;
39
+ maxFindings?: number;
40
+ maxTasks?: number;
41
+ }): AppBuilderWorkflowResult;
29
42
  export { formatVerdictAsMarkdown, formatEvaluationAsMarkdown };
30
43
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evaluators/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EAIlB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAKL,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,aAAa,CAAC;AAqCrB;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,eAAe,CA+GjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,eAAe,CAsCjB;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EACjE,OAAO,CAAC,EAAE,MAAM,GACf,cAAc,CAmHhB;AAID;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,WAAW,CAqBb;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,iBAAiB,CA0OnB;AAID,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evaluators/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EAKjB,wBAAwB,EAGzB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAKL,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,aAAa,CAAC;AAsCrB;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,eAAe,CAkHjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,eAAe,CAsCjB;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EACjE,OAAO,CAAC,EAAE,MAAM,GACf,cAAc,CAmHhB;AAID;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,WAAW,CAqBb;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,iBAAiB,CA0OnB;AAkGD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,wBAAwB,CA8F3B;AAID,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,CAAC"}
@@ -17,6 +17,7 @@ import { analyzeReliability } from "./reliability.js";
17
17
  import { analyzeObservability } from "./observability.js";
18
18
  import { analyzePerformance } from "./performance.js";
19
19
  import { analyzeCompliance } from "./compliance.js";
20
+ import { analyzeDataSovereignty } from "./data-sovereignty.js";
20
21
  import { analyzeTesting } from "./testing.js";
21
22
  import { analyzeDocumentation } from "./documentation.js";
22
23
  import { analyzeInternationalization } from "./internationalization.js";
@@ -79,6 +80,9 @@ export function evaluateWithJudge(judge, code, language, context) {
79
80
  case "compliance":
80
81
  findings.push(...analyzeCompliance(code, language));
81
82
  break;
83
+ case "data-sovereignty":
84
+ findings.push(...analyzeDataSovereignty(code, language));
85
+ break;
82
86
  case "testing":
83
87
  findings.push(...analyzeTesting(code, language));
84
88
  break;
@@ -499,6 +503,160 @@ export function analyzeDependencies(manifest, manifestType) {
499
503
  summary: `Dependency analysis: ${dependencies.length} dependencies, ${findings.length} findings, score ${score}/100 — ${verdict.toUpperCase()}`,
500
504
  };
501
505
  }
506
+ // ─── App Builder Flow (Review → Translate → Task Plan) ─────────────────────
507
+ function severityRank(severity) {
508
+ switch (severity) {
509
+ case "critical":
510
+ return 5;
511
+ case "high":
512
+ return 4;
513
+ case "medium":
514
+ return 3;
515
+ case "low":
516
+ return 2;
517
+ case "info":
518
+ return 1;
519
+ }
520
+ }
521
+ function dedupeFindings(findings) {
522
+ const seen = new Set();
523
+ const result = [];
524
+ for (const finding of findings) {
525
+ const key = `${finding.ruleId}|${finding.title}|${finding.severity}`;
526
+ if (seen.has(key))
527
+ continue;
528
+ seen.add(key);
529
+ result.push(finding);
530
+ }
531
+ return result;
532
+ }
533
+ function decideRelease(criticalCount, highCount, score) {
534
+ if (criticalCount > 0 || score < 60)
535
+ return "do-not-ship";
536
+ if (highCount > 0 || score < 80)
537
+ return "ship-with-caution";
538
+ return "ship-now";
539
+ }
540
+ function toPlainLanguageFinding(finding) {
541
+ const severityImpact = {
542
+ critical: "This can directly cause security incidents, outages, or serious compliance exposure.",
543
+ high: "This is likely to impact users or operations if left unresolved.",
544
+ medium: "This can create reliability, maintainability, or quality issues over time.",
545
+ low: "This is a quality improvement that reduces friction and future rework.",
546
+ info: "This is guidance to strengthen consistency and engineering hygiene.",
547
+ };
548
+ return {
549
+ ruleId: finding.ruleId,
550
+ severity: finding.severity,
551
+ title: finding.title,
552
+ whatIsWrong: `${finding.title}: ${finding.description}`,
553
+ whyItMatters: severityImpact[finding.severity],
554
+ nextAction: finding.recommendation,
555
+ };
556
+ }
557
+ function pickOwner(finding) {
558
+ if (/^(UX|A11Y|I18N|ETHICS|COMPAT)-/.test(finding.ruleId))
559
+ return "product";
560
+ if (/^(DOC|TEST|MAINT|ERR|CFG)-/.test(finding.ruleId))
561
+ return "ai";
562
+ return "developer";
563
+ }
564
+ function pickPriority(severity) {
565
+ if (severity === "critical")
566
+ return "P0";
567
+ if (severity === "high")
568
+ return "P1";
569
+ return "P2";
570
+ }
571
+ function pickEffort(finding) {
572
+ if (finding.severity === "critical")
573
+ return "L";
574
+ if (finding.severity === "high")
575
+ return "M";
576
+ return finding.lineNumbers && finding.lineNumbers.length > 3 ? "M" : "S";
577
+ }
578
+ function toWorkflowTask(finding) {
579
+ const owner = pickOwner(finding);
580
+ const priority = pickPriority(finding.severity);
581
+ const effort = pickEffort(finding);
582
+ const aiFixable = owner !== "product";
583
+ return {
584
+ priority,
585
+ owner,
586
+ effort,
587
+ ruleId: finding.ruleId,
588
+ task: `${finding.title} — ${finding.recommendation}`,
589
+ doneWhen: `A follow-up review no longer reports ${finding.ruleId} and related tests/checks pass.`,
590
+ aiFixable,
591
+ };
592
+ }
593
+ export function runAppBuilderWorkflow(params) {
594
+ const maxFindings = Math.max(1, params.maxFindings ?? 10);
595
+ const maxTasks = Math.max(1, params.maxTasks ?? 20);
596
+ let mode;
597
+ let verdict;
598
+ let score;
599
+ let findings;
600
+ if (params.files && params.files.length > 0) {
601
+ mode = "project";
602
+ const result = evaluateProject(params.files, params.context);
603
+ verdict = result.overallVerdict;
604
+ score = result.overallScore;
605
+ findings = [
606
+ ...result.fileResults.flatMap((fr) => fr.findings),
607
+ ...result.architecturalFindings,
608
+ ];
609
+ }
610
+ else if (params.changedLines && params.changedLines.length > 0) {
611
+ if (!params.code || !params.language) {
612
+ throw new Error("changedLines mode requires both code and language inputs");
613
+ }
614
+ mode = "diff";
615
+ const result = evaluateDiff(params.code, params.language, params.changedLines, params.context);
616
+ verdict = result.verdict;
617
+ score = result.score;
618
+ findings = result.findings;
619
+ }
620
+ else {
621
+ if (!params.code || !params.language) {
622
+ throw new Error("code mode requires both code and language, or provide files for project mode");
623
+ }
624
+ mode = "code";
625
+ const result = evaluateWithTribunal(params.code, params.language, params.context);
626
+ verdict = result.overallVerdict;
627
+ score = result.overallScore;
628
+ findings = result.evaluations.flatMap((evaluation) => evaluation.findings);
629
+ }
630
+ const dedupedFindings = dedupeFindings(findings).sort((a, b) => severityRank(b.severity) - severityRank(a.severity));
631
+ const criticalCount = dedupedFindings.filter((finding) => finding.severity === "critical").length;
632
+ const highCount = dedupedFindings.filter((finding) => finding.severity === "high").length;
633
+ const mediumCount = dedupedFindings.filter((finding) => finding.severity === "medium").length;
634
+ const releaseDecision = decideRelease(criticalCount, highCount, score);
635
+ const topFindings = dedupedFindings
636
+ .filter((finding) => ["critical", "high", "medium"].includes(finding.severity))
637
+ .slice(0, maxFindings);
638
+ const plainLanguageFindings = topFindings.map(toPlainLanguageFinding);
639
+ const tasks = dedupedFindings.slice(0, maxTasks).map(toWorkflowTask);
640
+ const aiFixableNow = tasks.filter((task) => task.aiFixable && (task.priority === "P0" || task.priority === "P1"));
641
+ const summary = releaseDecision === "do-not-ship"
642
+ ? "Do not ship yet. Resolve critical risks before release."
643
+ : releaseDecision === "ship-with-caution"
644
+ ? "Ship with caution. Address high-priority gaps and monitor closely."
645
+ : "Ship now. No blocking risks were detected in this review pass.";
646
+ return {
647
+ mode,
648
+ verdict,
649
+ score,
650
+ criticalCount,
651
+ highCount,
652
+ mediumCount,
653
+ releaseDecision,
654
+ summary,
655
+ plainLanguageFindings,
656
+ tasks,
657
+ aiFixableNow,
658
+ };
659
+ }
502
660
  // ─── Re-exports ──────────────────────────────────────────────────────────────
503
661
  export { formatVerdictAsMarkdown, formatEvaluationAsMarkdown };
504
662
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evaluators/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evaluators/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,7 +8,8 @@
8
8
  * to perform thorough contextual analysis beyond what static patterns catch.
9
9
  *
10
10
  * Tools exposed:
11
- * - evaluate_code: Full panel review (all 31 judges)
11
+ * - evaluate_app_builder_flow: 3-step workflow (review, translate, tasks)
12
+ * - evaluate_code: Full panel review (all judges)
12
13
  * - evaluate_code_single_judge: Review by a specific judge
13
14
  * - get_judges: List all available judges
14
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;GAaG"}
package/dist/index.js CHANGED
@@ -8,7 +8,8 @@
8
8
  * to perform thorough contextual analysis beyond what static patterns catch.
9
9
  *
10
10
  * Tools exposed:
11
- * - evaluate_code: Full panel review (all 31 judges)
11
+ * - evaluate_app_builder_flow: 3-step workflow (review, translate, tasks)
12
+ * - evaluate_code: Full panel review (all judges)
12
13
  * - evaluate_code_single_judge: Review by a specific judge
13
14
  * - get_judges: List all available judges
14
15
  */
@@ -16,11 +17,11 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
16
17
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
17
18
  import { z } from "zod";
18
19
  import { JUDGES, getJudge, getJudgeSummaries } from "./judges/index.js";
19
- import { evaluateWithJudge, evaluateWithTribunal, evaluateProject, evaluateDiff, analyzeDependencies, formatVerdictAsMarkdown, formatEvaluationAsMarkdown, } from "./evaluators/index.js";
20
+ import { evaluateWithJudge, evaluateWithTribunal, evaluateProject, evaluateDiff, analyzeDependencies, runAppBuilderWorkflow, formatVerdictAsMarkdown, formatEvaluationAsMarkdown, } from "./evaluators/index.js";
20
21
  // ─── Create MCP Server ──────────────────────────────────────────────────────
21
22
  const server = new McpServer({
22
23
  name: "judges",
23
- version: "1.6.0",
24
+ version: "1.8.0",
24
25
  });
25
26
  // ─── Tool: get_judges ────────────────────────────────────────────────────────
26
27
  server.tool("get_judges", "List all available judges on the Agent Tribunal panel, including their areas of expertise and what they evaluate.", {}, async () => {
@@ -38,7 +39,114 @@ server.tool("get_judges", "List all available judges on the Agent Tribunal panel
38
39
  };
39
40
  });
40
41
  // ─── Tool: evaluate_code ─────────────────────────────────────────────────────
41
- server.tool("evaluate_code", `Submit code to the full Judges Panel for evaluation. All 31 judges will independently review the code using both automated pattern detection and deep contextual analysis criteria. Returns a combined verdict with scores, findings, and expert review guidance for thorough evaluation.`, {
42
+ server.tool("evaluate_app_builder_flow", "Run a 3-step app-builder workflow: tribunal review, plain-language risk translation, and prioritized remediation tasks with AI-fixable P0/P1 items.", {
43
+ code: z
44
+ .string()
45
+ .optional()
46
+ .describe("Source code to evaluate (use with language for single-file mode)"),
47
+ language: z
48
+ .string()
49
+ .optional()
50
+ .describe("Programming language for single-file or diff mode"),
51
+ files: z
52
+ .array(z.object({
53
+ path: z.string().describe("Relative file path"),
54
+ content: z.string().describe("File content"),
55
+ language: z.string().describe("Programming language"),
56
+ }))
57
+ .optional()
58
+ .describe("Project files for multi-file mode"),
59
+ changedLines: z
60
+ .array(z.number())
61
+ .optional()
62
+ .describe("1-based changed line numbers for diff mode"),
63
+ context: z
64
+ .string()
65
+ .optional()
66
+ .describe("Optional context about business purpose or constraints"),
67
+ maxFindings: z
68
+ .number()
69
+ .optional()
70
+ .describe("Maximum number of translated top findings to return (default: 10)"),
71
+ maxTasks: z
72
+ .number()
73
+ .optional()
74
+ .describe("Maximum number of remediation tasks to return (default: 20)"),
75
+ }, async ({ code, language, files, changedLines, context, maxFindings, maxTasks }) => {
76
+ try {
77
+ const result = runAppBuilderWorkflow({
78
+ code,
79
+ language,
80
+ files,
81
+ changedLines,
82
+ context,
83
+ maxFindings,
84
+ maxTasks,
85
+ });
86
+ const releaseLabel = result.releaseDecision === "do-not-ship"
87
+ ? "Do not ship"
88
+ : result.releaseDecision === "ship-with-caution"
89
+ ? "Ship with caution"
90
+ : "Ship now";
91
+ let md = `# App Builder Workflow Report\n\n`;
92
+ md += `**Mode:** ${result.mode}\n`;
93
+ md += `**Decision:** ${releaseLabel}\n`;
94
+ md += `**Verdict:** ${result.verdict.toUpperCase()} (${result.score}/100)\n`;
95
+ md += `**Findings:** Critical ${result.criticalCount} | High ${result.highCount} | Medium ${result.mediumCount}\n\n`;
96
+ md += `${result.summary}\n\n`;
97
+ md += `## Plain-Language Summary\n\n`;
98
+ if (result.plainLanguageFindings.length === 0) {
99
+ md += `No critical/high/medium findings were identified in this run.\n\n`;
100
+ }
101
+ else {
102
+ for (const finding of result.plainLanguageFindings) {
103
+ md += `### [${finding.severity.toUpperCase()}] ${finding.ruleId}: ${finding.title}\n`;
104
+ md += `- **What is wrong:** ${finding.whatIsWrong}\n`;
105
+ md += `- **Why it matters:** ${finding.whyItMatters}\n`;
106
+ md += `- **Next action:** ${finding.nextAction}\n\n`;
107
+ }
108
+ }
109
+ md += `## Prioritized Task List\n\n`;
110
+ if (result.tasks.length === 0) {
111
+ md += `No remediation tasks generated.\n\n`;
112
+ }
113
+ else {
114
+ for (const task of result.tasks) {
115
+ md += `- **${task.priority}** | Owner: ${task.owner.toUpperCase()} | Effort: ${task.effort} | ${task.ruleId}\n`;
116
+ md += ` - Task: ${task.task}\n`;
117
+ md += ` - Done when: ${task.doneWhen}\n`;
118
+ }
119
+ md += `\n`;
120
+ }
121
+ md += `## AI-Fixable Now (P0/P1)\n\n`;
122
+ if (result.aiFixableNow.length === 0) {
123
+ md += `No AI-fixable P0/P1 items detected in this run.\n`;
124
+ }
125
+ else {
126
+ for (const task of result.aiFixableNow) {
127
+ md += `- **${task.priority} ${task.ruleId}** ${task.task}\n`;
128
+ }
129
+ }
130
+ return {
131
+ content: [{ type: "text", text: md }],
132
+ };
133
+ }
134
+ catch (error) {
135
+ return {
136
+ content: [
137
+ {
138
+ type: "text",
139
+ text: error instanceof Error
140
+ ? `Error: ${error.message}`
141
+ : "Error: Failed to run app builder workflow",
142
+ },
143
+ ],
144
+ isError: true,
145
+ };
146
+ }
147
+ });
148
+ // ─── Tool: evaluate_code ─────────────────────────────────────────────────────
149
+ server.tool("evaluate_code", `Submit code to the full Judges Panel for evaluation. All ${JUDGES.length} judges will independently review the code using both automated pattern detection and deep contextual analysis criteria. Returns a combined verdict with scores, findings, and expert review guidance for thorough evaluation.`, {
42
150
  code: z
43
151
  .string()
44
152
  .describe("The source code to evaluate. Include the full file content for best results."),
@@ -104,7 +212,7 @@ server.tool("evaluate_code_single_judge", `Submit code to a specific judge on th
104
212
  };
105
213
  });
106
214
  // ─── Tool: evaluate_project ──────────────────────────────────────────────────
107
- server.tool("evaluate_project", "Submit multiple files for project-level analysis. All 31 judges evaluate each file, plus cross-file architectural analysis detects issues like code duplication, inconsistent error handling, and dependency cycles.", {
215
+ server.tool("evaluate_project", `Submit multiple files for project-level analysis. All ${JUDGES.length} judges evaluate each file, plus cross-file architectural analysis detects issues like code duplication, inconsistent error handling, and dependency cycles.`, {
108
216
  files: z.array(z.object({
109
217
  path: z.string().describe("Relative file path"),
110
218
  content: z.string().describe("File content"),
@@ -145,7 +253,7 @@ server.tool("evaluate_project", "Submit multiple files for project-level analysi
145
253
  };
146
254
  });
147
255
  // ─── Tool: evaluate_diff ─────────────────────────────────────────────────────
148
- server.tool("evaluate_diff", "Evaluate only the changed lines in a code diff. Runs all 31 judges on the full file but filters findings to only those affecting the specified changed lines. Ideal for PR reviews and incremental analysis.", {
256
+ server.tool("evaluate_diff", `Evaluate only the changed lines in a code diff. Runs all ${JUDGES.length} judges on the full file but filters findings to only those affecting the specified changed lines. Ideal for PR reviews and incremental analysis.`, {
149
257
  code: z
150
258
  .string()
151
259
  .describe("The full file content (post-change)"),
@@ -311,7 +419,7 @@ for (const judge of JUDGES) {
311
419
  });
312
420
  }
313
421
  // Full tribunal prompt
314
- server.prompt("full-tribunal", "Convene the full Judges Panel — all 31 judges evaluate the code in their respective domains and produce a combined verdict.", {
422
+ server.prompt("full-tribunal", `Convene the full Judges Panel — all ${JUDGES.length} judges evaluate the code in their respective domains and produce a combined verdict.`, {
315
423
  code: z
316
424
  .string()
317
425
  .describe("The source code to evaluate"),
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { JudgeDefinition } from "../types.js";
2
+ export declare const dataSovereigntyJudge: JudgeDefinition;
3
+ //# sourceMappingURL=data-sovereignty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-sovereignty.d.ts","sourceRoot":"","sources":["../../src/judges/data-sovereignty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,eAAO,MAAM,oBAAoB,EAAE,eAiClC,CAAC"}
@@ -0,0 +1,34 @@
1
+ export const dataSovereigntyJudge = {
2
+ id: "data-sovereignty",
3
+ name: "Judge Data Sovereignty",
4
+ domain: "Data Sovereignty & Jurisdictional Controls",
5
+ description: "Evaluates code for data residency enforcement, cross-border transfer controls, lawful transfer mechanisms, and jurisdiction-aware data handling.",
6
+ rulePrefix: "SOV",
7
+ systemPrompt: `You are Judge Data Sovereignty — a specialist in data residency, cross-border data transfer controls, jurisdictional compliance, and cloud architecture governance.
8
+
9
+ YOUR EVALUATION CRITERIA:
10
+ 1. **Data Residency Enforcement**: Are region choices explicit and constrained? Is storage pinned to approved jurisdictions (e.g., EU-only, US-only)?
11
+ 2. **Cross-Border Transfer Controls**: Are outbound data flows to third-party APIs/services controlled and restricted by jurisdiction?
12
+ 3. **Transfer Mechanisms**: Where cross-border transfer is required, are lawful mechanisms and safeguards represented (SCCs, adequacy assumptions, contractual controls)?
13
+ 4. **Jurisdiction-Aware Routing**: Is user data routed/processed according to country or regulatory zone?
14
+ 5. **Geo-Fencing of Processing**: Are compute and background processing jobs region-aware (queues, workers, analytics pipelines)?
15
+ 6. **Data Localization by Design**: Are architectural choices avoiding unnecessary centralized global stores?
16
+ 7. **Backup and Disaster Recovery Geography**: Do backup/replication strategies avoid unauthorized foreign replication?
17
+ 8. **Subprocessor and Third-Party Endpoint Risk**: Are external services checked for region alignment and legal exposure?
18
+ 9. **Data Egress Guardrails**: Are there controls that prevent accidental export (logs, telemetry, exports, support tooling)?
19
+ 10. **Evidence and Auditability**: Are controls observable and auditable (region tags, policy checks, alerts, deployment guardrails)?
20
+
21
+ RULES FOR YOUR EVALUATION:
22
+ - Assign rule IDs with prefix "SOV-" (e.g. SOV-001).
23
+ - Flag both code-level and architecture-level sovereignty risks.
24
+ - Distinguish between hard violations (critical/high) and weak governance posture (medium/low).
25
+ - Recommend concrete remediations: region pinning, policy-as-code, egress controls, and jurisdiction-aware routing.
26
+ - Score from 0-100 where 100 means strong sovereignty posture.
27
+
28
+ ADVERSARIAL MANDATE:
29
+ - Your role is adversarial: assume sovereignty controls are missing unless explicitly shown.
30
+ - Never praise or compliment the code. Report only gaps, risks, and deficiencies.
31
+ - If uncertain, flag potential jurisdictional exposure and explain the assumption.
32
+ - Absence of findings does not prove sovereignty compliance. State this explicitly.`,
33
+ };
34
+ //# sourceMappingURL=data-sovereignty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-sovereignty.js","sourceRoot":"","sources":["../../src/judges/data-sovereignty.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAoB;IACnD,EAAE,EAAE,kBAAkB;IACtB,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,4CAA4C;IACpD,WAAW,EACT,kJAAkJ;IACpJ,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;oFAyBoE;CACnF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/judges/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAkC9C;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE,eAAe,EAgCnC,CAAC;AAEF;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEhE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,KAAK,CAAC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAOD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/judges/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAmC9C;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE,eAAe,EAiCnC,CAAC;AAEF;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEhE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,KAAK,CAAC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAOD"}
@@ -10,6 +10,7 @@ import { reliabilityJudge } from "./reliability.js";
10
10
  import { observabilityJudge } from "./observability.js";
11
11
  import { performanceJudge } from "./performance.js";
12
12
  import { complianceJudge } from "./compliance.js";
13
+ import { dataSovereigntyJudge } from "./data-sovereignty.js";
13
14
  import { testingJudge } from "./testing.js";
14
15
  import { documentationJudge } from "./documentation.js";
15
16
  import { internationalizationJudge } from "./internationalization.js";
@@ -49,6 +50,7 @@ export const JUDGES = [
49
50
  observabilityJudge,
50
51
  performanceJudge,
51
52
  complianceJudge,
53
+ dataSovereigntyJudge,
52
54
  testingJudge,
53
55
  documentationJudge,
54
56
  internationalizationJudge,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/judges/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/judges/index.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -125,6 +125,73 @@ export interface DependencyVerdict {
125
125
  /** Summary */
126
126
  summary: string;
127
127
  }
128
+ /**
129
+ * High-level release recommendation for non-technical stakeholders.
130
+ */
131
+ export type ReleaseDecision = "ship-now" | "ship-with-caution" | "do-not-ship";
132
+ /**
133
+ * Plain-language translation of a technical finding.
134
+ */
135
+ export interface PlainLanguageFinding {
136
+ /** Rule ID from the originating judge */
137
+ ruleId: string;
138
+ /** Original severity */
139
+ severity: Severity;
140
+ /** Human-readable issue title */
141
+ title: string;
142
+ /** What is wrong in plain language */
143
+ whatIsWrong: string;
144
+ /** Why this matters to users/business */
145
+ whyItMatters: string;
146
+ /** Single next action */
147
+ nextAction: string;
148
+ }
149
+ /**
150
+ * Prioritized remediation task item.
151
+ */
152
+ export interface WorkflowTask {
153
+ /** Priority bucket */
154
+ priority: "P0" | "P1" | "P2";
155
+ /** Suggested owner */
156
+ owner: "ai" | "developer" | "product";
157
+ /** Relative effort estimate */
158
+ effort: "S" | "M" | "L";
159
+ /** Rule ID for traceability */
160
+ ruleId: string;
161
+ /** Action-oriented task text */
162
+ task: string;
163
+ /** Acceptance criterion */
164
+ doneWhen: string;
165
+ /** Whether the task is suitable for AI-first implementation */
166
+ aiFixable: boolean;
167
+ }
168
+ /**
169
+ * End-to-end output for the non-technical app-builder workflow.
170
+ */
171
+ export interface AppBuilderWorkflowResult {
172
+ /** Source mode used for analysis */
173
+ mode: "code" | "project" | "diff";
174
+ /** Final tribunal/diff verdict */
175
+ verdict: Verdict;
176
+ /** Score in range 0-100 */
177
+ score: number;
178
+ /** Count of critical findings considered */
179
+ criticalCount: number;
180
+ /** Count of high findings considered */
181
+ highCount: number;
182
+ /** Count of medium findings considered */
183
+ mediumCount: number;
184
+ /** Release recommendation for decision makers */
185
+ releaseDecision: ReleaseDecision;
186
+ /** Concise recommendation summary */
187
+ summary: string;
188
+ /** Top findings translated for non-technical readers */
189
+ plainLanguageFindings: PlainLanguageFinding[];
190
+ /** Prioritized remediation tasks */
191
+ tasks: WorkflowTask[];
192
+ /** AI-fixable tasks at P0/P1 priority */
193
+ aiFixableNow: WorkflowTask[];
194
+ }
128
195
  /**
129
196
  * The complete evaluation result from a single judge.
130
197
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kevinrabun/judges",
3
- "version": "1.6.0",
4
- "description": "31 specialized judges that evaluate AI-generated code for security, cost, and quality.",
3
+ "version": "1.8.0",
4
+ "description": "32 specialized judges that evaluate AI-generated code for security, cost, and quality.",
5
5
  "mcpName": "io.github.KevinRabun/judges",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
package/server.json CHANGED
@@ -2,17 +2,17 @@
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "io.github.KevinRabun/judges",
4
4
  "title": "Judges Panel",
5
- "description": "30 specialized judges that evaluate AI-generated code for security, cost, and quality.",
5
+ "description": "32 judges that evaluate AI-generated code for security, cost, and quality with built-in AST.",
6
6
  "repository": {
7
7
  "url": "https://github.com/kevinrabun/judges",
8
8
  "source": "github"
9
9
  },
10
- "version": "1.4.0",
10
+ "version": "1.8.0",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "@kevinrabun/judges",
15
- "version": "1.4.0",
15
+ "version": "1.8.0",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  }