audit-tools 0.41.1 → 0.42.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 (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 +19 -1
  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/workerResult.d.ts +0 -13
  34. package/dist/audit/cli/workerResult.d.ts.map +1 -1
  35. package/dist/audit/cli/workerResult.js +0 -15
  36. package/dist/audit/cli/workerResult.js.map +1 -1
  37. package/dist/audit/contracts/workerSchemas.d.ts +13 -83
  38. package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
  39. package/dist/audit/contracts/workerSchemas.js +10 -4
  40. package/dist/audit/contracts/workerSchemas.js.map +1 -1
  41. package/dist/audit/orchestrator/advance.d.ts +30 -0
  42. package/dist/audit/orchestrator/advance.d.ts.map +1 -1
  43. package/dist/audit/orchestrator/advance.js +45 -2
  44. package/dist/audit/orchestrator/advance.js.map +1 -1
  45. package/dist/audit/orchestrator/designReviewPrompt.d.ts.map +1 -1
  46. package/dist/audit/orchestrator/designReviewPrompt.js +6 -4
  47. package/dist/audit/orchestrator/designReviewPrompt.js.map +1 -1
  48. package/dist/audit/orchestrator/intentCheckpointExecutor.d.ts +8 -0
  49. package/dist/audit/orchestrator/intentCheckpointExecutor.d.ts.map +1 -1
  50. package/dist/audit/orchestrator/intentCheckpointExecutor.js +2 -0
  51. package/dist/audit/orchestrator/intentCheckpointExecutor.js.map +1 -1
  52. package/dist/audit/orchestrator/partitionTaskGraph.d.ts.map +1 -1
  53. package/dist/audit/orchestrator/partitionTaskGraph.js +2 -2
  54. package/dist/audit/orchestrator/partitionTaskGraph.js.map +1 -1
  55. package/dist/audit/orchestrator/reviewPacketSizing.d.ts +0 -1
  56. package/dist/audit/orchestrator/reviewPacketSizing.d.ts.map +1 -1
  57. package/dist/audit/orchestrator/reviewPacketSizing.js +0 -5
  58. package/dist/audit/orchestrator/reviewPacketSizing.js.map +1 -1
  59. package/dist/audit/orchestrator/reviewPackets.d.ts +8 -2
  60. package/dist/audit/orchestrator/reviewPackets.d.ts.map +1 -1
  61. package/dist/audit/orchestrator/reviewPackets.js +7 -8
  62. package/dist/audit/orchestrator/reviewPackets.js.map +1 -1
  63. package/dist/audit/orchestrator/taskAffinityGraph.d.ts +0 -6
  64. package/dist/audit/orchestrator/taskAffinityGraph.d.ts.map +1 -1
  65. package/dist/audit/orchestrator/taskAffinityGraph.js +0 -16
  66. package/dist/audit/orchestrator/taskAffinityGraph.js.map +1 -1
  67. package/dist/audit/orchestrator/taskBuilder.d.ts.map +1 -1
  68. package/dist/audit/orchestrator/taskBuilder.js +1 -2
  69. package/dist/audit/orchestrator/taskBuilder.js.map +1 -1
  70. package/dist/audit/reporting/synthesis.d.ts.map +1 -1
  71. package/dist/audit/reporting/synthesis.js +2 -3
  72. package/dist/audit/reporting/synthesis.js.map +1 -1
  73. package/dist/audit/reporting/workBlocks.d.ts +0 -1
  74. package/dist/audit/reporting/workBlocks.d.ts.map +1 -1
  75. package/dist/audit/reporting/workBlocks.js +4 -41
  76. package/dist/audit/reporting/workBlocks.js.map +1 -1
  77. package/dist/audit/systemic/systemicChallengeLoop.d.ts +0 -8
  78. package/dist/audit/systemic/systemicChallengeLoop.d.ts.map +1 -1
  79. package/dist/audit/systemic/systemicChallengeLoop.js +0 -9
  80. package/dist/audit/systemic/systemicChallengeLoop.js.map +1 -1
  81. package/dist/audit/types.d.ts +4 -4
  82. package/dist/remediate/contractPipeline/artifactStore.d.ts +19 -23
  83. package/dist/remediate/contractPipeline/artifactStore.d.ts.map +1 -1
  84. package/dist/remediate/contractPipeline/artifactStore.js +22 -29
  85. package/dist/remediate/contractPipeline/artifactStore.js.map +1 -1
  86. package/dist/remediate/contractPipeline/changeClassification.d.ts +0 -12
  87. package/dist/remediate/contractPipeline/changeClassification.d.ts.map +1 -1
  88. package/dist/remediate/contractPipeline/changeClassification.js +0 -101
  89. package/dist/remediate/contractPipeline/changeClassification.js.map +1 -1
  90. package/dist/remediate/contractPipeline/derive.d.ts +0 -42
  91. package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
  92. package/dist/remediate/contractPipeline/derive.js +0 -108
  93. package/dist/remediate/contractPipeline/derive.js.map +1 -1
  94. package/dist/remediate/index.d.ts +0 -1
  95. package/dist/remediate/index.d.ts.map +1 -1
  96. package/dist/remediate/index.js +5 -132
  97. package/dist/remediate/index.js.map +1 -1
  98. package/dist/remediate/intake.d.ts +0 -55
  99. package/dist/remediate/intake.d.ts.map +1 -1
  100. package/dist/remediate/intake.js +1 -81
  101. package/dist/remediate/intake.js.map +1 -1
  102. package/dist/remediate/phases/plan.d.ts +0 -1
  103. package/dist/remediate/phases/plan.d.ts.map +1 -1
  104. package/dist/remediate/phases/plan.js +1 -207
  105. package/dist/remediate/phases/plan.js.map +1 -1
  106. package/dist/remediate/state/types.d.ts +4 -4
  107. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  108. package/dist/remediate/steps/contractPipeline.js +15 -12
  109. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  110. package/dist/remediate/steps/contractPipelinePrompts.d.ts +9 -9
  111. package/dist/remediate/steps/contractPipelinePrompts.d.ts.map +1 -1
  112. package/dist/remediate/steps/contractPipelinePrompts.js +26 -18
  113. package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
  114. package/dist/remediate/steps/dispatch/hostHandoff.d.ts +0 -1
  115. package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
  116. package/dist/remediate/steps/dispatch/hostHandoff.js +3 -2
  117. package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
  118. package/dist/remediate/steps/dispatch.d.ts +0 -8
  119. package/dist/remediate/steps/dispatch.d.ts.map +1 -1
  120. package/dist/remediate/steps/dispatch.js +3 -9
  121. package/dist/remediate/steps/dispatch.js.map +1 -1
  122. package/dist/remediate/steps/nextStep.d.ts +0 -1
  123. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  124. package/dist/remediate/steps/nextStep.js +0 -1
  125. package/dist/remediate/steps/nextStep.js.map +1 -1
  126. package/dist/remediate/utils/fileIntegrity.d.ts +0 -8
  127. package/dist/remediate/utils/fileIntegrity.d.ts.map +1 -1
  128. package/dist/remediate/utils/fileIntegrity.js +5 -65
  129. package/dist/remediate/utils/fileIntegrity.js.map +1 -1
  130. package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
  131. package/dist/remediate/validation/contractPipelineGates.js +27 -19
  132. package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
  133. package/dist/shared/analyzers/candidates.d.ts +6 -6
  134. package/dist/shared/analyzers/candidates.d.ts.map +1 -1
  135. package/dist/shared/analyzers/candidates.js +6 -6
  136. package/dist/shared/analyzers/candidates.js.map +1 -1
  137. package/dist/shared/chunkByBudget.d.ts +8 -8
  138. package/dist/shared/decompose/contentCoherence.d.ts +43 -273
  139. package/dist/shared/decompose/contentCoherence.d.ts.map +1 -1
  140. package/dist/shared/decompose/contentCoherence.js +120 -63
  141. package/dist/shared/decompose/contentCoherence.js.map +1 -1
  142. package/dist/shared/decompose/modularity.d.ts +17 -0
  143. package/dist/shared/decompose/modularity.d.ts.map +1 -1
  144. package/dist/shared/decompose/modularity.js +78 -3
  145. package/dist/shared/decompose/modularity.js.map +1 -1
  146. package/dist/shared/decompose/systemicChallenge.d.ts +4 -4
  147. package/dist/shared/decompose/workBlockSeams.d.ts +45 -0
  148. package/dist/shared/decompose/workBlockSeams.d.ts.map +1 -0
  149. package/dist/shared/decompose/workBlockSeams.js +82 -0
  150. package/dist/shared/decompose/workBlockSeams.js.map +1 -0
  151. package/dist/shared/index.d.ts +6 -5
  152. package/dist/shared/index.d.ts.map +1 -1
  153. package/dist/shared/index.js +6 -4
  154. package/dist/shared/index.js.map +1 -1
  155. package/dist/shared/io/auditToolsPaths.d.ts +0 -20
  156. package/dist/shared/io/auditToolsPaths.d.ts.map +1 -1
  157. package/dist/shared/io/auditToolsPaths.js +0 -24
  158. package/dist/shared/io/auditToolsPaths.js.map +1 -1
  159. package/dist/shared/loopCorePaths.d.ts.map +1 -1
  160. package/dist/shared/loopCorePaths.js +15 -9
  161. package/dist/shared/loopCorePaths.js.map +1 -1
  162. package/dist/shared/reporting/auditDeliverable.d.ts.map +1 -1
  163. package/dist/shared/reporting/auditDeliverable.js +8 -3
  164. package/dist/shared/reporting/auditDeliverable.js.map +1 -1
  165. package/dist/shared/types/finding.d.ts +119 -317
  166. package/dist/shared/types/finding.d.ts.map +1 -1
  167. package/dist/shared/types/finding.js +38 -11
  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 +19 -7
  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
@@ -2,8 +2,7 @@ import { isAbsolute, join } from "node:path";
2
2
  import { canonicalizeFilePath, claimsAuditFindingsContract } from "audit-tools/shared";
3
3
  import { readdirSync, statSync } from "node:fs";
4
4
  import { snapshotAffectedFileHashes } from "../utils/fileIntegrity.js";
5
- import { estimateTokensFromBytes, ESTIMATED_PROMPT_OVERHEAD_TOKENS, ESTIMATED_ITEM_OVERHEAD_TOKENS, chunkByBudget, } from "audit-tools/shared";
6
- import { pathTokensInCommand } from "../steps/dispatch/verifyCommands.js";
5
+ import { estimateTokensFromBytes, ESTIMATED_PROMPT_OVERHEAD_TOKENS, ESTIMATED_ITEM_OVERHEAD_TOKENS, } from "audit-tools/shared";
7
6
  /**
8
7
  * Whether a parsed JSON value claims the audit-findings contract — the ROUTING
9
8
  * predicate for structured vs markdown/freeform input.
@@ -79,54 +78,6 @@ function fileSizeBytes(filePath, root) {
79
78
  return 0;
80
79
  }
81
80
  }
82
- function groupFindingsByFileOverlap(findingIds, findings, repoRoot = ".") {
83
- const parent = new Map(findingIds.map((id) => [id, id]));
84
- function find(id) {
85
- let cur = id;
86
- while (parent.get(cur) !== cur) {
87
- const grandparent = parent.get(parent.get(cur));
88
- parent.set(cur, grandparent);
89
- cur = grandparent;
90
- }
91
- return cur;
92
- }
93
- const findingMap = new Map(findings.map((f) => [f.id, f]));
94
- const fileToIds = new Map();
95
- for (const id of findingIds) {
96
- for (const af of findingMap.get(id)?.affected_files ?? []) {
97
- // Directory paths must not drive union-find merges: a broad directory shared
98
- // by many findings would otherwise collapse them all into one indivisible block.
99
- if (isDirectoryPath(af.path, repoRoot))
100
- continue;
101
- // CE-008: key the overlap map by the M1-BOUNDARY canonical physical-file
102
- // identity, not the raw spelling, so `src/A.ts`, `./src/A.ts`, `src\A.ts`
103
- // (and case variants on a case-insensitive FS) collide on ONE key and the
104
- // findings that touch that file are unioned into one block. Comparing raw
105
- // strings would leave them in separate blocks that then write the same
106
- // physical file in parallel (the clobber CE-008 closes).
107
- const key = canonicalizeFilePath(af.path, { root: repoRoot });
108
- const list = fileToIds.get(key) ?? [];
109
- list.push(id);
110
- fileToIds.set(key, list);
111
- }
112
- }
113
- for (const ids of fileToIds.values()) {
114
- for (let i = 1; i < ids.length; i++) {
115
- const ra = find(ids[0]);
116
- const rb = find(ids[i]);
117
- if (ra !== rb)
118
- parent.set(ra, rb);
119
- }
120
- }
121
- const groups = new Map();
122
- for (const id of findingIds) {
123
- const repr = find(id);
124
- const g = groups.get(repr) ?? [];
125
- g.push(id);
126
- groups.set(repr, g);
127
- }
128
- return [...groups.values()];
129
- }
130
81
  export function estimateGroupTokens(findingIds, findings, fileByteCounts,
131
82
  // CE-008: when `root` is supplied, file keys are resolved to the M1-BOUNDARY
132
83
  // canonical physical-file identity so a file cited under two spellings is
@@ -167,163 +118,6 @@ function addAdvisoryTokenEstimates(blocks, findings, root) {
167
118
  token_estimate: estimateGroupTokens(block.items, findings, byteCounts, root),
168
119
  }));
169
120
  }
170
- // Thin adapter over the shared `chunkByBudget` greedy chunker (extracted
171
- // alongside chunkPacketTasks in audit's reviewPackets.ts and chunkByTaskBudget
172
- // in audit's taskBuilder.ts — three previously byte-identical loop shapes).
173
- // The already-fits/singleton bypass is kept as a call-site guard since it
174
- // returns the group unsplit rather than delegating to the generic loop.
175
- function splitOversizedOverlapGroup(group, findings, fileByteCounts, contextBudget, root) {
176
- if (group.length <= 1 ||
177
- estimateGroupTokens(group, findings, fileByteCounts, root) <= contextBudget) {
178
- return [group];
179
- }
180
- return chunkByBudget(group, {
181
- budget: contextBudget,
182
- costOf: (candidate) => estimateGroupTokens(candidate, findings, fileByteCounts, root),
183
- });
184
- }
185
- /**
186
- * Partition a split parent block's `targeted_commands` across its sub-blocks by
187
- * relevance to each sub-block's cited files (INV-RSM-SPLIT-01, COR-46fff0ec):
188
- *
189
- * - a PATH-LESS command (e.g. `npm run check`) applies to EVERY sub-block —
190
- * dropping it anywhere would be a vacuous pass;
191
- * - a PATHFUL command goes only to the sub-blocks whose items cite one of its
192
- * path tokens — running it on an unrelated sub-block is a false red;
193
- * - a pathful command matching NO sub-block is surfaced to stderr and carried
194
- * to ALL sub-blocks — degraded to the parent's semantics, never silently
195
- * dropped (the verification obligation must survive the split).
196
- *
197
- * Returns undefined when the parent declared no commands (field stays absent).
198
- */
199
- function partitionTargetedCommands(commands, subBlockItems, findingMap) {
200
- if (!commands || commands.length === 0)
201
- return undefined;
202
- const norm = (p) => p.replace(/\\/g, "/");
203
- const citedBySubBlock = subBlockItems.map((items) => {
204
- const cited = new Set();
205
- for (const id of items) {
206
- for (const af of findingMap.get(id)?.affected_files ?? []) {
207
- cited.add(norm(af.path));
208
- }
209
- }
210
- return cited;
211
- });
212
- const out = subBlockItems.map(() => []);
213
- for (const cmd of commands) {
214
- const tokens = pathTokensInCommand(cmd).map(norm);
215
- if (tokens.length === 0) {
216
- for (const list of out)
217
- list.push(cmd);
218
- continue;
219
- }
220
- const matched = [];
221
- for (let i = 0; i < citedBySubBlock.length; i++) {
222
- if (tokens.some((t) => citedBySubBlock[i].has(t)))
223
- matched.push(i);
224
- }
225
- if (matched.length === 0) {
226
- process.stderr.write(`[remediate-code] split: targeted command "${cmd}" matches no sub-block's cited files — carrying it to every sub-block rather than dropping it.\n`);
227
- for (const list of out)
228
- list.push(cmd);
229
- }
230
- else {
231
- for (const i of matched)
232
- out[i].push(cmd);
233
- }
234
- }
235
- return out;
236
- }
237
- export function splitBlocksByContextBudget(blocks, findings, root, contextBudget) {
238
- // CE-008: index byte counts by the M1-BOUNDARY canonical physical-file identity
239
- // so the same file cited under two spellings is sized ONCE (not double-counted)
240
- // and `estimateGroupTokens` resolves every spelling to the same entry.
241
- const allFiles = new Map(); // canonical key -> a raw spelling to stat
242
- const findingMap = new Map(findings.map((f) => [f.id, f]));
243
- for (const block of blocks) {
244
- for (const id of block.items) {
245
- for (const af of findingMap.get(id)?.affected_files ?? []) {
246
- const key = canonicalizeFilePath(af.path, { root });
247
- if (!allFiles.has(key))
248
- allFiles.set(key, af.path);
249
- }
250
- }
251
- }
252
- const fileByteCounts = new Map();
253
- for (const [key, rawPath] of allFiles) {
254
- fileByteCounts.set(key, fileSizeBytes(rawPath, root));
255
- }
256
- const result = [];
257
- // Maps an original block_id to the sub-block IDs it was expanded into.
258
- // Used in the second pass to rewrite dependency references in other blocks.
259
- const splitRemap = new Map();
260
- for (const block of blocks) {
261
- const fileGroups = groupFindingsByFileOverlap(block.items, findings, root);
262
- const subBlocks = [];
263
- let currentItems = [];
264
- let currentTokens = 0;
265
- for (const overlapGroup of fileGroups) {
266
- const groups = splitOversizedOverlapGroup(overlapGroup, findings, fileByteCounts, contextBudget, root);
267
- for (const group of groups) {
268
- const groupTokens = estimateGroupTokens(group, findings, fileByteCounts, root);
269
- if (currentItems.length > 0 && currentTokens + groupTokens > contextBudget) {
270
- subBlocks.push(currentItems);
271
- currentItems = group;
272
- currentTokens = groupTokens;
273
- }
274
- else {
275
- currentItems = [...currentItems, ...group];
276
- currentTokens += groupTokens;
277
- }
278
- }
279
- }
280
- if (currentItems.length > 0)
281
- subBlocks.push(currentItems);
282
- if (subBlocks.length === 1) {
283
- result.push(block);
284
- }
285
- else {
286
- const subBlockIds = subBlocks.map((_, i) => `${block.block_id}-${String(i + 1).padStart(2, "0")}`);
287
- splitRemap.set(block.block_id, subBlockIds);
288
- // INV-RSM-SPLIT-01 (COR-46fff0ec): partition the parent's verification
289
- // commands by relevance to each sub-block's cited files; path-less
290
- // commands go to every sub-block, and a pathful command matching no
291
- // sub-block is carried to all (surfaced, never silently dropped).
292
- const partitionedCommands = partitionTargetedCommands(block.targeted_commands, subBlocks, findingMap);
293
- for (let i = 0; i < subBlocks.length; i++) {
294
- const commands = partitionedCommands?.[i];
295
- result.push({
296
- // Spread-carry EVERY block field (INV-RSM-SPLIT-01): a split must
297
- // never erase contract metadata — phase_ordinal in particular is
298
- // UNCHANGED on every sub-block (dropping it dissolves the phase
299
- // barrier and dispatches consumers alongside their foundations).
300
- ...block,
301
- block_id: subBlockIds[i],
302
- items: subBlocks[i],
303
- // Sub-blocks inherit the parent's declared surface; the per-sub-block
304
- // narrowing is a downstream (M1-DECOMPOSE) concern.
305
- touched_files: [...block.touched_files],
306
- ...(commands !== undefined
307
- ? { targeted_commands: commands }
308
- : {}),
309
- });
310
- }
311
- }
312
- }
313
- // Second pass: rewrite dependency references in result blocks so that a block
314
- // depending on a split block now depends on ALL the resulting sub-blocks.
315
- if (splitRemap.size > 0) {
316
- for (const block of result) {
317
- if (!block.dependencies || block.dependencies.length === 0)
318
- continue;
319
- const rewritten = [
320
- ...new Set(block.dependencies.flatMap((dep) => splitRemap.get(dep) ?? [dep])),
321
- ];
322
- block.dependencies = rewritten;
323
- }
324
- }
325
- return result;
326
- }
327
121
  /**
328
122
  * Account for every finding the plan received: each is marked `planned` (kept and
329
123
  * mapped to a block), `folded_into` (merged into a survivor by cross-lens dedup),
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/remediate/phases/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/remediate/phases/plan.ts"],"names":[],"mappings":"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"}
@@ -228,9 +228,9 @@ export declare const RemediationPlanSchema: z.ZodObject<{
228
228
  quoted_text?: string | undefined;
229
229
  hash_at_plan_time?: string | undefined;
230
230
  }[];
231
- evidence?: string[] | undefined;
232
231
  impact?: string | undefined;
233
232
  likelihood?: string | undefined;
233
+ evidence?: string[] | undefined;
234
234
  reproduction?: string[] | undefined;
235
235
  systemic?: boolean | undefined;
236
236
  related_findings?: string[] | undefined;
@@ -282,9 +282,9 @@ export declare const RemediationPlanSchema: z.ZodObject<{
282
282
  quoted_text?: string | undefined;
283
283
  hash_at_plan_time?: string | undefined;
284
284
  }[];
285
- evidence?: string[] | undefined;
286
285
  impact?: string | undefined;
287
286
  likelihood?: string | undefined;
287
+ evidence?: string[] | undefined;
288
288
  reproduction?: string[] | undefined;
289
289
  systemic?: boolean | undefined;
290
290
  related_findings?: string[] | undefined;
@@ -436,9 +436,9 @@ export declare const RemediationPlanSchema: z.ZodObject<{
436
436
  quoted_text?: string | undefined;
437
437
  hash_at_plan_time?: string | undefined;
438
438
  }[];
439
- evidence?: string[] | undefined;
440
439
  impact?: string | undefined;
441
440
  likelihood?: string | undefined;
441
+ evidence?: string[] | undefined;
442
442
  reproduction?: string[] | undefined;
443
443
  systemic?: boolean | undefined;
444
444
  related_findings?: string[] | undefined;
@@ -518,9 +518,9 @@ export declare const RemediationPlanSchema: z.ZodObject<{
518
518
  quoted_text?: string | undefined;
519
519
  hash_at_plan_time?: string | undefined;
520
520
  }[];
521
- evidence?: string[] | undefined;
522
521
  impact?: string | undefined;
523
522
  likelihood?: string | undefined;
523
+ evidence?: string[] | undefined;
524
524
  reproduction?: string[] | undefined;
525
525
  systemic?: boolean | undefined;
526
526
  related_findings?: string[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"contractPipeline.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/contractPipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contractPipeline.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/contractPipeline.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ import { mkdir, rename, rm } from "node:fs/promises";
24
24
  import { join } from "node:path";
25
25
  import { writeJsonFile, readOptionalJsonFile, formatValidationIssues, hashContent, isRecord, withFsRetry, projectApprovedFindings, captureStepBoundaryFriction, } from "audit-tools/shared";
26
26
  import { counterexampleFingerprint } from "../contractPipeline/counterexampleFingerprint.js";
27
- import { CP_ARTIFACT_NAMES, contractArtifactExists, contractArtifactFilePath, contractInputFilePath, contractPipelineDir, detectStaleArtifacts, envelopePayload, envelopeSemanticHash, isEnvelope, pathASeedFilePath, payloadSemanticHash, readContractArtifact, stampToolCreatedAt, writeContractArtifact, } from "../contractPipeline/artifactStore.js";
27
+ import { CP_ARTIFACT_NAMES, contractArtifactExists, contractArtifactFilePath, contractInputFilePath, contractPipelineDir, detectStaleArtifacts, envelopePayload, envelopeSemanticHash, isEnvelope, pathASeedFilePath, payloadSemanticHash, readContractArtifact, stampToolCreatedAt, writeContractArtifact, writeDerivedContractArtifact, } from "../contractPipeline/artifactStore.js";
28
28
  import { readIntakeRiskSignal, writeIntakeRiskSignal, escalateRiskSignal, decompositionRiskEvidence, adversarialDepthForTier, roundTripGranularityForTier, } from "../riskSignal.js";
29
29
  import { phaseOrdinalForObligations, moduleSlug, renderPhaseCutSection, } from "../contractPipeline/phaseCut.js";
30
30
  import { ensurePhaseCutArtifact, readPhaseCutArtifact } from "../contractPipeline/phaseCutArtifact.js";
@@ -35,6 +35,7 @@ import { captureReviewSnapshot, computeReReviewDelta, isReviewArtifact, readRevi
35
35
  import { captureTestPlanCarry, readTestPlanCarry, } from "../contractPipeline/testPlanCarry.js";
36
36
  import { renderContractPipelinePrompt, renderContractRepairPrompt, CONTRACT_PIPELINE_PHASE_ORDER, PHASE_TO_ARTIFACT, } from "./contractPipelinePrompts.js";
37
37
  import { CONTRACT_PIPELINE_VALIDATORS, CP_MODULE_CONTRACTS_VERSION, validateDesignSpecGates, validateGoalIdConsistency, validateImplementationDAGIntegrity, validatePairedObligations, validateEvidenceThreaded, validateDigestCoverage, validateWorkBlockSeamPreparation, validateReconciliationDerivation, validateContractCitationGrounding, validateFinalizedModuleSetPreserved, } from "../validation/contractPipeline.js";
38
+ import { compareCodeUnits } from "../../shared/affinityArtifacts.js";
38
39
  import { writeCurrentStep } from "./stepWriter.js";
39
40
  import { loaderCommand } from "./prompts.js";
40
41
  import { intakePaths } from "../intake.js";
@@ -354,7 +355,7 @@ export async function writePathASeedFromFindings(artifactsDir, auditFindingsPath
354
355
  const seedPath = pathASeedFilePath(artifactsDir);
355
356
  if (existsSync(seedPath))
356
357
  return; // idempotent
357
- const findings = [...approved.findings].sort((left, right) => left.id.localeCompare(right.id));
358
+ const findings = [...approved.findings].sort((left, right) => compareCodeUnits(left.id, right.id));
358
359
  const affectedFilesSet = new Set();
359
360
  const findingsSummary = findings.map((finding) => ({
360
361
  id: finding.id,
@@ -374,15 +375,17 @@ export async function writePathASeedFromFindings(artifactsDir, auditFindingsPath
374
375
  owned_files: [...block.owned_files].sort(),
375
376
  depends_on: [...block.depends_on].sort(),
376
377
  }))
377
- .sort((a, b) => a.id.localeCompare(b.id));
378
+ .sort((a, b) => compareCodeUnits(a.id, b.id));
379
+ // Code-unit order, not `localeCompare`, on EVERY persisted seed array: the
380
+ // seed order must not depend on the host's ICU collation, and seam ids are
381
+ // hex now — a locale that orders digits against letters differently would
382
+ // reshuffle the file.
378
383
  const workBlockSeams = approved.workBlockSeams
379
384
  .map((seam) => ({
380
385
  ...seam,
381
- block_ids: [...seam.block_ids],
382
- shared_files: [...seam.shared_files].sort(),
383
- shared_unit_ids: [...seam.shared_unit_ids].sort(),
386
+ block_ids: [...seam.block_ids].sort(compareCodeUnits),
384
387
  }))
385
- .sort((a, b) => a.id.localeCompare(b.id));
388
+ .sort((a, b) => compareCodeUnits(a.id, b.id));
386
389
  const seed = {
387
390
  schema_version: "remediate-code-contract-pipeline/path-a-seed/v1alpha2",
388
391
  audit_findings_path: auditFindingsPath,
@@ -1284,7 +1287,7 @@ The orchestrator verifies every module shard is present, merges them into \`${PH
1284
1287
  .find((g) => Boolean(g)) ||
1285
1288
  "";
1286
1289
  const merged = mergeModuleShards(modules, scan.present, goalId);
1287
- await writeContractArtifact(artifactsDir, PARALLEL_MODULE_PHASES[phase], merged);
1290
+ await writeDerivedContractArtifact(artifactsDir, PARALLEL_MODULE_PHASES[phase], merged);
1288
1291
  return "merged";
1289
1292
  };
1290
1293
  // 1. Ingest raw worker outputs into validated envelopes. An output that
@@ -1501,7 +1504,7 @@ Read conceptual_design_critique.json, decide with the user how to resolve each b
1501
1504
  if (nextPhase === "obligation_ledger") {
1502
1505
  const finalizedPayload = envelopePayload(await readContractArtifact(artifactsDir, "finalized_module_contracts"));
1503
1506
  const ledger = deriveObligationLedger(finalizedPayload);
1504
- await writeContractArtifact(artifactsDir, "obligation_ledger", ledger);
1507
+ await writeDerivedContractArtifact(artifactsDir, "obligation_ledger", ledger);
1505
1508
  return buildNextContractPipelineStep(options);
1506
1509
  }
1507
1510
  // 2.9. Degenerate seam_reconciliation collapse. A single-module decomposition
@@ -1516,7 +1519,7 @@ Read conceptual_design_critique.json, decide with the user how to resolve each b
1516
1519
  if (modules.length <= 1) {
1517
1520
  const drafted = envelopePayload(await readContractArtifact(artifactsDir, "module_contracts"));
1518
1521
  const goalId = isRecord(drafted) && typeof drafted.goal_id === "string" ? drafted.goal_id : "";
1519
- await writeContractArtifact(artifactsDir, "seam_reconciliation_report", {
1522
+ await writeDerivedContractArtifact(artifactsDir, "seam_reconciliation_report", {
1520
1523
  contract_version: "remediate-code-contract-pipeline/seam-reconciliation-report/v1alpha1",
1521
1524
  goal_id: goalId,
1522
1525
  mismatches: [],
@@ -1540,7 +1543,7 @@ Read conceptual_design_critique.json, decide with the user how to resolve each b
1540
1543
  const drafted = envelopePayload(await readContractArtifact(artifactsDir, "module_contracts"));
1541
1544
  const seamReport = envelopePayload(await readContractArtifact(artifactsDir, "seam_reconciliation_report"));
1542
1545
  const finalized = deriveFinalizedModuleContracts(drafted, seamReport);
1543
- await writeContractArtifact(artifactsDir, "finalized_module_contracts", finalized);
1546
+ await writeDerivedContractArtifact(artifactsDir, "finalized_module_contracts", finalized);
1544
1547
  return buildNextContractPipelineStep(options);
1545
1548
  }
1546
1549
  // 3. Judge gate: implementation planning is reachable only through an approved
@@ -1811,7 +1814,7 @@ ${rejectionRewriteInstruction(archived)}`);
1811
1814
  const ledgerHash = ledgerEnvelope?.content_hash ?? "unknown";
1812
1815
  if (detectedCycles.length === 0) {
1813
1816
  // No cycles — write the no_cycles artifact and let the pipeline proceed.
1814
- await writeContractArtifact(artifactsDir, "cyclic_seam_resolution", {
1817
+ await writeDerivedContractArtifact(artifactsDir, "cyclic_seam_resolution", {
1815
1818
  contract_version: "remediate-code-contract-pipeline/cyclic-seam-resolution/v1alpha1",
1816
1819
  goal_id: obligationLedgerPayload?.goal_id ?? "",
1817
1820
  cycles: [],