audit-tools 0.52.0 → 0.52.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.
Files changed (258) hide show
  1. package/dist/audit/cli/auditStep.d.ts.map +1 -1
  2. package/dist/audit/cli/auditStep.js +2 -2
  3. package/dist/audit/cli/auditStep.js.map +1 -1
  4. package/dist/audit/cli/charterClarificationPrompt.d.ts +16 -8
  5. package/dist/audit/cli/charterClarificationPrompt.d.ts.map +1 -1
  6. package/dist/audit/cli/charterClarificationPrompt.js +95 -42
  7. package/dist/audit/cli/charterClarificationPrompt.js.map +1 -1
  8. package/dist/audit/cli/charterComparisonPrompt.d.ts +16 -6
  9. package/dist/audit/cli/charterComparisonPrompt.d.ts.map +1 -1
  10. package/dist/audit/cli/charterComparisonPrompt.js +76 -29
  11. package/dist/audit/cli/charterComparisonPrompt.js.map +1 -1
  12. package/dist/audit/cli/charterExtractionPrompt.d.ts +5 -4
  13. package/dist/audit/cli/charterExtractionPrompt.d.ts.map +1 -1
  14. package/dist/audit/cli/charterExtractionPrompt.js +64 -42
  15. package/dist/audit/cli/charterExtractionPrompt.js.map +1 -1
  16. package/dist/audit/cli/charterFidelityPrompt.d.ts +17 -4
  17. package/dist/audit/cli/charterFidelityPrompt.d.ts.map +1 -1
  18. package/dist/audit/cli/charterFidelityPrompt.js +72 -21
  19. package/dist/audit/cli/charterFidelityPrompt.js.map +1 -1
  20. package/dist/audit/cli/dispatch/hostHandoff.d.ts +23 -1
  21. package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
  22. package/dist/audit/cli/dispatch/hostHandoff.js +204 -41
  23. package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
  24. package/dist/audit/cli/dispatch/packetFilter.d.ts +8 -0
  25. package/dist/audit/cli/dispatch/packetFilter.d.ts.map +1 -1
  26. package/dist/audit/cli/fanoutLanes.d.ts.map +1 -1
  27. package/dist/audit/cli/fanoutLanes.js +20 -4
  28. package/dist/audit/cli/fanoutLanes.js.map +1 -1
  29. package/dist/audit/cli/laneValidators.d.ts +19 -7
  30. package/dist/audit/cli/laneValidators.d.ts.map +1 -1
  31. package/dist/audit/cli/laneValidators.js +73 -18
  32. package/dist/audit/cli/laneValidators.js.map +1 -1
  33. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  34. package/dist/audit/cli/nextStepCommand.js +13 -6
  35. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  36. package/dist/audit/cli/nextStepHelpers.d.ts +25 -2
  37. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  38. package/dist/audit/cli/nextStepHelpers.js +105 -35
  39. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  40. package/dist/audit/cli/recoverSubmissionCommand.d.ts.map +1 -1
  41. package/dist/audit/cli/recoverSubmissionCommand.js +89 -4
  42. package/dist/audit/cli/recoverSubmissionCommand.js.map +1 -1
  43. package/dist/audit/cli/sampleRunCommand.d.ts +10 -0
  44. package/dist/audit/cli/sampleRunCommand.d.ts.map +1 -1
  45. package/dist/audit/cli/semanticReviewStep.d.ts +4 -4
  46. package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
  47. package/dist/audit/cli/semanticReviewStep.js +35 -71
  48. package/dist/audit/cli/semanticReviewStep.js.map +1 -1
  49. package/dist/audit/contracts/findingContractPrompt.d.ts.map +1 -1
  50. package/dist/audit/contracts/findingContractPrompt.js +7 -1
  51. package/dist/audit/contracts/findingContractPrompt.js.map +1 -1
  52. package/dist/audit/contracts/workerSchemas.d.ts +280 -4
  53. package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
  54. package/dist/audit/contracts/workerSchemas.js +24 -2
  55. package/dist/audit/contracts/workerSchemas.js.map +1 -1
  56. package/dist/audit/orchestrator/charterClarificationExecutor.d.ts.map +1 -1
  57. package/dist/audit/orchestrator/charterClarificationExecutor.js +39 -0
  58. package/dist/audit/orchestrator/charterClarificationExecutor.js.map +1 -1
  59. package/dist/audit/orchestrator/charterExtractionExecutor.d.ts +12 -5
  60. package/dist/audit/orchestrator/charterExtractionExecutor.d.ts.map +1 -1
  61. package/dist/audit/orchestrator/charterExtractionExecutor.js +39 -9
  62. package/dist/audit/orchestrator/charterExtractionExecutor.js.map +1 -1
  63. package/dist/audit/orchestrator/designReviewPrompt.d.ts +7 -0
  64. package/dist/audit/orchestrator/designReviewPrompt.d.ts.map +1 -1
  65. package/dist/audit/orchestrator/designReviewPrompt.js +174 -19
  66. package/dist/audit/orchestrator/designReviewPrompt.js.map +1 -1
  67. package/dist/audit/orchestrator/intentCheckpointGate.d.ts.map +1 -1
  68. package/dist/audit/orchestrator/intentCheckpointGate.js +1 -5
  69. package/dist/audit/orchestrator/intentCheckpointGate.js.map +1 -1
  70. package/dist/audit/orchestrator/requeueCommand.d.ts +8 -0
  71. package/dist/audit/orchestrator/requeueCommand.d.ts.map +1 -1
  72. package/dist/audit/orchestrator/selectiveDeepening/lensVerification.d.ts.map +1 -1
  73. package/dist/audit/orchestrator/selectiveDeepening/lensVerification.js +94 -71
  74. package/dist/audit/orchestrator/selectiveDeepening/lensVerification.js.map +1 -1
  75. package/dist/audit/orchestrator/selectiveDeepening/shared.d.ts +0 -2
  76. package/dist/audit/orchestrator/selectiveDeepening/shared.d.ts.map +1 -1
  77. package/dist/audit/orchestrator/selectiveDeepening/shared.js +9 -2
  78. package/dist/audit/orchestrator/selectiveDeepening/shared.js.map +1 -1
  79. package/dist/audit/orchestrator/selectiveDeepening/stewardFollowup.d.ts.map +1 -1
  80. package/dist/audit/orchestrator/selectiveDeepening/stewardFollowup.js +28 -4
  81. package/dist/audit/orchestrator/selectiveDeepening/stewardFollowup.js.map +1 -1
  82. package/dist/audit/reporting/synthesis.d.ts +16 -3
  83. package/dist/audit/reporting/synthesis.d.ts.map +1 -1
  84. package/dist/audit/reporting/synthesis.js +40 -11
  85. package/dist/audit/reporting/synthesis.js.map +1 -1
  86. package/dist/audit/reporting/synthesisNarrativePrompt.d.ts +26 -1
  87. package/dist/audit/reporting/synthesisNarrativePrompt.d.ts.map +1 -1
  88. package/dist/audit/reporting/synthesisNarrativePrompt.js +53 -13
  89. package/dist/audit/reporting/synthesisNarrativePrompt.js.map +1 -1
  90. package/dist/audit/systemic/secondOrderAdversaryPrompt.d.ts.map +1 -1
  91. package/dist/audit/systemic/secondOrderAdversaryPrompt.js +67 -40
  92. package/dist/audit/systemic/secondOrderAdversaryPrompt.js.map +1 -1
  93. package/dist/audit/systemic/systemicChallengeLoop.d.ts.map +1 -1
  94. package/dist/audit/systemic/systemicChallengeLoop.js +13 -1
  95. package/dist/audit/systemic/systemicChallengeLoop.js.map +1 -1
  96. package/dist/audit/types/conceptualAdjudication.d.ts +26 -2
  97. package/dist/audit/types/conceptualAdjudication.d.ts.map +1 -1
  98. package/dist/audit/types/conceptualAdjudication.js +26 -7
  99. package/dist/audit/types/conceptualAdjudication.js.map +1 -1
  100. package/dist/audit/types.d.ts +279 -0
  101. package/dist/audit/types.d.ts.map +1 -1
  102. package/dist/audit/types.js +52 -0
  103. package/dist/audit/types.js.map +1 -1
  104. package/dist/audit/validation/auditResults.d.ts.map +1 -1
  105. package/dist/audit/validation/auditResults.js +51 -6
  106. package/dist/audit/validation/auditResults.js.map +1 -1
  107. package/dist/audit/validation/ingestIssueCodes.d.ts +3 -1
  108. package/dist/audit/validation/ingestIssueCodes.d.ts.map +1 -1
  109. package/dist/audit/validation/ingestIssueCodes.js +27 -15
  110. package/dist/audit/validation/ingestIssueCodes.js.map +1 -1
  111. package/dist/remediate/contractPipeline/sketchSource.d.ts +13 -3
  112. package/dist/remediate/contractPipeline/sketchSource.d.ts.map +1 -1
  113. package/dist/remediate/contractPipeline/sketchSource.js +14 -8
  114. package/dist/remediate/contractPipeline/sketchSource.js.map +1 -1
  115. package/dist/remediate/intake.d.ts +140 -36
  116. package/dist/remediate/intake.d.ts.map +1 -1
  117. package/dist/remediate/intake.js +159 -38
  118. package/dist/remediate/intake.js.map +1 -1
  119. package/dist/remediate/intent/checkpointFilter.d.ts +1 -2
  120. package/dist/remediate/intent/checkpointFilter.d.ts.map +1 -1
  121. package/dist/remediate/intent/checkpointFilter.js +1 -5
  122. package/dist/remediate/intent/checkpointFilter.js.map +1 -1
  123. package/dist/remediate/phases/close.d.ts.map +1 -1
  124. package/dist/remediate/phases/close.js +2 -2
  125. package/dist/remediate/phases/close.js.map +1 -1
  126. package/dist/remediate/phases/plan.d.ts +1 -1
  127. package/dist/remediate/review/reviewGate.d.ts +68 -39
  128. package/dist/remediate/review/reviewGate.d.ts.map +1 -1
  129. package/dist/remediate/review/reviewGate.js +133 -50
  130. package/dist/remediate/review/reviewGate.js.map +1 -1
  131. package/dist/remediate/state/store.d.ts +1 -2
  132. package/dist/remediate/state/store.d.ts.map +1 -1
  133. package/dist/remediate/state/store.js +124 -3
  134. package/dist/remediate/state/store.js.map +1 -1
  135. package/dist/remediate/state/types.d.ts +28 -4
  136. package/dist/remediate/state/types.d.ts.map +1 -1
  137. package/dist/remediate/state/types.js.map +1 -1
  138. package/dist/remediate/steps/contractPipeline.d.ts +17 -1
  139. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  140. package/dist/remediate/steps/contractPipeline.js +100 -52
  141. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  142. package/dist/remediate/steps/contractPipelinePrompts.d.ts +32 -8
  143. package/dist/remediate/steps/contractPipelinePrompts.d.ts.map +1 -1
  144. package/dist/remediate/steps/contractPipelinePrompts.js +145 -131
  145. package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
  146. package/dist/remediate/steps/dispatch/hostHandoff.d.ts +6 -4
  147. package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
  148. package/dist/remediate/steps/dispatch/hostHandoff.js +291 -155
  149. package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
  150. package/dist/remediate/steps/intakeResolver.d.ts +1 -1
  151. package/dist/remediate/steps/intakeResolver.d.ts.map +1 -1
  152. package/dist/remediate/steps/intakeResolver.js +50 -49
  153. package/dist/remediate/steps/intakeResolver.js.map +1 -1
  154. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  155. package/dist/remediate/steps/nextStep.js +315 -288
  156. package/dist/remediate/steps/nextStep.js.map +1 -1
  157. package/dist/remediate/steps/prompts.d.ts +10 -3
  158. package/dist/remediate/steps/prompts.d.ts.map +1 -1
  159. package/dist/remediate/steps/prompts.js +191 -228
  160. package/dist/remediate/steps/prompts.js.map +1 -1
  161. package/dist/remediate/steps/types.d.ts +2 -2
  162. package/dist/remediate/steps/types.d.ts.map +1 -1
  163. package/dist/remediate/steps/types.js +10 -3
  164. package/dist/remediate/steps/types.js.map +1 -1
  165. package/dist/remediate/validation/artifacts.d.ts.map +1 -1
  166. package/dist/remediate/validation/artifacts.js +5 -22
  167. package/dist/remediate/validation/artifacts.js.map +1 -1
  168. package/dist/remediate/validation/contractPipeline.d.ts.map +1 -1
  169. package/dist/remediate/validation/contractPipeline.js +25 -8
  170. package/dist/remediate/validation/contractPipeline.js.map +1 -1
  171. package/dist/remediate/validation/remediationState.d.ts +0 -1
  172. package/dist/remediate/validation/remediationState.d.ts.map +1 -1
  173. package/dist/remediate/validation/remediationState.js +1 -20
  174. package/dist/remediate/validation/remediationState.js.map +1 -1
  175. package/dist/shared/decompose/charterClarification.d.ts +7 -0
  176. package/dist/shared/decompose/charterClarification.d.ts.map +1 -1
  177. package/dist/shared/decompose/charterClarification.js +8 -1
  178. package/dist/shared/decompose/charterClarification.js.map +1 -1
  179. package/dist/shared/decompose/charterExtraction.d.ts +204 -16
  180. package/dist/shared/decompose/charterExtraction.d.ts.map +1 -1
  181. package/dist/shared/decompose/charterExtraction.js +70 -13
  182. package/dist/shared/decompose/charterExtraction.js.map +1 -1
  183. package/dist/shared/decompose/systemicChallenge.d.ts +42 -1
  184. package/dist/shared/decompose/systemicChallenge.d.ts.map +1 -1
  185. package/dist/shared/decompose/systemicChallenge.js +51 -0
  186. package/dist/shared/decompose/systemicChallenge.js.map +1 -1
  187. package/dist/shared/index.d.ts +14 -11
  188. package/dist/shared/index.d.ts.map +1 -1
  189. package/dist/shared/index.js +16 -9
  190. package/dist/shared/index.js.map +1 -1
  191. package/dist/shared/io/stepContractWriter.d.ts.map +1 -1
  192. package/dist/shared/io/stepContractWriter.js +13 -4
  193. package/dist/shared/io/stepContractWriter.js.map +1 -1
  194. package/dist/shared/submission/hostHandoffCore.d.ts +7 -0
  195. package/dist/shared/submission/hostHandoffCore.d.ts.map +1 -1
  196. package/dist/shared/submission/hostHandoffCore.js +15 -2
  197. package/dist/shared/submission/hostHandoffCore.js.map +1 -1
  198. package/dist/shared/submission/hostResultOutcomes.d.ts +60 -10
  199. package/dist/shared/submission/hostResultOutcomes.d.ts.map +1 -1
  200. package/dist/shared/submission/hostResultOutcomes.js +42 -10
  201. package/dist/shared/submission/hostResultOutcomes.js.map +1 -1
  202. package/dist/shared/submission/ingestReport.d.ts +54 -0
  203. package/dist/shared/submission/ingestReport.d.ts.map +1 -0
  204. package/dist/shared/submission/ingestReport.js +44 -0
  205. package/dist/shared/submission/ingestReport.js.map +1 -0
  206. package/dist/shared/submission/ingestionChecks.d.ts +8 -13
  207. package/dist/shared/submission/ingestionChecks.d.ts.map +1 -1
  208. package/dist/shared/submission/ingestionChecks.js +9 -14
  209. package/dist/shared/submission/ingestionChecks.js.map +1 -1
  210. package/dist/shared/submission/submissionClassifier.d.ts +6 -0
  211. package/dist/shared/submission/submissionClassifier.d.ts.map +1 -1
  212. package/dist/shared/submission/submissionClassifier.js +16 -0
  213. package/dist/shared/submission/submissionClassifier.js.map +1 -1
  214. package/dist/shared/submission/workerPromptBinding.d.ts +18 -0
  215. package/dist/shared/submission/workerPromptBinding.d.ts.map +1 -0
  216. package/dist/shared/submission/workerPromptBinding.js +38 -0
  217. package/dist/shared/submission/workerPromptBinding.js.map +1 -0
  218. package/dist/shared/tooling/exec.d.ts +24 -0
  219. package/dist/shared/tooling/exec.d.ts.map +1 -1
  220. package/dist/shared/tooling/exec.js +30 -0
  221. package/dist/shared/tooling/exec.js.map +1 -1
  222. package/dist/shared/types/charter.d.ts +143 -7
  223. package/dist/shared/types/charter.d.ts.map +1 -1
  224. package/dist/shared/types/charter.js +63 -7
  225. package/dist/shared/types/charter.js.map +1 -1
  226. package/dist/shared/types/charterPacket.d.ts +13 -0
  227. package/dist/shared/types/charterPacket.d.ts.map +1 -1
  228. package/dist/shared/types/charterPacket.js.map +1 -1
  229. package/dist/shared/types/contractPipeline/obligations.d.ts +30 -11
  230. package/dist/shared/types/contractPipeline/obligations.d.ts.map +1 -1
  231. package/dist/shared/types/contractPipeline/obligations.js +6 -1
  232. package/dist/shared/types/contractPipeline/obligations.js.map +1 -1
  233. package/dist/shared/types/contractPropertyShapes.d.ts.map +1 -1
  234. package/dist/shared/types/contractPropertyShapes.js +13 -0
  235. package/dist/shared/types/contractPropertyShapes.js.map +1 -1
  236. package/dist/shared/types/finding.d.ts +154 -15
  237. package/dist/shared/types/finding.d.ts.map +1 -1
  238. package/dist/shared/types/finding.js +41 -5
  239. package/dist/shared/types/finding.js.map +1 -1
  240. package/dist/shared/types/intentCheckpoint.d.ts +26 -40
  241. package/dist/shared/types/intentCheckpoint.d.ts.map +1 -1
  242. package/dist/shared/types/intentCheckpoint.js +30 -33
  243. package/dist/shared/types/intentCheckpoint.js.map +1 -1
  244. package/dist/shared/types/remediationOutcome.d.ts +8 -8
  245. package/dist/shared/validation/citationGrounding.d.ts +29 -5
  246. package/dist/shared/validation/citationGrounding.d.ts.map +1 -1
  247. package/dist/shared/validation/citationGrounding.js +56 -9
  248. package/dist/shared/validation/citationGrounding.js.map +1 -1
  249. package/dist/shared/validation/designFindingGrounding.d.ts +30 -9
  250. package/dist/shared/validation/designFindingGrounding.d.ts.map +1 -1
  251. package/dist/shared/validation/designFindingGrounding.js +32 -12
  252. package/dist/shared/validation/designFindingGrounding.js.map +1 -1
  253. package/docs/audit-pkg/contracts.md +4 -5
  254. package/package.json +1 -1
  255. package/schemas/audit_result.schema.json +51 -0
  256. package/schemas/audit_results.schema.json +51 -0
  257. package/schemas/audit_task.schema.json +44 -0
  258. package/schemas/finding.schema.json +4 -0
@@ -1,19 +1,65 @@
1
1
  import { z } from "zod";
2
2
  import { type ProjectFacts } from "audit-tools/shared";
3
3
  export declare const INTAKE_SOURCE_MANIFEST_SCHEMA_VERSION: "remediate-code-intake-source-manifest/v1alpha1";
4
- export declare const INTAKE_SUMMARY_SCHEMA_VERSION: "remediate-code-intake-summary/v1alpha1";
4
+ export declare const INTAKE_SUMMARY_SCHEMA_VERSION: "remediate-code-intake-summary/v1alpha2";
5
5
  export declare const INTAKE_CLARIFICATION_SCHEMA_VERSION: "remediate-code-intake-clarifications/v1alpha1";
6
- export type IntakeSourceType = "document" | "conversation" | "structured_audit";
7
- export interface IntakeSource {
8
- type: IntakeSourceType;
6
+ declare const IntakeSourceSchema: z.ZodObject<{
7
+ type: z.ZodEnum<["document", "conversation", "structured_audit"]>;
8
+ path: z.ZodString;
9
+ label: z.ZodOptional<z.ZodString>;
10
+ }, "strict", z.ZodTypeAny, {
9
11
  path: string;
10
- label?: string;
11
- }
12
- export interface IntakeSourceManifest {
13
- schema_version: typeof INTAKE_SOURCE_MANIFEST_SCHEMA_VERSION;
14
- created_from: "input" | "default_candidates" | "conversation" | "mixed";
15
- sources: IntakeSource[];
16
- }
12
+ type: "conversation" | "document" | "structured_audit";
13
+ label?: string | undefined;
14
+ }, {
15
+ path: string;
16
+ type: "conversation" | "document" | "structured_audit";
17
+ label?: string | undefined;
18
+ }>;
19
+ export type IntakeSource = z.infer<typeof IntakeSourceSchema>;
20
+ declare const IntakeSourceManifestSchema: z.ZodObject<{
21
+ schema_version: z.ZodLiteral<"remediate-code-intake-source-manifest/v1alpha1">;
22
+ created_from: z.ZodEnum<["input", "default_candidates", "conversation", "mixed"]>;
23
+ sources: z.ZodArray<z.ZodObject<{
24
+ type: z.ZodEnum<["document", "conversation", "structured_audit"]>;
25
+ path: z.ZodString;
26
+ label: z.ZodOptional<z.ZodString>;
27
+ }, "strict", z.ZodTypeAny, {
28
+ path: string;
29
+ type: "conversation" | "document" | "structured_audit";
30
+ label?: string | undefined;
31
+ }, {
32
+ path: string;
33
+ type: "conversation" | "document" | "structured_audit";
34
+ label?: string | undefined;
35
+ }>, "many">;
36
+ }, "strict", z.ZodTypeAny, {
37
+ schema_version: "remediate-code-intake-source-manifest/v1alpha1";
38
+ created_from: "conversation" | "mixed" | "input" | "default_candidates";
39
+ sources: {
40
+ path: string;
41
+ type: "conversation" | "document" | "structured_audit";
42
+ label?: string | undefined;
43
+ }[];
44
+ }, {
45
+ schema_version: "remediate-code-intake-source-manifest/v1alpha1";
46
+ created_from: "conversation" | "mixed" | "input" | "default_candidates";
47
+ sources: {
48
+ path: string;
49
+ type: "conversation" | "document" | "structured_audit";
50
+ label?: string | undefined;
51
+ }[];
52
+ }>;
53
+ export type IntakeSourceManifest = z.infer<typeof IntakeSourceManifestSchema>;
54
+ /**
55
+ * Read `intake/source-manifest.json`: undefined when absent, the manifest when
56
+ * it matches {@link IntakeSourceManifestSchema}, and a THROW naming each bad
57
+ * field otherwise. The throw becomes a blocked step through
58
+ * `runWithBlockedStepBackstop`, exactly as {@link validateIntakeSummary} does,
59
+ * and it tells the host how to recover: delete the file and re-run with the
60
+ * flags, which rewrite it.
61
+ */
62
+ export declare function readSourceManifest(path: string): Promise<IntakeSourceManifest | undefined>;
17
63
  export declare const IntakeOpenQuestionSchema: z.ZodObject<{
18
64
  id: z.ZodString;
19
65
  question: z.ZodString;
@@ -32,7 +78,7 @@ export declare const IntakeOpenQuestionSchema: z.ZodObject<{
32
78
  }>;
33
79
  export type IntakeOpenQuestion = z.infer<typeof IntakeOpenQuestionSchema>;
34
80
  export declare const IntakeSummarySchema: z.ZodObject<{
35
- schema_version: z.ZodLiteral<"remediate-code-intake-summary/v1alpha1">;
81
+ schema_version: z.ZodLiteral<"remediate-code-intake-summary/v1alpha2">;
36
82
  ready: z.ZodBoolean;
37
83
  source_type: z.ZodEnum<["structured_audit", "documents", "conversation", "mixed"]>;
38
84
  goals: z.ZodArray<z.ZodString, "many">;
@@ -64,12 +110,47 @@ export declare const IntakeSummarySchema: z.ZodObject<{
64
110
  category?: string | undefined;
65
111
  blocking?: boolean | undefined;
66
112
  }>, "many">;
113
+ /** What the sources ask for, in two or three sentences. */
114
+ source_summary: z.ZodString;
115
+ /** Observable results that show the goals are met. */
116
+ acceptance_criteria: z.ZodArray<z.ZodString, "many">;
117
+ /** The confirmation proposal: the files and areas in scope. */
118
+ scope_summary: z.ZodString;
119
+ /** The confirmation proposal: the purpose of this run. */
120
+ intent_summary: z.ZodString;
121
+ /** The confirmation proposal: the finding filters (the checkpoint's shape). */
122
+ filters: z.ZodObject<{
123
+ severity: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
124
+ lenses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
125
+ packages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
126
+ themes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
127
+ }, "strict", z.ZodTypeAny, {
128
+ lenses?: string[] | undefined;
129
+ severity?: string[] | undefined;
130
+ themes?: string[] | undefined;
131
+ packages?: string[] | undefined;
132
+ }, {
133
+ lenses?: string[] | undefined;
134
+ severity?: string[] | undefined;
135
+ themes?: string[] | undefined;
136
+ packages?: string[] | undefined;
137
+ }>;
138
+ /** How the host read an intent a conversation source states in free words. */
139
+ intent_interpretation: z.ZodOptional<z.ZodString>;
67
140
  }, "strip", z.ZodTypeAny, {
68
141
  affected_files: {
69
142
  path: string;
70
143
  reason?: string | undefined;
71
144
  }[];
72
- schema_version: "remediate-code-intake-summary/v1alpha1";
145
+ schema_version: "remediate-code-intake-summary/v1alpha2";
146
+ scope_summary: string;
147
+ intent_summary: string;
148
+ filters: {
149
+ lenses?: string[] | undefined;
150
+ severity?: string[] | undefined;
151
+ themes?: string[] | undefined;
152
+ packages?: string[] | undefined;
153
+ };
73
154
  ready: boolean;
74
155
  source_type: "conversation" | "structured_audit" | "mixed" | "documents";
75
156
  goals: string[];
@@ -81,12 +162,23 @@ export declare const IntakeSummarySchema: z.ZodObject<{
81
162
  category?: string | undefined;
82
163
  blocking?: boolean | undefined;
83
164
  }[];
165
+ source_summary: string;
166
+ acceptance_criteria: string[];
167
+ intent_interpretation?: string | undefined;
84
168
  }, {
85
169
  affected_files: {
86
170
  path: string;
87
171
  reason?: string | undefined;
88
172
  }[];
89
- schema_version: "remediate-code-intake-summary/v1alpha1";
173
+ schema_version: "remediate-code-intake-summary/v1alpha2";
174
+ scope_summary: string;
175
+ intent_summary: string;
176
+ filters: {
177
+ lenses?: string[] | undefined;
178
+ severity?: string[] | undefined;
179
+ themes?: string[] | undefined;
180
+ packages?: string[] | undefined;
181
+ };
90
182
  ready: boolean;
91
183
  source_type: "conversation" | "structured_audit" | "mixed" | "documents";
92
184
  goals: string[];
@@ -98,29 +190,35 @@ export declare const IntakeSummarySchema: z.ZodObject<{
98
190
  category?: string | undefined;
99
191
  blocking?: boolean | undefined;
100
192
  }[];
193
+ source_summary: string;
194
+ acceptance_criteria: string[];
195
+ intent_interpretation?: string | undefined;
101
196
  }>;
102
197
  export type IntakeSummary = z.infer<typeof IntakeSummarySchema>;
103
198
  /**
104
199
  * Validate a raw parsed `intake-summary.json` payload against
105
- * {@link IntakeSummarySchema}, throwing a legible Error when the shape does
106
- * not conform — the read-time refusal for CP-NODE-2 invariants[11]'s
107
- * 'unvalidated intake artifacts' defect class. Before this, `readIntakeArtifacts`
108
- * read the file through `readOptionalJsonFile<T>`, a bare `JSON.parse(content)
109
- * as T` assertion with zero runtime shape checking (src/shared/io/json.ts), so
110
- * a structurally malformed summary — e.g. `ready: "yes"` (a truthy STRING, not
111
- * a boolean, so `Boolean(summary.ready)` in `isIntakeReady` silently accepted
112
- * it) or a non-array `goals` — was trusted verbatim. The thrown Error's
113
- * message becomes the caller's refusal reason: `readIntakeArtifacts` and its
114
- * callers run inside `runWithBlockedStepBackstop` (src/shared/io/stepContractWriter.ts),
115
- * which turns any throw into a `blocked` step contract naming the cause
116
- * verbatim — the mechanism this validation deliberately relies on instead of
117
- * degrading silently to `undefined` (contrast the sibling clarification-file
118
- * JSON-parse-failure branch a few lines below, which intentionally DOES
119
- * degrade to absent because `resolveIntakeStep` re-prompts for it downstream;
120
- * `intake-summary.json` has no such re-synthesis path, so silence there would
121
- * strand the run on unvalidated data instead).
200
+ * {@link IntakeSummarySchema}: the summary, or the refusal naming each bad
201
+ * field — the read-time refusal for CP-NODE-2 invariants[11]'s 'unvalidated
202
+ * intake artifacts' defect class. Before it, a structurally malformed summary —
203
+ * e.g. `ready: "yes"` (a truthy STRING, so `Boolean(summary.ready)` accepted
204
+ * it) or a non-array `goals` — was trusted verbatim. A refused summary is never
205
+ * read as a summary: `resolveIntakeStep` re-issues synthesize_intake with the
206
+ * refusal named, so the host rewrites the file the step asked for.
207
+ */
208
+ export declare function validateIntakeSummary(raw: unknown): {
209
+ summary: IntakeSummary;
210
+ } | {
211
+ refusal: string;
212
+ };
213
+ /**
214
+ * Render `remediation-brief.md` from the summary — the human render of the one
215
+ * intake file the host writes (JSON is the source of truth). The brief used to
216
+ * be a second host-authored file restating the summary, so the two could
217
+ * disagree, and each consumer read only one of them.
122
218
  */
123
- export declare function validateIntakeSummary(raw: unknown, path: string): IntakeSummary;
219
+ export declare function renderRemediationBrief(summary: IntakeSummary): string;
220
+ /** Write the rendered brief, only when its content changed. */
221
+ export declare function writeRemediationBrief(artifactsDir: string, summary: IntakeSummary): Promise<void>;
124
222
  export declare function intakePaths(artifactsDir: string): {
125
223
  dir: string;
126
224
  sourceManifest: string;
@@ -199,9 +297,9 @@ export declare function blockingIntakeQuestions(summary: IntakeSummary | undefin
199
297
  * each gate: the reconcile cannot be skipped by a consumer that forgot to ask.
200
298
  *
201
299
  * `answered` is the resolution's ids that actually carry a decision. A blank
202
- * answer is not one: `validateClarificationResolution` requires the field to be
203
- * present, but a whitespace-only string decides nothing, and treating it as a
204
- * resolution would clear a blocking question the user never addressed.
300
+ * answer is not one: `validateClarificationResolution` refuses the file that
301
+ * holds it, and this read must not clear a blocking question on a
302
+ * whitespace-only string before that refusal runs.
205
303
  *
206
304
  * Pure and idempotent, and it never invents a `ready`: it removes resolved
207
305
  * questions and leaves `ready` exactly as authored. A run whose only blocking
@@ -245,6 +343,12 @@ export declare function readIntakeArtifacts(artifactsDir: string): Promise<{
245
343
  */
246
344
  resolvedQuestions: IntakeOpenQuestion[];
247
345
  clarificationResolution?: unknown;
248
- brief?: string;
346
+ /**
347
+ * Set when `intake-summary.json` is present but refused (not JSON, or not
348
+ * the {@link IntakeSummarySchema} shape): `summary` is then absent, and the
349
+ * reason names each problem.
350
+ */
351
+ summaryRefusal?: string;
249
352
  }>;
353
+ export {};
250
354
  //# sourceMappingURL=intake.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"intake.d.ts","sourceRoot":"","sources":["../../src/remediate/intake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intake.d.ts","sourceRoot":"","sources":["../../src/remediate/intake.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,59 @@
1
+ // sites-pinned: tests/remediate/intake-starting-point-contract.test.ts, tests/remediate/n-r04-intent-checkpoint.test.ts, tests/remediate/intake-sources-and-digest.test.ts
1
2
  import { existsSync } from "node:fs";
2
3
  import { join, resolve } from "node:path";
3
4
  import { z } from "zod";
4
- import { writeJsonFile } from "audit-tools/shared";
5
- import { readOptionalJsonFile, readOptionalTextFile, isRecord, } from "audit-tools/shared";
5
+ import { writeJsonFile, writeTextFile } from "audit-tools/shared";
6
+ import { IntentFiltersSchema, readOptionalJsonFile, readOptionalTextFile, isRecord, } from "audit-tools/shared";
6
7
  export const INTAKE_SOURCE_MANIFEST_SCHEMA_VERSION = "remediate-code-intake-source-manifest/v1alpha1";
7
- export const INTAKE_SUMMARY_SCHEMA_VERSION = "remediate-code-intake-summary/v1alpha1";
8
+ // v1alpha2: the summary is the ONE intake file the host writes. It gained the
9
+ // brief's facts (`source_summary`, `acceptance_criteria`) and the confirmation
10
+ // proposal's (`scope_summary`, `intent_summary`, `filters`,
11
+ // `intent_interpretation`); the tool renders `remediation-brief.md` from it and
12
+ // the confirm step builds its proposal from it. A v1alpha1 file is refused by
13
+ // name, and synthesize_intake comes back to rewrite it.
14
+ export const INTAKE_SUMMARY_SCHEMA_VERSION = "remediate-code-intake-summary/v1alpha2";
8
15
  export const INTAKE_CLARIFICATION_SCHEMA_VERSION = "remediate-code-intake-clarifications/v1alpha1";
16
+ // The source manifest is TOOL-ONLY: the resolver writes it from `--input` and
17
+ // `--guidance-file`, and no prompt asks the host to write it. So the schema is
18
+ // `.strict()` — an extra or wrong-shaped field is a hand edit, and a hand edit
19
+ // is refused on read with a named reason rather than trusted.
20
+ const IntakeSourceSchema = z
21
+ .object({
22
+ type: z.enum(["document", "conversation", "structured_audit"]),
23
+ path: z.string().min(1),
24
+ label: z.string().optional(),
25
+ })
26
+ .strict();
27
+ const IntakeSourceManifestSchema = z
28
+ .object({
29
+ schema_version: z.literal(INTAKE_SOURCE_MANIFEST_SCHEMA_VERSION),
30
+ created_from: z.enum(["input", "default_candidates", "conversation", "mixed"]),
31
+ sources: z.array(IntakeSourceSchema).min(1),
32
+ })
33
+ .strict();
34
+ /**
35
+ * Read `intake/source-manifest.json`: undefined when absent, the manifest when
36
+ * it matches {@link IntakeSourceManifestSchema}, and a THROW naming each bad
37
+ * field otherwise. The throw becomes a blocked step through
38
+ * `runWithBlockedStepBackstop`, exactly as {@link validateIntakeSummary} does,
39
+ * and it tells the host how to recover: delete the file and re-run with the
40
+ * flags, which rewrite it.
41
+ */
42
+ export async function readSourceManifest(path) {
43
+ const raw = await readOptionalJsonFile(path);
44
+ if (raw === undefined)
45
+ return undefined;
46
+ const parsed = IntakeSourceManifestSchema.safeParse(raw);
47
+ if (!parsed.success) {
48
+ const issues = parsed.error.issues
49
+ .map((issue) => `${issue.path.length > 0 ? issue.path.join(".") : "(root)"}: ${issue.message}`)
50
+ .join("; ");
51
+ throw new Error(`Malformed intake source manifest at ${path}: ${issues}. The tool writes this ` +
52
+ "file; do not write it by hand. Delete it and re-run next-step with " +
53
+ "`--input <path>` (repeat it for each document) and/or `--guidance-file <path>`.");
54
+ }
55
+ return parsed.data;
56
+ }
9
57
  // Zod is the single source for shape + type here (matching the repo-wide
10
58
  // zod-single-source convention, e.g. RemediationBlockSchema in
11
59
  // src/remediate/state/types.ts) rather than a hand-written interface kept in
@@ -30,39 +78,97 @@ export const IntakeSummarySchema = z.object({
30
78
  constraints: z.array(z.string()),
31
79
  affected_files: z.array(z.object({ path: z.string(), reason: z.string().optional() })),
32
80
  open_questions: z.array(IntakeOpenQuestionSchema),
81
+ /** What the sources ask for, in two or three sentences. */
82
+ source_summary: z.string(),
83
+ /** Observable results that show the goals are met. */
84
+ acceptance_criteria: z.array(z.string()),
85
+ /** The confirmation proposal: the files and areas in scope. */
86
+ scope_summary: z.string(),
87
+ /** The confirmation proposal: the purpose of this run. */
88
+ intent_summary: z.string(),
89
+ /** The confirmation proposal: the finding filters (the checkpoint's shape). */
90
+ filters: IntentFiltersSchema,
91
+ /** How the host read an intent a conversation source states in free words. */
92
+ intent_interpretation: z.string().optional(),
33
93
  });
34
94
  /**
35
95
  * Validate a raw parsed `intake-summary.json` payload against
36
- * {@link IntakeSummarySchema}, throwing a legible Error when the shape does
37
- * not conform — the read-time refusal for CP-NODE-2 invariants[11]'s
38
- * 'unvalidated intake artifacts' defect class. Before this, `readIntakeArtifacts`
39
- * read the file through `readOptionalJsonFile<T>`, a bare `JSON.parse(content)
40
- * as T` assertion with zero runtime shape checking (src/shared/io/json.ts), so
41
- * a structurally malformed summary — e.g. `ready: "yes"` (a truthy STRING, not
42
- * a boolean, so `Boolean(summary.ready)` in `isIntakeReady` silently accepted
43
- * it) or a non-array `goals` — was trusted verbatim. The thrown Error's
44
- * message becomes the caller's refusal reason: `readIntakeArtifacts` and its
45
- * callers run inside `runWithBlockedStepBackstop` (src/shared/io/stepContractWriter.ts),
46
- * which turns any throw into a `blocked` step contract naming the cause
47
- * verbatim — the mechanism this validation deliberately relies on instead of
48
- * degrading silently to `undefined` (contrast the sibling clarification-file
49
- * JSON-parse-failure branch a few lines below, which intentionally DOES
50
- * degrade to absent because `resolveIntakeStep` re-prompts for it downstream;
51
- * `intake-summary.json` has no such re-synthesis path, so silence there would
52
- * strand the run on unvalidated data instead).
96
+ * {@link IntakeSummarySchema}: the summary, or the refusal naming each bad
97
+ * field — the read-time refusal for CP-NODE-2 invariants[11]'s 'unvalidated
98
+ * intake artifacts' defect class. Before it, a structurally malformed summary —
99
+ * e.g. `ready: "yes"` (a truthy STRING, so `Boolean(summary.ready)` accepted
100
+ * it) or a non-array `goals` — was trusted verbatim. A refused summary is never
101
+ * read as a summary: `resolveIntakeStep` re-issues synthesize_intake with the
102
+ * refusal named, so the host rewrites the file the step asked for.
53
103
  */
54
- export function validateIntakeSummary(raw, path) {
104
+ export function validateIntakeSummary(raw) {
55
105
  const parsed = IntakeSummarySchema.safeParse(raw);
56
106
  if (!parsed.success) {
57
107
  const issues = parsed.error.issues
58
- .map((issue) => `${issue.path.length > 0 ? issue.path.join(".") : "(root)"}: ${issue.message}`)
108
+ .map((issue) => `\`${issue.path.length > 0 ? issue.path.join(".") : "(root)"}\`: ${issue.message}`)
59
109
  .join("; ");
60
- throw new Error(`Malformed intake summary at ${path}: ${issues}. Fix the file to match the ` +
61
- "IntakeSummary contract (schema_version, ready:boolean, source_type, " +
62
- "goals/non_goals/constraints:string[], affected_files:{path,reason?}[], " +
63
- "open_questions:{id,question,category?,blocking?}[]) and rerun next-step.");
110
+ return { refusal: `The previous intake summary was refused: ${issues}.` };
64
111
  }
65
- return parsed.data;
112
+ return { summary: parsed.data };
113
+ }
114
+ /**
115
+ * Render `remediation-brief.md` from the summary — the human render of the one
116
+ * intake file the host writes (JSON is the source of truth). The brief used to
117
+ * be a second host-authored file restating the summary, so the two could
118
+ * disagree, and each consumer read only one of them.
119
+ */
120
+ export function renderRemediationBrief(summary) {
121
+ const list = (items) => items.length > 0 ? items.map((item) => `- ${item}`).join("\n") : "- None";
122
+ const files = summary.affected_files.map((file) => file.reason ? `\`${file.path}\` — ${file.reason}` : `\`${file.path}\``);
123
+ const questions = summary.open_questions.map((q) => `**${q.id}**${q.blocking === true ? " (blocking)" : ""}: ${q.question}`);
124
+ return [
125
+ "# Remediation Brief",
126
+ "",
127
+ "## Source Summary",
128
+ "",
129
+ summary.source_summary,
130
+ "",
131
+ "## Scope",
132
+ "",
133
+ summary.scope_summary,
134
+ "",
135
+ "## Intent",
136
+ "",
137
+ summary.intent_summary,
138
+ "",
139
+ "## Goals",
140
+ "",
141
+ list(summary.goals),
142
+ "",
143
+ "## Non-Goals",
144
+ "",
145
+ list(summary.non_goals),
146
+ "",
147
+ "## Constraints",
148
+ "",
149
+ list(summary.constraints),
150
+ "",
151
+ "## Affected Files",
152
+ "",
153
+ list(files),
154
+ "",
155
+ "## Acceptance Criteria",
156
+ "",
157
+ list(summary.acceptance_criteria),
158
+ "",
159
+ "## Open Questions",
160
+ "",
161
+ list(questions),
162
+ "",
163
+ ].join("\n");
164
+ }
165
+ /** Write the rendered brief, only when its content changed. */
166
+ export async function writeRemediationBrief(artifactsDir, summary) {
167
+ const path = intakePaths(artifactsDir).brief;
168
+ const content = renderRemediationBrief(summary);
169
+ if ((await readOptionalTextFile(path)) === content)
170
+ return;
171
+ await writeTextFile(path, content);
66
172
  }
67
173
  export function intakePaths(artifactsDir) {
68
174
  const dir = join(artifactsDir, "intake");
@@ -234,9 +340,9 @@ export function blockingIntakeQuestions(summary) {
234
340
  * each gate: the reconcile cannot be skipped by a consumer that forgot to ask.
235
341
  *
236
342
  * `answered` is the resolution's ids that actually carry a decision. A blank
237
- * answer is not one: `validateClarificationResolution` requires the field to be
238
- * present, but a whitespace-only string decides nothing, and treating it as a
239
- * resolution would clear a blocking question the user never addressed.
343
+ * answer is not one: `validateClarificationResolution` refuses the file that
344
+ * holds it, and this read must not clear a blocking question on a
345
+ * whitespace-only string before that refusal runs.
240
346
  *
241
347
  * Pure and idempotent, and it never invents a `ready`: it removes resolved
242
348
  * questions and leaves `ready` exactly as authored. A run whose only blocking
@@ -338,6 +444,12 @@ export function validateClarificationResolution(resolution, blockingQuestions, a
338
444
  if (typeof answer.answer !== "string") {
339
445
  errors.push(`answers[${i}] is missing required field 'answer'`);
340
446
  }
447
+ else if (answer.answer.trim().length === 0) {
448
+ // A blank answer decides nothing (reconcileIntakeQuestions does not count
449
+ // it), so accepting the file would re-ask the same question with no reason
450
+ // given. Refuse it by name instead.
451
+ errors.push(`answers[${i}].answer is blank — write the user's answer`);
452
+ }
341
453
  }
342
454
  if (errors.length > 0) {
343
455
  return { valid: false, errors };
@@ -359,7 +471,18 @@ export function validateClarificationResolution(resolution, blockingQuestions, a
359
471
  }
360
472
  export async function readIntakeArtifacts(artifactsDir) {
361
473
  const paths = intakePaths(artifactsDir);
362
- const rawSummary = await readOptionalJsonFile(paths.summary);
474
+ let rawSummary;
475
+ let summaryRefusal;
476
+ try {
477
+ rawSummary = await readOptionalJsonFile(paths.summary);
478
+ }
479
+ catch (error) {
480
+ summaryRefusal =
481
+ `The previous intake summary is not valid JSON (${error instanceof Error ? error.message : String(error)}).`;
482
+ }
483
+ const validated = rawSummary === undefined ? undefined : validateIntakeSummary(rawSummary);
484
+ if (validated && "refusal" in validated)
485
+ summaryRefusal = validated.refusal;
363
486
  const clarificationResolution = await (async () => {
364
487
  try {
365
488
  return await readOptionalJsonFile(paths.clarificationResolution);
@@ -370,15 +493,13 @@ export async function readIntakeArtifacts(artifactsDir) {
370
493
  return undefined;
371
494
  }
372
495
  })();
373
- const reconciliation = reconcileIntakeQuestions(rawSummary === undefined
374
- ? undefined
375
- : validateIntakeSummary(rawSummary, paths.summary), clarificationResolution);
496
+ const reconciliation = reconcileIntakeQuestions(validated && "summary" in validated ? validated.summary : undefined, clarificationResolution);
376
497
  return {
377
- manifest: await readOptionalJsonFile(paths.sourceManifest),
498
+ manifest: await readSourceManifest(paths.sourceManifest),
378
499
  conversationStart: await readOptionalTextFile(paths.conversationStart),
379
500
  // File absent → undefined (no summary yet, not a defect). File present →
380
- // validated at read time (see validateIntakeSummary); malformed content
381
- // throws rather than being trusted as a well-formed IntakeSummary.
501
+ // validated at read time (see validateIntakeSummary); malformed content is
502
+ // never trusted as an IntakeSummary — it is absent, with `summaryRefusal`.
382
503
  //
383
504
  // Applied through `reconcileIntakeQuestions` so the answered questions are
384
505
  // gone for EVERY consumer of this read — the decide loop's `isIntakeReady`
@@ -386,7 +507,7 @@ export async function readIntakeArtifacts(artifactsDir) {
386
507
  summary: reconciliation.summary,
387
508
  resolvedQuestions: reconciliation.resolvedQuestions,
388
509
  clarificationResolution,
389
- brief: await readOptionalTextFile(paths.brief),
510
+ ...(summaryRefusal !== undefined ? { summaryRefusal } : {}),
390
511
  };
391
512
  }
392
513
  //# sourceMappingURL=intake.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"intake.js","sourceRoot":"","sources":["../../src/remediate/intake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intake.js","sourceRoot":"","sources":["../../src/remediate/intake.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,7 @@ import { type Finding, type IntentCheckpoint } from "audit-tools/shared";
5
5
  * (`excluded_scope` / `disposition_overrides` / `must_not_touch`). Returns the
6
6
  * kept findings and the ids of the dropped ones
7
7
  * (for the coverage ledger and the final report). A checkpoint with no filters
8
- * or exclusions keeps everything. A draft checkpoint (confirmed_by: "draft") is
9
- * not yet confirmed — no filtering is applied.
8
+ * or exclusions keeps everything.
10
9
  */
11
10
  export declare function filterFindingsByCheckpoint(findings: Finding[], checkpoint: IntentCheckpoint | undefined): {
12
11
  kept: Finding[];
@@ -1 +1 @@
1
- {"version":3,"file":"checkpointFilter.d.ts","sourceRoot":"","sources":["../../../src/remediate/intent/checkpointFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AA4C5B;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,gBAAgB,GAAG,SAAS,GACvC;IAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAuB3C"}
1
+ {"version":3,"file":"checkpointFilter.d.ts","sourceRoot":"","sources":["../../../src/remediate/intent/checkpointFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AA4C5B;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,gBAAgB,GAAG,SAAS,GACvC;IAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAqB3C"}
@@ -41,15 +41,11 @@ function isPathExcluded(finding, checkpoint) {
41
41
  * (`excluded_scope` / `disposition_overrides` / `must_not_touch`). Returns the
42
42
  * kept findings and the ids of the dropped ones
43
43
  * (for the coverage ledger and the final report). A checkpoint with no filters
44
- * or exclusions keeps everything. A draft checkpoint (confirmed_by: "draft") is
45
- * not yet confirmed — no filtering is applied.
44
+ * or exclusions keeps everything.
46
45
  */
47
46
  export function filterFindingsByCheckpoint(findings, checkpoint) {
48
47
  if (!checkpoint)
49
48
  return { kept: findings, droppedIds: [] };
50
- // Draft checkpoints have not been confirmed by the host; treat as absent.
51
- if (checkpoint.confirmed_by === "draft")
52
- return { kept: findings, droppedIds: [] };
53
49
  const hasConstraints = Boolean(checkpoint.filters) ||
54
50
  (checkpoint.excluded_scope?.length ?? 0) > 0 ||
55
51
  (checkpoint.must_not_touch?.length ?? 0) > 0 ||
@@ -1 +1 @@
1
- {"version":3,"file":"checkpointFilter.js","sourceRoot":"","sources":["../../../src/remediate/intent/checkpointFilter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpointFilter.js","sourceRoot":"","sources":["../../../src/remediate/intent/checkpointFilter.ts"],"names":[],"mappings":"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"}