@kevinrabun/judges 3.87.0 → 3.89.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 (78) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +126 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/finding-age-analysis.d.ts +5 -0
  6. package/dist/commands/finding-age-analysis.d.ts.map +1 -0
  7. package/dist/commands/finding-age-analysis.js +145 -0
  8. package/dist/commands/finding-age-analysis.js.map +1 -0
  9. package/dist/commands/finding-category-map.d.ts +5 -0
  10. package/dist/commands/finding-category-map.d.ts.map +1 -0
  11. package/dist/commands/finding-category-map.js +104 -0
  12. package/dist/commands/finding-category-map.js.map +1 -0
  13. package/dist/commands/finding-correlation.d.ts +5 -0
  14. package/dist/commands/finding-correlation.d.ts.map +1 -0
  15. package/dist/commands/finding-correlation.js +104 -0
  16. package/dist/commands/finding-correlation.js.map +1 -0
  17. package/dist/commands/finding-dedup-report.d.ts +5 -0
  18. package/dist/commands/finding-dedup-report.d.ts.map +1 -0
  19. package/dist/commands/finding-dedup-report.js +102 -0
  20. package/dist/commands/finding-dedup-report.js.map +1 -0
  21. package/dist/commands/finding-dependency-tree.d.ts +5 -0
  22. package/dist/commands/finding-dependency-tree.d.ts.map +1 -0
  23. package/dist/commands/finding-dependency-tree.js +117 -0
  24. package/dist/commands/finding-dependency-tree.js.map +1 -0
  25. package/dist/commands/finding-false-positive-log.d.ts +5 -0
  26. package/dist/commands/finding-false-positive-log.d.ts.map +1 -0
  27. package/dist/commands/finding-false-positive-log.js +151 -0
  28. package/dist/commands/finding-false-positive-log.js.map +1 -0
  29. package/dist/commands/finding-fix-validation.d.ts +5 -0
  30. package/dist/commands/finding-fix-validation.d.ts.map +1 -0
  31. package/dist/commands/finding-fix-validation.js +116 -0
  32. package/dist/commands/finding-fix-validation.js.map +1 -0
  33. package/dist/commands/finding-regression-check.d.ts +5 -0
  34. package/dist/commands/finding-regression-check.d.ts.map +1 -0
  35. package/dist/commands/finding-regression-check.js +113 -0
  36. package/dist/commands/finding-regression-check.js.map +1 -0
  37. package/dist/commands/finding-suppression-audit.d.ts +5 -0
  38. package/dist/commands/finding-suppression-audit.d.ts.map +1 -0
  39. package/dist/commands/finding-suppression-audit.js +138 -0
  40. package/dist/commands/finding-suppression-audit.js.map +1 -0
  41. package/dist/commands/review-ci-integration.d.ts +5 -0
  42. package/dist/commands/review-ci-integration.d.ts.map +1 -0
  43. package/dist/commands/review-ci-integration.js +126 -0
  44. package/dist/commands/review-ci-integration.js.map +1 -0
  45. package/dist/commands/review-comparative.d.ts +5 -0
  46. package/dist/commands/review-comparative.d.ts.map +1 -0
  47. package/dist/commands/review-comparative.js +150 -0
  48. package/dist/commands/review-comparative.js.map +1 -0
  49. package/dist/commands/review-custom-rule.d.ts +5 -0
  50. package/dist/commands/review-custom-rule.d.ts.map +1 -0
  51. package/dist/commands/review-custom-rule.js +170 -0
  52. package/dist/commands/review-custom-rule.js.map +1 -0
  53. package/dist/commands/review-dashboard-data.d.ts +5 -0
  54. package/dist/commands/review-dashboard-data.d.ts.map +1 -0
  55. package/dist/commands/review-dashboard-data.js +143 -0
  56. package/dist/commands/review-dashboard-data.js.map +1 -0
  57. package/dist/commands/review-guardrail.d.ts +5 -0
  58. package/dist/commands/review-guardrail.d.ts.map +1 -0
  59. package/dist/commands/review-guardrail.js +156 -0
  60. package/dist/commands/review-guardrail.js.map +1 -0
  61. package/dist/commands/review-notification.d.ts +5 -0
  62. package/dist/commands/review-notification.d.ts.map +1 -0
  63. package/dist/commands/review-notification.js +127 -0
  64. package/dist/commands/review-notification.js.map +1 -0
  65. package/dist/commands/review-perf-profile.d.ts +5 -0
  66. package/dist/commands/review-perf-profile.d.ts.map +1 -0
  67. package/dist/commands/review-perf-profile.js +99 -0
  68. package/dist/commands/review-perf-profile.js.map +1 -0
  69. package/dist/commands/review-scope-limit.d.ts +5 -0
  70. package/dist/commands/review-scope-limit.d.ts.map +1 -0
  71. package/dist/commands/review-scope-limit.js +101 -0
  72. package/dist/commands/review-scope-limit.js.map +1 -0
  73. package/dist/commands/review-template-export.d.ts +5 -0
  74. package/dist/commands/review-template-export.d.ts.map +1 -0
  75. package/dist/commands/review-template-export.js +147 -0
  76. package/dist/commands/review-template-export.js.map +1 -0
  77. package/package.json +1 -1
  78. package/server.json +2 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,35 @@
2
2
 
3
3
  All notable changes to **@kevinrabun/judges** are documented here.
4
4
 
5
+ ## [3.89.0] — 2026-03-14
6
+
7
+ ### Added
8
+ - Review scope limiter to filter findings by prefix or severity: review-scope-limit
9
+ - Finding regression check comparing current vs baseline verdicts: finding-regression-check
10
+ - Finding fix validation to verify patches and estimate effort: finding-fix-validation
11
+ - Dashboard data generator from verdict reports: review-dashboard-data
12
+ - Finding category mapping with keyword-based classification: finding-category-map
13
+ - Deduplicated findings report with occurrence counts: finding-dedup-report
14
+ - Review performance profiler with judge and source metrics: review-perf-profile
15
+ - False positive tracking log with add/remove/check actions: finding-false-positive-log
16
+ - Review guardrails for enforcing quality gates (no-critical, min-score, max-findings): review-guardrail
17
+
18
+ ## [3.88.0] — 2026-03-14
19
+
20
+ ### Added
21
+ - Dependency tree: finding-dependency-tree (visualize finding dependency relationships)
22
+ - CI integration: review-ci-integration (generate CI pipeline configuration)
23
+ - Comparative review: review-comparative (compare two verdict reports side by side)
24
+ - Suppression audit: finding-suppression-audit (audit suppressed/ignored findings)
25
+ - Custom rules: review-custom-rule (create and manage custom review rules)
26
+ - Notifications: review-notification (configure review notification settings)
27
+ - Age analysis: finding-age-analysis (analyze finding age and lifecycle)
28
+ - Template export: review-template-export (export review templates for reuse)
29
+ - Correlation: finding-correlation (find correlations between findings across reports)
30
+
31
+ ### Tests
32
+ - All 2,267 tests passing (0 failures)
33
+
5
34
  ## [3.87.0] — 2026-03-14
6
35
 
7
36
  ### Added
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAyzBH;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAcnD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAQzE;AAiBD,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,EAAE,CAwBnF;AAkUD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAm6G1D"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AA20BH;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAcnD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAQzE;AAiBD,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,EAAE,CAwBnF;AAkUD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiiH1D"}
package/dist/cli.js CHANGED
@@ -652,6 +652,24 @@ USAGE:
652
652
  judges finding-pattern-library Manage finding pattern library
653
653
  judges review-status-badge Generate status badges
654
654
  judges finding-rule-explain Explain rules in detail
655
+ judges finding-dependency-tree Visualize finding dependencies
656
+ judges review-ci-integration Generate CI pipeline configuration
657
+ judges review-comparative Compare two verdict reports
658
+ judges finding-suppression-audit Audit suppressed findings
659
+ judges review-custom-rule Manage custom review rules
660
+ judges review-notification Manage review notifications
661
+ judges finding-age-analysis Analyze finding age over time
662
+ judges review-template-export Export review templates
663
+ judges finding-correlation Find correlations between findings
664
+ judges review-scope-limit Limit review scope to specific criteria
665
+ judges finding-regression-check Check for regressions vs baseline
666
+ judges finding-fix-validation Validate finding fixes
667
+ judges review-dashboard-data Generate dashboard-ready data
668
+ judges finding-category-map Map findings to categories
669
+ judges finding-dedup-report Deduplicated findings report
670
+ judges review-perf-profile Profile review performance
671
+ judges finding-false-positive-log Track false positive findings
672
+ judges review-guardrail Define and enforce review guardrails
655
673
  judges tune Analyze project and suggest optimal config
656
674
  judges list List all available judges
657
675
  judges version Show version information
@@ -3649,6 +3667,114 @@ export async function runCli(argv) {
3649
3667
  runFindingRuleExplain(argv);
3650
3668
  return;
3651
3669
  }
3670
+ // ─── Finding Dependency Tree Command ──────────────────────────────
3671
+ if (args.command === "finding-dependency-tree") {
3672
+ const { runFindingDependencyTree } = await import("./commands/finding-dependency-tree.js");
3673
+ runFindingDependencyTree(argv);
3674
+ return;
3675
+ }
3676
+ // ─── Review CI Integration Command ────────────────────────────────
3677
+ if (args.command === "review-ci-integration") {
3678
+ const { runReviewCiIntegration } = await import("./commands/review-ci-integration.js");
3679
+ runReviewCiIntegration(argv);
3680
+ return;
3681
+ }
3682
+ // ─── Review Comparative Command ───────────────────────────────────
3683
+ if (args.command === "review-comparative") {
3684
+ const { runReviewComparative } = await import("./commands/review-comparative.js");
3685
+ runReviewComparative(argv);
3686
+ return;
3687
+ }
3688
+ // ─── Finding Suppression Audit Command ────────────────────────────
3689
+ if (args.command === "finding-suppression-audit") {
3690
+ const { runFindingSuppressionAudit } = await import("./commands/finding-suppression-audit.js");
3691
+ runFindingSuppressionAudit(argv);
3692
+ return;
3693
+ }
3694
+ // ─── Review Custom Rule Command ───────────────────────────────────
3695
+ if (args.command === "review-custom-rule") {
3696
+ const { runReviewCustomRule } = await import("./commands/review-custom-rule.js");
3697
+ runReviewCustomRule(argv);
3698
+ return;
3699
+ }
3700
+ // ─── Review Notification Command ──────────────────────────────────
3701
+ if (args.command === "review-notification") {
3702
+ const { runReviewNotification } = await import("./commands/review-notification.js");
3703
+ runReviewNotification(argv);
3704
+ return;
3705
+ }
3706
+ // ─── Finding Age Analysis Command ─────────────────────────────────
3707
+ if (args.command === "finding-age-analysis") {
3708
+ const { runFindingAgeAnalysis } = await import("./commands/finding-age-analysis.js");
3709
+ runFindingAgeAnalysis(argv);
3710
+ return;
3711
+ }
3712
+ // ─── Review Template Export Command ───────────────────────────────
3713
+ if (args.command === "review-template-export") {
3714
+ const { runReviewTemplateExport } = await import("./commands/review-template-export.js");
3715
+ runReviewTemplateExport(argv);
3716
+ return;
3717
+ }
3718
+ // ─── Finding Correlation Command ──────────────────────────────────
3719
+ if (args.command === "finding-correlation") {
3720
+ const { runFindingCorrelation } = await import("./commands/finding-correlation.js");
3721
+ runFindingCorrelation(argv);
3722
+ return;
3723
+ }
3724
+ // ─── Review Scope Limit Command ───────────────────────────────────
3725
+ if (args.command === "review-scope-limit") {
3726
+ const { runReviewScopeLimit } = await import("./commands/review-scope-limit.js");
3727
+ runReviewScopeLimit(argv);
3728
+ return;
3729
+ }
3730
+ // ─── Finding Regression Check Command ─────────────────────────────
3731
+ if (args.command === "finding-regression-check") {
3732
+ const { runFindingRegressionCheck } = await import("./commands/finding-regression-check.js");
3733
+ runFindingRegressionCheck(argv);
3734
+ return;
3735
+ }
3736
+ // ─── Finding Fix Validation Command ───────────────────────────────
3737
+ if (args.command === "finding-fix-validation") {
3738
+ const { runFindingFixValidation } = await import("./commands/finding-fix-validation.js");
3739
+ runFindingFixValidation(argv);
3740
+ return;
3741
+ }
3742
+ // ─── Review Dashboard Data Command ────────────────────────────────
3743
+ if (args.command === "review-dashboard-data") {
3744
+ const { runReviewDashboardData } = await import("./commands/review-dashboard-data.js");
3745
+ runReviewDashboardData(argv);
3746
+ return;
3747
+ }
3748
+ // ─── Finding Category Map Command ────────────────────────────────
3749
+ if (args.command === "finding-category-map") {
3750
+ const { runFindingCategoryMap } = await import("./commands/finding-category-map.js");
3751
+ runFindingCategoryMap(argv);
3752
+ return;
3753
+ }
3754
+ // ─── Finding Dedup Report Command ─────────────────────────────────
3755
+ if (args.command === "finding-dedup-report") {
3756
+ const { runFindingDedupReport } = await import("./commands/finding-dedup-report.js");
3757
+ runFindingDedupReport(argv);
3758
+ return;
3759
+ }
3760
+ // ─── Review Perf Profile Command ──────────────────────────────────
3761
+ if (args.command === "review-perf-profile") {
3762
+ const { runReviewPerfProfile } = await import("./commands/review-perf-profile.js");
3763
+ runReviewPerfProfile(argv);
3764
+ return;
3765
+ }
3766
+ // ─── Finding False Positive Log Command ───────────────────────────
3767
+ if (args.command === "finding-false-positive-log") {
3768
+ const { runFindingFalsePositiveLog } = await import("./commands/finding-false-positive-log.js");
3769
+ runFindingFalsePositiveLog(argv);
3770
+ return;
3771
+ }
3772
+ // ─── Review Guardrail Command ─────────────────────────────────────
3773
+ if (args.command === "review-guardrail") {
3774
+ const { runReviewGuardrail } = await import("./commands/review-guardrail.js");
3775
+ runReviewGuardrail(argv);
3776
+ return;
3777
+ }
3652
3778
  // ─── Tune Command ─────────────────────────────────────────────────
3653
3779
  if (args.command === "tune") {
3654
3780
  const { runTune } = await import("./commands/tune.js");