pruneguard 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -134,6 +134,22 @@
134
134
  }
135
135
  ]
136
136
  },
137
+ "semantic": {
138
+ "description": "Semantic precision layer configuration.",
139
+ "default": {
140
+ "mode": "auto",
141
+ "maxColdOverheadPct": 20,
142
+ "maxFilesPerQueryBatch": 128,
143
+ "maxProjectRefs": 8,
144
+ "maxHelperWallMs": 1200,
145
+ "minUncertaintyScore": 60
146
+ },
147
+ "allOf": [
148
+ {
149
+ "$ref": "#/definitions/SemanticConfig"
150
+ }
151
+ ]
152
+ },
137
153
  "workspaces": {
138
154
  "description": "Workspace configuration.",
139
155
  "anyOf": [
@@ -1064,6 +1080,65 @@
1064
1080
  }
1065
1081
  }
1066
1082
  },
1083
+ "SemanticConfig": {
1084
+ "description": "Configuration for the optional semantic precision layer.",
1085
+ "type": "object",
1086
+ "properties": {
1087
+ "maxColdOverheadPct": {
1088
+ "description": "Maximum percentage of cold-scan overhead the helper is allowed to add (0-100).",
1089
+ "default": 20,
1090
+ "type": "integer",
1091
+ "format": "uint8",
1092
+ "minimum": 0.0
1093
+ },
1094
+ "maxFilesPerQueryBatch": {
1095
+ "description": "Maximum files to include in a single query batch to the helper.",
1096
+ "default": 128,
1097
+ "type": "integer",
1098
+ "format": "uint",
1099
+ "minimum": 0.0
1100
+ },
1101
+ "maxHelperWallMs": {
1102
+ "description": "Maximum wall-clock milliseconds the helper is allowed to run.",
1103
+ "default": 1200,
1104
+ "type": "integer",
1105
+ "format": "uint64",
1106
+ "minimum": 0.0
1107
+ },
1108
+ "maxProjectRefs": {
1109
+ "description": "Maximum number of TypeScript project references to traverse.",
1110
+ "default": 8,
1111
+ "type": "integer",
1112
+ "format": "uint",
1113
+ "minimum": 0.0
1114
+ },
1115
+ "minUncertaintyScore": {
1116
+ "description": "Minimum uncertainty score (0-100) a candidate must have before being sent to the semantic helper. Lower values mean more candidates are refined.",
1117
+ "default": 60,
1118
+ "type": "integer",
1119
+ "format": "uint8",
1120
+ "minimum": 0.0
1121
+ },
1122
+ "mode": {
1123
+ "description": "Whether to use the semantic helper: off, auto (default), or required.",
1124
+ "default": "auto",
1125
+ "allOf": [
1126
+ {
1127
+ "$ref": "#/definitions/SemanticMode"
1128
+ }
1129
+ ]
1130
+ }
1131
+ }
1132
+ },
1133
+ "SemanticMode": {
1134
+ "description": "Mode for the optional semantic precision helper.",
1135
+ "type": "string",
1136
+ "enum": [
1137
+ "off",
1138
+ "auto",
1139
+ "required"
1140
+ ]
1141
+ },
1067
1142
  "TeamConfig": {
1068
1143
  "type": "object",
1069
1144
  "properties": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pruneguard",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "Repo truth engine for JS/TS monorepos",
5
5
  "keywords": [
6
6
  "javascript",
@@ -45,14 +45,14 @@
45
45
  }
46
46
  },
47
47
  "optionalDependencies": {
48
- "@pruneguard/cli-darwin-arm64": "0.5.0",
49
- "@pruneguard/cli-darwin-x64": "0.5.0",
50
- "@pruneguard/cli-linux-arm64-gnu": "0.5.0",
51
- "@pruneguard/cli-linux-arm64-musl": "0.5.0",
52
- "@pruneguard/cli-linux-x64-gnu": "0.5.0",
53
- "@pruneguard/cli-linux-x64-musl": "0.5.0",
54
- "@pruneguard/cli-win32-arm64-msvc": "0.5.0",
55
- "@pruneguard/cli-win32-x64-msvc": "0.5.0"
48
+ "@pruneguard/cli-darwin-arm64": "0.5.1",
49
+ "@pruneguard/cli-darwin-x64": "0.5.1",
50
+ "@pruneguard/cli-linux-arm64-gnu": "0.5.1",
51
+ "@pruneguard/cli-linux-arm64-musl": "0.5.1",
52
+ "@pruneguard/cli-linux-x64-gnu": "0.5.1",
53
+ "@pruneguard/cli-linux-x64-musl": "0.5.1",
54
+ "@pruneguard/cli-win32-arm64-msvc": "0.5.1",
55
+ "@pruneguard/cli-win32-x64-msvc": "0.5.1"
56
56
  },
57
57
  "engines": {
58
58
  "node": ">=18.0.0"
@@ -512,6 +512,13 @@
512
512
  }
513
513
  ]
514
514
  },
515
+ "confidenceReason": {
516
+ "description": "Human-readable reason for the confidence level assigned to this finding.",
517
+ "type": [
518
+ "string",
519
+ "null"
520
+ ]
521
+ },
515
522
  "evidence": {
516
523
  "description": "Evidence supporting the finding.",
517
524
  "type": "array",
@@ -544,6 +551,17 @@
544
551
  "null"
545
552
  ]
546
553
  },
554
+ "precisionSource": {
555
+ "description": "Source of precision for this finding's evidence.",
556
+ "anyOf": [
557
+ {
558
+ "$ref": "#/definitions/PrecisionSource"
559
+ },
560
+ {
561
+ "type": "null"
562
+ }
563
+ ]
564
+ },
547
565
  "primaryActionKind": {
548
566
  "description": "Primary remediation action kind for this finding.",
549
567
  "anyOf": [
@@ -751,6 +769,39 @@
751
769
  }
752
770
  }
753
771
  },
772
+ "PrecisionSource": {
773
+ "description": "Source of the precision for a finding's evidence.",
774
+ "oneOf": [
775
+ {
776
+ "description": "Rust static analysis only.",
777
+ "type": "string",
778
+ "enum": [
779
+ "rust-static"
780
+ ]
781
+ },
782
+ {
783
+ "description": "Derived from framework-generated source maps or .d.ts files.",
784
+ "type": "string",
785
+ "enum": [
786
+ "generated-map"
787
+ ]
788
+ },
789
+ {
790
+ "description": "Derived from framework config file extraction.",
791
+ "type": "string",
792
+ "enum": [
793
+ "config-derived"
794
+ ]
795
+ },
796
+ {
797
+ "description": "Refined by the semantic helper binary.",
798
+ "type": "string",
799
+ "enum": [
800
+ "semantic-helper"
801
+ ]
802
+ }
803
+ ]
804
+ },
754
805
  "RemediationActionKind": {
755
806
  "description": "The kind of remediation action to take.",
756
807
  "type": "string",
@@ -767,6 +818,46 @@
767
818
  "acknowledge-baseline"
768
819
  ]
769
820
  },
821
+ "ReplacementFamilyScore": {
822
+ "description": "Per-family replacement score for the weighted replacement metric.",
823
+ "type": "object",
824
+ "required": [
825
+ "family",
826
+ "passedCases",
827
+ "score",
828
+ "tier",
829
+ "totalCases"
830
+ ],
831
+ "properties": {
832
+ "family": {
833
+ "description": "Family name (e.g. \"vite\", \"next\", \"jest\").",
834
+ "type": "string"
835
+ },
836
+ "passedCases": {
837
+ "description": "Passing test cases in this family.",
838
+ "type": "integer",
839
+ "format": "uint",
840
+ "minimum": 0.0
841
+ },
842
+ "score": {
843
+ "description": "Replacement score for this family (0-100).",
844
+ "type": "number",
845
+ "format": "double"
846
+ },
847
+ "tier": {
848
+ "description": "Tier of this family (1 or 2).",
849
+ "type": "integer",
850
+ "format": "uint8",
851
+ "minimum": 0.0
852
+ },
853
+ "totalCases": {
854
+ "description": "Total test cases in this family.",
855
+ "type": "integer",
856
+ "format": "uint",
857
+ "minimum": 0.0
858
+ }
859
+ }
860
+ },
770
861
  "Stats": {
771
862
  "description": "Performance statistics.",
772
863
  "type": "object",
@@ -1018,6 +1109,21 @@
1018
1109
  "null"
1019
1110
  ]
1020
1111
  },
1112
+ "replacementFamilyScores": {
1113
+ "description": "Per-family replacement scores.",
1114
+ "type": "array",
1115
+ "items": {
1116
+ "$ref": "#/definitions/ReplacementFamilyScore"
1117
+ }
1118
+ },
1119
+ "replacementScore": {
1120
+ "description": "Weighted replacement score (0-100) against the external parity corpus.",
1121
+ "type": [
1122
+ "number",
1123
+ "null"
1124
+ ],
1125
+ "format": "double"
1126
+ },
1021
1127
  "resolvedViaExports": {
1022
1128
  "type": "integer",
1023
1129
  "format": "uint",
@@ -1041,6 +1147,61 @@
1041
1147
  "format": "uint",
1042
1148
  "minimum": 0.0
1043
1149
  },
1150
+ "semanticFiles": {
1151
+ "description": "Number of files sent to the semantic helper.",
1152
+ "type": [
1153
+ "integer",
1154
+ "null"
1155
+ ],
1156
+ "format": "uint",
1157
+ "minimum": 0.0
1158
+ },
1159
+ "semanticMode": {
1160
+ "description": "Semantic helper mode used for this analysis.",
1161
+ "type": [
1162
+ "string",
1163
+ "null"
1164
+ ]
1165
+ },
1166
+ "semanticProjects": {
1167
+ "description": "Number of TypeScript projects loaded by the semantic helper.",
1168
+ "type": [
1169
+ "integer",
1170
+ "null"
1171
+ ],
1172
+ "format": "uint",
1173
+ "minimum": 0.0
1174
+ },
1175
+ "semanticQueries": {
1176
+ "description": "Number of queries sent to the semantic helper.",
1177
+ "type": [
1178
+ "integer",
1179
+ "null"
1180
+ ],
1181
+ "format": "uint",
1182
+ "minimum": 0.0
1183
+ },
1184
+ "semanticSkippedReason": {
1185
+ "description": "Reason the semantic helper was skipped, if applicable.",
1186
+ "type": [
1187
+ "string",
1188
+ "null"
1189
+ ]
1190
+ },
1191
+ "semanticUsed": {
1192
+ "description": "Whether the semantic helper was actually invoked.",
1193
+ "default": false,
1194
+ "type": "boolean"
1195
+ },
1196
+ "semanticWallMs": {
1197
+ "description": "Wall-clock milliseconds spent in the semantic helper.",
1198
+ "type": [
1199
+ "integer",
1200
+ "null"
1201
+ ],
1202
+ "format": "uint64",
1203
+ "minimum": 0.0
1204
+ },
1044
1205
  "strictTrustApplied": {
1045
1206
  "description": "Whether strict trust mode was applied.",
1046
1207
  "default": false,