audit-tools 0.41.0 → 0.42.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 (209) hide show
  1. package/dist/audit/cli/args.d.ts +0 -1
  2. package/dist/audit/cli/args.d.ts.map +1 -1
  3. package/dist/audit/cli/args.js +0 -7
  4. package/dist/audit/cli/args.js.map +1 -1
  5. package/dist/audit/cli/auditStep.d.ts +18 -0
  6. package/dist/audit/cli/auditStep.d.ts.map +1 -1
  7. package/dist/audit/cli/auditStep.js +35 -1
  8. package/dist/audit/cli/auditStep.js.map +1 -1
  9. package/dist/audit/cli/cleanup.d.ts +1 -0
  10. package/dist/audit/cli/cleanup.d.ts.map +1 -1
  11. package/dist/audit/cli/cleanup.js +22 -7
  12. package/dist/audit/cli/cleanup.js.map +1 -1
  13. package/dist/audit/cli/confirmIntentStep.d.ts.map +1 -1
  14. package/dist/audit/cli/confirmIntentStep.js +11 -0
  15. package/dist/audit/cli/confirmIntentStep.js.map +1 -1
  16. package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
  17. package/dist/audit/cli/dispatch/hostHandoff.js +110 -29
  18. package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
  19. package/dist/audit/cli/envelope.d.ts +0 -24
  20. package/dist/audit/cli/envelope.d.ts.map +1 -1
  21. package/dist/audit/cli/envelope.js +0 -18
  22. package/dist/audit/cli/envelope.js.map +1 -1
  23. package/dist/audit/cli/fanoutLanes.d.ts +24 -0
  24. package/dist/audit/cli/fanoutLanes.d.ts.map +1 -1
  25. package/dist/audit/cli/fanoutLanes.js +46 -2
  26. package/dist/audit/cli/fanoutLanes.js.map +1 -1
  27. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  28. package/dist/audit/cli/nextStepCommand.js +19 -24
  29. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  30. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  31. package/dist/audit/cli/nextStepHelpers.js +20 -6
  32. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  33. package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
  34. package/dist/audit/cli/semanticReviewStep.js +5 -1
  35. package/dist/audit/cli/semanticReviewStep.js.map +1 -1
  36. package/dist/audit/cli/workerResult.d.ts +0 -13
  37. package/dist/audit/cli/workerResult.d.ts.map +1 -1
  38. package/dist/audit/cli/workerResult.js +0 -15
  39. package/dist/audit/cli/workerResult.js.map +1 -1
  40. package/dist/audit/contracts/workerSchemas.d.ts +13 -83
  41. package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
  42. package/dist/audit/contracts/workerSchemas.js +10 -4
  43. package/dist/audit/contracts/workerSchemas.js.map +1 -1
  44. package/dist/audit/orchestrator/advance.d.ts +30 -0
  45. package/dist/audit/orchestrator/advance.d.ts.map +1 -1
  46. package/dist/audit/orchestrator/advance.js +45 -2
  47. package/dist/audit/orchestrator/advance.js.map +1 -1
  48. package/dist/audit/orchestrator/designReviewPrompt.d.ts.map +1 -1
  49. package/dist/audit/orchestrator/designReviewPrompt.js +6 -4
  50. package/dist/audit/orchestrator/designReviewPrompt.js.map +1 -1
  51. package/dist/audit/orchestrator/ingestionExecutors.d.ts.map +1 -1
  52. package/dist/audit/orchestrator/ingestionExecutors.js +13 -16
  53. package/dist/audit/orchestrator/ingestionExecutors.js.map +1 -1
  54. package/dist/audit/orchestrator/intentCheckpointExecutor.d.ts +8 -0
  55. package/dist/audit/orchestrator/intentCheckpointExecutor.d.ts.map +1 -1
  56. package/dist/audit/orchestrator/intentCheckpointExecutor.js +2 -0
  57. package/dist/audit/orchestrator/intentCheckpointExecutor.js.map +1 -1
  58. package/dist/audit/orchestrator/lensSelection.d.ts +19 -0
  59. package/dist/audit/orchestrator/lensSelection.d.ts.map +1 -1
  60. package/dist/audit/orchestrator/lensSelection.js +24 -0
  61. package/dist/audit/orchestrator/lensSelection.js.map +1 -1
  62. package/dist/audit/orchestrator/planningExecutors.d.ts +1 -12
  63. package/dist/audit/orchestrator/planningExecutors.d.ts.map +1 -1
  64. package/dist/audit/orchestrator/planningExecutors.js +14 -64
  65. package/dist/audit/orchestrator/planningExecutors.js.map +1 -1
  66. package/dist/audit/orchestrator/requeueFold.d.ts +43 -0
  67. package/dist/audit/orchestrator/requeueFold.d.ts.map +1 -0
  68. package/dist/audit/orchestrator/requeueFold.js +50 -0
  69. package/dist/audit/orchestrator/requeueFold.js.map +1 -0
  70. package/dist/audit/orchestrator/reviewPacketSizing.d.ts +0 -1
  71. package/dist/audit/orchestrator/reviewPacketSizing.d.ts.map +1 -1
  72. package/dist/audit/orchestrator/reviewPacketSizing.js +0 -5
  73. package/dist/audit/orchestrator/reviewPacketSizing.js.map +1 -1
  74. package/dist/audit/orchestrator/reviewPackets.d.ts +8 -2
  75. package/dist/audit/orchestrator/reviewPackets.d.ts.map +1 -1
  76. package/dist/audit/orchestrator/reviewPackets.js +7 -8
  77. package/dist/audit/orchestrator/reviewPackets.js.map +1 -1
  78. package/dist/audit/orchestrator/taskAffinityGraph.d.ts +0 -6
  79. package/dist/audit/orchestrator/taskAffinityGraph.d.ts.map +1 -1
  80. package/dist/audit/orchestrator/taskAffinityGraph.js +0 -16
  81. package/dist/audit/orchestrator/taskAffinityGraph.js.map +1 -1
  82. package/dist/audit/orchestrator/taskBuilder.d.ts.map +1 -1
  83. package/dist/audit/orchestrator/taskBuilder.js +1 -2
  84. package/dist/audit/orchestrator/taskBuilder.js.map +1 -1
  85. package/dist/audit/reporting/workBlocks.d.ts +0 -1
  86. package/dist/audit/reporting/workBlocks.d.ts.map +1 -1
  87. package/dist/audit/reporting/workBlocks.js +0 -3
  88. package/dist/audit/reporting/workBlocks.js.map +1 -1
  89. package/dist/audit/systemic/systemicChallengeLoop.d.ts +0 -8
  90. package/dist/audit/systemic/systemicChallengeLoop.d.ts.map +1 -1
  91. package/dist/audit/systemic/systemicChallengeLoop.js +0 -9
  92. package/dist/audit/systemic/systemicChallengeLoop.js.map +1 -1
  93. package/dist/audit/types.d.ts +4 -4
  94. package/dist/remediate/contractPipeline/artifactStore.d.ts +19 -23
  95. package/dist/remediate/contractPipeline/artifactStore.d.ts.map +1 -1
  96. package/dist/remediate/contractPipeline/artifactStore.js +22 -29
  97. package/dist/remediate/contractPipeline/artifactStore.js.map +1 -1
  98. package/dist/remediate/contractPipeline/changeClassification.d.ts +0 -12
  99. package/dist/remediate/contractPipeline/changeClassification.d.ts.map +1 -1
  100. package/dist/remediate/contractPipeline/changeClassification.js +0 -101
  101. package/dist/remediate/contractPipeline/changeClassification.js.map +1 -1
  102. package/dist/remediate/contractPipeline/derive.d.ts +0 -42
  103. package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
  104. package/dist/remediate/contractPipeline/derive.js +0 -108
  105. package/dist/remediate/contractPipeline/derive.js.map +1 -1
  106. package/dist/remediate/index.d.ts +0 -1
  107. package/dist/remediate/index.d.ts.map +1 -1
  108. package/dist/remediate/index.js +5 -132
  109. package/dist/remediate/index.js.map +1 -1
  110. package/dist/remediate/intake.d.ts +0 -55
  111. package/dist/remediate/intake.d.ts.map +1 -1
  112. package/dist/remediate/intake.js +1 -81
  113. package/dist/remediate/intake.js.map +1 -1
  114. package/dist/remediate/phases/plan.d.ts +0 -1
  115. package/dist/remediate/phases/plan.d.ts.map +1 -1
  116. package/dist/remediate/phases/plan.js +1 -207
  117. package/dist/remediate/phases/plan.js.map +1 -1
  118. package/dist/remediate/state/types.d.ts +4 -4
  119. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  120. package/dist/remediate/steps/contractPipeline.js +6 -6
  121. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  122. package/dist/remediate/steps/contractPipelinePrompts.d.ts +9 -9
  123. package/dist/remediate/steps/contractPipelinePrompts.d.ts.map +1 -1
  124. package/dist/remediate/steps/contractPipelinePrompts.js +25 -17
  125. package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
  126. package/dist/remediate/steps/dispatch/hostHandoff.d.ts +0 -1
  127. package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
  128. package/dist/remediate/steps/dispatch/hostHandoff.js +3 -2
  129. package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
  130. package/dist/remediate/steps/dispatch.d.ts +0 -8
  131. package/dist/remediate/steps/dispatch.d.ts.map +1 -1
  132. package/dist/remediate/steps/dispatch.js +3 -9
  133. package/dist/remediate/steps/dispatch.js.map +1 -1
  134. package/dist/remediate/steps/nextStep.d.ts +0 -1
  135. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  136. package/dist/remediate/steps/nextStep.js +0 -1
  137. package/dist/remediate/steps/nextStep.js.map +1 -1
  138. package/dist/remediate/utils/fileIntegrity.d.ts +0 -8
  139. package/dist/remediate/utils/fileIntegrity.d.ts.map +1 -1
  140. package/dist/remediate/utils/fileIntegrity.js +5 -65
  141. package/dist/remediate/utils/fileIntegrity.js.map +1 -1
  142. package/dist/remediate/validation/contractPipelineGates.js +3 -3
  143. package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
  144. package/dist/shared/analyzers/candidates.d.ts +6 -6
  145. package/dist/shared/analyzers/candidates.d.ts.map +1 -1
  146. package/dist/shared/analyzers/candidates.js +6 -6
  147. package/dist/shared/analyzers/candidates.js.map +1 -1
  148. package/dist/shared/chunkByBudget.d.ts +8 -8
  149. package/dist/shared/decompose/contentCoherence.d.ts +0 -271
  150. package/dist/shared/decompose/contentCoherence.d.ts.map +1 -1
  151. package/dist/shared/decompose/contentCoherence.js +12 -59
  152. package/dist/shared/decompose/contentCoherence.js.map +1 -1
  153. package/dist/shared/decompose/systemicChallenge.d.ts +4 -4
  154. package/dist/shared/index.d.ts +5 -5
  155. package/dist/shared/index.d.ts.map +1 -1
  156. package/dist/shared/index.js +4 -4
  157. package/dist/shared/index.js.map +1 -1
  158. package/dist/shared/io/auditToolsPaths.d.ts +0 -20
  159. package/dist/shared/io/auditToolsPaths.d.ts.map +1 -1
  160. package/dist/shared/io/auditToolsPaths.js +0 -24
  161. package/dist/shared/io/auditToolsPaths.js.map +1 -1
  162. package/dist/shared/loopCorePaths.d.ts.map +1 -1
  163. package/dist/shared/loopCorePaths.js +15 -9
  164. package/dist/shared/loopCorePaths.js.map +1 -1
  165. package/dist/shared/types/finding.d.ts +30 -264
  166. package/dist/shared/types/finding.d.ts.map +1 -1
  167. package/dist/shared/types/finding.js +60 -0
  168. package/dist/shared/types/finding.js.map +1 -1
  169. package/dist/shared/validation/findingGrounding.d.ts +11 -0
  170. package/dist/shared/validation/findingGrounding.d.ts.map +1 -1
  171. package/dist/shared/validation/findingGrounding.js +21 -0
  172. package/dist/shared/validation/findingGrounding.js.map +1 -1
  173. package/dist/shared/validation/findingsReport.d.ts.map +1 -1
  174. package/dist/shared/validation/findingsReport.js +0 -6
  175. package/dist/shared/validation/findingsReport.js.map +1 -1
  176. package/docs/audit-pkg/contracts.md +2 -2
  177. package/docs/audit-pkg/development.md +1 -1
  178. package/docs/audit-pkg/release.md +20 -114
  179. package/package.json +6 -2
  180. package/schemas/audit_result.schema.json +0 -20
  181. package/schemas/audit_results.schema.json +0 -20
  182. package/schemas/finding.schema.json +0 -20
  183. package/skills/audit-code/SKILL.md +3 -7
  184. package/skills/audit-code/audit-code.prompt.md +5 -9
  185. package/skills/remediate-code/SKILL.md +0 -1
  186. package/dist/remediate/steps/dispatch/common.d.ts +0 -126
  187. package/dist/remediate/steps/dispatch/common.d.ts.map +0 -1
  188. package/dist/remediate/steps/dispatch/common.js +0 -204
  189. package/dist/remediate/steps/dispatch/common.js.map +0 -1
  190. package/dist/remediate/steps/dispatch/dagNodeFields.d.ts +0 -25
  191. package/dist/remediate/steps/dispatch/dagNodeFields.d.ts.map +0 -1
  192. package/dist/remediate/steps/dispatch/dagNodeFields.js +0 -5
  193. package/dist/remediate/steps/dispatch/dagNodeFields.js.map +0 -1
  194. package/dist/remediate/steps/dispatch/implementPrompt.d.ts +0 -47
  195. package/dist/remediate/steps/dispatch/implementPrompt.d.ts.map +0 -1
  196. package/dist/remediate/steps/dispatch/implementPrompt.js +0 -165
  197. package/dist/remediate/steps/dispatch/implementPrompt.js.map +0 -1
  198. package/dist/remediate/steps/dispatch/verifyCommands.d.ts +0 -144
  199. package/dist/remediate/steps/dispatch/verifyCommands.d.ts.map +0 -1
  200. package/dist/remediate/steps/dispatch/verifyCommands.js +0 -331
  201. package/dist/remediate/steps/dispatch/verifyCommands.js.map +0 -1
  202. package/dist/remediate/steps/dispatch/writeScope.d.ts +0 -43
  203. package/dist/remediate/steps/dispatch/writeScope.d.ts.map +0 -1
  204. package/dist/remediate/steps/dispatch/writeScope.js +0 -81
  205. package/dist/remediate/steps/dispatch/writeScope.js.map +0 -1
  206. package/dist/remediate/utils/hostAssets.d.ts +0 -21
  207. package/dist/remediate/utils/hostAssets.d.ts.map +0 -1
  208. package/dist/remediate/utils/hostAssets.js +0 -34
  209. package/dist/remediate/utils/hostAssets.js.map +0 -1
@@ -373,9 +373,9 @@ export declare const FindingSchema: z.ZodObject<{
373
373
  quoted_text?: string | undefined;
374
374
  hash_at_plan_time?: string | undefined;
375
375
  }[];
376
- evidence?: string[] | undefined;
377
376
  impact?: string | undefined;
378
377
  likelihood?: string | undefined;
378
+ evidence?: string[] | undefined;
379
379
  reproduction?: string[] | undefined;
380
380
  systemic?: boolean | undefined;
381
381
  related_findings?: string[] | undefined;
@@ -427,9 +427,9 @@ export declare const FindingSchema: z.ZodObject<{
427
427
  quoted_text?: string | undefined;
428
428
  hash_at_plan_time?: string | undefined;
429
429
  }[];
430
- evidence?: string[] | undefined;
431
430
  impact?: string | undefined;
432
431
  likelihood?: string | undefined;
432
+ evidence?: string[] | undefined;
433
433
  reproduction?: string[] | undefined;
434
434
  systemic?: boolean | undefined;
435
435
  related_findings?: string[] | undefined;
@@ -467,6 +467,22 @@ export declare const FindingSchema: z.ZodObject<{
467
467
  } | undefined;
468
468
  }>;
469
469
  export type Finding = z.infer<typeof FindingSchema>;
470
+ /**
471
+ * The finding contract as prompt lines, DERIVED from `FindingSchema` — the same
472
+ * schema result ingestion enforces, so the statement can never drift from the
473
+ * check.
474
+ *
475
+ * A dispatch prompt that says only "findings must satisfy the audit finding
476
+ * contract" leaves the host to remember or fetch the contract, and a measured
477
+ * lap lost four complete results to exactly that: findings missing the required
478
+ * per-finding `lens`, and `evidence`/`reproduction` submitted as a string where
479
+ * an array is required. Both classes are stated here.
480
+ *
481
+ * Memoized: the derivation is pure and the result is embedded in every work-item
482
+ * prompt (and therefore in every prompt hash), so it must be both cheap and
483
+ * byte-stable across a run.
484
+ */
485
+ export declare function findingContractPromptLines(): readonly string[];
470
486
  /** Report-level grouping of findings into parallelizable units of work. */
471
487
  export declare const WorkBlockSchema: z.ZodObject<{
472
488
  id: z.ZodString;
@@ -904,9 +920,9 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
904
920
  quoted_text?: string | undefined;
905
921
  hash_at_plan_time?: string | undefined;
906
922
  }[];
907
- evidence?: string[] | undefined;
908
923
  impact?: string | undefined;
909
924
  likelihood?: string | undefined;
925
+ evidence?: string[] | undefined;
910
926
  reproduction?: string[] | undefined;
911
927
  systemic?: boolean | undefined;
912
928
  related_findings?: string[] | undefined;
@@ -958,9 +974,9 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
958
974
  quoted_text?: string | undefined;
959
975
  hash_at_plan_time?: string | undefined;
960
976
  }[];
961
- evidence?: string[] | undefined;
962
977
  impact?: string | undefined;
963
978
  likelihood?: string | undefined;
979
+ evidence?: string[] | undefined;
964
980
  reproduction?: string[] | undefined;
965
981
  systemic?: boolean | undefined;
966
982
  related_findings?: string[] | undefined;
@@ -1017,94 +1033,6 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
1017
1033
  tags: string[];
1018
1034
  critical_flow_ids?: string[] | undefined;
1019
1035
  }>, "many">;
1020
- pair_scores: z.ZodArray<z.ZodObject<{
1021
- left: z.ZodString;
1022
- right: z.ZodString;
1023
- evidence: z.ZodObject<{
1024
- call_import_reference_adjacency: z.ZodBoolean;
1025
- same_directory: z.ZodBoolean;
1026
- shared_critical_flow: z.ZodBoolean;
1027
- shared_file: z.ZodBoolean;
1028
- shared_semantic_tag_or_same_lens: z.ZodBoolean;
1029
- shared_unit: z.ZodBoolean;
1030
- }, "strict", z.ZodTypeAny, {
1031
- call_import_reference_adjacency: boolean;
1032
- same_directory: boolean;
1033
- shared_critical_flow: boolean;
1034
- shared_file: boolean;
1035
- shared_semantic_tag_or_same_lens: boolean;
1036
- shared_unit: boolean;
1037
- }, {
1038
- call_import_reference_adjacency: boolean;
1039
- same_directory: boolean;
1040
- shared_critical_flow: boolean;
1041
- shared_file: boolean;
1042
- shared_semantic_tag_or_same_lens: boolean;
1043
- shared_unit: boolean;
1044
- }>;
1045
- score: z.ZodNumber;
1046
- eligible: z.ZodBoolean;
1047
- }, "strict", z.ZodTypeAny, {
1048
- left: string;
1049
- right: string;
1050
- evidence: {
1051
- call_import_reference_adjacency: boolean;
1052
- same_directory: boolean;
1053
- shared_critical_flow: boolean;
1054
- shared_file: boolean;
1055
- shared_semantic_tag_or_same_lens: boolean;
1056
- shared_unit: boolean;
1057
- };
1058
- score: number;
1059
- eligible: boolean;
1060
- }, {
1061
- left: string;
1062
- right: string;
1063
- evidence: {
1064
- call_import_reference_adjacency: boolean;
1065
- same_directory: boolean;
1066
- shared_critical_flow: boolean;
1067
- shared_file: boolean;
1068
- shared_semantic_tag_or_same_lens: boolean;
1069
- shared_unit: boolean;
1070
- };
1071
- score: number;
1072
- eligible: boolean;
1073
- }>, "many">;
1074
- eligible_candidates: z.ZodArray<z.ZodObject<{
1075
- left: z.ZodString;
1076
- right: z.ZodString;
1077
- score: z.ZodNumber;
1078
- }, "strict", z.ZodTypeAny, {
1079
- left: string;
1080
- right: string;
1081
- score: number;
1082
- }, {
1083
- left: string;
1084
- right: string;
1085
- score: number;
1086
- }>, "many">;
1087
- merge_trace: z.ZodArray<z.ZodObject<{
1088
- left: z.ZodString;
1089
- right: z.ZodString;
1090
- score: z.ZodNumber;
1091
- } & {
1092
- decision: z.ZodEnum<["merge", "already_connected"]>;
1093
- root: z.ZodString;
1094
- }, "strict", z.ZodTypeAny, {
1095
- decision: "merge" | "already_connected";
1096
- left: string;
1097
- right: string;
1098
- score: number;
1099
- root: string;
1100
- }, {
1101
- decision: "merge" | "already_connected";
1102
- left: string;
1103
- right: string;
1104
- score: number;
1105
- root: string;
1106
- }>, "many">;
1107
- merge_decisions: z.ZodArray<z.ZodEnum<["merge", "already_connected"]>, "many">;
1108
1036
  components: z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">;
1109
1037
  }, "strict", z.ZodTypeAny, {
1110
1038
  normalized_items: {
@@ -1114,33 +1042,6 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
1114
1042
  tags: string[];
1115
1043
  critical_flow_ids?: string[] | undefined;
1116
1044
  }[];
1117
- pair_scores: {
1118
- left: string;
1119
- right: string;
1120
- evidence: {
1121
- call_import_reference_adjacency: boolean;
1122
- same_directory: boolean;
1123
- shared_critical_flow: boolean;
1124
- shared_file: boolean;
1125
- shared_semantic_tag_or_same_lens: boolean;
1126
- shared_unit: boolean;
1127
- };
1128
- score: number;
1129
- eligible: boolean;
1130
- }[];
1131
- eligible_candidates: {
1132
- left: string;
1133
- right: string;
1134
- score: number;
1135
- }[];
1136
- merge_trace: {
1137
- decision: "merge" | "already_connected";
1138
- left: string;
1139
- right: string;
1140
- score: number;
1141
- root: string;
1142
- }[];
1143
- merge_decisions: ("merge" | "already_connected")[];
1144
1045
  components: string[][];
1145
1046
  }, {
1146
1047
  normalized_items: {
@@ -1150,33 +1051,6 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
1150
1051
  tags: string[];
1151
1052
  critical_flow_ids?: string[] | undefined;
1152
1053
  }[];
1153
- pair_scores: {
1154
- left: string;
1155
- right: string;
1156
- evidence: {
1157
- call_import_reference_adjacency: boolean;
1158
- same_directory: boolean;
1159
- shared_critical_flow: boolean;
1160
- shared_file: boolean;
1161
- shared_semantic_tag_or_same_lens: boolean;
1162
- shared_unit: boolean;
1163
- };
1164
- score: number;
1165
- eligible: boolean;
1166
- }[];
1167
- eligible_candidates: {
1168
- left: string;
1169
- right: string;
1170
- score: number;
1171
- }[];
1172
- merge_trace: {
1173
- decision: "merge" | "already_connected";
1174
- left: string;
1175
- right: string;
1176
- score: number;
1177
- root: string;
1178
- }[];
1179
- merge_decisions: ("merge" | "already_connected")[];
1180
1054
  components: string[][];
1181
1055
  }>;
1182
1056
  work_blocks: z.ZodArray<z.ZodObject<{
@@ -1439,9 +1313,9 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
1439
1313
  quoted_text?: string | undefined;
1440
1314
  hash_at_plan_time?: string | undefined;
1441
1315
  }[];
1442
- evidence?: string[] | undefined;
1443
1316
  impact?: string | undefined;
1444
1317
  likelihood?: string | undefined;
1318
+ evidence?: string[] | undefined;
1445
1319
  reproduction?: string[] | undefined;
1446
1320
  systemic?: boolean | undefined;
1447
1321
  related_findings?: string[] | undefined;
@@ -1493,9 +1367,9 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
1493
1367
  quoted_text?: string | undefined;
1494
1368
  hash_at_plan_time?: string | undefined;
1495
1369
  }[];
1496
- evidence?: string[] | undefined;
1497
1370
  impact?: string | undefined;
1498
1371
  likelihood?: string | undefined;
1372
+ evidence?: string[] | undefined;
1499
1373
  reproduction?: string[] | undefined;
1500
1374
  systemic?: boolean | undefined;
1501
1375
  related_findings?: string[] | undefined;
@@ -1592,9 +1466,9 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
1592
1466
  quoted_text?: string | undefined;
1593
1467
  hash_at_plan_time?: string | undefined;
1594
1468
  }[];
1595
- evidence?: string[] | undefined;
1596
1469
  impact?: string | undefined;
1597
1470
  likelihood?: string | undefined;
1471
+ evidence?: string[] | undefined;
1598
1472
  reproduction?: string[] | undefined;
1599
1473
  systemic?: boolean | undefined;
1600
1474
  related_findings?: string[] | undefined;
@@ -1639,33 +1513,6 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
1639
1513
  tags: string[];
1640
1514
  critical_flow_ids?: string[] | undefined;
1641
1515
  }[];
1642
- pair_scores: {
1643
- left: string;
1644
- right: string;
1645
- evidence: {
1646
- call_import_reference_adjacency: boolean;
1647
- same_directory: boolean;
1648
- shared_critical_flow: boolean;
1649
- shared_file: boolean;
1650
- shared_semantic_tag_or_same_lens: boolean;
1651
- shared_unit: boolean;
1652
- };
1653
- score: number;
1654
- eligible: boolean;
1655
- }[];
1656
- eligible_candidates: {
1657
- left: string;
1658
- right: string;
1659
- score: number;
1660
- }[];
1661
- merge_trace: {
1662
- decision: "merge" | "already_connected";
1663
- left: string;
1664
- right: string;
1665
- score: number;
1666
- root: string;
1667
- }[];
1668
- merge_decisions: ("merge" | "already_connected")[];
1669
1516
  components: string[][];
1670
1517
  };
1671
1518
  work_blocks: {
@@ -1713,9 +1560,9 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
1713
1560
  quoted_text?: string | undefined;
1714
1561
  hash_at_plan_time?: string | undefined;
1715
1562
  }[];
1716
- evidence?: string[] | undefined;
1717
1563
  impact?: string | undefined;
1718
1564
  likelihood?: string | undefined;
1565
+ evidence?: string[] | undefined;
1719
1566
  reproduction?: string[] | undefined;
1720
1567
  systemic?: boolean | undefined;
1721
1568
  related_findings?: string[] | undefined;
@@ -1784,9 +1631,9 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
1784
1631
  quoted_text?: string | undefined;
1785
1632
  hash_at_plan_time?: string | undefined;
1786
1633
  }[];
1787
- evidence?: string[] | undefined;
1788
1634
  impact?: string | undefined;
1789
1635
  likelihood?: string | undefined;
1636
+ evidence?: string[] | undefined;
1790
1637
  reproduction?: string[] | undefined;
1791
1638
  systemic?: boolean | undefined;
1792
1639
  related_findings?: string[] | undefined;
@@ -1831,33 +1678,6 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
1831
1678
  tags: string[];
1832
1679
  critical_flow_ids?: string[] | undefined;
1833
1680
  }[];
1834
- pair_scores: {
1835
- left: string;
1836
- right: string;
1837
- evidence: {
1838
- call_import_reference_adjacency: boolean;
1839
- same_directory: boolean;
1840
- shared_critical_flow: boolean;
1841
- shared_file: boolean;
1842
- shared_semantic_tag_or_same_lens: boolean;
1843
- shared_unit: boolean;
1844
- };
1845
- score: number;
1846
- eligible: boolean;
1847
- }[];
1848
- eligible_candidates: {
1849
- left: string;
1850
- right: string;
1851
- score: number;
1852
- }[];
1853
- merge_trace: {
1854
- decision: "merge" | "already_connected";
1855
- left: string;
1856
- right: string;
1857
- score: number;
1858
- root: string;
1859
- }[];
1860
- merge_decisions: ("merge" | "already_connected")[];
1861
1681
  components: string[][];
1862
1682
  };
1863
1683
  work_blocks: {
@@ -1905,9 +1725,9 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
1905
1725
  quoted_text?: string | undefined;
1906
1726
  hash_at_plan_time?: string | undefined;
1907
1727
  }[];
1908
- evidence?: string[] | undefined;
1909
1728
  impact?: string | undefined;
1910
1729
  likelihood?: string | undefined;
1730
+ evidence?: string[] | undefined;
1911
1731
  reproduction?: string[] | undefined;
1912
1732
  systemic?: boolean | undefined;
1913
1733
  related_findings?: string[] | undefined;
@@ -1976,9 +1796,9 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
1976
1796
  quoted_text?: string | undefined;
1977
1797
  hash_at_plan_time?: string | undefined;
1978
1798
  }[];
1979
- evidence?: string[] | undefined;
1980
1799
  impact?: string | undefined;
1981
1800
  likelihood?: string | undefined;
1801
+ evidence?: string[] | undefined;
1982
1802
  reproduction?: string[] | undefined;
1983
1803
  systemic?: boolean | undefined;
1984
1804
  related_findings?: string[] | undefined;
@@ -2023,33 +1843,6 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
2023
1843
  tags: string[];
2024
1844
  critical_flow_ids?: string[] | undefined;
2025
1845
  }[];
2026
- pair_scores: {
2027
- left: string;
2028
- right: string;
2029
- evidence: {
2030
- call_import_reference_adjacency: boolean;
2031
- same_directory: boolean;
2032
- shared_critical_flow: boolean;
2033
- shared_file: boolean;
2034
- shared_semantic_tag_or_same_lens: boolean;
2035
- shared_unit: boolean;
2036
- };
2037
- score: number;
2038
- eligible: boolean;
2039
- }[];
2040
- eligible_candidates: {
2041
- left: string;
2042
- right: string;
2043
- score: number;
2044
- }[];
2045
- merge_trace: {
2046
- decision: "merge" | "already_connected";
2047
- left: string;
2048
- right: string;
2049
- score: number;
2050
- root: string;
2051
- }[];
2052
- merge_decisions: ("merge" | "already_connected")[];
2053
1846
  components: string[][];
2054
1847
  };
2055
1848
  work_blocks: {
@@ -2097,9 +1890,9 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
2097
1890
  quoted_text?: string | undefined;
2098
1891
  hash_at_plan_time?: string | undefined;
2099
1892
  }[];
2100
- evidence?: string[] | undefined;
2101
1893
  impact?: string | undefined;
2102
1894
  likelihood?: string | undefined;
1895
+ evidence?: string[] | undefined;
2103
1896
  reproduction?: string[] | undefined;
2104
1897
  systemic?: boolean | undefined;
2105
1898
  related_findings?: string[] | undefined;
@@ -2168,9 +1961,9 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
2168
1961
  quoted_text?: string | undefined;
2169
1962
  hash_at_plan_time?: string | undefined;
2170
1963
  }[];
2171
- evidence?: string[] | undefined;
2172
1964
  impact?: string | undefined;
2173
1965
  likelihood?: string | undefined;
1966
+ evidence?: string[] | undefined;
2174
1967
  reproduction?: string[] | undefined;
2175
1968
  systemic?: boolean | undefined;
2176
1969
  related_findings?: string[] | undefined;
@@ -2215,33 +2008,6 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
2215
2008
  tags: string[];
2216
2009
  critical_flow_ids?: string[] | undefined;
2217
2010
  }[];
2218
- pair_scores: {
2219
- left: string;
2220
- right: string;
2221
- evidence: {
2222
- call_import_reference_adjacency: boolean;
2223
- same_directory: boolean;
2224
- shared_critical_flow: boolean;
2225
- shared_file: boolean;
2226
- shared_semantic_tag_or_same_lens: boolean;
2227
- shared_unit: boolean;
2228
- };
2229
- score: number;
2230
- eligible: boolean;
2231
- }[];
2232
- eligible_candidates: {
2233
- left: string;
2234
- right: string;
2235
- score: number;
2236
- }[];
2237
- merge_trace: {
2238
- decision: "merge" | "already_connected";
2239
- left: string;
2240
- right: string;
2241
- score: number;
2242
- root: string;
2243
- }[];
2244
- merge_decisions: ("merge" | "already_connected")[];
2245
2011
  components: string[][];
2246
2012
  };
2247
2013
  work_blocks: {
@@ -2289,9 +2055,9 @@ export declare const AuditFindingsReportSchema: z.ZodEffects<z.ZodObject<{
2289
2055
  quoted_text?: string | undefined;
2290
2056
  hash_at_plan_time?: string | undefined;
2291
2057
  }[];
2292
- evidence?: string[] | undefined;
2293
2058
  impact?: string | undefined;
2294
2059
  likelihood?: string | undefined;
2060
+ evidence?: string[] | undefined;
2295
2061
  reproduction?: string[] | undefined;
2296
2062
  systemic?: boolean | undefined;
2297
2063
  related_findings?: string[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"finding.d.ts","sourceRoot":"","sources":["../../../src/shared/types/finding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finding.d.ts","sourceRoot":"","sources":["../../../src/shared/types/finding.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@
10
10
  // strict projection below (see `workerFindingSchema`). There is no longer a
11
11
  // hand-written JSON schema to drift from these types.
12
12
  import { z } from "zod";
13
+ import { zodToJsonSchema } from "zod-to-json-schema";
13
14
  import { AnalyzerLeadProvenanceSchema } from "../analyzers/provenance.js";
14
15
  import { ContentCoherenceTraceSchema } from "../decompose/contentCoherence.js";
15
16
  /** Canonical finding severity vocabulary (most-severe-first). */
@@ -151,6 +152,65 @@ export const FindingSchema = z.object({
151
152
  */
152
153
  analyzer_provenance: AnalyzerLeadProvenanceSchema.optional().describe("Content-anchored identity of the analyzer lead this finding was born from. Copy it VERBATIM from the injected lead's provenance object; omit for findings not born from an analyzer lead."),
153
154
  });
155
+ function describeFindingField(node) {
156
+ if (node === undefined)
157
+ return "value";
158
+ if (Array.isArray(node.enum)) {
159
+ return `one of ${node.enum.map((value) => String(value)).join("|")}`;
160
+ }
161
+ if (node.type === "array") {
162
+ const item = node.items;
163
+ if (item?.type === "object") {
164
+ const required = [...(item.required ?? [])].sort();
165
+ return required.length > 0
166
+ ? `array of objects, each requiring ${required.join(" + ")}`
167
+ : "array of objects";
168
+ }
169
+ return typeof item?.type === "string" ? `array of ${item.type}s` : "array";
170
+ }
171
+ return typeof node.type === "string" ? node.type : "value";
172
+ }
173
+ let renderedFindingContract;
174
+ /**
175
+ * The finding contract as prompt lines, DERIVED from `FindingSchema` — the same
176
+ * schema result ingestion enforces, so the statement can never drift from the
177
+ * check.
178
+ *
179
+ * A dispatch prompt that says only "findings must satisfy the audit finding
180
+ * contract" leaves the host to remember or fetch the contract, and a measured
181
+ * lap lost four complete results to exactly that: findings missing the required
182
+ * per-finding `lens`, and `evidence`/`reproduction` submitted as a string where
183
+ * an array is required. Both classes are stated here.
184
+ *
185
+ * Memoized: the derivation is pure and the result is embedded in every work-item
186
+ * prompt (and therefore in every prompt hash), so it must be both cheap and
187
+ * byte-stable across a run.
188
+ */
189
+ export function findingContractPromptLines() {
190
+ if (renderedFindingContract !== undefined)
191
+ return renderedFindingContract;
192
+ const schema = zodToJsonSchema(FindingSchema, {
193
+ $refStrategy: "none",
194
+ target: "jsonSchema7",
195
+ });
196
+ const properties = schema.properties ?? {};
197
+ const required = [...(schema.required ?? [])].sort();
198
+ const arrayFields = Object.entries(properties)
199
+ .filter(([, node]) => node.type === "array")
200
+ .map(([name]) => name)
201
+ .sort();
202
+ renderedFindingContract = [
203
+ "Finding contract — every entry of `findings` must carry these required fields: " +
204
+ required
205
+ .map((name) => `${name} (${describeFindingField(properties[name])})`)
206
+ .join(", ") +
207
+ ".",
208
+ "These fields are JSON arrays whenever present, never a bare string or object: " +
209
+ arrayFields.join(", ") +
210
+ ". A finding that fails this contract rejects the whole submission.",
211
+ ];
212
+ return renderedFindingContract;
213
+ }
154
214
  /** Report-level grouping of findings into parallelizable units of work. */
155
215
  export const WorkBlockSchema = z.object({
156
216
  id: z.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"finding.js","sourceRoot":"","sources":["../../../src/shared/types/finding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finding.js","sourceRoot":"","sources":["../../../src/shared/types/finding.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,17 @@ export declare function enumerateTrackedFilePaths(root: string): Set<string>;
70
70
  export declare function quoteMatches(fileContent: string, quotedText: string): boolean;
71
71
  /** Reads a source file's text; injectable so the verifier is testable without fs. */
72
72
  export type SourceReader = (absolutePath: string) => Promise<string>;
73
+ /**
74
+ * A {@link SourceReader} memoized by absolute path, for ONE grounding pass: a
75
+ * batch whose findings all cite the same file reads that file once rather than
76
+ * once per finding. The promise is cached — including a rejecting one — so an
77
+ * unreadable path is not retried per citation either.
78
+ *
79
+ * Scope it to a single pass and discard it: a reader that outlived the pass
80
+ * would serve stale bytes after a later edit, which is exactly what quote-and-
81
+ * verify exists to catch.
82
+ */
83
+ export declare function createMemoizedSourceReader(): SourceReader;
73
84
  /**
74
85
  * Re-verify a finding's cited verbatim span(s) against disk. A finding is
75
86
  * `grounded` as soon as ONE of its `affected_files[].quoted_text` spans matches
@@ -1 +1 @@
1
- {"version":3,"file":"findingGrounding.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/findingGrounding.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAErE,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAGjD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,MAAM,GAAG,SAAS,CAapB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAsBnE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAI7E;AAED,qFAAqF;AACrF,MAAM,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAKrE;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,UAAU,GAAE,YAAkC,GAC7C,OAAO,CAAC,gBAAgB,CAAC,CA+B3B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,OAAO,CAE9E;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAClC,OAAO,CAET"}
1
+ {"version":3,"file":"findingGrounding.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/findingGrounding.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAErE,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAGjD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,MAAM,GAAG,SAAS,CAapB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAsBnE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAI7E;AAED,qFAAqF;AACrF,MAAM,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAKrE;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,IAAI,YAAY,CASzD;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,UAAU,GAAE,YAAkC,GAC7C,OAAO,CAAC,gBAAgB,CAAC,CA+B3B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,OAAO,CAE9E;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAClC,OAAO,CAET"}
@@ -142,6 +142,27 @@ export function quoteMatches(fileContent, quotedText) {
142
142
  return normalizeForMatch(fileContent).includes(needle);
143
143
  }
144
144
  const defaultSourceReader = (absolutePath) => readFile(absolutePath, "utf8");
145
+ /**
146
+ * A {@link SourceReader} memoized by absolute path, for ONE grounding pass: a
147
+ * batch whose findings all cite the same file reads that file once rather than
148
+ * once per finding. The promise is cached — including a rejecting one — so an
149
+ * unreadable path is not retried per citation either.
150
+ *
151
+ * Scope it to a single pass and discard it: a reader that outlived the pass
152
+ * would serve stale bytes after a later edit, which is exactly what quote-and-
153
+ * verify exists to catch.
154
+ */
155
+ export function createMemoizedSourceReader() {
156
+ const cache = new Map();
157
+ return (absolutePath) => {
158
+ const cached = cache.get(absolutePath);
159
+ if (cached !== undefined)
160
+ return cached;
161
+ const pending = defaultSourceReader(absolutePath);
162
+ cache.set(absolutePath, pending);
163
+ return pending;
164
+ };
165
+ }
145
166
  /**
146
167
  * Re-verify a finding's cited verbatim span(s) against disk. A finding is
147
168
  * `grounded` as soon as ONE of its `affected_files[].quoted_text` spans matches