@kevinrabun/judges 3.90.0 → 3.92.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-group.d.ts +5 -0
  6. package/dist/commands/finding-auto-group.d.ts.map +1 -0
  7. package/dist/commands/finding-auto-group.js +109 -0
  8. package/dist/commands/finding-auto-group.js.map +1 -0
  9. package/dist/commands/finding-blast-radius.d.ts +5 -0
  10. package/dist/commands/finding-blast-radius.d.ts.map +1 -0
  11. package/dist/commands/finding-blast-radius.js +92 -0
  12. package/dist/commands/finding-blast-radius.js.map +1 -0
  13. package/dist/commands/finding-cross-ref.d.ts +5 -0
  14. package/dist/commands/finding-cross-ref.d.ts.map +1 -0
  15. package/dist/commands/finding-cross-ref.js +99 -0
  16. package/dist/commands/finding-cross-ref.js.map +1 -0
  17. package/dist/commands/finding-hotspot-map.d.ts +5 -0
  18. package/dist/commands/finding-hotspot-map.d.ts.map +1 -0
  19. package/dist/commands/finding-hotspot-map.js +107 -0
  20. package/dist/commands/finding-hotspot-map.js.map +1 -0
  21. package/dist/commands/finding-metadata-enrich.d.ts +5 -0
  22. package/dist/commands/finding-metadata-enrich.d.ts.map +1 -0
  23. package/dist/commands/finding-metadata-enrich.js +93 -0
  24. package/dist/commands/finding-metadata-enrich.js.map +1 -0
  25. package/dist/commands/finding-pattern-detect.d.ts +5 -0
  26. package/dist/commands/finding-pattern-detect.d.ts.map +1 -0
  27. package/dist/commands/finding-pattern-detect.js +128 -0
  28. package/dist/commands/finding-pattern-detect.js.map +1 -0
  29. package/dist/commands/finding-suppression-list.d.ts +5 -0
  30. package/dist/commands/finding-suppression-list.d.ts.map +1 -0
  31. package/dist/commands/finding-suppression-list.js +120 -0
  32. package/dist/commands/finding-suppression-list.js.map +1 -0
  33. package/dist/commands/review-annotation-export.d.ts +5 -0
  34. package/dist/commands/review-annotation-export.d.ts.map +1 -0
  35. package/dist/commands/review-annotation-export.js +106 -0
  36. package/dist/commands/review-annotation-export.js.map +1 -0
  37. package/dist/commands/review-cache-warm.d.ts +5 -0
  38. package/dist/commands/review-cache-warm.d.ts.map +1 -0
  39. package/dist/commands/review-cache-warm.js +71 -0
  40. package/dist/commands/review-cache-warm.js.map +1 -0
  41. package/dist/commands/review-ci-gate.d.ts +5 -0
  42. package/dist/commands/review-ci-gate.d.ts.map +1 -0
  43. package/dist/commands/review-ci-gate.js +115 -0
  44. package/dist/commands/review-ci-gate.js.map +1 -0
  45. package/dist/commands/review-coverage-gap.d.ts +5 -0
  46. package/dist/commands/review-coverage-gap.d.ts.map +1 -0
  47. package/dist/commands/review-coverage-gap.js +121 -0
  48. package/dist/commands/review-coverage-gap.js.map +1 -0
  49. package/dist/commands/review-feedback-loop.d.ts +5 -0
  50. package/dist/commands/review-feedback-loop.d.ts.map +1 -0
  51. package/dist/commands/review-feedback-loop.js +114 -0
  52. package/dist/commands/review-feedback-loop.js.map +1 -0
  53. package/dist/commands/review-merge-config.d.ts +5 -0
  54. package/dist/commands/review-merge-config.d.ts.map +1 -0
  55. package/dist/commands/review-merge-config.js +120 -0
  56. package/dist/commands/review-merge-config.js.map +1 -0
  57. package/dist/commands/review-onboard-wizard.d.ts +5 -0
  58. package/dist/commands/review-onboard-wizard.d.ts.map +1 -0
  59. package/dist/commands/review-onboard-wizard.js +93 -0
  60. package/dist/commands/review-onboard-wizard.js.map +1 -0
  61. package/dist/commands/review-parallel-run.d.ts +5 -0
  62. package/dist/commands/review-parallel-run.d.ts.map +1 -0
  63. package/dist/commands/review-parallel-run.js +117 -0
  64. package/dist/commands/review-parallel-run.js.map +1 -0
  65. package/dist/commands/review-plugin-status.d.ts +5 -0
  66. package/dist/commands/review-plugin-status.d.ts.map +1 -0
  67. package/dist/commands/review-plugin-status.js +54 -0
  68. package/dist/commands/review-plugin-status.js.map +1 -0
  69. package/dist/commands/review-quality-score.d.ts +5 -0
  70. package/dist/commands/review-quality-score.d.ts.map +1 -0
  71. package/dist/commands/review-quality-score.js +128 -0
  72. package/dist/commands/review-quality-score.js.map +1 -0
  73. package/dist/commands/review-team-stats.d.ts +5 -0
  74. package/dist/commands/review-team-stats.d.ts.map +1 -0
  75. package/dist/commands/review-team-stats.js +98 -0
  76. package/dist/commands/review-team-stats.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.92.0] — 2026-03-14
6
+
7
+ ### Added
8
+ - Auto-group findings into logical categories by content analysis: finding-auto-group
9
+ - Manage finding suppression lists with expiry support: finding-suppression-list
10
+ - Show plugin loading status and domain filtering: review-plugin-status
11
+ - Cross-reference findings across multiple review files: finding-cross-ref
12
+ - CI gate integration with configurable pass/fail policies: review-ci-gate
13
+ - Team review statistics with aggregated metrics: review-team-stats
14
+ - Detect recurring finding patterns and co-occurrences: finding-pattern-detect
15
+ - Identify review coverage gaps and missing judges: review-coverage-gap
16
+ - Track review feedback loop with trend analysis: review-feedback-loop
17
+
18
+ ## [3.91.0] — 2026-03-14
19
+
20
+ ### Added
21
+ - Merge multiple configuration files with conflict detection: review-merge-config
22
+ - Map finding hotspots by line range buckets: finding-hotspot-map
23
+ - Summarize parallel review runs with consensus analysis: review-parallel-run
24
+ - Export findings as GitHub Actions, inline, or JSON annotations: review-annotation-export
25
+ - Estimate finding blast radius with risk scoring: finding-blast-radius
26
+ - Compute multi-dimension quality score with grading: review-quality-score
27
+ - Onboarding wizard with focus-based judge suggestions: review-onboard-wizard
28
+ - Pre-warm review cache for faster subsequent runs: review-cache-warm
29
+ - Enrich findings with judge and domain metadata: finding-metadata-enrich
30
+
5
31
  ## [3.90.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;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"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAs2BH;;;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,CA8tH1D"}
package/dist/cli.js CHANGED
@@ -679,6 +679,24 @@ USAGE:
679
679
  judges finding-resolution-tracker Track finding resolutions
680
680
  judges review-threshold-tune Tune review thresholds
681
681
  judges finding-cluster-group Group findings into clusters
682
+ judges review-merge-config Merge multiple configuration files
683
+ judges finding-hotspot-map Map finding hotspots in code
684
+ judges review-parallel-run Summarize parallel review runs
685
+ judges review-annotation-export Export findings as code annotations
686
+ judges finding-blast-radius Estimate finding blast radius
687
+ judges review-quality-score Compute multi-dimension quality score
688
+ judges review-onboard-wizard Onboarding wizard for new users
689
+ judges review-cache-warm Pre-warm review cache
690
+ judges finding-metadata-enrich Enrich findings with metadata
691
+ judges finding-auto-group Auto-group findings into categories
692
+ judges finding-suppression-list Manage finding suppressions
693
+ judges review-plugin-status Show plugin loading status
694
+ judges finding-cross-ref Cross-reference findings across reviews
695
+ judges review-ci-gate CI gate integration checks
696
+ judges review-team-stats Team review statistics
697
+ judges finding-pattern-detect Detect recurring finding patterns
698
+ judges review-coverage-gap Identify review coverage gaps
699
+ judges review-feedback-loop Track review feedback over time
682
700
  judges tune Analyze project and suggest optimal config
683
701
  judges list List all available judges
684
702
  judges version Show version information
@@ -3838,6 +3856,114 @@ export async function runCli(argv) {
3838
3856
  runFindingClusterGroup(argv);
3839
3857
  return;
3840
3858
  }
3859
+ // ─── Review Merge Config Command ──────────────────────────────────
3860
+ if (args.command === "review-merge-config") {
3861
+ const { runReviewMergeConfig } = await import("./commands/review-merge-config.js");
3862
+ runReviewMergeConfig(argv);
3863
+ return;
3864
+ }
3865
+ // ─── Finding Hotspot Map Command ──────────────────────────────────
3866
+ if (args.command === "finding-hotspot-map") {
3867
+ const { runFindingHotspotMap } = await import("./commands/finding-hotspot-map.js");
3868
+ runFindingHotspotMap(argv);
3869
+ return;
3870
+ }
3871
+ // ─── Review Parallel Run Command ──────────────────────────────────
3872
+ if (args.command === "review-parallel-run") {
3873
+ const { runReviewParallelRun } = await import("./commands/review-parallel-run.js");
3874
+ runReviewParallelRun(argv);
3875
+ return;
3876
+ }
3877
+ // ─── Review Annotation Export Command ─────────────────────────────
3878
+ if (args.command === "review-annotation-export") {
3879
+ const { runReviewAnnotationExport } = await import("./commands/review-annotation-export.js");
3880
+ runReviewAnnotationExport(argv);
3881
+ return;
3882
+ }
3883
+ // ─── Finding Blast Radius Command ─────────────────────────────────
3884
+ if (args.command === "finding-blast-radius") {
3885
+ const { runFindingBlastRadius } = await import("./commands/finding-blast-radius.js");
3886
+ runFindingBlastRadius(argv);
3887
+ return;
3888
+ }
3889
+ // ─── Review Quality Score Command ─────────────────────────────────
3890
+ if (args.command === "review-quality-score") {
3891
+ const { runReviewQualityScore } = await import("./commands/review-quality-score.js");
3892
+ runReviewQualityScore(argv);
3893
+ return;
3894
+ }
3895
+ // ─── Review Onboard Wizard Command ────────────────────────────────
3896
+ if (args.command === "review-onboard-wizard") {
3897
+ const { runReviewOnboardWizard } = await import("./commands/review-onboard-wizard.js");
3898
+ runReviewOnboardWizard(argv);
3899
+ return;
3900
+ }
3901
+ // ─── Review Cache Warm Command ────────────────────────────────────
3902
+ if (args.command === "review-cache-warm") {
3903
+ const { runReviewCacheWarm } = await import("./commands/review-cache-warm.js");
3904
+ runReviewCacheWarm(argv);
3905
+ return;
3906
+ }
3907
+ // ─── Finding Metadata Enrich Command ──────────────────────────────
3908
+ if (args.command === "finding-metadata-enrich") {
3909
+ const { runFindingMetadataEnrich } = await import("./commands/finding-metadata-enrich.js");
3910
+ runFindingMetadataEnrich(argv);
3911
+ return;
3912
+ }
3913
+ // ─── Finding Auto Group Command ──────────────────────────────────
3914
+ if (args.command === "finding-auto-group") {
3915
+ const { runFindingAutoGroup } = await import("./commands/finding-auto-group.js");
3916
+ runFindingAutoGroup(argv);
3917
+ return;
3918
+ }
3919
+ // ─── Finding Suppression List Command ─────────────────────────────
3920
+ if (args.command === "finding-suppression-list") {
3921
+ const { runFindingSuppressionList } = await import("./commands/finding-suppression-list.js");
3922
+ runFindingSuppressionList(argv);
3923
+ return;
3924
+ }
3925
+ // ─── Review Plugin Status Command ─────────────────────────────────
3926
+ if (args.command === "review-plugin-status") {
3927
+ const { runReviewPluginStatus } = await import("./commands/review-plugin-status.js");
3928
+ runReviewPluginStatus(argv);
3929
+ return;
3930
+ }
3931
+ // ─── Finding Cross Ref Command ────────────────────────────────────
3932
+ if (args.command === "finding-cross-ref") {
3933
+ const { runFindingCrossRef } = await import("./commands/finding-cross-ref.js");
3934
+ runFindingCrossRef(argv);
3935
+ return;
3936
+ }
3937
+ // ─── Review CI Gate Command ───────────────────────────────────────
3938
+ if (args.command === "review-ci-gate") {
3939
+ const { runReviewCiGate } = await import("./commands/review-ci-gate.js");
3940
+ runReviewCiGate(argv);
3941
+ return;
3942
+ }
3943
+ // ─── Review Team Stats Command ────────────────────────────────────
3944
+ if (args.command === "review-team-stats") {
3945
+ const { runReviewTeamStats } = await import("./commands/review-team-stats.js");
3946
+ runReviewTeamStats(argv);
3947
+ return;
3948
+ }
3949
+ // ─── Finding Pattern Detect Command ───────────────────────────────
3950
+ if (args.command === "finding-pattern-detect") {
3951
+ const { runFindingPatternDetect } = await import("./commands/finding-pattern-detect.js");
3952
+ runFindingPatternDetect(argv);
3953
+ return;
3954
+ }
3955
+ // ─── Review Coverage Gap Command ──────────────────────────────────
3956
+ if (args.command === "review-coverage-gap") {
3957
+ const { runReviewCoverageGap } = await import("./commands/review-coverage-gap.js");
3958
+ runReviewCoverageGap(argv);
3959
+ return;
3960
+ }
3961
+ // ─── Review Feedback Loop Command ─────────────────────────────────
3962
+ if (args.command === "review-feedback-loop") {
3963
+ const { runReviewFeedbackLoop } = await import("./commands/review-feedback-loop.js");
3964
+ runReviewFeedbackLoop(argv);
3965
+ return;
3966
+ }
3841
3967
  // ─── Tune Command ─────────────────────────────────────────────────
3842
3968
  if (args.command === "tune") {
3843
3969
  const { runTune } = await import("./commands/tune.js");