@kevinrabun/judges 3.23.16 → 3.23.18
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/CHANGELOG.md +29 -0
- package/README.md +18 -18
- package/dist/evaluators/documentation.d.ts.map +1 -1
- package/dist/evaluators/documentation.js +20 -1
- package/dist/evaluators/documentation.js.map +1 -1
- package/dist/evaluators/observability.d.ts.map +1 -1
- package/dist/evaluators/observability.js +4 -1
- package/dist/evaluators/observability.js.map +1 -1
- package/dist/tools/prompts.js +2 -2
- package/package.json +2 -2
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to **@kevinrabun/judges** are documented here.
|
|
4
4
|
|
|
5
|
+
## [3.23.18] — 2026-03-07
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
- **DOC-001 precision improved** — Added cryptic-naming heuristic: only flags undocumented functions with short names (≤3 chars) or multiple single-letter parameters; self-documenting code with descriptive names is no longer flagged (FP rate 91.3% → 0%)
|
|
9
|
+
- **OBS-001 precision improved** — Added minimum route-count requirement (≥2 route definitions, excluding middleware); single-endpoint snippets are no longer flagged (FP rate 50% → 25%)
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
- **Benchmark** — Grade A, F1=0.904, TP=355, FN=75, FP=0 (301 cases, 39 judges)
|
|
13
|
+
- **Tests** — 1040 pass, 0 fail
|
|
14
|
+
|
|
15
|
+
## [3.23.17] — 2026-03-07
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
- **Judge count updated to 39** — All references across docs, tests, HTML, action.yml, Dockerfile, and README updated from 37 to 39
|
|
19
|
+
- **VS Code extension README rewritten** — New adoption-focused copy: 1-sentence value prop, "Try in 60 seconds" quick start, noise-control section, CI integration guide, full 15-language listing
|
|
20
|
+
- **Default `minSeverity` raised to `"high"`** — New installs see only critical + high findings, reducing noise for first-time users
|
|
21
|
+
- **Preset dropdown with enum values** — `judges.preset` now offers named choices (strict, lenient, security-only, startup, compliance, performance) in the Settings UI
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
- **First-run toast notification** — After the first successful evaluation, a one-time toast introduces `@judges` chat and links to noise settings
|
|
25
|
+
- **`Judges: Add CI Workflow` command** — Generates `.github/workflows/judges.yml` with a PR-triggered security-only preset
|
|
26
|
+
- **"Report false positive" code action** — New Quick Fix action opens a pre-filled GitHub issue for any Judges finding
|
|
27
|
+
- **Enhanced `@judges /help`** — Now includes verdict bands (PASS/WARN/FAIL), noise-control tips, and more examples
|
|
28
|
+
- **Improved chat command inference** — `inferCommand()` now recognizes "run judges", "judges review", "evaluate", "check" as review intent
|
|
29
|
+
- **Updated welcome view** — Findings panel shows 3 quick actions: evaluate file, evaluate workspace, open @judges chat
|
|
30
|
+
|
|
31
|
+
### Tests
|
|
32
|
+
- 1040 tests passing (0 failures)
|
|
33
|
+
|
|
5
34
|
## [3.23.16] — 2026-03-07
|
|
6
35
|
|
|
7
36
|
### Fixed
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Judges Panel
|
|
2
2
|
|
|
3
|
-
An MCP (Model Context Protocol) server that provides a panel of **
|
|
3
|
+
An MCP (Model Context Protocol) server that provides a panel of **39 specialized judges** to evaluate AI-generated code — acting as an independent quality gate regardless of which project is being reviewed. Combines **deterministic pattern matching & AST analysis** (instant, offline, zero LLM calls) with **LLM-powered deep-review prompts** that let your AI assistant perform expert-persona analysis across all 39 domains.
|
|
4
4
|
|
|
5
5
|
**Highlights:**
|
|
6
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).
|
|
@@ -17,11 +17,11 @@ An MCP (Model Context Protocol) server that provides a panel of **37 specialized
|
|
|
17
17
|
|
|
18
18
|
## Why Judges?
|
|
19
19
|
|
|
20
|
-
AI code generators (Copilot, Cursor, Claude, ChatGPT, etc.) write code fast — but they routinely produce **insecure defaults, missing auth, hardcoded secrets, and poor error handling**. Human reviewers catch some of this, but nobody reviews
|
|
20
|
+
AI code generators (Copilot, Cursor, Claude, ChatGPT, etc.) write code fast — but they routinely produce **insecure defaults, missing auth, hardcoded secrets, and poor error handling**. Human reviewers catch some of this, but nobody reviews 39 dimensions consistently.
|
|
21
21
|
|
|
22
22
|
| | ESLint / Biome | SonarQube | Semgrep / CodeQL | **Judges** |
|
|
23
23
|
|---|---|---|---|---|
|
|
24
|
-
| **Scope** | Style + some bugs | Bugs + code smells | Security patterns | **
|
|
24
|
+
| **Scope** | Style + some bugs | Bugs + code smells | Security patterns | **39 domains**: security, cost, compliance, a11y, API design, cloud, UX, … |
|
|
25
25
|
| **AI-generated code focus** | No | No | Partial | **Purpose-built** for AI output failure modes |
|
|
26
26
|
| **Setup** | Config per project | Server + scanner | Cloud or local | **One command**: `npx @kevinrabun/judges eval file.ts` |
|
|
27
27
|
| **Auto-fix patches** | Some | No | No | **114 deterministic patches** — instant, offline |
|
|
@@ -79,7 +79,7 @@ judges eval --min-score 80 src/api.ts
|
|
|
79
79
|
# One-line summary for scripts
|
|
80
80
|
judges eval --summary src/api.ts
|
|
81
81
|
|
|
82
|
-
# List all
|
|
82
|
+
# List all 39 judges
|
|
83
83
|
judges list
|
|
84
84
|
```
|
|
85
85
|
|
|
@@ -190,7 +190,7 @@ npm run build
|
|
|
190
190
|
|
|
191
191
|
### 2. Try the Demo
|
|
192
192
|
|
|
193
|
-
Run the included demo to see all
|
|
193
|
+
Run the included demo to see all 39 judges evaluate a purposely flawed API server:
|
|
194
194
|
|
|
195
195
|
```bash
|
|
196
196
|
npm run demo
|
|
@@ -293,7 +293,7 @@ Install the **[Judges Panel](https://marketplace.visualstudio.com/items?itemName
|
|
|
293
293
|
|
|
294
294
|
- **Inline diagnostics & quick-fixes** on every file save
|
|
295
295
|
- **`@judges` chat participant** — type `@judges` in Copilot Chat, or just ask for a "judges panel review" and Copilot routes automatically
|
|
296
|
-
- **Auto-configured MCP server** — all
|
|
296
|
+
- **Auto-configured MCP server** — all 39 expert-persona prompts available to Copilot with zero setup
|
|
297
297
|
|
|
298
298
|
```bash
|
|
299
299
|
code --install-extension kevinrabun.judges-panel
|
|
@@ -420,7 +420,7 @@ All commands support `--help` for usage details.
|
|
|
420
420
|
|
|
421
421
|
### `judges eval`
|
|
422
422
|
|
|
423
|
-
Evaluate a file with all
|
|
423
|
+
Evaluate a file with all 39 judges or a single judge.
|
|
424
424
|
|
|
425
425
|
| Flag | Description |
|
|
426
426
|
|------|-------------|
|
|
@@ -669,13 +669,13 @@ The tribunal operates in three layers:
|
|
|
669
669
|
|
|
670
670
|
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. All supported languages — **TypeScript, JavaScript, Python, Rust, Go, Java, C#, and C++** — are parsed via **tree-sitter WASM grammars** (real syntax trees compiled to WebAssembly, in-process, zero native dependencies). A scope-tracking structural parser is kept as a fallback when WASM grammars are unavailable. No external AST server required.
|
|
671
671
|
|
|
672
|
-
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 (Copilot, Claude, Cursor, etc.), the host LLM performs deeper, context-aware probabilistic analysis beyond what static patterns can detect. This is where the `systemPrompt` on each judge comes alive — Judges itself makes no LLM calls, but it provides the expert criteria so your AI assistant can act as
|
|
672
|
+
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 (Copilot, Claude, Cursor, etc.), the host LLM performs deeper, context-aware probabilistic analysis beyond what static patterns can detect. This is where the `systemPrompt` on each judge comes alive — Judges itself makes no LLM calls, but it provides the expert criteria so your AI assistant can act as 39 specialized reviewers.
|
|
673
673
|
|
|
674
674
|
---
|
|
675
675
|
|
|
676
676
|
## Composable by Design
|
|
677
677
|
|
|
678
|
-
Judges Panel is a **dual-layer** review system: instant **deterministic tools** (offline, no API keys) for pattern and AST analysis, plus **
|
|
678
|
+
Judges Panel is a **dual-layer** review system: instant **deterministic tools** (offline, no API keys) for pattern and AST analysis, plus **39 expert-persona MCP prompts** that unlock LLM-powered deep analysis when connected to an AI client. 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.
|
|
679
679
|
|
|
680
680
|
### Built-in AST Analysis (v2.0.0+)
|
|
681
681
|
|
|
@@ -724,7 +724,7 @@ When your AI coding assistant connects to multiple MCP servers, each one contrib
|
|
|
724
724
|
|
|
725
725
|
| Layer | What It Does | Example Servers |
|
|
726
726
|
|-------|-------------|-----------------|
|
|
727
|
-
| **Judges Panel** |
|
|
727
|
+
| **Judges Panel** | 39-judge quality gate — security patterns, AST analysis, cost, scalability, a11y, compliance, sovereignty, ethics, dependency health, agent instruction governance, AI code safety, framework safety | This server |
|
|
728
728
|
| **CVE / SBOM** | Vulnerability scanning against live databases — known CVEs, license risks, supply chain | OSV, Snyk, Trivy, Grype MCP servers |
|
|
729
729
|
| **Linting** | Language-specific style and correctness rules | ESLint, Ruff, Clippy MCP servers |
|
|
730
730
|
| **Runtime Profiling** | Memory, CPU, latency measurement on running code | Custom profiling MCP servers |
|
|
@@ -878,7 +878,7 @@ Generated from https://github.com/microsoft/vscode on 2026-02-21T12:00:00.000Z.
|
|
|
878
878
|
List all available judges with their domains and descriptions.
|
|
879
879
|
|
|
880
880
|
### `evaluate_code`
|
|
881
|
-
Submit code to the **full judges panel**.
|
|
881
|
+
Submit code to the **full judges panel**. all 39 judges evaluate independently and return a combined verdict.
|
|
882
882
|
|
|
883
883
|
| Parameter | Type | Required | Description |
|
|
884
884
|
|-----------|------|----------|-------------|
|
|
@@ -902,7 +902,7 @@ Submit code to a **specific judge** for targeted review.
|
|
|
902
902
|
| `config` | object | no | Inline configuration (see [Configuration](#configuration)) |
|
|
903
903
|
|
|
904
904
|
### `evaluate_project`
|
|
905
|
-
Submit multiple files for **project-level analysis**.
|
|
905
|
+
Submit multiple files for **project-level analysis**. all 39 judges evaluate each file, plus cross-file architectural analysis detects code duplication, inconsistent error handling, and dependency cycles.
|
|
906
906
|
|
|
907
907
|
| Parameter | Type | Required | Description |
|
|
908
908
|
|-----------|------|----------|-------------|
|
|
@@ -913,7 +913,7 @@ Submit multiple files for **project-level analysis**. All 37 judges evaluate eac
|
|
|
913
913
|
| `config` | object | no | Inline configuration (see [Configuration](#configuration)) |
|
|
914
914
|
|
|
915
915
|
### `evaluate_diff`
|
|
916
|
-
Evaluate only the **changed lines** in a code diff. Runs all
|
|
916
|
+
Evaluate only the **changed lines** in a code diff. Runs all 39 judges on the full file but filters findings to lines you specify. Ideal for PR reviews and incremental analysis.
|
|
917
917
|
|
|
918
918
|
| Parameter | Type | Required | Description |
|
|
919
919
|
|-----------|------|----------|-------------|
|
|
@@ -983,7 +983,7 @@ Each judge has a corresponding prompt for LLM-powered deep analysis:
|
|
|
983
983
|
| `judge-framework-safety` | Deep review of framework-specific safety: React hooks, Express middleware, Next.js SSR/SSG, Angular/Vue patterns |
|
|
984
984
|
| `judge-iac-security` | Deep review of infrastructure-as-code security: Terraform, Bicep, ARM template misconfigurations |
|
|
985
985
|
| `judge-false-positive-review` | Meta-judge review of pattern-based findings for false positive detection and accuracy |
|
|
986
|
-
| `full-tribunal` |
|
|
986
|
+
| `full-tribunal` | all 39 judges in a single prompt |
|
|
987
987
|
|
|
988
988
|
---
|
|
989
989
|
|
|
@@ -1105,7 +1105,7 @@ Each judge scores the code from **0 to 100**:
|
|
|
1105
1105
|
- **WARNING** — Any high finding, any medium finding, or score < 80
|
|
1106
1106
|
- **PASS** — Score ≥ 80 with no critical, high, or medium findings
|
|
1107
1107
|
|
|
1108
|
-
The **overall tribunal score** is the average of all
|
|
1108
|
+
The **overall tribunal score** is the average of all 39 judges. The overall verdict fails if **any** judge fails.
|
|
1109
1109
|
|
|
1110
1110
|
---
|
|
1111
1111
|
|
|
@@ -1139,7 +1139,7 @@ judges/
|
|
|
1139
1139
|
│ ├── evaluators/ # Analysis engine for each judge
|
|
1140
1140
|
│ │ ├── index.ts # evaluateWithJudge(), evaluateWithTribunal(), evaluateProject(), etc.
|
|
1141
1141
|
│ │ ├── shared.ts # Scoring, verdict logic, markdown formatters
|
|
1142
|
-
│ │ └── *.ts # One analyzer per judge (
|
|
1142
|
+
│ │ └── *.ts # One analyzer per judge (39 files)
|
|
1143
1143
|
│ ├── formatters/ # Output formatters
|
|
1144
1144
|
│ │ ├── sarif.ts # SARIF 2.1.0 output
|
|
1145
1145
|
│ │ ├── html.ts # Self-contained HTML report (dark/light theme, filters)
|
|
@@ -1177,7 +1177,7 @@ judges/
|
|
|
1177
1177
|
│ │ └── public-repo-report.ts # Public repo clone + full tribunal report generation
|
|
1178
1178
|
│ └── judges/ # Judge definitions (id, name, domain, system prompt)
|
|
1179
1179
|
│ ├── index.ts # JUDGES array, getJudge(), getJudgeSummaries()
|
|
1180
|
-
│ └── *.ts # One definition per judge (
|
|
1180
|
+
│ └── *.ts # One definition per judge (39 files)
|
|
1181
1181
|
├── scripts/
|
|
1182
1182
|
│ ├── generate-public-repo-report.ts # Run: npm run report:public-repo -- --repoUrl <url>
|
|
1183
1183
|
│ ├── daily-popular-repo-autofix.ts # Run: npm run automation:daily-popular
|
|
@@ -1242,7 +1242,7 @@ judges/
|
|
|
1242
1242
|
| `judges config export` | Export config as shareable package |
|
|
1243
1243
|
| `judges config import <src>` | Import a shared configuration |
|
|
1244
1244
|
| `judges compare` | Compare judges against other code review tools |
|
|
1245
|
-
| `judges list` | List all
|
|
1245
|
+
| `judges list` | List all 39 judges with domains and descriptions |
|
|
1246
1246
|
|
|
1247
1247
|
---
|
|
1248
1248
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentation.d.ts","sourceRoot":"","sources":["../../src/evaluators/documentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"documentation.d.ts","sourceRoot":"","sources":["../../src/evaluators/documentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAob9E"}
|
|
@@ -109,11 +109,30 @@ export function analyzeDocumentation(code, language) {
|
|
|
109
109
|
});
|
|
110
110
|
// Only flag when a very large proportion of exported functions lack docs
|
|
111
111
|
// (at least 2 undocumented AND over 90% of total exported functions AND >10 lines)
|
|
112
|
+
// AND at least one function exhibits cryptic naming (very short name or
|
|
113
|
+
// single-letter parameters). Self-documenting code with descriptive multi-word
|
|
114
|
+
// names and well-named parameters does not necessarily need JSDoc/docstrings.
|
|
112
115
|
const totalExportedFns = fnLines.length;
|
|
116
|
+
const hasCrypticNaming = undocFnLines.some((ln) => {
|
|
117
|
+
const fnLine = lines[ln - 1] || "";
|
|
118
|
+
// Very short function name (≤3 chars, e.g. calc, fmt, p, fn)
|
|
119
|
+
const nameMatch = fnLine.match(/(?:function\s+|def\s+|func\s+(?:\([^)]*\)\s+)?)([a-zA-Z_$][\w$]*)\s*[(<]/);
|
|
120
|
+
if (nameMatch && nameMatch[1].length <= 3)
|
|
121
|
+
return true;
|
|
122
|
+
// ≥2 single-letter parameters (e.g. (a: number, b: string))
|
|
123
|
+
const parenContent = fnLine.match(/\(([^)]*)\)/)?.[1];
|
|
124
|
+
if (parenContent) {
|
|
125
|
+
const singleLetterParams = parenContent.match(/\b[a-zA-Z]\b/g) || [];
|
|
126
|
+
if (singleLetterParams.length >= 2)
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
129
|
+
return false;
|
|
130
|
+
});
|
|
113
131
|
if (undocFnLines.length >= 2 &&
|
|
114
132
|
totalExportedFns > 0 &&
|
|
115
133
|
undocFnLines.length / totalExportedFns > 0.9 &&
|
|
116
|
-
lines.length > 10
|
|
134
|
+
lines.length > 10 &&
|
|
135
|
+
hasCrypticNaming) {
|
|
117
136
|
findings.push({
|
|
118
137
|
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
119
138
|
severity: "medium",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentation.js","sourceRoot":"","sources":["../../src/evaluators/documentation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"documentation.js","sourceRoot":"","sources":["../../src/evaluators/documentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../src/evaluators/observability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../src/evaluators/observability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAgT9E"}
|
|
@@ -9,7 +9,10 @@ export function analyzeObservability(code, language) {
|
|
|
9
9
|
// Detect HTTP services with no logging at all
|
|
10
10
|
const hasAnyLogging = testCode(code, /console\.|logger\.|log\.\w+\(|logging\.|slog\.|tracing::|println!|System\.out|Debug\.Log|log\.Printf|log\.Fatal/i);
|
|
11
11
|
const hasHttpRoutes = /app\.(get|post|put|delete|use)|router\.(get|post)|@app\.route|@GetMapping|@PostMapping|http\.HandleFunc/i.test(code);
|
|
12
|
-
|
|
12
|
+
// Count actual route handler definitions (excluding middleware like app.use)
|
|
13
|
+
// to avoid flagging minimal code snippets with only one endpoint
|
|
14
|
+
const routeDefinitionCount = (code.match(/app\.(get|post|put|delete|patch)\s*\(|router\.(get|post|put|delete|patch)\s*\(|@app\.(get|post|put|delete|patch|route)\s*\(|@router\.(get|post|put|delete|patch)\s*\(|@(?:Get|Post|Put|Delete|Patch)Mapping\b|@RequestMapping\b|http\.HandleFunc/gi) || []).length;
|
|
15
|
+
if (hasHttpRoutes && !hasAnyLogging && !isLikelyCLI(code) && lines.length > 5 && routeDefinitionCount >= 2) {
|
|
13
16
|
// Find the route handler lines to use as evidence
|
|
14
17
|
const routeHandlerLines = getLineNumbers(code, /app\.(get|post|put|delete|use)|router\.(get|post)|@app\.route|@GetMapping|@PostMapping|http\.HandleFunc/gi);
|
|
15
18
|
findings.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observability.js","sourceRoot":"","sources":["../../src/evaluators/observability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtH,OAAO,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAE9C,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,QAAgB;IACjE,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,KAAK,CAAC;IACrB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEtC,8CAA8C;IAC9C,MAAM,aAAa,GAAG,QAAQ,CAC5B,IAAI,EACJ,kHAAkH,CACnH,CAAC;IACF,MAAM,aAAa,GACjB,0GAA0G,CAAC,IAAI,CAC7G,IAAI,CACL,CAAC;IACJ,IAAI,aAAa,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"observability.js","sourceRoot":"","sources":["../../src/evaluators/observability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtH,OAAO,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAE9C,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,QAAgB;IACjE,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,KAAK,CAAC;IACrB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEtC,8CAA8C;IAC9C,MAAM,aAAa,GAAG,QAAQ,CAC5B,IAAI,EACJ,kHAAkH,CACnH,CAAC;IACF,MAAM,aAAa,GACjB,0GAA0G,CAAC,IAAI,CAC7G,IAAI,CACL,CAAC;IACJ,6EAA6E;IAC7E,iEAAiE;IACjE,MAAM,oBAAoB,GAAG,CAC3B,IAAI,CAAC,KAAK,CACR,oPAAoP,CACrP,IAAI,EAAE,CACR,CAAC,MAAM,CAAC;IACT,IAAI,aAAa,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,oBAAoB,IAAI,CAAC,EAAE,CAAC;QAC3G,kDAAkD;QAClD,MAAM,iBAAiB,GAAG,cAAc,CACtC,IAAI,EACJ,2GAA2G,CAC5G,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACzD,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,8BAA8B;YACrC,WAAW,EACT,uIAAuI;YACzI,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1C,cAAc,EACZ,2KAA2K;YAC7K,SAAS,EAAE,+CAA+C;YAC1D,YAAY,EACV,iKAAiK;YACnK,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IAC3E,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACzD,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,8CAA8C;YACrD,WAAW,EACT,yIAAyI;YAC3I,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACxC,cAAc,EACZ,6LAA6L;YAC/L,SAAS,EAAE,kDAAkD;YAC7D,YAAY,EACV,wJAAwJ;YAC1J,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,+CAA+C;IAC/C,MAAM,mBAAmB,GAAa,EAAE,CAAC;IACzC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,IAAI,aAAa,CAAC,IAAI,CAAC;YAAE,OAAO;QAChC,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/E,IAAI,OAAO,IAAI,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnG,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACzD,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,oCAAoC;YAC3C,WAAW,EACT,qGAAqG;YACvG,WAAW,EAAE,mBAAmB;YAChC,cAAc,EACZ,oHAAoH;YACtH,SAAS,EAAE,8BAA8B;YACzC,YAAY,EACV,+HAA+H;YACjI,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,yDAAyD;IACzD,MAAM,SAAS,GACb,qHAAqH,CAAC,IAAI,CACxH,IAAI,CACL,CAAC;IACJ,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,EAAE,qDAAqD,CAAC,CAAC;IAC7F,IAAI,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACzD,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,mCAAmC;YAC1C,WAAW,EACT,+GAA+G;YACjH,cAAc,EACZ,0GAA0G;YAC5G,SAAS,EAAE,2DAA2D;YACtE,YAAY,EACV,mIAAmI;YACrI,UAAU,EAAE,GAAG;YACf,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;IACL,CAAC;IAED,gDAAgD;IAChD,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,IAAI,aAAa,CAAC,IAAI,CAAC;YAAE,OAAO;QAChC,IAAI,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACzD,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,wCAAwC;YAC/C,WAAW,EACT,kJAAkJ;YACpJ,WAAW,EAAE,cAAc;YAC3B,cAAc,EACZ,gHAAgH;YAClH,SAAS,EAAE,mCAAmC;YAC9C,YAAY,EACV,qHAAqH;YACvH,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,wCAAwC;IACxC,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,EAAE,iEAAiE,CAAC,CAAC;IACzG,IAAI,aAAa,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACzD,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,oCAAoC;YAC3C,WAAW,EAAE,mGAAmG;YAChH,cAAc,EACZ,iHAAiH;YACnH,SAAS,EAAE,sCAAsC;YACjD,YAAY,EACV,kKAAkK;YACpK,UAAU,EAAE,GAAG;YACf,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;IACL,CAAC;IAED,0CAA0C;IAC1C,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,IAAI,aAAa,CAAC,IAAI,CAAC;YAAE,OAAO;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,wDAAwD,EAAE,EAAE,CAAC,CAAC;QAClG,IACE,qFAAqF,CAAC,IAAI,CAAC,cAAc,CAAC;YAC1G,wFAAwF,CAAC,IAAI,CAAC,cAAc,CAAC,EAC7G,CAAC;YACD,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,4FAA4F;QAC5F,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YACtE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,kEAAkE;YAClE,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,wDAAwD,EAAE,EAAE,CAAC,CAAC;YAClG,OAAO,wFAAwF,CAAC,IAAI,CAClG,cAAc,CACf,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,mCAAmC;gBAC1C,WAAW,EACT,qJAAqJ;gBACvJ,WAAW,EAAE,iBAAiB;gBAC9B,cAAc,EACZ,uIAAuI;gBACzI,SAAS,EAAE,mDAAmD;gBAC9D,YAAY,EACV,yJAAyJ;gBAC3J,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,MAAM,UAAU,GACd,wIAAwI,CAAC,IAAI,CAC3I,IAAI,CACL,CAAC;IACJ,IAAI,SAAS,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACzD,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,iDAAiD;YACxD,WAAW,EACT,gIAAgI;YAClI,cAAc,EACZ,yIAAyI;YAC3I,SAAS,EAAE,qCAAqC;YAChD,YAAY,EACV,oKAAoK;YACtK,UAAU,EAAE,GAAG;YACf,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;IACL,CAAC;IAED,+CAA+C;IAC/C,MAAM,UAAU,GACd,gHAAgH,CAAC,IAAI,CACnH,IAAI,CACL,CAAC;IACJ,IAAI,SAAS,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACzD,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,iCAAiC;YACxC,WAAW,EACT,0HAA0H;YAC5H,cAAc,EACZ,0HAA0H;YAC5H,SAAS,EAAE,8CAA8C;YACzD,YAAY,EACV,oLAAoL;YACtL,UAAU,EAAE,GAAG;YACf,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B;IAC1B,MAAM,cAAc,GAA2B,EAAE,CAAC;IAClD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,IAAI,aAAa,CAAC,IAAI,CAAC;YAAE,OAAO;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC1F,IAAI,KAAK,EAAE,CAAC;YACV,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IACE,cAAc,CAAC,OAAO,CAAC;QACvB,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5B,CAAC,cAAc,CAAC,MAAM,CAAC;QACvB,CAAC,cAAc,CAAC,MAAM,CAAC;QACvB,KAAK,CAAC,MAAM,GAAG,EAAE,EACjB,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACzD,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,4BAA4B;YACnC,WAAW,EACT,8HAA8H;YAChI,cAAc,EACZ,wHAAwH;YAC1H,SAAS,EAAE,0BAA0B;YACrC,YAAY,EACV,yKAAyK;YAC3K,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,iDAAiD;IACjD,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,IAAI,aAAa,CAAC,IAAI,CAAC;YAAE,OAAO;QAChC,IACE,sGAAsG,CAAC,IAAI,CAAC,IAAI,CAAC,EACjH,CAAC;YACD,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;IAChE,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACvD,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,qDAAqD;YAC5D,WAAW,EACT,kHAAkH;YACpH,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACxC,cAAc,EACZ,iIAAiI;YACnI,SAAS,EAAE,qDAAqD;YAChE,YAAY,EACV,kJAAkJ;YACpJ,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/tools/prompts.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
//
|
|
5
5
|
// Token-optimised: shared behavioural directives (adversarial mandate,
|
|
6
6
|
// precision mandate) are stated ONCE in the tribunal preamble instead of
|
|
7
|
-
// being duplicated across all
|
|
7
|
+
// being duplicated across all 39 judges. Per-judge sections include only
|
|
8
8
|
// the unique evaluation criteria, domain-specific rules, and FP-avoidance
|
|
9
9
|
// guidance. This reduces the tribunal prompt by ~40 000 chars (~10 000
|
|
10
10
|
// tokens) without removing any evaluation criteria.
|
|
@@ -13,7 +13,7 @@ import { z } from "zod";
|
|
|
13
13
|
import { JUDGES } from "../judges/index.js";
|
|
14
14
|
// ─── Shared Behavioural Directives ───────────────────────────────────────────
|
|
15
15
|
// Stated ONCE in the tribunal preamble so every judge benefits without
|
|
16
|
-
// repeating the text
|
|
16
|
+
// repeating the text 39 times.
|
|
17
17
|
// ──────────────────────────────────────────────────────────────────────────────
|
|
18
18
|
/** Adversarial evaluation stance — shared across all judges. */
|
|
19
19
|
const SHARED_ADVERSARIAL_MANDATE = `ADVERSARIAL MANDATE (applies to ALL judges):
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kevinrabun/judges",
|
|
3
|
-
"version": "3.23.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "3.23.18",
|
|
4
|
+
"description": "39 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
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
"url": "https://github.com/kevinrabun/judges",
|
|
8
8
|
"source": "github"
|
|
9
9
|
},
|
|
10
|
-
"version": "3.23.
|
|
10
|
+
"version": "3.23.18",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "@kevinrabun/judges",
|
|
15
|
-
"version": "3.23.
|
|
15
|
+
"version": "3.23.18",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
}
|