@kevinrabun/judges 3.88.0 → 3.90.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 +26 -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-auto-tag.d.ts +5 -0
  6. package/dist/commands/finding-auto-tag.d.ts.map +1 -0
  7. package/dist/commands/finding-auto-tag.js +114 -0
  8. package/dist/commands/finding-auto-tag.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-cluster-group.d.ts +5 -0
  14. package/dist/commands/finding-cluster-group.d.ts.map +1 -0
  15. package/dist/commands/finding-cluster-group.js +106 -0
  16. package/dist/commands/finding-cluster-group.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-evidence-collect.d.ts +5 -0
  22. package/dist/commands/finding-evidence-collect.d.ts.map +1 -0
  23. package/dist/commands/finding-evidence-collect.js +115 -0
  24. package/dist/commands/finding-evidence-collect.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-resolution-tracker.d.ts +5 -0
  38. package/dist/commands/finding-resolution-tracker.d.ts.map +1 -0
  39. package/dist/commands/finding-resolution-tracker.js +164 -0
  40. package/dist/commands/finding-resolution-tracker.js.map +1 -0
  41. package/dist/commands/finding-trend-analysis.d.ts +5 -0
  42. package/dist/commands/finding-trend-analysis.d.ts.map +1 -0
  43. package/dist/commands/finding-trend-analysis.js +96 -0
  44. package/dist/commands/finding-trend-analysis.js.map +1 -0
  45. package/dist/commands/review-batch-mode.d.ts +5 -0
  46. package/dist/commands/review-batch-mode.d.ts.map +1 -0
  47. package/dist/commands/review-batch-mode.js +98 -0
  48. package/dist/commands/review-batch-mode.js.map +1 -0
  49. package/dist/commands/review-compliance-gate.d.ts +5 -0
  50. package/dist/commands/review-compliance-gate.d.ts.map +1 -0
  51. package/dist/commands/review-compliance-gate.js +152 -0
  52. package/dist/commands/review-compliance-gate.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-perf-profile.d.ts +5 -0
  62. package/dist/commands/review-perf-profile.d.ts.map +1 -0
  63. package/dist/commands/review-perf-profile.js +99 -0
  64. package/dist/commands/review-perf-profile.js.map +1 -0
  65. package/dist/commands/review-scope-limit.d.ts +5 -0
  66. package/dist/commands/review-scope-limit.d.ts.map +1 -0
  67. package/dist/commands/review-scope-limit.js +101 -0
  68. package/dist/commands/review-scope-limit.js.map +1 -0
  69. package/dist/commands/review-threshold-tune.d.ts +5 -0
  70. package/dist/commands/review-threshold-tune.d.ts.map +1 -0
  71. package/dist/commands/review-threshold-tune.js +136 -0
  72. package/dist/commands/review-threshold-tune.js.map +1 -0
  73. package/dist/commands/review-webhook-notify.d.ts +5 -0
  74. package/dist/commands/review-webhook-notify.d.ts.map +1 -0
  75. package/dist/commands/review-webhook-notify.js +146 -0
  76. package/dist/commands/review-webhook-notify.js.map +1 -0
  77. package/package.json +1 -1
  78. package/server.json +2 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,32 @@
2
2
 
3
3
  All notable changes to **@kevinrabun/judges** are documented here.
4
4
 
5
+ ## [3.90.0] — 2026-03-14
6
+
7
+ ### Added
8
+ - Batch review processing for multiple verdict files: review-batch-mode
9
+ - Finding trend analysis across historical reports: finding-trend-analysis
10
+ - Automatic content-based finding tagging: finding-auto-tag
11
+ - Webhook notification configuration and preview: review-webhook-notify
12
+ - Evidence collection with source code snippets: finding-evidence-collect
13
+ - Compliance gate with configurable policies: review-compliance-gate
14
+ - Finding resolution tracker with sync and status updates: finding-resolution-tracker
15
+ - Threshold tuning suggestions based on historical data: review-threshold-tune
16
+ - Finding cluster grouping by rule prefix: finding-cluster-group
17
+
18
+ ## [3.89.0] — 2026-03-14
19
+
20
+ ### Added
21
+ - Review scope limiter to filter findings by prefix or severity: review-scope-limit
22
+ - Finding regression check comparing current vs baseline verdicts: finding-regression-check
23
+ - Finding fix validation to verify patches and estimate effort: finding-fix-validation
24
+ - Dashboard data generator from verdict reports: review-dashboard-data
25
+ - Finding category mapping with keyword-based classification: finding-category-map
26
+ - Deduplicated findings report with occurrence counts: finding-dedup-report
27
+ - Review performance profiler with judge and source metrics: review-perf-profile
28
+ - False positive tracking log with add/remove/check actions: finding-false-positive-log
29
+ - Review guardrails for enforcing quality gates (no-critical, min-score, max-findings): review-guardrail
30
+
5
31
  ## [3.88.0] — 2026-03-14
6
32
 
7
33
  ### 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;AAk0BH;;;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,CAk+G1D"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAo1BH;;;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,CAgmH1D"}
package/dist/cli.js CHANGED
@@ -661,6 +661,24 @@ USAGE:
661
661
  judges finding-age-analysis Analyze finding age over time
662
662
  judges review-template-export Export review templates
663
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
673
+ judges review-batch-mode Batch review processing
674
+ judges finding-trend-analysis Analyze finding trends over time
675
+ judges finding-auto-tag Auto-tag findings by content
676
+ judges review-webhook-notify Configure webhook notifications
677
+ judges finding-evidence-collect Collect evidence for findings
678
+ judges review-compliance-gate Compliance gate for reviews
679
+ judges finding-resolution-tracker Track finding resolutions
680
+ judges review-threshold-tune Tune review thresholds
681
+ judges finding-cluster-group Group findings into clusters
664
682
  judges tune Analyze project and suggest optimal config
665
683
  judges list List all available judges
666
684
  judges version Show version information
@@ -3712,6 +3730,114 @@ export async function runCli(argv) {
3712
3730
  runFindingCorrelation(argv);
3713
3731
  return;
3714
3732
  }
3733
+ // ─── Review Scope Limit Command ───────────────────────────────────
3734
+ if (args.command === "review-scope-limit") {
3735
+ const { runReviewScopeLimit } = await import("./commands/review-scope-limit.js");
3736
+ runReviewScopeLimit(argv);
3737
+ return;
3738
+ }
3739
+ // ─── Finding Regression Check Command ─────────────────────────────
3740
+ if (args.command === "finding-regression-check") {
3741
+ const { runFindingRegressionCheck } = await import("./commands/finding-regression-check.js");
3742
+ runFindingRegressionCheck(argv);
3743
+ return;
3744
+ }
3745
+ // ─── Finding Fix Validation Command ───────────────────────────────
3746
+ if (args.command === "finding-fix-validation") {
3747
+ const { runFindingFixValidation } = await import("./commands/finding-fix-validation.js");
3748
+ runFindingFixValidation(argv);
3749
+ return;
3750
+ }
3751
+ // ─── Review Dashboard Data Command ────────────────────────────────
3752
+ if (args.command === "review-dashboard-data") {
3753
+ const { runReviewDashboardData } = await import("./commands/review-dashboard-data.js");
3754
+ runReviewDashboardData(argv);
3755
+ return;
3756
+ }
3757
+ // ─── Finding Category Map Command ────────────────────────────────
3758
+ if (args.command === "finding-category-map") {
3759
+ const { runFindingCategoryMap } = await import("./commands/finding-category-map.js");
3760
+ runFindingCategoryMap(argv);
3761
+ return;
3762
+ }
3763
+ // ─── Finding Dedup Report Command ─────────────────────────────────
3764
+ if (args.command === "finding-dedup-report") {
3765
+ const { runFindingDedupReport } = await import("./commands/finding-dedup-report.js");
3766
+ runFindingDedupReport(argv);
3767
+ return;
3768
+ }
3769
+ // ─── Review Perf Profile Command ──────────────────────────────────
3770
+ if (args.command === "review-perf-profile") {
3771
+ const { runReviewPerfProfile } = await import("./commands/review-perf-profile.js");
3772
+ runReviewPerfProfile(argv);
3773
+ return;
3774
+ }
3775
+ // ─── Finding False Positive Log Command ───────────────────────────
3776
+ if (args.command === "finding-false-positive-log") {
3777
+ const { runFindingFalsePositiveLog } = await import("./commands/finding-false-positive-log.js");
3778
+ runFindingFalsePositiveLog(argv);
3779
+ return;
3780
+ }
3781
+ // ─── Review Guardrail Command ─────────────────────────────────────
3782
+ if (args.command === "review-guardrail") {
3783
+ const { runReviewGuardrail } = await import("./commands/review-guardrail.js");
3784
+ runReviewGuardrail(argv);
3785
+ return;
3786
+ }
3787
+ // ─── Review Batch Mode Command ────────────────────────────────────
3788
+ if (args.command === "review-batch-mode") {
3789
+ const { runReviewBatchMode } = await import("./commands/review-batch-mode.js");
3790
+ runReviewBatchMode(argv);
3791
+ return;
3792
+ }
3793
+ // ─── Finding Trend Analysis Command ──────────────────────────────
3794
+ if (args.command === "finding-trend-analysis") {
3795
+ const { runFindingTrendAnalysis } = await import("./commands/finding-trend-analysis.js");
3796
+ runFindingTrendAnalysis(argv);
3797
+ return;
3798
+ }
3799
+ // ─── Finding Auto Tag Command ─────────────────────────────────────
3800
+ if (args.command === "finding-auto-tag") {
3801
+ const { runFindingAutoTag } = await import("./commands/finding-auto-tag.js");
3802
+ runFindingAutoTag(argv);
3803
+ return;
3804
+ }
3805
+ // ─── Review Webhook Notify Command ────────────────────────────────
3806
+ if (args.command === "review-webhook-notify") {
3807
+ const { runReviewWebhookNotify } = await import("./commands/review-webhook-notify.js");
3808
+ runReviewWebhookNotify(argv);
3809
+ return;
3810
+ }
3811
+ // ─── Finding Evidence Collect Command ─────────────────────────────
3812
+ if (args.command === "finding-evidence-collect") {
3813
+ const { runFindingEvidenceCollect } = await import("./commands/finding-evidence-collect.js");
3814
+ runFindingEvidenceCollect(argv);
3815
+ return;
3816
+ }
3817
+ // ─── Review Compliance Gate Command ───────────────────────────────
3818
+ if (args.command === "review-compliance-gate") {
3819
+ const { runReviewComplianceGate } = await import("./commands/review-compliance-gate.js");
3820
+ runReviewComplianceGate(argv);
3821
+ return;
3822
+ }
3823
+ // ─── Finding Resolution Tracker Command ───────────────────────────
3824
+ if (args.command === "finding-resolution-tracker") {
3825
+ const { runFindingResolutionTracker } = await import("./commands/finding-resolution-tracker.js");
3826
+ runFindingResolutionTracker(argv);
3827
+ return;
3828
+ }
3829
+ // ─── Review Threshold Tune Command ────────────────────────────────
3830
+ if (args.command === "review-threshold-tune") {
3831
+ const { runReviewThresholdTune } = await import("./commands/review-threshold-tune.js");
3832
+ runReviewThresholdTune(argv);
3833
+ return;
3834
+ }
3835
+ // ─── Finding Cluster Group Command ────────────────────────────────
3836
+ if (args.command === "finding-cluster-group") {
3837
+ const { runFindingClusterGroup } = await import("./commands/finding-cluster-group.js");
3838
+ runFindingClusterGroup(argv);
3839
+ return;
3840
+ }
3715
3841
  // ─── Tune Command ─────────────────────────────────────────────────
3716
3842
  if (args.command === "tune") {
3717
3843
  const { runTune } = await import("./commands/tune.js");