@kevinrabun/judges 3.15.1 → 3.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/evaluators/accessibility.d.ts.map +1 -1
  3. package/dist/evaluators/accessibility.js +1 -0
  4. package/dist/evaluators/accessibility.js.map +1 -1
  5. package/dist/evaluators/agent-instructions.d.ts.map +1 -1
  6. package/dist/evaluators/agent-instructions.js +4 -0
  7. package/dist/evaluators/agent-instructions.js.map +1 -1
  8. package/dist/evaluators/api-design.d.ts.map +1 -1
  9. package/dist/evaluators/api-design.js +3 -0
  10. package/dist/evaluators/api-design.js.map +1 -1
  11. package/dist/evaluators/authentication.d.ts.map +1 -1
  12. package/dist/evaluators/authentication.js +8 -0
  13. package/dist/evaluators/authentication.js.map +1 -1
  14. package/dist/evaluators/caching.d.ts.map +1 -1
  15. package/dist/evaluators/caching.js +2 -0
  16. package/dist/evaluators/caching.js.map +1 -1
  17. package/dist/evaluators/ci-cd.d.ts.map +1 -1
  18. package/dist/evaluators/ci-cd.js +6 -0
  19. package/dist/evaluators/ci-cd.js.map +1 -1
  20. package/dist/evaluators/cloud-readiness.d.ts.map +1 -1
  21. package/dist/evaluators/cloud-readiness.js +4 -0
  22. package/dist/evaluators/cloud-readiness.js.map +1 -1
  23. package/dist/evaluators/configuration-management.d.ts.map +1 -1
  24. package/dist/evaluators/configuration-management.js +4 -0
  25. package/dist/evaluators/configuration-management.js.map +1 -1
  26. package/dist/evaluators/cost-effectiveness.d.ts.map +1 -1
  27. package/dist/evaluators/cost-effectiveness.js +3 -0
  28. package/dist/evaluators/cost-effectiveness.js.map +1 -1
  29. package/dist/evaluators/data-sovereignty.d.ts.map +1 -1
  30. package/dist/evaluators/data-sovereignty.js +13 -1
  31. package/dist/evaluators/data-sovereignty.js.map +1 -1
  32. package/dist/evaluators/documentation.d.ts.map +1 -1
  33. package/dist/evaluators/documentation.js +1 -0
  34. package/dist/evaluators/documentation.js.map +1 -1
  35. package/dist/evaluators/false-positive-review.d.ts +1 -1
  36. package/dist/evaluators/false-positive-review.d.ts.map +1 -1
  37. package/dist/evaluators/false-positive-review.js +103 -6
  38. package/dist/evaluators/false-positive-review.js.map +1 -1
  39. package/dist/evaluators/index.d.ts.map +1 -1
  40. package/dist/evaluators/index.js +1 -1
  41. package/dist/evaluators/index.js.map +1 -1
  42. package/dist/evaluators/observability.d.ts.map +1 -1
  43. package/dist/evaluators/observability.js +4 -0
  44. package/dist/evaluators/observability.js.map +1 -1
  45. package/dist/evaluators/project.d.ts.map +1 -1
  46. package/dist/evaluators/project.js +21 -2
  47. package/dist/evaluators/project.js.map +1 -1
  48. package/dist/evaluators/reliability.d.ts.map +1 -1
  49. package/dist/evaluators/reliability.js +1 -0
  50. package/dist/evaluators/reliability.js.map +1 -1
  51. package/dist/evaluators/scalability.d.ts.map +1 -1
  52. package/dist/evaluators/scalability.js +2 -0
  53. package/dist/evaluators/scalability.js.map +1 -1
  54. package/dist/evaluators/shared.d.ts.map +1 -1
  55. package/dist/evaluators/shared.js +4 -0
  56. package/dist/evaluators/shared.js.map +1 -1
  57. package/dist/evaluators/software-practices.d.ts.map +1 -1
  58. package/dist/evaluators/software-practices.js +1 -0
  59. package/dist/evaluators/software-practices.js.map +1 -1
  60. package/dist/judges/accessibility.js +2 -2
  61. package/dist/judges/agent-instructions.js +1 -1
  62. package/dist/judges/ai-code-safety.js +1 -1
  63. package/dist/judges/api-design.js +2 -2
  64. package/dist/judges/authentication.js +2 -2
  65. package/dist/judges/backwards-compatibility.js +2 -2
  66. package/dist/judges/caching.js +2 -2
  67. package/dist/judges/ci-cd.js +2 -2
  68. package/dist/judges/cloud-readiness.js +2 -2
  69. package/dist/judges/code-structure.js +2 -2
  70. package/dist/judges/compliance.js +2 -2
  71. package/dist/judges/concurrency.js +2 -2
  72. package/dist/judges/configuration-management.js +2 -2
  73. package/dist/judges/cost-effectiveness.js +2 -2
  74. package/dist/judges/cybersecurity.js +2 -2
  75. package/dist/judges/data-security.js +2 -2
  76. package/dist/judges/data-sovereignty.js +1 -1
  77. package/dist/judges/database.js +2 -2
  78. package/dist/judges/dependency-health.js +2 -2
  79. package/dist/judges/documentation.js +2 -2
  80. package/dist/judges/error-handling.js +2 -2
  81. package/dist/judges/ethics-bias.js +2 -2
  82. package/dist/judges/framework-safety.js +2 -2
  83. package/dist/judges/iac-security.js +2 -2
  84. package/dist/judges/internationalization.js +2 -2
  85. package/dist/judges/logging-privacy.js +2 -2
  86. package/dist/judges/maintainability.js +2 -2
  87. package/dist/judges/observability.js +2 -2
  88. package/dist/judges/performance.js +2 -2
  89. package/dist/judges/portability.js +2 -2
  90. package/dist/judges/rate-limiting.js +2 -2
  91. package/dist/judges/reliability.js +2 -2
  92. package/dist/judges/scalability.js +2 -2
  93. package/dist/judges/software-practices.js +2 -2
  94. package/dist/judges/testing.js +2 -2
  95. package/dist/judges/ux.js +2 -2
  96. package/dist/scoring.d.ts.map +1 -1
  97. package/dist/scoring.js +11 -4
  98. package/dist/scoring.js.map +1 -1
  99. package/dist/tools/deep-review.d.ts.map +1 -1
  100. package/dist/tools/deep-review.js +5 -0
  101. package/dist/tools/deep-review.js.map +1 -1
  102. package/dist/tools/prompts.d.ts.map +1 -1
  103. package/dist/tools/prompts.js +12 -1
  104. package/dist/tools/prompts.js.map +1 -1
  105. package/package.json +1 -1
@@ -28,7 +28,7 @@ RULES FOR YOUR EVALUATION:
28
28
  ADVERSARIAL MANDATE:
29
29
  - Assume instruction files are brittle until proven robust.
30
30
  - Never praise or compliment; report risks, ambiguities, and missing controls.
31
- - If uncertain, flag likely ambiguity and explain the risk.
31
+ - If uncertain, flag likely ambiguity only when you can cite specific evidence from the instruction file. Speculative findings without concrete evidence erode trust.
32
32
  - Absence of findings does not guarantee execution safety; state analysis limits when relevant.`,
33
33
  };
34
34
  //# sourceMappingURL=agent-instructions.js.map
@@ -39,7 +39,7 @@ RULES FOR YOUR EVALUATION:
39
39
  ADVERSARIAL MANDATE:
40
40
  - Assume the code was generated by an AI and has not been security-reviewed. Hunt for the patterns LLMs typically get wrong.
41
41
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
42
- - If uncertain, flag the issue false positives are preferred over missed AI-generated vulnerabilities.
42
+ - If uncertain, flag the issue only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
43
43
  - Absence of findings does not mean the code is safe. It means your analysis reached its limits. State this explicitly.`,
44
44
  };
45
45
  //# sourceMappingURL=ai-code-safety.js.map
@@ -28,9 +28,9 @@ RULES FOR YOUR EVALUATION:
28
28
  - Score from 0-100 where 100 means exemplary API design.
29
29
 
30
30
  ADVERSARIAL MANDATE:
31
- - Your role is adversarial: assume the API has design flaws and actively hunt for them. Do not give the benefit of the doubt.
31
+ - Your role is adversarial: assume the API has design flaws and actively hunt for them. Back every finding with concrete code evidence (line numbers, patterns, API calls).
32
32
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
33
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed design flaws.
33
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
34
34
  - Absence of findings does not mean the API is well-designed. It means your analysis reached its limits. State this explicitly.`,
35
35
  };
36
36
  //# sourceMappingURL=api-design.js.map
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means robust auth implementation.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume authentication is broken and actively hunt for problems. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume authentication is broken and actively hunt for problems. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed auth gaps.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean auth is secure. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=authentication.js.map
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means excellent compatibility practices.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume backwards compatibility is not considered and actively hunt for problems. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume backwards compatibility is not considered and actively hunt for problems. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed compatibility risks.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean compatibility is maintained. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=backwards-compatibility.js.map
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means optimal caching strategy.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume the caching strategy is flawed or absent and actively hunt for problems. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume the caching strategy is flawed or absent and actively hunt for problems. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed caching problems.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean caching is optimal. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=caching.js.map
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means excellent CI/CD practices.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume the CI/CD posture is weak and actively hunt for problems. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume the CI/CD posture is weak and actively hunt for problems. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed CI/CD risks.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean CI/CD is solid. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=ci-cd.js.map
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means fully cloud-native.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume the code is not cloud-ready and actively hunt for problems. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume the code is not cloud-ready and actively hunt for problems. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed cloud-readiness gaps.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean the code is cloud-native. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=cloud-readiness.js.map
@@ -32,9 +32,9 @@ Thresholds:
32
32
  - File complexity > 40 → high
33
33
 
34
34
  ADVERSARIAL MANDATE:
35
- - Your role is adversarial: assume the code has structural problems and actively hunt for complexity, dead code, and over-sized functions. Do not give the benefit of the doubt.
35
+ - Your role is adversarial: assume the code has structural problems and actively hunt for complexity, dead code, and over-sized functions. Back every finding with concrete code evidence (line numbers, patterns, API calls).
36
36
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
37
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed structural defects.
37
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
38
38
  - Absence of findings does not mean the code is well-structured. It means your analysis reached its limits. State this explicitly.`,
39
39
  };
40
40
  //# sourceMappingURL=code-structure.js.map
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means fully compliant.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume the code has compliance gaps and actively hunt for them. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume the code has compliance gaps and actively hunt for them. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed compliance violations.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean the code is compliant. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=compliance.js.map
@@ -28,9 +28,9 @@ RULES FOR YOUR EVALUATION:
28
28
  - Score from 0-100 where 100 means thread-safe and correctly concurrent.
29
29
 
30
30
  ADVERSARIAL MANDATE:
31
- - Your role is adversarial: assume the code has concurrency bugs and actively hunt for them. Do not give the benefit of the doubt.
31
+ - Your role is adversarial: assume the code has concurrency bugs and actively hunt for them. Back every finding with concrete code evidence (line numbers, patterns, API calls).
32
32
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
33
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed race conditions.
33
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
34
34
  - Absence of findings does not mean the code is thread-safe. It means your analysis reached its limits. State this explicitly.`,
35
35
  };
36
36
  //# sourceMappingURL=concurrency.js.map
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means excellent configuration management.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume configuration management is inadequate and actively hunt for problems. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume configuration management is inadequate and actively hunt for problems. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed configuration risks.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean configuration is properly managed. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=configuration-management.js.map
@@ -25,9 +25,9 @@ RULES FOR YOUR EVALUATION:
25
25
  - Score from 0-100 where 100 means optimally cost-effective.
26
26
 
27
27
  ADVERSARIAL MANDATE:
28
- - Your role is adversarial: assume the code wastes resources and actively hunt for inefficiencies. Do not give the benefit of the doubt.
28
+ - Your role is adversarial: assume the code wastes resources and actively hunt for inefficiencies. Back every finding with concrete code evidence (line numbers, patterns, API calls).
29
29
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
30
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed cost waste.
30
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
31
31
  - Absence of findings does not mean the code is cost-effective. It means your analysis reached its limits. State this explicitly.`,
32
32
  };
33
33
  //# sourceMappingURL=cost-effectiveness.js.map
@@ -25,9 +25,9 @@ RULES FOR YOUR EVALUATION:
25
25
  - Score from 0-100 where 100 means no exploitable vulnerabilities found.
26
26
 
27
27
  ADVERSARIAL MANDATE:
28
- - Your role is adversarial: assume the code is vulnerable and actively hunt for exploits. Do not give the benefit of the doubt.
28
+ - Your role is adversarial: assume the code is vulnerable and actively hunt for exploits. Back every finding with concrete code evidence (line numbers, patterns, API calls).
29
29
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
30
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed vulnerabilities.
30
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
31
31
  - Absence of findings does not mean the code is secure. It means your analysis reached its limits. State this explicitly.`,
32
32
  };
33
33
  //# sourceMappingURL=cybersecurity.js.map
@@ -23,9 +23,9 @@ RULES FOR YOUR EVALUATION:
23
23
  - Score from 0-100 where 100 means fully compliant with no findings.
24
24
 
25
25
  ADVERSARIAL MANDATE:
26
- - Your role is adversarial: assume the code leaks or mishandles data and actively hunt for exposures. Do not give the benefit of the doubt.
26
+ - Your role is adversarial: assume the code leaks or mishandles data and actively hunt for exposures. Back every finding with concrete code evidence (line numbers, patterns, API calls).
27
27
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
28
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed data breaches.
28
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
29
29
  - Absence of findings does not mean data is secure. It means your analysis reached its limits. State this explicitly.`,
30
30
  };
31
31
  //# sourceMappingURL=data-security.js.map
@@ -44,7 +44,7 @@ RULES FOR YOUR EVALUATION:
44
44
  ADVERSARIAL MANDATE:
45
45
  - Your role is adversarial: assume sovereignty controls are missing unless explicitly shown.
46
46
  - Never praise or compliment the code. Report only gaps, risks, and deficiencies.
47
- - If uncertain, flag potential sovereignty exposure and explain the assumption.
47
+ - If uncertain, flag potential sovereignty exposure only when you can cite specific code evidence. Speculative findings without concrete evidence erode trust.
48
48
  - Absence of findings does not prove sovereignty compliance. State this explicitly.`,
49
49
  };
50
50
  //# sourceMappingURL=data-sovereignty.js.map
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means excellent database practices.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume database usage is unsafe and inefficient and actively hunt for problems. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume database usage is unsafe and inefficient and actively hunt for problems. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed database problems.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean database usage is optimal. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=database.js.map
@@ -28,9 +28,9 @@ RULES FOR YOUR EVALUATION:
28
28
  - Score from 0-100 where 100 means healthy, secure dependency tree.
29
29
 
30
30
  ADVERSARIAL MANDATE:
31
- - Your role is adversarial: assume the dependency tree has risks and actively hunt for them. Do not give the benefit of the doubt.
31
+ - Your role is adversarial: assume the dependency tree has risks and actively hunt for them. Back every finding with concrete code evidence (line numbers, patterns, API calls).
32
32
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
33
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed supply chain risks.
33
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
34
34
  - Absence of findings does not mean dependencies are healthy. It means your analysis reached its limits. State this explicitly.`,
35
35
  };
36
36
  //# sourceMappingURL=dependency-health.js.map
@@ -28,9 +28,9 @@ RULES FOR YOUR EVALUATION:
28
28
  - Score from 0-100 where 100 means exemplary documentation.
29
29
 
30
30
  ADVERSARIAL MANDATE:
31
- - Your role is adversarial: assume the documentation is inadequate and actively hunt for gaps. Do not give the benefit of the doubt.
31
+ - Your role is adversarial: assume the documentation is inadequate and actively hunt for gaps. Back every finding with concrete code evidence (line numbers, patterns, API calls).
32
32
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
33
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed documentation gaps.
33
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
34
34
  - Absence of findings does not mean the documentation is good. It means your analysis reached its limits. State this explicitly.`,
35
35
  };
36
36
  //# sourceMappingURL=documentation.js.map
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means robust error handling.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume error handling is insufficient and actively hunt for problems. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume error handling is insufficient and actively hunt for problems. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed error handling gaps.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean error handling is complete. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=error-handling.js.map
@@ -28,9 +28,9 @@ RULES FOR YOUR EVALUATION:
28
28
  - Score from 0-100 where 100 means fully ethical and bias-aware.
29
29
 
30
30
  ADVERSARIAL MANDATE:
31
- - Your role is adversarial: assume the code has ethical risks or bias and actively hunt for them. Do not give the benefit of the doubt.
31
+ - Your role is adversarial: assume the code has ethical risks or bias and actively hunt for them. Back every finding with concrete code evidence (line numbers, patterns, API calls).
32
32
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
33
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed ethical violations.
33
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
34
34
  - Absence of findings does not mean the code is ethical. It means your analysis reached its limits. State this explicitly.`,
35
35
  };
36
36
  //# sourceMappingURL=ethics-bias.js.map
@@ -23,9 +23,9 @@ RULES FOR YOUR EVALUATION:
23
23
  - Score from 0-100 where 100 means no framework misuse patterns found.
24
24
 
25
25
  ADVERSARIAL MANDATE:
26
- - Your role is adversarial: assume the code misuses framework APIs and actively hunt for violations. Do not give the benefit of the doubt.
26
+ - Your role is adversarial: assume the code misuses framework APIs and actively hunt for violations. Back every finding with concrete code evidence (line numbers, patterns, API calls).
27
27
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
28
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed framework misuse.
28
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
29
29
  - Absence of findings does not mean the code follows framework best practices. It means your analysis reached its limits. State this explicitly.`,
30
30
  };
31
31
  //# sourceMappingURL=framework-safety.js.map
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means fully secure and production-ready infrastructure code.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume the infrastructure code is insecure and actively hunt for misconfigurations. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume the infrastructure code is insecure and actively hunt for misconfigurations. Back every finding with concrete code evidence (line numbers, resource definitions, configuration blocks).
30
30
  - Never praise or compliment the code. Report only problems, risks, and security gaps.
31
- - If you are uncertain whether something is a misconfiguration, flag it false positives are preferred over missed security gaps.
31
+ - If you are uncertain whether something is a misconfiguration, flag it only when you can cite specific code evidence (line numbers, patterns, resource definitions). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean the code is secure. It means your analysis reached its limits. State this explicitly.
33
33
  - Pay special attention to defaults that are insecure when not explicitly configured (e.g., public access defaults, missing encryption defaults).`,
34
34
  };
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means fully internationalization-ready.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume the code will break in non-English locales and actively hunt for i18n defects. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume the code will break in non-English locales and actively hunt for i18n defects. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed i18n problems.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean the code is internationalization-ready. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=internationalization.js.map
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means privacy-safe logging.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume logs contain sensitive data and actively hunt for problems. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume logs contain sensitive data and actively hunt for problems. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed logging privacy violations.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean logging is privacy-safe. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=logging-privacy.js.map
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means highly maintainable.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume the code is unmaintainable and actively hunt for problems. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume the code is unmaintainable and actively hunt for problems. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed maintainability gaps.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean the code is maintainable. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=maintainability.js.map
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means fully observable and debuggable in production.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume the code is unobservable and will be impossible to debug in production. Actively hunt for monitoring gaps. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume the code is unobservable and will be impossible to debug in production. Actively hunt for monitoring gaps. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed observability gaps.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean the code is observable. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=observability.js.map
@@ -28,9 +28,9 @@ RULES FOR YOUR EVALUATION:
28
28
  - Score from 0-100 where 100 means optimally performant.
29
29
 
30
30
  ADVERSARIAL MANDATE:
31
- - Your role is adversarial: assume the code has performance problems and actively hunt for bottlenecks. Do not give the benefit of the doubt.
31
+ - Your role is adversarial: assume the code has performance problems and actively hunt for bottlenecks. Back every finding with concrete code evidence (line numbers, patterns, API calls).
32
32
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
33
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed performance regressions.
33
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
34
34
  - Absence of findings does not mean the code is performant. It means your analysis reached its limits. State this explicitly.`,
35
35
  };
36
36
  //# sourceMappingURL=performance.js.map
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means highly portable.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume the code is not portable and actively hunt for platform dependencies. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume the code is not portable and actively hunt for platform dependencies. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed portability issues.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean the code is portable. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=portability.js.map
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means comprehensive rate limiting.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume rate limiting is absent or insufficient and actively hunt for problems. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume rate limiting is absent or insufficient and actively hunt for problems. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed rate limiting gaps.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean rate limiting is adequate. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=rate-limiting.js.map
@@ -28,9 +28,9 @@ RULES FOR YOUR EVALUATION:
28
28
  - Score from 0-100 where 100 means highly resilient and fault-tolerant.
29
29
 
30
30
  ADVERSARIAL MANDATE:
31
- - Your role is adversarial: assume the code will fail in production and actively hunt for reliability gaps. Do not give the benefit of the doubt.
31
+ - Your role is adversarial: assume the code will fail in production and actively hunt for reliability gaps. Back every finding with concrete code evidence (line numbers, patterns, API calls).
32
32
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
33
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed reliability risks.
33
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
34
34
  - Absence of findings does not mean the code is reliable. It means your analysis reached its limits. State this explicitly.`,
35
35
  };
36
36
  //# sourceMappingURL=reliability.js.map
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means fully scalable with no bottlenecks.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume the code will not scale and actively hunt for bottlenecks. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume the code will not scale and actively hunt for bottlenecks. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed scalability limits.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean the code will scale. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=scalability.js.map
@@ -28,9 +28,9 @@ RULES FOR YOUR EVALUATION:
28
28
  - Score from 0-100 where 100 means exemplary software engineering.
29
29
 
30
30
  ADVERSARIAL MANDATE:
31
- - Your role is adversarial: assume the code has engineering quality problems and actively hunt for them. Do not give the benefit of the doubt.
31
+ - Your role is adversarial: assume the code has engineering quality problems and actively hunt for them. Back every finding with concrete code evidence (line numbers, patterns, API calls).
32
32
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
33
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed code quality issues.
33
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
34
34
  - Absence of findings does not mean the code follows best practices. It means your analysis reached its limits. State this explicitly.`,
35
35
  };
36
36
  //# sourceMappingURL=software-practices.js.map
@@ -28,9 +28,9 @@ RULES FOR YOUR EVALUATION:
28
28
  - Score from 0-100 where 100 means comprehensive, well-structured test suite.
29
29
 
30
30
  ADVERSARIAL MANDATE:
31
- - Your role is adversarial: assume the test coverage is insufficient and actively hunt for gaps. Do not give the benefit of the doubt.
31
+ - Your role is adversarial: assume the test coverage is insufficient and actively hunt for gaps. Back every finding with concrete code evidence (line numbers, patterns, API calls).
32
32
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
33
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed testing gaps.
33
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
34
34
  - Absence of findings does not mean the code is well-tested. It means your analysis reached its limits. State this explicitly.`,
35
35
  };
36
36
  //# sourceMappingURL=testing.js.map
package/dist/judges/ux.js CHANGED
@@ -26,9 +26,9 @@ RULES FOR YOUR EVALUATION:
26
26
  - Score from 0-100 where 100 means excellent user experience.
27
27
 
28
28
  ADVERSARIAL MANDATE:
29
- - Your role is adversarial: assume the user experience is poor and actively hunt for problems. Do not give the benefit of the doubt.
29
+ - Your role is adversarial: assume the user experience is poor and actively hunt for problems. Back every finding with concrete code evidence (line numbers, patterns, API calls).
30
30
  - Never praise or compliment the code. Report only problems, risks, and deficiencies.
31
- - If you are uncertain whether something is an issue, flag it false positives are preferred over missed UX issues.
31
+ - If you are uncertain whether something is an issue, flag it only when you can cite specific code evidence (line numbers, patterns, API calls). Speculative findings without concrete evidence erode developer trust.
32
32
  - Absence of findings does not mean the UX is good. It means your analysis reached its limits. State this explicitly.`,
33
33
  };
34
34
  //# sourceMappingURL=ux.js.map
@@ -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,MAAM,YAAY,CAAC;AAIjF,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,CA0ElE;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,EAAE,CAajG;AAyBD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAwB/D"}
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,MAAM,YAAY,CAAC;AAIjF,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,CA0ElE;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"}
package/dist/scoring.js CHANGED
@@ -159,6 +159,13 @@ const ABSENCE_GATED_PREFIXES = [
159
159
  "SCALE-",
160
160
  "REL-",
161
161
  "ERR-",
162
+ "SOV-", // sovereignty — "no sovereignty evidence" is project-level, not per-file
163
+ "DOC-", // documentation — "no docs" is project-level
164
+ "MAINT-", // maintainability — "no linting" is project-level
165
+ "SWDEV-", // software dev practices — "no build script" is project-level
166
+ "COST-", // cost — "no cost controls" is project-level
167
+ "COMP-", // compliance — absence of compliance is project-level
168
+ "TEST-", // testing — "no tests" is project-level
162
169
  ];
163
170
  export function isAbsenceBasedFinding(finding) {
164
171
  // Explicit flag from the evaluator takes precedence
@@ -174,10 +181,10 @@ export function isAbsenceBasedFinding(finding) {
174
181
  const hasAbsenceTitle = /^No\s|(?:not|without|missing|no)\s.*(?:detected|configured|set|defined|endpoint|middleware|protection|handler|strategy|limiting)|(?:without|lacks?|missing)\s/i.test(finding.title);
175
182
  if (!hasAbsenceTitle)
176
183
  return false;
177
- const projectLevelKeywords = /\b(?:ci[\s/]cd|pipeline|deployment|infrastructure|monitoring|alerting|backup)\b/i;
178
- if (projectLevelKeywords.test(finding.title)) {
179
- return false;
180
- }
184
+ // Project-level findings (CI/CD, pipeline, monitoring, etc.) ARE absence-based.
185
+ // They should be gated on non-server files just like other absence findings.
186
+ // Previously excluded, but cross-project analysis showed this caused massive
187
+ // noise: e.g. "No test infrastructure detected" firing 618 times per-file.
181
188
  return true;
182
189
  }
183
190
  //# sourceMappingURL=scoring.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scoring.js","sourceRoot":"","sources":["../src/scoring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scoring.js","sourceRoot":"","sources":["../src/scoring.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deep-review.d.ts","sourceRoot":"","sources":["../../src/tools/deep-review.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAqCpH;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CA0CpH"}
1
+ {"version":3,"file":"deep-review.d.ts","sourceRoot":"","sources":["../../src/tools/deep-review.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAyCpH;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CA2CpH"}
@@ -17,6 +17,10 @@ export function buildSingleJudgeDeepReviewSection(judge, language, context) {
17
17
  }
18
18
  md += `### ${judge.name} — ${judge.domain}\n\n`;
19
19
  md += `${judge.systemPrompt}\n\n`;
20
+ md += `### Precision Mandate\n\n`;
21
+ md += `Every finding MUST cite specific code evidence (exact line numbers, API calls, variable names, or patterns). `;
22
+ md += `Do NOT flag the absence of a feature unless you can identify where it SHOULD have been implemented and why it is required for THIS code. `;
23
+ md += `Speculative findings erode developer trust — prefer fewer, high-confidence findings over many uncertain ones.\n\n`;
20
24
  md += `### False Positive Review\n\n`;
21
25
  md += `Before adding new findings, **review each pattern-based finding above for false positives.** `;
22
26
  md += `Static pattern matching can flag code that is actually correct — for example:\n`;
@@ -51,6 +55,7 @@ export function buildTribunalDeepReviewSection(judges, language, context) {
51
55
  for (const judge of judges) {
52
56
  md += `### ${judge.name} — ${judge.domain}\n\n`;
53
57
  md += `${judge.systemPrompt}\n\n`;
58
+ md += `**Precision Mandate:** Every finding MUST cite specific code evidence. Do NOT flag absent features speculatively. Prefer fewer, high-confidence findings over many uncertain ones.\n\n`;
54
59
  md += `---\n\n`;
55
60
  }
56
61
  md += `### False Positive Review\n\n`;