@kevinrabun/judges 3.31.0 → 3.34.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +65 -0
- package/README.md +51 -33
- package/dist/api.d.ts +1 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +1 -1
- package/dist/api.js.map +1 -1
- package/dist/cli.d.ts +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +79 -6
- package/dist/cli.js.map +1 -1
- package/dist/commands/benchmark.d.ts +2 -0
- package/dist/commands/benchmark.d.ts.map +1 -1
- package/dist/commands/benchmark.js +13 -1
- package/dist/commands/benchmark.js.map +1 -1
- package/dist/commands/snapshot.d.ts +5 -0
- package/dist/commands/snapshot.d.ts.map +1 -1
- package/dist/commands/snapshot.js +121 -0
- package/dist/commands/snapshot.js.map +1 -1
- package/dist/dedup.d.ts.map +1 -1
- package/dist/dedup.js +8 -29
- package/dist/dedup.js.map +1 -1
- package/dist/evaluators/ai-code-safety.js +1 -1
- package/dist/evaluators/caching.js +1 -1
- package/dist/evaluators/caching.js.map +1 -1
- package/dist/evaluators/cloud-readiness.js +1 -1
- package/dist/evaluators/configuration-management.js +1 -1
- package/dist/evaluators/cost-effectiveness.js +1 -1
- package/dist/evaluators/data-sovereignty.js +2 -2
- package/dist/evaluators/documentation.d.ts.map +1 -1
- package/dist/evaluators/documentation.js +7 -5
- package/dist/evaluators/documentation.js.map +1 -1
- package/dist/evaluators/false-positive-review.d.ts.map +1 -1
- package/dist/evaluators/false-positive-review.js +6 -5
- package/dist/evaluators/false-positive-review.js.map +1 -1
- package/dist/evaluators/index.d.ts.map +1 -1
- package/dist/evaluators/index.js +26 -3
- package/dist/evaluators/index.js.map +1 -1
- package/dist/evaluators/internationalization.js +1 -1
- package/dist/evaluators/over-engineering.d.ts +3 -0
- package/dist/evaluators/over-engineering.d.ts.map +1 -0
- package/dist/evaluators/over-engineering.js +161 -0
- package/dist/evaluators/over-engineering.js.map +1 -0
- package/dist/evaluators/reliability.js +1 -1
- package/dist/evaluators/security.d.ts.map +1 -1
- package/dist/evaluators/security.js +3 -0
- package/dist/evaluators/security.js.map +1 -1
- package/dist/evaluators/shared.js +1 -1
- package/dist/evaluators/shared.js.map +1 -1
- package/dist/evaluators/ux.js +5 -5
- package/dist/evaluators/ux.js.map +1 -1
- package/dist/formatters/pdf.d.ts +13 -0
- package/dist/formatters/pdf.d.ts.map +1 -0
- package/dist/formatters/pdf.js +138 -0
- package/dist/formatters/pdf.js.map +1 -0
- package/dist/judges/accessibility.d.ts.map +1 -1
- package/dist/judges/accessibility.js +2 -0
- package/dist/judges/accessibility.js.map +1 -1
- package/dist/judges/agent-instructions.d.ts.map +1 -1
- package/dist/judges/agent-instructions.js +2 -0
- package/dist/judges/agent-instructions.js.map +1 -1
- package/dist/judges/ai-code-safety.d.ts.map +1 -1
- package/dist/judges/ai-code-safety.js +2 -0
- package/dist/judges/ai-code-safety.js.map +1 -1
- package/dist/judges/api-contract.d.ts.map +1 -1
- package/dist/judges/api-contract.js +3 -1
- package/dist/judges/api-contract.js.map +1 -1
- package/dist/judges/api-design.d.ts.map +1 -1
- package/dist/judges/api-design.js +2 -0
- package/dist/judges/api-design.js.map +1 -1
- package/dist/judges/authentication.d.ts.map +1 -1
- package/dist/judges/authentication.js +2 -0
- package/dist/judges/authentication.js.map +1 -1
- package/dist/judges/backwards-compatibility.d.ts.map +1 -1
- package/dist/judges/backwards-compatibility.js +2 -0
- package/dist/judges/backwards-compatibility.js.map +1 -1
- package/dist/judges/caching.d.ts.map +1 -1
- package/dist/judges/caching.js +2 -0
- package/dist/judges/caching.js.map +1 -1
- package/dist/judges/ci-cd.d.ts.map +1 -1
- package/dist/judges/ci-cd.js +2 -0
- package/dist/judges/ci-cd.js.map +1 -1
- package/dist/judges/cloud-readiness.d.ts.map +1 -1
- package/dist/judges/cloud-readiness.js +2 -0
- package/dist/judges/cloud-readiness.js.map +1 -1
- package/dist/judges/code-structure.d.ts.map +1 -1
- package/dist/judges/code-structure.js +2 -0
- package/dist/judges/code-structure.js.map +1 -1
- package/dist/judges/compliance.d.ts.map +1 -1
- package/dist/judges/compliance.js +2 -0
- package/dist/judges/compliance.js.map +1 -1
- package/dist/judges/concurrency.d.ts.map +1 -1
- package/dist/judges/concurrency.js +2 -0
- package/dist/judges/concurrency.js.map +1 -1
- package/dist/judges/configuration-management.d.ts.map +1 -1
- package/dist/judges/configuration-management.js +2 -0
- package/dist/judges/configuration-management.js.map +1 -1
- package/dist/judges/cost-effectiveness.d.ts.map +1 -1
- package/dist/judges/cost-effectiveness.js +2 -0
- package/dist/judges/cost-effectiveness.js.map +1 -1
- package/dist/judges/cybersecurity.d.ts.map +1 -1
- package/dist/judges/cybersecurity.js +2 -0
- package/dist/judges/cybersecurity.js.map +1 -1
- package/dist/judges/data-security.d.ts.map +1 -1
- package/dist/judges/data-security.js +2 -0
- package/dist/judges/data-security.js.map +1 -1
- package/dist/judges/data-sovereignty.d.ts.map +1 -1
- package/dist/judges/data-sovereignty.js +3 -1
- package/dist/judges/data-sovereignty.js.map +1 -1
- package/dist/judges/database.d.ts.map +1 -1
- package/dist/judges/database.js +2 -0
- package/dist/judges/database.js.map +1 -1
- package/dist/judges/dependency-health.d.ts.map +1 -1
- package/dist/judges/dependency-health.js +2 -0
- package/dist/judges/dependency-health.js.map +1 -1
- package/dist/judges/documentation.d.ts.map +1 -1
- package/dist/judges/documentation.js +2 -0
- package/dist/judges/documentation.js.map +1 -1
- package/dist/judges/error-handling.d.ts.map +1 -1
- package/dist/judges/error-handling.js +2 -0
- package/dist/judges/error-handling.js.map +1 -1
- package/dist/judges/ethics-bias.d.ts.map +1 -1
- package/dist/judges/ethics-bias.js +2 -0
- package/dist/judges/ethics-bias.js.map +1 -1
- package/dist/judges/false-positive-review.d.ts.map +1 -1
- package/dist/judges/false-positive-review.js +2 -0
- package/dist/judges/false-positive-review.js.map +1 -1
- package/dist/judges/framework-safety.d.ts.map +1 -1
- package/dist/judges/framework-safety.js +2 -0
- package/dist/judges/framework-safety.js.map +1 -1
- package/dist/judges/hallucination-detection.d.ts.map +1 -1
- package/dist/judges/hallucination-detection.js +2 -0
- package/dist/judges/hallucination-detection.js.map +1 -1
- package/dist/judges/iac-security.d.ts.map +1 -1
- package/dist/judges/iac-security.js +2 -0
- package/dist/judges/iac-security.js.map +1 -1
- package/dist/judges/index.d.ts.map +1 -1
- package/dist/judges/index.js +4 -0
- package/dist/judges/index.js.map +1 -1
- package/dist/judges/intent-alignment.d.ts.map +1 -1
- package/dist/judges/intent-alignment.js +2 -0
- package/dist/judges/intent-alignment.js.map +1 -1
- package/dist/judges/internationalization.d.ts.map +1 -1
- package/dist/judges/internationalization.js +2 -0
- package/dist/judges/internationalization.js.map +1 -1
- package/dist/judges/logging-privacy.d.ts.map +1 -1
- package/dist/judges/logging-privacy.js +2 -0
- package/dist/judges/logging-privacy.js.map +1 -1
- package/dist/judges/maintainability.d.ts.map +1 -1
- package/dist/judges/maintainability.js +2 -0
- package/dist/judges/maintainability.js.map +1 -1
- package/dist/judges/model-fingerprint.d.ts.map +1 -1
- package/dist/judges/model-fingerprint.js +3 -1
- package/dist/judges/model-fingerprint.js.map +1 -1
- package/dist/judges/multi-turn-coherence.d.ts.map +1 -1
- package/dist/judges/multi-turn-coherence.js +3 -1
- package/dist/judges/multi-turn-coherence.js.map +1 -1
- package/dist/judges/observability.d.ts.map +1 -1
- package/dist/judges/observability.js +2 -0
- package/dist/judges/observability.js.map +1 -1
- package/dist/judges/over-engineering.d.ts +3 -0
- package/dist/judges/over-engineering.d.ts.map +1 -0
- package/dist/judges/over-engineering.js +47 -0
- package/dist/judges/over-engineering.js.map +1 -0
- package/dist/judges/performance.d.ts.map +1 -1
- package/dist/judges/performance.js +2 -0
- package/dist/judges/performance.js.map +1 -1
- package/dist/judges/portability.d.ts.map +1 -1
- package/dist/judges/portability.js +2 -0
- package/dist/judges/portability.js.map +1 -1
- package/dist/judges/rate-limiting.d.ts.map +1 -1
- package/dist/judges/rate-limiting.js +2 -0
- package/dist/judges/rate-limiting.js.map +1 -1
- package/dist/judges/reliability.d.ts.map +1 -1
- package/dist/judges/reliability.js +2 -0
- package/dist/judges/reliability.js.map +1 -1
- package/dist/judges/scalability.d.ts.map +1 -1
- package/dist/judges/scalability.js +2 -0
- package/dist/judges/scalability.js.map +1 -1
- package/dist/judges/security.d.ts.map +1 -1
- package/dist/judges/security.js +2 -0
- package/dist/judges/security.js.map +1 -1
- package/dist/judges/software-practices.d.ts.map +1 -1
- package/dist/judges/software-practices.js +2 -0
- package/dist/judges/software-practices.js.map +1 -1
- package/dist/judges/testing.d.ts.map +1 -1
- package/dist/judges/testing.js +2 -0
- package/dist/judges/testing.js.map +1 -1
- package/dist/judges/ux.d.ts.map +1 -1
- package/dist/judges/ux.js +2 -0
- package/dist/judges/ux.js.map +1 -1
- package/dist/scoring.d.ts +5 -0
- package/dist/scoring.d.ts.map +1 -1
- package/dist/scoring.js +76 -0
- package/dist/scoring.js.map +1 -1
- package/dist/tools/prompts.js +1 -1
- package/dist/types.d.ts +20 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
- package/server.json +3 -3
package/dist/judges/index.js
CHANGED
|
@@ -41,6 +41,7 @@ import { intentAlignmentJudge } from "./intent-alignment.js";
|
|
|
41
41
|
import { apiContractJudge } from "./api-contract.js";
|
|
42
42
|
import { multiTurnCoherenceJudge } from "./multi-turn-coherence.js";
|
|
43
43
|
import { modelFingerprintJudge } from "./model-fingerprint.js";
|
|
44
|
+
import { overEngineeringJudge } from "./over-engineering.js";
|
|
44
45
|
// ─── Analyzer Imports ────────────────────────────────────────────────────────
|
|
45
46
|
import { analyzeDataSecurity } from "../evaluators/data-security.js";
|
|
46
47
|
import { analyzeCybersecurity } from "../evaluators/cybersecurity.js";
|
|
@@ -84,6 +85,7 @@ import { analyzeIntentAlignment } from "../evaluators/intent-alignment.js";
|
|
|
84
85
|
import { analyzeApiContract } from "../evaluators/api-contract.js";
|
|
85
86
|
import { analyzeMultiTurnCoherence } from "../evaluators/multi-turn-coherence.js";
|
|
86
87
|
import { analyzeModelFingerprint } from "../evaluators/model-fingerprint.js";
|
|
88
|
+
import { analyzeOverEngineering } from "../evaluators/over-engineering.js";
|
|
87
89
|
// ─── Wire each judge to its analyzer ─────────────────────────────────────────
|
|
88
90
|
dataSecurityJudge.analyze = analyzeDataSecurity;
|
|
89
91
|
cybersecurityJudge.analyze = analyzeCybersecurity;
|
|
@@ -127,6 +129,7 @@ intentAlignmentJudge.analyze = analyzeIntentAlignment;
|
|
|
127
129
|
apiContractJudge.analyze = analyzeApiContract;
|
|
128
130
|
multiTurnCoherenceJudge.analyze = analyzeMultiTurnCoherence;
|
|
129
131
|
modelFingerprintJudge.analyze = analyzeModelFingerprint;
|
|
132
|
+
overEngineeringJudge.analyze = analyzeOverEngineering;
|
|
130
133
|
/**
|
|
131
134
|
* The panel of judges that comprise the Judges Panel.
|
|
132
135
|
*
|
|
@@ -177,6 +180,7 @@ export const JUDGES = [
|
|
|
177
180
|
apiContractJudge,
|
|
178
181
|
multiTurnCoherenceJudge,
|
|
179
182
|
modelFingerprintJudge,
|
|
183
|
+
overEngineeringJudge,
|
|
180
184
|
falsePositiveReviewJudge,
|
|
181
185
|
];
|
|
182
186
|
/**
|
package/dist/judges/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/judges/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/judges/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,gFAAgF;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,gFAAgF;AAEhF,iBAAiB,CAAC,OAAO,GAAG,mBAAmB,CAAC;AAChD,kBAAkB,CAAC,OAAO,GAAG,oBAAoB,CAAC;AAClD,sBAAsB,CAAC,OAAO,GAAG,wBAAwB,CAAC;AAC1D,gBAAgB,CAAC,OAAO,GAAG,kBAAkB,CAAC;AAC9C,mBAAmB,CAAC,OAAO,GAAG,qBAAqB,CAAC;AACpD,sBAAsB,CAAC,OAAO,GAAG,wBAAwB,CAAC;AAC1D,kBAAkB,CAAC,OAAO,GAAG,oBAAoB,CAAC;AAClD,cAAc,CAAC,OAAO,GAAG,gBAAgB,CAAC;AAC1C,gBAAgB,CAAC,OAAO,GAAG,kBAAkB,CAAC;AAC9C,kBAAkB,CAAC,OAAO,GAAG,oBAAoB,CAAC;AAClD,gBAAgB,CAAC,OAAO,GAAG,kBAAkB,CAAC;AAC9C,eAAe,CAAC,OAAO,GAAG,iBAAiB,CAAC;AAC5C,oBAAoB,CAAC,OAAO,GAAG,sBAAsB,CAAC;AACtD,YAAY,CAAC,OAAO,GAAG,cAAc,CAAC;AACtC,kBAAkB,CAAC,OAAO,GAAG,oBAAoB,CAAC;AAClD,yBAAyB,CAAC,OAAO,GAAG,2BAA2B,CAAC;AAChE,qBAAqB,CAAC,OAAO,GAAG,uBAAuB,CAAC;AACxD,gBAAgB,CAAC,OAAO,GAAG,kBAAkB,CAAC;AAC9C,eAAe,CAAC,OAAO,GAAG,iBAAiB,CAAC;AAC5C,oBAAoB,CAAC,OAAO,GAAG,sBAAsB,CAAC;AACtD,kBAAkB,CAAC,OAAO,GAAG,oBAAoB,CAAC;AAClD,mBAAmB,CAAC,OAAO,GAAG,qBAAqB,CAAC;AACpD,aAAa,CAAC,OAAO,GAAG,eAAe,CAAC;AACxC,YAAY,CAAC,OAAO,GAAG,cAAc,CAAC;AACtC,4BAA4B,CAAC,OAAO,GAAG,8BAA8B,CAAC;AACtE,2BAA2B,CAAC,OAAO,GAAG,6BAA6B,CAAC;AACpE,gBAAgB,CAAC,OAAO,GAAG,kBAAkB,CAAC;AAC9C,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;AAC5B,mBAAmB,CAAC,OAAO,GAAG,qBAAqB,CAAC;AACpD,iBAAiB,CAAC,OAAO,GAAG,mBAAmB,CAAC;AAChD,SAAS,CAAC,OAAO,GAAG,WAAW,CAAC;AAChC,kBAAkB,CAAC,OAAO,GAAG,oBAAoB,CAAC;AAClD,sBAAsB,CAAC,OAAO,GAAG,wBAAwB,CAAC;AAC1D,iBAAiB,CAAC,OAAO,GAAG,mBAAmB,CAAC;AAChD,oBAAoB,CAAC,OAAO,GAAG,sBAAsB,CAAC;AACtD,gBAAgB,CAAC,OAAO,GAAG,kBAAkB,CAAC;AAC9C,aAAa,CAAC,OAAO,GAAG,eAAe,CAAC;AACxC,2BAA2B,CAAC,OAAO,GAAG,6BAA6B,CAAC;AACpE,oBAAoB,CAAC,OAAO,GAAG,sBAAsB,CAAC;AACtD,gBAAgB,CAAC,OAAO,GAAG,kBAAkB,CAAC;AAC9C,uBAAuB,CAAC,OAAO,GAAG,yBAAyB,CAAC;AAC5D,qBAAqB,CAAC,OAAO,GAAG,uBAAuB,CAAC;AACxD,oBAAoB,CAAC,OAAO,GAAG,sBAAsB,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAsB;IACvC,iBAAiB;IACjB,kBAAkB;IAClB,sBAAsB;IACtB,gBAAgB;IAChB,mBAAmB;IACnB,sBAAsB;IACtB,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,eAAe;IACf,oBAAoB;IACpB,YAAY;IACZ,kBAAkB;IAClB,yBAAyB;IACzB,qBAAqB;IACrB,gBAAgB;IAChB,eAAe;IACf,oBAAoB;IACpB,kBAAkB;IAClB,mBAAmB;IACnB,aAAa;IACb,YAAY;IACZ,4BAA4B;IAC5B,2BAA2B;IAC3B,gBAAgB;IAChB,OAAO;IACP,mBAAmB;IACnB,iBAAiB;IACjB,SAAS;IACT,kBAAkB;IAClB,sBAAsB;IACtB,iBAAiB;IACjB,oBAAoB;IACpB,gBAAgB;IAChB,aAAa;IACb,2BAA2B;IAC3B,oBAAoB;IACpB,gBAAgB;IAChB,uBAAuB;IACvB,qBAAqB;IACrB,oBAAoB;IACpB,wBAAwB;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAU;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAM/B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QACxD,EAAE;QACF,IAAI;QACJ,MAAM;QACN,WAAW;KACZ,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent-alignment.d.ts","sourceRoot":"","sources":["../../src/judges/intent-alignment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"intent-alignment.d.ts","sourceRoot":"","sources":["../../src/judges/intent-alignment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,oBAAoB,EAAE,eA8BlC,CAAC"}
|
|
@@ -4,6 +4,8 @@ export const intentAlignmentJudge = {
|
|
|
4
4
|
domain: "Code–Comment Alignment & Stub Detection",
|
|
5
5
|
description: "Detects mismatches between stated intent (comments, docstrings, function names) and actual implementation — stubs, TODO-only bodies, misleading names, and empty implementations that AI code generators commonly produce.",
|
|
6
6
|
rulePrefix: "INTENT",
|
|
7
|
+
tableDescription: "Detects mismatches between stated intent and implementation, placeholder stubs, TODO-only functions",
|
|
8
|
+
promptDescription: "Deep review of code–comment alignment, stub detection, placeholder functions",
|
|
7
9
|
systemPrompt: `You are Judge Intent Alignment — your role is to verify that code does what its documentation, names, and comments claim.
|
|
8
10
|
|
|
9
11
|
YOUR EVALUATION CRITERIA:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent-alignment.js","sourceRoot":"","sources":["../../src/judges/intent-alignment.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAoB;IACnD,EAAE,EAAE,kBAAkB;IACtB,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,yCAAyC;IACjD,WAAW,EACT,4NAA4N;IAC9N,UAAU,EAAE,QAAQ;IACpB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;+CAmB+B;CAC9C,CAAC"}
|
|
1
|
+
{"version":3,"file":"intent-alignment.js","sourceRoot":"","sources":["../../src/judges/intent-alignment.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAoB;IACnD,EAAE,EAAE,kBAAkB;IACtB,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,yCAAyC;IACjD,WAAW,EACT,4NAA4N;IAC9N,UAAU,EAAE,QAAQ;IACpB,gBAAgB,EACd,qGAAqG;IACvG,iBAAiB,EAAE,8EAA8E;IACjG,YAAY,EAAE;;;;;;;;;;;;;;;;;;;+CAmB+B;CAC9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internationalization.d.ts","sourceRoot":"","sources":["../../src/judges/internationalization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"internationalization.d.ts","sourceRoot":"","sources":["../../src/judges/internationalization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,yBAAyB,EAAE,eAwCvC,CAAC"}
|
|
@@ -4,6 +4,8 @@ export const internationalizationJudge = {
|
|
|
4
4
|
domain: "i18n & Localization",
|
|
5
5
|
description: "Evaluates code for hardcoded strings, date/number formatting, RTL support, locale-aware sorting, Unicode handling, and translation-ready patterns.",
|
|
6
6
|
rulePrefix: "I18N",
|
|
7
|
+
tableDescription: "Hardcoded strings, locale handling, currency formatting",
|
|
8
|
+
promptDescription: "Deep i18n review",
|
|
7
9
|
systemPrompt: `You are Judge Internationalization — a globalization engineer with expertise in Unicode, CLDR, ICU message formatting, and building applications that serve users in 100+ languages and regions.
|
|
8
10
|
|
|
9
11
|
YOUR EVALUATION CRITERIA:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internationalization.js","sourceRoot":"","sources":["../../src/judges/internationalization.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,yBAAyB,GAAoB;IACxD,EAAE,EAAE,sBAAsB;IAC1B,IAAI,EAAE,4BAA4B;IAClC,MAAM,EAAE,qBAAqB;IAC7B,WAAW,EACT,oJAAoJ;IACtJ,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8IA8B8H;CAC7I,CAAC"}
|
|
1
|
+
{"version":3,"file":"internationalization.js","sourceRoot":"","sources":["../../src/judges/internationalization.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,yBAAyB,GAAoB;IACxD,EAAE,EAAE,sBAAsB;IAC1B,IAAI,EAAE,4BAA4B;IAClC,MAAM,EAAE,qBAAqB;IAC7B,WAAW,EACT,oJAAoJ;IACtJ,UAAU,EAAE,MAAM;IAClB,gBAAgB,EAAE,yDAAyD;IAC3E,iBAAiB,EAAE,kBAAkB;IACrC,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8IA8B8H;CAC7I,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging-privacy.d.ts","sourceRoot":"","sources":["../../src/judges/logging-privacy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"logging-privacy.d.ts","sourceRoot":"","sources":["../../src/judges/logging-privacy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,mBAAmB,EAAE,eAmCjC,CAAC"}
|
|
@@ -4,6 +4,8 @@ export const loggingPrivacyJudge = {
|
|
|
4
4
|
domain: "Logging Privacy & Data Redaction",
|
|
5
5
|
description: "Evaluates code for PII in log output, sensitive data redaction, appropriate log levels, and compliance with data protection requirements in logging.",
|
|
6
6
|
rulePrefix: "LOGPRIV",
|
|
7
|
+
tableDescription: "PII in logs, token logging, structured logging, redaction",
|
|
8
|
+
promptDescription: "Deep logging privacy review",
|
|
7
9
|
systemPrompt: `You are Judge Logging Privacy — a data protection officer and security engineer who has investigated data breaches caused by sensitive information appearing in logs, metrics, and traces.
|
|
8
10
|
|
|
9
11
|
YOUR EVALUATION CRITERIA:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging-privacy.js","sourceRoot":"","sources":["../../src/judges/logging-privacy.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAoB;IAClD,EAAE,EAAE,iBAAiB;IACrB,IAAI,EAAE,uBAAuB;IAC7B,MAAM,EAAE,kCAAkC;IAC1C,WAAW,EACT,sJAAsJ;IACxJ,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;+HAyB+G;CAC9H,CAAC"}
|
|
1
|
+
{"version":3,"file":"logging-privacy.js","sourceRoot":"","sources":["../../src/judges/logging-privacy.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAoB;IAClD,EAAE,EAAE,iBAAiB;IACrB,IAAI,EAAE,uBAAuB;IAC7B,MAAM,EAAE,kCAAkC;IAC1C,WAAW,EACT,sJAAsJ;IACxJ,UAAU,EAAE,SAAS;IACrB,gBAAgB,EAAE,2DAA2D;IAC7E,iBAAiB,EAAE,6BAA6B;IAChD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;+HAyB+G;CAC9H,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maintainability.d.ts","sourceRoot":"","sources":["../../src/judges/maintainability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"maintainability.d.ts","sourceRoot":"","sources":["../../src/judges/maintainability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,oBAAoB,EAAE,eAmClC,CAAC"}
|
|
@@ -4,6 +4,8 @@ export const maintainabilityJudge = {
|
|
|
4
4
|
domain: "Code Maintainability & Technical Debt",
|
|
5
5
|
description: "Evaluates code for readability, modularity, complexity, naming conventions, and technical debt indicators that affect long-term maintenance costs.",
|
|
6
6
|
rulePrefix: "MAINT",
|
|
7
|
+
tableDescription: "Any types, magic numbers, deep nesting, dead code, file length",
|
|
8
|
+
promptDescription: "Deep maintainability & tech debt review",
|
|
7
9
|
systemPrompt: `You are Judge Maintainability — a principal engineer with 20+ years of experience maintaining large-scale production codebases, specializing in reducing technical debt and improving code health metrics.
|
|
8
10
|
|
|
9
11
|
YOUR EVALUATION CRITERIA:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maintainability.js","sourceRoot":"","sources":["../../src/judges/maintainability.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAoB;IACnD,EAAE,EAAE,iBAAiB;IACrB,IAAI,EAAE,uBAAuB;IAC7B,MAAM,EAAE,uCAAuC;IAC/C,WAAW,EACT,oJAAoJ;IACtJ,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;gIAyBgH;CAC/H,CAAC"}
|
|
1
|
+
{"version":3,"file":"maintainability.js","sourceRoot":"","sources":["../../src/judges/maintainability.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAoB;IACnD,EAAE,EAAE,iBAAiB;IACrB,IAAI,EAAE,uBAAuB;IAC7B,MAAM,EAAE,uCAAuC;IAC/C,WAAW,EACT,oJAAoJ;IACtJ,UAAU,EAAE,OAAO;IACnB,gBAAgB,EAAE,gEAAgE;IAClF,iBAAiB,EAAE,yCAAyC;IAC5D,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;gIAyBgH;CAC/H,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-fingerprint.d.ts","sourceRoot":"","sources":["../../src/judges/model-fingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"model-fingerprint.d.ts","sourceRoot":"","sources":["../../src/judges/model-fingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,qBAAqB,EAAE,eA+BnC,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
export const modelFingerprintJudge = {
|
|
2
2
|
id: "model-fingerprint",
|
|
3
|
-
name: "Model Fingerprint Detection",
|
|
3
|
+
name: "Judge Model Fingerprint Detection",
|
|
4
4
|
domain: "AI Code Provenance & Model Attribution",
|
|
5
5
|
description: "Detects stylistic fingerprints characteristic of specific AI code generators " +
|
|
6
6
|
"(ChatGPT/GPT-4, Claude, Copilot, Gemini) to flag code that may carry " +
|
|
7
7
|
"model-specific biases, hallucinations, or blind spots.",
|
|
8
8
|
rulePrefix: "MFPR",
|
|
9
|
+
tableDescription: "Detects stylistic fingerprints characteristic of specific AI code generators",
|
|
10
|
+
promptDescription: "Deep review of AI code provenance and model attribution fingerprints",
|
|
9
11
|
systemPrompt: `You are Judge Model Fingerprint Detection — an expert in identifying stylistic signatures of AI-generated code.
|
|
10
12
|
|
|
11
13
|
YOUR EVALUATION CRITERIA:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-fingerprint.js","sourceRoot":"","sources":["../../src/judges/model-fingerprint.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAoB;IACpD,EAAE,EAAE,mBAAmB;IACvB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"model-fingerprint.js","sourceRoot":"","sources":["../../src/judges/model-fingerprint.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAoB;IACpD,EAAE,EAAE,mBAAmB;IACvB,IAAI,EAAE,mCAAmC;IACzC,MAAM,EAAE,wCAAwC;IAChD,WAAW,EACT,+EAA+E;QAC/E,uEAAuE;QACvE,wDAAwD;IAC1D,UAAU,EAAE,MAAM;IAClB,gBAAgB,EAAE,8EAA8E;IAChG,iBAAiB,EAAE,sEAAsE;IACzF,YAAY,EAAE;;;;;;;;;;;;;;;;;;;2DAmB2C;CAC1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-turn-coherence.d.ts","sourceRoot":"","sources":["../../src/judges/multi-turn-coherence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"multi-turn-coherence.d.ts","sourceRoot":"","sources":["../../src/judges/multi-turn-coherence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,uBAAuB,EAAE,eA4BrC,CAAC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
export const multiTurnCoherenceJudge = {
|
|
2
2
|
id: "multi-turn-coherence",
|
|
3
|
-
name: "Multi-Turn Coherence",
|
|
3
|
+
name: "Judge Multi-Turn Coherence",
|
|
4
4
|
description: "Detects self-contradicting patterns: duplicate function definitions, contradictory " +
|
|
5
5
|
"boolean assignments, dead code after returns, conflicting configs, and TODO density.",
|
|
6
6
|
domain: "Code Coherence & Consistency",
|
|
7
7
|
rulePrefix: "COH",
|
|
8
|
+
tableDescription: "Self-contradicting patterns, duplicate definitions, dead code, inconsistent naming",
|
|
9
|
+
promptDescription: "Deep review of code coherence: self-contradictions, duplicate definitions, dead code",
|
|
8
10
|
systemPrompt: `You are Judge Multi-Turn Coherence — an expert in detecting self-contradicting and incoherent code patterns.
|
|
9
11
|
|
|
10
12
|
YOUR EVALUATION CRITERIA:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-turn-coherence.js","sourceRoot":"","sources":["../../src/judges/multi-turn-coherence.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAoB;IACtD,EAAE,EAAE,sBAAsB;IAC1B,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"multi-turn-coherence.js","sourceRoot":"","sources":["../../src/judges/multi-turn-coherence.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAoB;IACtD,EAAE,EAAE,sBAAsB;IAC1B,IAAI,EAAE,4BAA4B;IAClC,WAAW,EACT,qFAAqF;QACrF,sFAAsF;IACxF,MAAM,EAAE,8BAA8B;IACtC,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,oFAAoF;IACtG,iBAAiB,EAAE,sFAAsF;IACzG,YAAY,EAAE;;;;;;;;;;;;;;;;;+DAiB+C;CAC9D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../src/judges/observability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../src/judges/observability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,kBAAkB,EAAE,eAmChC,CAAC"}
|
|
@@ -4,6 +4,8 @@ export const observabilityJudge = {
|
|
|
4
4
|
domain: "Monitoring & Diagnostics",
|
|
5
5
|
description: "Evaluates code for structured logging, distributed tracing (OpenTelemetry), metrics exposition, alerting hooks, correlation IDs, and dashboarding readiness.",
|
|
6
6
|
rulePrefix: "OBS",
|
|
7
|
+
tableDescription: "Structured logging, health checks, metrics, tracing",
|
|
8
|
+
promptDescription: "Deep observability & monitoring review",
|
|
7
9
|
systemPrompt: `You are Judge Observability — a monitoring and observability architect with deep expertise in the three pillars (logs, metrics, traces), OpenTelemetry, Prometheus, Grafana, and production incident response.
|
|
8
10
|
|
|
9
11
|
YOUR EVALUATION CRITERIA:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observability.js","sourceRoot":"","sources":["../../src/judges/observability.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IACjD,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,0BAA0B;IAClC,WAAW,EACT,8JAA8J;IAChK,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;8HAyB8G;CAC7H,CAAC"}
|
|
1
|
+
{"version":3,"file":"observability.js","sourceRoot":"","sources":["../../src/judges/observability.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IACjD,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,0BAA0B;IAClC,WAAW,EACT,8JAA8J;IAChK,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,qDAAqD;IACvE,iBAAiB,EAAE,wCAAwC;IAC3D,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;8HAyB8G;CAC7H,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"over-engineering.d.ts","sourceRoot":"","sources":["../../src/judges/over-engineering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,oBAAoB,EAAE,eA8ClC,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export const overEngineeringJudge = {
|
|
2
|
+
id: "over-engineering",
|
|
3
|
+
name: "Judge Over-Engineering",
|
|
4
|
+
domain: "Simplicity & Pragmatism",
|
|
5
|
+
description: "Detects unnecessary abstractions, premature generalisation, wrapper-mania, and design-pattern misuse. Especially relevant for AI-generated code which tends toward over-abstraction.",
|
|
6
|
+
rulePrefix: "OVER",
|
|
7
|
+
tableDescription: "Unnecessary abstractions, wrapper-mania, premature generalization, over-complex patterns",
|
|
8
|
+
promptDescription: "Deep review of unnecessary abstractions, wrapper-mania, premature generalization",
|
|
9
|
+
systemPrompt: `You are the Over-Engineering Judge. Your mandate is to detect code that is
|
|
10
|
+
more complex than the problem demands — a hallmark of AI-generated code.
|
|
11
|
+
|
|
12
|
+
You evaluate:
|
|
13
|
+
1. **Unnecessary abstraction layers** — Wrappers around simple builtins,
|
|
14
|
+
abstract factories with one implementation, strategy patterns with one strategy.
|
|
15
|
+
2. **Premature generalisation** — Generic type parameters used only once,
|
|
16
|
+
plugin architectures with zero plugins, configurable pipelines with one step.
|
|
17
|
+
3. **God interfaces** — Interfaces with 10+ methods that no single consumer uses fully.
|
|
18
|
+
4. **Wrapper mania** — Re-wrapping standard library APIs (fetch, fs, crypto)
|
|
19
|
+
with no added value (no retry, no logging, no caching).
|
|
20
|
+
5. **Builder / factory misuse** — Builder or factory patterns for objects with
|
|
21
|
+
≤ 3 fields, or where a constructor / object literal suffices.
|
|
22
|
+
6. **Excessive indirection** — Call chains where A calls B calls C calls D
|
|
23
|
+
with no transformation at each hop.
|
|
24
|
+
7. **Enterprise-isms in small code** — Dependency injection containers,
|
|
25
|
+
service locators, or event buses in code with < 500 lines.
|
|
26
|
+
|
|
27
|
+
Thresholds:
|
|
28
|
+
- ≥ 3 single-implementation abstractions → medium
|
|
29
|
+
- ≥ 5 trivial wrappers → high
|
|
30
|
+
- God interface (10+ methods) → medium
|
|
31
|
+
- Builder for ≤ 3 fields → low
|
|
32
|
+
- Enterprise patterns in < 500 LOC → medium
|
|
33
|
+
|
|
34
|
+
ADVERSARIAL MANDATE:
|
|
35
|
+
- Assume the code has unnecessary complexity and prove otherwise.
|
|
36
|
+
- Never praise simplicity. Report only excess complexity.
|
|
37
|
+
- If uncertain, flag only with concrete code evidence.
|
|
38
|
+
|
|
39
|
+
FALSE POSITIVE AVOIDANCE:
|
|
40
|
+
- Library code designed for many consumers legitimately needs abstractions.
|
|
41
|
+
Only flag abstractions whose sole consumer is within the same file/module.
|
|
42
|
+
- Test helpers and fixtures legitimately use builders.
|
|
43
|
+
Skip findings in test files (*.test.*, *.spec.*, *_test.*).
|
|
44
|
+
- Framework boilerplate (Angular modules, Spring beans, NestJS providers)
|
|
45
|
+
is required by the framework. Do not flag mandated patterns.`,
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=over-engineering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"over-engineering.js","sourceRoot":"","sources":["../../src/judges/over-engineering.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAoB;IACnD,EAAE,EAAE,kBAAkB;IACtB,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,yBAAyB;IACjC,WAAW,EACT,sLAAsL;IACxL,UAAU,EAAE,MAAM;IAClB,gBAAgB,EAAE,0FAA0F;IAC5G,iBAAiB,EAAE,kFAAkF;IACrG,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DAoC+C;CAC9D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../src/judges/performance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../src/judges/performance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,eA0C9B,CAAC"}
|
|
@@ -4,6 +4,8 @@ export const performanceJudge = {
|
|
|
4
4
|
domain: "Runtime Performance",
|
|
5
5
|
description: "Evaluates code for memory allocation efficiency, GC pressure, lazy loading, bundle size, render performance, database query optimization, and runtime hot spots.",
|
|
6
6
|
rulePrefix: "PERF",
|
|
7
|
+
tableDescription: "N+1 queries, sync I/O, caching, memory leaks",
|
|
8
|
+
promptDescription: "Deep performance optimization review",
|
|
7
9
|
systemPrompt: `You are Judge Performance — a performance engineering specialist who has optimized latency-critical systems from game engines to financial trading platforms, expert in profiling, benchmarking, and low-level optimization.
|
|
8
10
|
|
|
9
11
|
YOUR EVALUATION CRITERIA:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performance.js","sourceRoot":"","sources":["../../src/judges/performance.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,qBAAqB;IAC7B,WAAW,EACT,kKAAkK;IACpK,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8HAgC8G;CAC7H,CAAC"}
|
|
1
|
+
{"version":3,"file":"performance.js","sourceRoot":"","sources":["../../src/judges/performance.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,qBAAqB;IAC7B,WAAW,EACT,kKAAkK;IACpK,UAAU,EAAE,MAAM;IAClB,gBAAgB,EAAE,8CAA8C;IAChE,iBAAiB,EAAE,sCAAsC;IACzD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8HAgC8G;CAC7H,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portability.d.ts","sourceRoot":"","sources":["../../src/judges/portability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"portability.d.ts","sourceRoot":"","sources":["../../src/judges/portability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,eAmC9B,CAAC"}
|
|
@@ -4,6 +4,8 @@ export const portabilityJudge = {
|
|
|
4
4
|
domain: "Platform Portability & Vendor Independence",
|
|
5
5
|
description: "Evaluates code for OS/platform independence, vendor lock-in avoidance, cross-environment compatibility, and abstraction of platform-specific functionality.",
|
|
6
6
|
rulePrefix: "PORTA",
|
|
7
|
+
tableDescription: "OS-specific paths, vendor lock-in, hardcoded hosts",
|
|
8
|
+
promptDescription: "Deep platform portability review",
|
|
7
9
|
systemPrompt: `You are Judge Portability — a systems architect who has migrated applications across operating systems, cloud providers, and runtime environments. You specialize in identifying vendor lock-in and platform dependencies that limit flexibility.
|
|
8
10
|
|
|
9
11
|
YOUR EVALUATION CRITERIA:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portability.js","sourceRoot":"","sources":["../../src/judges/portability.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,4CAA4C;IACpD,WAAW,EACT,6JAA6J;IAC/J,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;4HAyB4G;CAC3H,CAAC"}
|
|
1
|
+
{"version":3,"file":"portability.js","sourceRoot":"","sources":["../../src/judges/portability.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,4CAA4C;IACpD,WAAW,EACT,6JAA6J;IAC/J,UAAU,EAAE,OAAO;IACnB,gBAAgB,EAAE,oDAAoD;IACtE,iBAAiB,EAAE,kCAAkC;IACrD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;4HAyB4G;CAC3H,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limiting.d.ts","sourceRoot":"","sources":["../../src/judges/rate-limiting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"rate-limiting.d.ts","sourceRoot":"","sources":["../../src/judges/rate-limiting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,iBAAiB,EAAE,eAmC/B,CAAC"}
|
|
@@ -4,6 +4,8 @@ export const rateLimitingJudge = {
|
|
|
4
4
|
domain: "Rate Limiting & Throttling",
|
|
5
5
|
description: "Evaluates code for API rate limiting, request throttling, backoff strategies, quota management, and protection against abuse and resource exhaustion.",
|
|
6
6
|
rulePrefix: "RATE",
|
|
7
|
+
tableDescription: "Missing rate limits, unbounded queries, backoff strategy",
|
|
8
|
+
promptDescription: "Deep rate limiting review",
|
|
7
9
|
systemPrompt: `You are Judge Rate Limiting — an API gateway architect and abuse prevention specialist who has defended high-traffic systems against DDoS, scraping, credential stuffing, and resource exhaustion attacks.
|
|
8
10
|
|
|
9
11
|
YOUR EVALUATION CRITERIA:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limiting.js","sourceRoot":"","sources":["../../src/judges/rate-limiting.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAChD,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,4BAA4B;IACpC,WAAW,EACT,uJAAuJ;IACzJ,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;iIAyBiH;CAChI,CAAC"}
|
|
1
|
+
{"version":3,"file":"rate-limiting.js","sourceRoot":"","sources":["../../src/judges/rate-limiting.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAChD,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,4BAA4B;IACpC,WAAW,EACT,uJAAuJ;IACzJ,UAAU,EAAE,MAAM;IAClB,gBAAgB,EAAE,0DAA0D;IAC5E,iBAAiB,EAAE,2BAA2B;IAC9C,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;iIAyBiH;CAChI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reliability.d.ts","sourceRoot":"","sources":["../../src/judges/reliability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"reliability.d.ts","sourceRoot":"","sources":["../../src/judges/reliability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,eAqC9B,CAAC"}
|
|
@@ -4,6 +4,8 @@ export const reliabilityJudge = {
|
|
|
4
4
|
domain: "Reliability & Resilience",
|
|
5
5
|
description: "Evaluates code for error recovery, retry logic, circuit breakers, graceful degradation, idempotency, dead letter queues, chaos readiness, and fault tolerance.",
|
|
6
6
|
rulePrefix: "REL",
|
|
7
|
+
tableDescription: "Error handling, timeouts, retries, circuit breakers",
|
|
8
|
+
promptDescription: "Deep reliability & resilience review",
|
|
7
9
|
systemPrompt: `You are Judge Reliability — a Site Reliability Engineer (SRE) and resilience architect with experience running five-9s systems serving billions of requests, expert in failure mode analysis and chaos engineering.
|
|
8
10
|
|
|
9
11
|
YOUR EVALUATION CRITERIA:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reliability.js","sourceRoot":"","sources":["../../src/judges/reliability.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,0BAA0B;IAClC,WAAW,EACT,gKAAgK;IAClK,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;4HA2B4G;CAC3H,CAAC"}
|
|
1
|
+
{"version":3,"file":"reliability.js","sourceRoot":"","sources":["../../src/judges/reliability.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,0BAA0B;IAClC,WAAW,EACT,gKAAgK;IAClK,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,qDAAqD;IACvE,iBAAiB,EAAE,sCAAsC;IACzD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;4HA2B4G;CAC3H,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalability.d.ts","sourceRoot":"","sources":["../../src/judges/scalability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"scalability.d.ts","sourceRoot":"","sources":["../../src/judges/scalability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,eAuC9B,CAAC"}
|
|
@@ -4,6 +4,8 @@ export const scalabilityJudge = {
|
|
|
4
4
|
domain: "Scalability & Performance",
|
|
5
5
|
description: "Evaluates code for its ability to handle growth — horizontal/vertical scaling readiness, statelessness, concurrency, bottlenecks, and performance under load.",
|
|
6
6
|
rulePrefix: "SCALE",
|
|
7
|
+
tableDescription: "Statelessness, horizontal scaling, concurrency, bottlenecks",
|
|
8
|
+
promptDescription: "Deep scalability review",
|
|
7
9
|
systemPrompt: `You are Judge Scalability — a distributed systems architect who has designed systems handling millions of concurrent users and petabytes of data.
|
|
8
10
|
|
|
9
11
|
YOUR EVALUATION CRITERIA:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalability.js","sourceRoot":"","sources":["../../src/judges/scalability.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,2BAA2B;IACnC,WAAW,EACT,+JAA+J;IACjK,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2HA6B2G;CAC1H,CAAC"}
|
|
1
|
+
{"version":3,"file":"scalability.js","sourceRoot":"","sources":["../../src/judges/scalability.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,2BAA2B;IACnC,WAAW,EACT,+JAA+J;IACjK,UAAU,EAAE,OAAO;IACnB,gBAAgB,EAAE,6DAA6D;IAC/E,iBAAiB,EAAE,yBAAyB;IAC5C,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2HA6B2G;CAC1H,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/judges/security.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/judges/security.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,aAAa,EAAE,eA8B3B,CAAC"}
|
package/dist/judges/security.js
CHANGED
|
@@ -4,6 +4,8 @@ export const securityJudge = {
|
|
|
4
4
|
domain: "General Security Posture",
|
|
5
5
|
description: "Holistic security assessment covering insecure data flows, weak cryptography, missing security controls, unsafe deserialization, XML external entities, prototype pollution, and other broad vulnerability patterns across all supported languages.",
|
|
6
6
|
rulePrefix: "SEC",
|
|
7
|
+
tableDescription: "Holistic security assessment — insecure data flows, weak cryptography, unsafe deserialization",
|
|
8
|
+
promptDescription: "Deep holistic security posture review: insecure data flows, weak cryptography, unsafe deserialization",
|
|
7
9
|
systemPrompt: `You are Judge Security — a senior application security architect with broad expertise in secure software design, threat modeling, and defense-in-depth strategies across multiple languages and frameworks.
|
|
8
10
|
|
|
9
11
|
YOUR EVALUATION CRITERIA:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/judges/security.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,0BAA0B;IAClC,WAAW,EACT,qPAAqP;IACvP,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;+DAmB+C;CAC9D,CAAC"}
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/judges/security.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,0BAA0B;IAClC,WAAW,EACT,qPAAqP;IACvP,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,+FAA+F;IACjH,iBAAiB,EACf,uGAAuG;IACzG,YAAY,EAAE;;;;;;;;;;;;;;;;;;;+DAmB+C;CAC9D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"software-practices.d.ts","sourceRoot":"","sources":["../../src/judges/software-practices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"software-practices.d.ts","sourceRoot":"","sources":["../../src/judges/software-practices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,sBAAsB,EAAE,eA0CpC,CAAC"}
|
|
@@ -4,6 +4,8 @@ export const softwarePracticesJudge = {
|
|
|
4
4
|
domain: "Software Engineering Best Practices & Secure SDLC",
|
|
5
5
|
description: "Evaluates code quality, maintainability, testing practices, documentation, SOLID principles, design patterns, error handling, and secure software development lifecycle (SSDLC) compliance.",
|
|
6
6
|
rulePrefix: "SWDEV",
|
|
7
|
+
tableDescription: "SOLID principles, type safety, error handling, input validation",
|
|
8
|
+
promptDescription: "Deep software practices review",
|
|
7
9
|
systemPrompt: `You are Judge Software Practices — a principal software engineer and engineering quality leader with mastery of clean code, design patterns, testing strategies, and secure SDLC practices.
|
|
8
10
|
|
|
9
11
|
YOUR EVALUATION CRITERIA:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"software-practices.js","sourceRoot":"","sources":["../../src/judges/software-practices.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAoB;IACrD,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,0BAA0B;IAChC,MAAM,EAAE,mDAAmD;IAC3D,WAAW,EACT,6LAA6L;IAC/L,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uIAgCuH;CACtI,CAAC"}
|
|
1
|
+
{"version":3,"file":"software-practices.js","sourceRoot":"","sources":["../../src/judges/software-practices.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAoB;IACrD,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,0BAA0B;IAChC,MAAM,EAAE,mDAAmD;IAC3D,WAAW,EACT,6LAA6L;IAC/L,UAAU,EAAE,OAAO;IACnB,gBAAgB,EAAE,iEAAiE;IACnF,iBAAiB,EAAE,gCAAgC;IACnD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uIAgCuH;CACtI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/judges/testing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/judges/testing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,YAAY,EAAE,eAqC1B,CAAC"}
|
package/dist/judges/testing.js
CHANGED
|
@@ -4,6 +4,8 @@ export const testingJudge = {
|
|
|
4
4
|
domain: "Test Quality & Coverage",
|
|
5
5
|
description: "Evaluates code for test-to-code ratio, test isolation, mocking strategy, edge case coverage, flaky test patterns, and test pyramid balance (unit/integration/e2e).",
|
|
6
6
|
rulePrefix: "TEST",
|
|
7
|
+
tableDescription: "Test coverage, assertions, test isolation, naming",
|
|
8
|
+
promptDescription: "Deep testing quality review",
|
|
7
9
|
systemPrompt: `You are Judge Testing — a quality engineering architect with mastery of TDD, BDD, testing pyramids, mutation testing, and test infrastructure at scale.
|
|
8
10
|
|
|
9
11
|
YOUR EVALUATION CRITERIA:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/judges/testing.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAoB;IAC3C,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,yBAAyB;IACjC,WAAW,EACT,oKAAoK;IACtK,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;+HA2B+G;CAC9H,CAAC"}
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/judges/testing.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAoB;IAC3C,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,yBAAyB;IACjC,WAAW,EACT,oKAAoK;IACtK,UAAU,EAAE,MAAM;IAClB,gBAAgB,EAAE,mDAAmD;IACrE,iBAAiB,EAAE,6BAA6B;IAChD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;+HA2B+G;CAC9H,CAAC"}
|
package/dist/judges/ux.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ux.d.ts","sourceRoot":"","sources":["../../src/judges/ux.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ux.d.ts","sourceRoot":"","sources":["../../src/judges/ux.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,OAAO,EAAE,eAmCrB,CAAC"}
|
package/dist/judges/ux.js
CHANGED
|
@@ -4,6 +4,8 @@ export const uxJudge = {
|
|
|
4
4
|
domain: "User Experience & Interface Quality",
|
|
5
5
|
description: "Evaluates code for user experience patterns including loading states, error feedback, responsive design, mobile-friendliness, and interaction quality.",
|
|
6
6
|
rulePrefix: "UX",
|
|
7
|
+
tableDescription: "Loading states, error messages, pagination, destructive actions",
|
|
8
|
+
promptDescription: "Deep user experience review",
|
|
7
9
|
systemPrompt: `You are Judge UX — a UX engineer and frontend architect who bridges design and engineering, specializing in performance perception, error communication, and inclusive interaction design.
|
|
8
10
|
|
|
9
11
|
YOUR EVALUATION CRITERIA:
|
package/dist/judges/ux.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ux.js","sourceRoot":"","sources":["../../src/judges/ux.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAoB;IACtC,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,qCAAqC;IAC7C,WAAW,EACT,wJAAwJ;IAC1J,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;sHAyBsG;CACrH,CAAC"}
|
|
1
|
+
{"version":3,"file":"ux.js","sourceRoot":"","sources":["../../src/judges/ux.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAoB;IACtC,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,qCAAqC;IAC7C,WAAW,EACT,wJAAwJ;IAC1J,UAAU,EAAE,IAAI;IAChB,gBAAgB,EAAE,iEAAiE;IACnF,iBAAiB,EAAE,6BAA6B;IAChD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;sHAyBsG;CACrH,CAAC"}
|
package/dist/scoring.d.ts
CHANGED
|
@@ -29,4 +29,9 @@ export declare function isAbsenceBasedFinding(finding: Finding): boolean;
|
|
|
29
29
|
* a step-by-step chain explaining why the finding matters in context.
|
|
30
30
|
*/
|
|
31
31
|
export declare function buildEvidenceChain(finding: Finding): EvidenceChain;
|
|
32
|
+
/**
|
|
33
|
+
* Map a finding to its OWASP LLM Top 10 category, if applicable.
|
|
34
|
+
* Returns the formatted string (e.g. "LLM01: Prompt Injection") or undefined.
|
|
35
|
+
*/
|
|
36
|
+
export declare function mapToOwaspLlmTop10(finding: Finding): string | undefined;
|
|
32
37
|
//# sourceMappingURL=scoring.d.ts.map
|
package/dist/scoring.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoring.d.ts","sourceRoot":"","sources":["../src/scoring.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAC;AAI9G,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiBD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,iBAAiB,GAAG,SAAS,CAoCpH;AAID,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAElE;AAkKD;;;GAGG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,OAAO,GAAG;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,CAqDA;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,EAAE,CAajG;AAgCD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAwB/D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAqElE"}
|
|
1
|
+
{"version":3,"file":"scoring.d.ts","sourceRoot":"","sources":["../src/scoring.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAC;AAI9G,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiBD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,iBAAiB,GAAG,SAAS,CAoCpH;AAID,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAElE;AAkKD;;;GAGG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,OAAO,GAAG;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,CAqDA;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,EAAE,CAajG;AAgCD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAwB/D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAqElE;AAmFD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAUvE"}
|
package/dist/scoring.js
CHANGED
|
@@ -359,4 +359,80 @@ export function buildEvidenceChain(finding) {
|
|
|
359
359
|
const impactStatement = `${severity === "critical" || severity === "high" ? "High" : "Moderate"}-impact ${domainName} concern: ${finding.description.slice(0, 120)}`;
|
|
360
360
|
return { steps, impactStatement };
|
|
361
361
|
}
|
|
362
|
+
const OWASP_LLM_TOP_10 = [
|
|
363
|
+
{
|
|
364
|
+
id: "LLM01",
|
|
365
|
+
title: "Prompt Injection",
|
|
366
|
+
prefixes: ["AICS", "INTENT"],
|
|
367
|
+
keywords: /prompt\s*inject|system\s*prompt|instruction\s*override|jailbreak|input\s*manipulat/i,
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
id: "LLM02",
|
|
371
|
+
title: "Insecure Output Handling",
|
|
372
|
+
prefixes: [],
|
|
373
|
+
keywords: /unsanitized\s*output|output\s*inject|xss.*llm|unescaped.*response|raw.*ai.*output/i,
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
id: "LLM03",
|
|
377
|
+
title: "Training Data Poisoning",
|
|
378
|
+
prefixes: [],
|
|
379
|
+
keywords: /training\s*data|data\s*poison|model\s*integrity|backdoor.*model/i,
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
id: "LLM04",
|
|
383
|
+
title: "Model Denial of Service",
|
|
384
|
+
prefixes: ["RATE"],
|
|
385
|
+
keywords: /model\s*dos|token\s*limit|resource\s*exhaust.*llm|api\s*rate.*ai|unbounded.*prompt/i,
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
id: "LLM05",
|
|
389
|
+
title: "Supply Chain Vulnerabilities",
|
|
390
|
+
prefixes: ["DEPS"],
|
|
391
|
+
keywords: /supply\s*chain|typosquat|dependency.*vuln|malicious.*package|compromised.*model/i,
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
id: "LLM06",
|
|
395
|
+
title: "Sensitive Information Disclosure",
|
|
396
|
+
prefixes: ["DATA", "LOG"],
|
|
397
|
+
keywords: /pii\s*leak|sensitive.*expos|credential.*log|secret.*output|data\s*exfiltrat/i,
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
id: "LLM07",
|
|
401
|
+
title: "Insecure Plugin Design",
|
|
402
|
+
prefixes: [],
|
|
403
|
+
keywords: /plugin.*insecur|tool.*inject|function\s*call.*unvalidat|agent.*permiss/i,
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
id: "LLM08",
|
|
407
|
+
title: "Excessive Agency",
|
|
408
|
+
prefixes: ["AGENT"],
|
|
409
|
+
keywords: /excessive.*agenc|autonomous.*action|unrestricted.*tool|agent.*privilege|over-permissive/i,
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
id: "LLM09",
|
|
413
|
+
title: "Overreliance",
|
|
414
|
+
prefixes: ["HALLU", "MFING"],
|
|
415
|
+
keywords: /hallucin|overrelian|fabricat|confabulat|phantom.*api|invented.*function/i,
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
id: "LLM10",
|
|
419
|
+
title: "Model Theft",
|
|
420
|
+
prefixes: [],
|
|
421
|
+
keywords: /model\s*theft|model\s*extract|weight.*exfiltrat|api\s*key.*model/i,
|
|
422
|
+
},
|
|
423
|
+
];
|
|
424
|
+
/**
|
|
425
|
+
* Map a finding to its OWASP LLM Top 10 category, if applicable.
|
|
426
|
+
* Returns the formatted string (e.g. "LLM01: Prompt Injection") or undefined.
|
|
427
|
+
*/
|
|
428
|
+
export function mapToOwaspLlmTop10(finding) {
|
|
429
|
+
const prefix = finding.ruleId.split("-")[0];
|
|
430
|
+
const text = `${finding.title} ${finding.description}`;
|
|
431
|
+
for (const entry of OWASP_LLM_TOP_10) {
|
|
432
|
+
if (entry.prefixes.includes(prefix) || entry.keywords.test(text)) {
|
|
433
|
+
return `${entry.id}: ${entry.title}`;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
return undefined;
|
|
437
|
+
}
|
|
362
438
|
//# sourceMappingURL=scoring.js.map
|