audit-tools 0.32.55 → 0.32.56

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 (97) hide show
  1. package/dist/audit/cli/dispatch/pausePersist.d.ts +60 -0
  2. package/dist/audit/cli/dispatch/pausePersist.d.ts.map +1 -0
  3. package/dist/audit/cli/dispatch/pausePersist.js +110 -0
  4. package/dist/audit/cli/dispatch/pausePersist.js.map +1 -0
  5. package/dist/audit/cli/dispatch/types.d.ts +12 -0
  6. package/dist/audit/cli/dispatch/types.d.ts.map +1 -1
  7. package/dist/audit/cli/dispatch.d.ts.map +1 -1
  8. package/dist/audit/cli/dispatch.js +49 -1
  9. package/dist/audit/cli/dispatch.js.map +1 -1
  10. package/dist/audit/cli/mergeAndIngestCommand.d.ts +9 -0
  11. package/dist/audit/cli/mergeAndIngestCommand.d.ts.map +1 -1
  12. package/dist/audit/cli/mergeAndIngestCommand.js +2 -27
  13. package/dist/audit/cli/mergeAndIngestCommand.js.map +1 -1
  14. package/dist/audit/cli/nextStepCommand.d.ts +0 -10
  15. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  16. package/dist/audit/cli/nextStepCommand.js +3 -33
  17. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  18. package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
  19. package/dist/audit/cli/rollingAuditDispatch.js +55 -115
  20. package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
  21. package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
  22. package/dist/audit/cli/semanticReviewStep.js +41 -0
  23. package/dist/audit/cli/semanticReviewStep.js.map +1 -1
  24. package/dist/audit/orchestrator/intentScopeDisposition.d.ts +14 -24
  25. package/dist/audit/orchestrator/intentScopeDisposition.d.ts.map +1 -1
  26. package/dist/audit/orchestrator/intentScopeDisposition.js +17 -35
  27. package/dist/audit/orchestrator/intentScopeDisposition.js.map +1 -1
  28. package/dist/audit/orchestrator/scope.d.ts +0 -1
  29. package/dist/audit/orchestrator/scope.d.ts.map +1 -1
  30. package/dist/audit/orchestrator/scope.js +2 -4
  31. package/dist/audit/orchestrator/scope.js.map +1 -1
  32. package/dist/audit/reporting/mergeFindings.d.ts.map +1 -1
  33. package/dist/audit/reporting/mergeFindings.js +17 -222
  34. package/dist/audit/reporting/mergeFindings.js.map +1 -1
  35. package/dist/audit/systemic/systemicChallengeLoop.d.ts.map +1 -1
  36. package/dist/audit/systemic/systemicChallengeLoop.js +3 -8
  37. package/dist/audit/systemic/systemicChallengeLoop.js.map +1 -1
  38. package/dist/remediate/dedup/crossLensDedup.d.ts +11 -4
  39. package/dist/remediate/dedup/crossLensDedup.d.ts.map +1 -1
  40. package/dist/remediate/dedup/crossLensDedup.js +27 -146
  41. package/dist/remediate/dedup/crossLensDedup.js.map +1 -1
  42. package/dist/remediate/index.d.ts +0 -10
  43. package/dist/remediate/index.d.ts.map +1 -1
  44. package/dist/remediate/index.js +1 -32
  45. package/dist/remediate/index.js.map +1 -1
  46. package/dist/remediate/intent/checkpointFilter.d.ts +4 -3
  47. package/dist/remediate/intent/checkpointFilter.d.ts.map +1 -1
  48. package/dist/remediate/intent/checkpointFilter.js +12 -53
  49. package/dist/remediate/intent/checkpointFilter.js.map +1 -1
  50. package/dist/remediate/steps/dispatch/marshal.d.ts.map +1 -1
  51. package/dist/remediate/steps/dispatch/marshal.js +2 -29
  52. package/dist/remediate/steps/dispatch/marshal.js.map +1 -1
  53. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  54. package/dist/remediate/steps/nextStep.js +48 -4
  55. package/dist/remediate/steps/nextStep.js.map +1 -1
  56. package/dist/remediate/steps/providerNodeDispatch.d.ts.map +1 -1
  57. package/dist/remediate/steps/providerNodeDispatch.js +12 -53
  58. package/dist/remediate/steps/providerNodeDispatch.js.map +1 -1
  59. package/dist/remediate/steps/rollingSession.d.ts +13 -0
  60. package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
  61. package/dist/remediate/steps/rollingSession.js +35 -1
  62. package/dist/remediate/steps/rollingSession.js.map +1 -1
  63. package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
  64. package/dist/remediate/validation/contractPipelineGates.js +13 -4
  65. package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
  66. package/dist/shared/dispatch/admissionLeaseReconcile.d.ts +20 -0
  67. package/dist/shared/dispatch/admissionLeaseReconcile.d.ts.map +1 -0
  68. package/dist/shared/dispatch/admissionLeaseReconcile.js +36 -0
  69. package/dist/shared/dispatch/admissionLeaseReconcile.js.map +1 -0
  70. package/dist/shared/dispatch/hostDispatchWall.d.ts +34 -0
  71. package/dist/shared/dispatch/hostDispatchWall.d.ts.map +1 -0
  72. package/dist/shared/dispatch/hostDispatchWall.js +15 -0
  73. package/dist/shared/dispatch/hostDispatchWall.js.map +1 -0
  74. package/dist/shared/dispatch/providerLaunchFinalize.d.ts +49 -0
  75. package/dist/shared/dispatch/providerLaunchFinalize.d.ts.map +1 -0
  76. package/dist/shared/dispatch/providerLaunchFinalize.js +90 -0
  77. package/dist/shared/dispatch/providerLaunchFinalize.js.map +1 -0
  78. package/dist/shared/dispatch/rollingDispatch.d.ts +0 -15
  79. package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
  80. package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
  81. package/dist/shared/findings/dedupe.d.ts +106 -0
  82. package/dist/shared/findings/dedupe.d.ts.map +1 -0
  83. package/dist/shared/findings/dedupe.js +304 -0
  84. package/dist/shared/findings/dedupe.js.map +1 -0
  85. package/dist/shared/index.d.ts +8 -0
  86. package/dist/shared/index.d.ts.map +1 -1
  87. package/dist/shared/index.js +6 -0
  88. package/dist/shared/index.js.map +1 -1
  89. package/dist/shared/intake/guidanceBootstrap.d.ts +13 -0
  90. package/dist/shared/intake/guidanceBootstrap.d.ts.map +1 -0
  91. package/dist/shared/intake/guidanceBootstrap.js +36 -0
  92. package/dist/shared/intake/guidanceBootstrap.js.map +1 -0
  93. package/dist/shared/intent/pathScope.d.ts +27 -0
  94. package/dist/shared/intent/pathScope.d.ts.map +1 -0
  95. package/dist/shared/intent/pathScope.js +99 -0
  96. package/dist/shared/intent/pathScope.js.map +1 -0
  97. package/package.json +1 -1
@@ -1,155 +1,36 @@
1
- import { severityRank, confidenceRank, findingIdentityKey, wordJaccard, filePathOverlap, primaryPath, } from "audit-tools/shared";
1
+ import { crossLensDedupe, wordJaccard } from "audit-tools/shared";
2
2
  // Re-exported: tests/remediate/cross-lens-dedup.test.ts imports wordJaccard
3
3
  // directly from this module.
4
4
  export { wordJaccard };
5
5
  /**
6
- * The shared finding-identity signature of a finding, but only when it is
7
- * *discriminating* enough to stand on its own as an exact-match key for
8
- * cross-lens dedup. A structural-anchor signature with an empty scope
9
- * (`anchor|<path>|`) means nothing more than "same file" too coarse to
10
- * collapse two findings by itself, so the fuzzy title/overlap layer must refine
11
- * it. We return `null` in that case so it never short-circuits the heuristic.
12
- * Anchored-with-scope and normalized-title signatures are discriminating and are
13
- * returned verbatim; the rule/category tier embeds the lens, so two cross-lens
14
- * findings never share it (they fall through to the fuzzy layer by design).
6
+ * Remediate's DRAW of the shared cross-lens dedup core (`crossLensDedupe`): the
7
+ * auto-apply block-machine policy a HARD category gate (never collapse two
8
+ * different-category fixes, OBL-C003-DEDUP), the exact-identity short-circuit
9
+ * (drift-plan R2), CLONE survivors so the caller's Finding objects are never
10
+ * mutated (INV-remediate-state-05), no grounding merge / no file sort, break on an
11
+ * absorbed i-slot, and a structured merge log. The returned `mergeMap` feeds
12
+ * `fixupBlocksAfterDedup`.
15
13
  */
16
- function discriminatingIdentityKey(finding) {
17
- const key = findingIdentityKey(finding);
18
- if (key.startsWith("anchor|") && key.endsWith("|"))
19
- return null;
20
- return key;
21
- }
22
14
  export function deduplicateCrossLensFindings(findings) {
23
- const groups = new Map();
24
- for (const finding of findings) {
25
- const key = primaryPath(finding);
26
- const group = groups.get(key);
27
- if (group) {
28
- group.push(finding);
29
- }
30
- else {
31
- groups.set(key, [finding]);
32
- }
33
- }
34
- const removed = new Set();
35
- const mergeMap = new Map();
36
- /**
37
- * Maps each source finding that participates as a survivor to its cloned
38
- * merged copy. INV-remediate-state-05: survivors are cloned so the caller's
39
- * original Finding objects are never mutated in place.
40
- */
41
- const cloneOf = new Map();
42
- for (const group of groups.values()) {
43
- if (group.length < 2)
44
- continue;
45
- for (let i = 0; i < group.length; i++) {
46
- if (removed.has(group[i]))
47
- continue;
48
- for (let j = i + 1; j < group.length; j++) {
49
- if (removed.has(group[j]))
50
- continue;
51
- const a = group[i];
52
- const b = group[j];
53
- if (a.lens.toLowerCase() === b.lens.toLowerCase())
54
- continue;
55
- // Category is a hard merge-key discriminator, applied ahead of BOTH the
56
- // exact-match and fuzzy layers: two findings that share a file/lens-pair
57
- // but were classified under different categories describe structurally
58
- // different problems and must NEVER be collapsed — e.g. ARC-86b18f1b
59
- // (inferred_contract_gap) vs ARC-86b18f1b-2 (invariant_counterexample)
60
- // stay distinct (OBL-C003-DEDUP / OBL-INV-RPS-07). Category is
61
- // orthogonal to the structural-anchor identity signature (which ignores
62
- // it), so it remains an independent hard gate. A true duplicate keeps the
63
- // same category and still collapses below.
64
- if (a.category.toLowerCase() !== b.category.toLowerCase())
65
- continue;
66
- // Exact-match layer (drift-plan R2): within a matching category, the
67
- // shared finding-identity signature is the one authority for "is this the
68
- // same finding?". When two cross-lens findings share a DISCRIMINATING
69
- // signature they ARE the same defect — collapse even if their titles
70
- // diverged enough to slip under the Jaccard floor (the signature is
71
- // lens-independent at the structural-anchor-with-scope and
72
- // normalized-title tiers). Otherwise fall back to the fuzzy heuristic: a
73
- // moderate title overlap plus a real file overlap.
74
- const keyA = discriminatingIdentityKey(a);
75
- const keyB = discriminatingIdentityKey(b);
76
- const exactIdentityMatch = keyA !== null && keyA === keyB;
77
- if (!exactIdentityMatch) {
78
- const titleSim = wordJaccard(a.title, b.title);
79
- if (titleSim < 0.4)
80
- continue;
81
- if (filePathOverlap(a, b) < 0.5)
82
- continue;
83
- }
84
- const aSev = severityRank(a.severity);
85
- const bSev = severityRank(b.severity);
86
- const aConf = confidenceRank(a.confidence);
87
- const bConf = confidenceRank(b.confidence);
88
- const keepA = aSev > bSev || (aSev === bSev && aConf >= bConf);
89
- // originalSurvivor is one of the source Finding objects (a or b).
90
- // absorbed is the other source Finding.
91
- const originalSurvivor = keepA ? a : b;
92
- const absorbed = keepA ? b : a;
93
- // Re-use the existing clone if this survivor has already been cloned by
94
- // a prior pair in this group; otherwise create a new clone.
95
- let survivor = cloneOf.get(originalSurvivor);
96
- if (!survivor) {
97
- survivor = {
98
- ...originalSurvivor,
99
- affected_files: [...originalSurvivor.affected_files],
100
- evidence: originalSurvivor.evidence ? [...originalSurvivor.evidence] : [],
101
- };
102
- cloneOf.set(originalSurvivor, survivor);
103
- // Update the group slot so future pair iterations in the same group
104
- // refer to the clone rather than the unmodified source object.
105
- const survivorGroupIdx = keepA ? i : j;
106
- group[survivorGroupIdx] = survivor;
107
- }
108
- const existingPaths = new Set(survivor.affected_files.map((f) => `${f.path}:${f.line_start ?? ""}:${f.line_end ?? ""}:${f.symbol ?? ""}`));
109
- for (const file of absorbed.affected_files) {
110
- const fKey = `${file.path}:${file.line_start ?? ""}:${file.line_end ?? ""}:${file.symbol ?? ""}`;
111
- if (!existingPaths.has(fKey)) {
112
- survivor.affected_files.push(file);
113
- existingPaths.add(fKey);
114
- }
115
- }
116
- survivor.evidence = [
117
- ...new Set([
118
- ...(survivor.evidence ?? []),
119
- ...(absorbed.evidence ?? []),
120
- ]),
121
- ];
122
- survivor.systemic = Boolean(survivor.systemic || absorbed.systemic);
123
- if (absorbed.summary.length > survivor.summary.length) {
124
- survivor.summary = absorbed.summary;
125
- }
126
- removed.add(absorbed);
127
- mergeMap.set(absorbed.id, survivor.id);
128
- process.stderr.write(JSON.stringify({
129
- level: "info",
130
- event: "cross_lens_dedup_merge",
131
- absorbed_id: absorbed.id,
132
- absorbed_lens: absorbed.lens,
133
- survivor_id: survivor.id,
134
- survivor_lens: survivor.lens,
135
- ts: new Date().toISOString(),
136
- }) + "\n");
137
- // If the `i`-slot finding was just absorbed (!keepA), stop the inner
138
- // loop — there is no point comparing an absorbed finding with more
139
- // candidates. The outer loop's guard (removed.has(group[i])) handles
140
- // advancing `i` past it on the next outer iteration.
141
- if (!keepA)
142
- break;
143
- }
144
- }
145
- }
146
- // Return clones for survivors, original objects for untouched findings.
147
- return {
148
- findings: findings
149
- .filter((f) => !removed.has(f))
150
- .map((f) => cloneOf.get(f) ?? f),
151
- mergeMap,
152
- };
15
+ return crossLensDedupe(findings, {
16
+ categoryGate: "hard",
17
+ exactIdentityShortCircuit: true,
18
+ survivorMutation: "clone",
19
+ mergeGrounding: false,
20
+ sortAffectedFiles: false,
21
+ breakOnAbsorbedSurvivor: true,
22
+ onMerge: ({ absorbed, survivor }) => {
23
+ process.stderr.write(JSON.stringify({
24
+ level: "info",
25
+ event: "cross_lens_dedup_merge",
26
+ absorbed_id: absorbed.id,
27
+ absorbed_lens: absorbed.lens,
28
+ survivor_id: survivor.id,
29
+ survivor_lens: survivor.lens,
30
+ ts: new Date().toISOString(),
31
+ }) + "\n");
32
+ },
33
+ });
153
34
  }
154
35
  export function fixupBlocksAfterDedup(blocks, mergeMap) {
155
36
  if (mergeMap.size === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"crossLensDedup.js","sourceRoot":"","sources":["../../../src/remediate/dedup/crossLensDedup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crossLensDedup.js","sourceRoot":"","sources":["../../../src/remediate/dedup/crossLensDedup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIlE,4EAA4E;AAC5E,6BAA6B;AAC7B,OAAO,EAAE,WAAW,EAAE,CAAC;AAIvB;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAC1C,QAAmB;IAEnB,OAAO,eAAe,CAAC,QAAQ,EAAE;QAC/B,YAAY,EAAE,MAAM;QACpB,yBAAyB,EAAE,IAAI;QAC/B,gBAAgB,EAAE,OAAO;QACzB,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,uBAAuB,EAAE,IAAI;QAC7B,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;gBACb,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,wBAAwB;gBAC/B,WAAW,EAAE,QAAQ,CAAC,EAAE;gBACxB,aAAa,EAAE,QAAQ,CAAC,IAAI;gBAC5B,WAAW,EAAE,QAAQ,CAAC,EAAE;gBACxB,aAAa,EAAE,QAAQ,CAAC,IAAI;gBAC5B,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAC7B,CAAC,GAAG,IAAI,CACV,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,MAA0B,EAC1B,QAA6B;IAE7B,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACvC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,GAAG,KAAK;QACR,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;KACrE,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -51,16 +51,6 @@ export declare function parseProgram(argv: string[]): void;
51
51
  * non-boolean `<flag>=<other>` value fails loudly rather than silently defaulting.
52
52
  */
53
53
  export declare function normalizeBooleanFlagArgv(argv: string[], flag: string): string[];
54
- /**
55
- * Single-step bootstrap writer for `intake/conversation-start.md`.
56
- *
57
- * Sole writer + idempotent-on-target (INV-CC-03): re-applying the identical
58
- * guidance is a byte-identical no-op (the existing file is left untouched, never
59
- * appended to), and a pre-existing file with DIFFERING content is never silently
60
- * clobbered — that case fails loudly so host/conversation-authored guidance can't
61
- * be lost. The guidance file's bytes are written verbatim.
62
- */
63
- export declare function applyGuidanceFile(artifactsDir: string, guidanceFilePath: string): string;
64
54
  /**
65
55
  * Resolve the remediation artifacts dir. An explicit `--artifacts-dir` is
66
56
  * honored verbatim; the unchanged commander default (`.audit-tools/remediation`)
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/remediate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,OAAO,EAML,KAAK,4BAA4B,EAClC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAYL,UAAU,EACX,MAAM,oBAAoB,CAAC;AAwC5B,QAAA,MAAM,OAAO,SAAgB,CAAC;AAoP9B,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,4BAA4B,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,4BAA4B,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAuFtE;AAiCD,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAEjD;AAUD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAU/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAuBR;AAYD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB,MAAM,CAIR;AAED,wBAAgB,kBAAkB,CAChC,IAAI,GAAE;IACJ,GAAG,CAAC,EAAE,OAAO,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B,GACL,MAAM,CAcR;AA4FD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAkB,EACxC,OAAO,SAAY,EACnB,IAAI,SAAgB,GACnB,IAAI,CA4EN"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/remediate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,OAAO,EAML,KAAK,4BAA4B,EAClC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAaL,UAAU,EACX,MAAM,oBAAoB,CAAC;AAwC5B,QAAA,MAAM,OAAO,SAAgB,CAAC;AAoP9B,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,4BAA4B,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,4BAA4B,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAuFtE;AAiCD,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAEjD;AAUD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAU/E;AAYD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB,MAAM,CAIR;AAED,wBAAgB,kBAAkB,CAChC,IAAI,GAAE;IACJ,GAAG,CAAC,EAAE,OAAO,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B,GACL,MAAM,CAcR;AA4FD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAkB,EACxC,OAAO,SAAY,EACnB,IAAI,SAAgB,GACnB,IAAI,CA4EN"}
@@ -11,7 +11,7 @@ import { validateArtifacts } from "./validation/artifacts.js";
11
11
  import { CONTRACT_PIPELINE_VALIDATORS, evaluateContractPipelineCrossGates, } from "./validation/contractPipeline.js";
12
12
  import { CP_ARTIFACT_NAMES, isEnvelope, stampToolCreatedAt, readContractArtifact, envelopePayload, } from "./contractPipeline/artifactStore.js";
13
13
  import { intakePaths } from "./intake.js";
14
- import { setQuotaStateDir, parseHostModelRoster, assertHostProviderName, remediationArtifactsDir, resolveRepoRoot, mergeOpenCodeAgentPermissionRule, mergeOpenCodeGlobalPermissionRule, migrateOpenCodeGlobalExternalDirectory, withoutOpenCodeWildcard, readOptionalJsonFile, runTracked, } from "audit-tools/shared";
14
+ import { applyGuidanceFile, setQuotaStateDir, parseHostModelRoster, assertHostProviderName, remediationArtifactsDir, resolveRepoRoot, mergeOpenCodeAgentPermissionRule, mergeOpenCodeGlobalPermissionRule, migrateOpenCodeGlobalExternalDirectory, withoutOpenCodeWildcard, readOptionalJsonFile, runTracked, } from "audit-tools/shared";
15
15
  // src/remediate/index.ts (source) or dist/remediate/index.js (built) → three
16
16
  // dirnames up is the package root, holding package.json + skills/ + opencode.json.
17
17
  const pkgRoot = dirname(dirname(dirname(fileURLToPath(import.meta.url))));
@@ -341,37 +341,6 @@ export function normalizeBooleanFlagArgv(argv, flag) {
341
341
  return token;
342
342
  });
343
343
  }
344
- /**
345
- * Single-step bootstrap writer for `intake/conversation-start.md`.
346
- *
347
- * Sole writer + idempotent-on-target (INV-CC-03): re-applying the identical
348
- * guidance is a byte-identical no-op (the existing file is left untouched, never
349
- * appended to), and a pre-existing file with DIFFERING content is never silently
350
- * clobbered — that case fails loudly so host/conversation-authored guidance can't
351
- * be lost. The guidance file's bytes are written verbatim.
352
- */
353
- export function applyGuidanceFile(artifactsDir, guidanceFilePath) {
354
- const target = join(artifactsDir, "intake", "conversation-start.md");
355
- const resolvedSource = resolve(guidanceFilePath);
356
- if (resolve(target) === resolvedSource) {
357
- // The guidance file already IS the target — nothing to copy, and reading
358
- // then rewriting it would be a pointless self-write.
359
- return target;
360
- }
361
- const incoming = readFileSync(resolvedSource);
362
- if (existsSync(target)) {
363
- const existing = readFileSync(target);
364
- if (existing.equals(incoming)) {
365
- // Identical re-apply: byte-identical no-op, no rewrite, no append.
366
- return target;
367
- }
368
- throw new Error(`Refusing to overwrite existing ${target} with differing guidance from ${resolvedSource}. ` +
369
- `Remove or reconcile the existing conversation-start.md before re-bootstrapping.`);
370
- }
371
- mkdirSync(dirname(target), { recursive: true });
372
- writeFileSync(target, incoming);
373
- return target;
374
- }
375
344
  async function withBackendLogsOnStderr(fn) {
376
345
  const originalLog = console.log;
377
346
  console.log = (...args) => console.error(...args);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/remediate/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/remediate/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import type { Finding, IntentCheckpoint } from "audit-tools/shared";
1
+ import { type Finding, type IntentCheckpoint } from "audit-tools/shared";
2
2
  /**
3
3
  * Drop findings the intent checkpoint excludes: those that fail the severity /
4
- * lens / package / theme filters, or whose files fall under `excluded_scope` /
5
- * `must_not_touch`. Returns the kept findings and the ids of the dropped ones
4
+ * lens / package / theme filters, or whose files fall under the structured scope
5
+ * (`excluded_scope` / `disposition_overrides` / `must_not_touch`). Returns the
6
+ * kept findings and the ids of the dropped ones
6
7
  * (for the coverage ledger and the final report). A checkpoint with no filters
7
8
  * or exclusions keeps everything. A draft checkpoint (confirmed_by: "draft") is
8
9
  * not yet confirmed — no filtering is applied.
@@ -1 +1 @@
1
- {"version":3,"file":"checkpointFilter.d.ts","sourceRoot":"","sources":["../../../src/remediate/intent/checkpointFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAyFpE;;;;;;;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,CAsB3C"}
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,47 +1,4 @@
1
- function normalize(p) {
2
- return p.replace(/\\/g, "/");
3
- }
4
- /** Exact path or directory-prefix match (e.g. "src/api" matches "src/api/x.ts"). */
5
- function pathMatchesPrefix(filePath, entryPath) {
6
- const f = normalize(filePath);
7
- const p = normalize(entryPath).replace(/\/+$/, "");
8
- if (!p)
9
- return false;
10
- return f === p || f.startsWith(`${p}/`);
11
- }
12
- /** Minimal glob match supporting `*` (within a segment) and `**` (across segments). */
13
- function globMatches(filePath, glob) {
14
- const f = normalize(filePath);
15
- const g = normalize(glob);
16
- if (!g.includes("*") && !g.includes("?")) {
17
- return pathMatchesPrefix(f, g);
18
- }
19
- // Translate the glob to a regex char-by-char so `*` / `**` / `?` are handled
20
- // and every other character is escaped — no placeholder substitution.
21
- let re = "";
22
- for (let i = 0; i < g.length; i++) {
23
- const c = g[i];
24
- if (c === "*") {
25
- if (g[i + 1] === "*") {
26
- re += ".*";
27
- i++;
28
- }
29
- else {
30
- re += "[^/]*";
31
- }
32
- }
33
- else if (c === "?") {
34
- re += "[^/]";
35
- }
36
- else if (/[.+^${}()|[\]\\]/.test(c)) {
37
- re += `\\${c}`;
38
- }
39
- else {
40
- re += c;
41
- }
42
- }
43
- return new RegExp(`^${re}$`).test(f);
44
- }
1
+ import { fileExclusionReason, pathMatchesPrefix, } from "audit-tools/shared";
45
2
  function affectedPaths(finding) {
46
3
  return (finding.affected_files ?? []).map((f) => f.path).filter(Boolean);
47
4
  }
@@ -71,17 +28,18 @@ function isPathExcluded(finding, checkpoint) {
71
28
  const paths = affectedPaths(finding);
72
29
  if (paths.length === 0)
73
30
  return false;
74
- const excluded = checkpoint.excluded_scope ?? [];
75
- const mustNotTouch = checkpoint.must_not_touch ?? [];
76
- // A finding is excluded if ANY of its files falls under an excluded path or a
77
- // must-not-touch glob remediating it would require touching forbidden scope.
78
- return paths.some((path) => excluded.some((entry) => pathMatchesPrefix(path, entry.path)) ||
79
- mustNotTouch.some((glob) => globMatches(path, glob)));
31
+ // A finding is excluded if ANY of its files falls under the checkpoint's structured
32
+ // scope (excluded_scope / disposition_overrides / must_not_touch) remediating it
33
+ // would require touching forbidden scope. Per-file field coverage is single-sourced
34
+ // with audit via the shared `fileExclusionReason`; only the ANY-file aggregation
35
+ // (vs audit's every-file) is remediate's domain policy.
36
+ return paths.some((path) => fileExclusionReason(path, checkpoint) !== null);
80
37
  }
81
38
  /**
82
39
  * Drop findings the intent checkpoint excludes: those that fail the severity /
83
- * lens / package / theme filters, or whose files fall under `excluded_scope` /
84
- * `must_not_touch`. Returns the kept findings and the ids of the dropped ones
40
+ * lens / package / theme filters, or whose files fall under the structured scope
41
+ * (`excluded_scope` / `disposition_overrides` / `must_not_touch`). Returns the
42
+ * kept findings and the ids of the dropped ones
85
43
  * (for the coverage ledger and the final report). A checkpoint with no filters
86
44
  * or exclusions keeps everything. A draft checkpoint (confirmed_by: "draft") is
87
45
  * not yet confirmed — no filtering is applied.
@@ -94,7 +52,8 @@ export function filterFindingsByCheckpoint(findings, checkpoint) {
94
52
  return { kept: findings, droppedIds: [] };
95
53
  const hasConstraints = Boolean(checkpoint.filters) ||
96
54
  (checkpoint.excluded_scope?.length ?? 0) > 0 ||
97
- (checkpoint.must_not_touch?.length ?? 0) > 0;
55
+ (checkpoint.must_not_touch?.length ?? 0) > 0 ||
56
+ (checkpoint.disposition_overrides?.length ?? 0) > 0;
98
57
  if (!hasConstraints)
99
58
  return { kept: findings, droppedIds: [] };
100
59
  const droppedIds = [];
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"marshal.d.ts","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/marshal.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAOzE,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAc9E,OAAO,EAIL,KAAK,uBAAuB,EAE7B,MAAM,aAAa,CAAC;AAarB,OAAO,EACL,eAAe,EAWhB,MAAM,aAAa,CAAC;AA0BrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAkInD,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE;IACZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GACA,OAAO,CAAC,uBAAuB,CAAC,CA8LlC;AAqDD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,gBAAgB,CAAC,CAsC3B;AA2xBD,wBAAsB,0BAA0B,CAC9C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAE9B;AAED,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,uBAAuB,CAAC,CAElC"}
1
+ {"version":3,"file":"marshal.d.ts","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/marshal.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAOzE,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAc9E,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,aAAa,CAAC;AAarB,OAAO,EACL,eAAe,EAWhB,MAAM,aAAa,CAAC;AA0BrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAkInD,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE;IACZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GACA,OAAO,CAAC,uBAAuB,CAAC,CA8LlC;AA2BD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,gBAAgB,CAAC,CAwC3B;AA2xBD,wBAAsB,0BAA0B,CAC9C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAE9B;AAED,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,uBAAuB,CAAC,CAElC"}
@@ -17,7 +17,7 @@ import { REMEDIATION_DISPATCH_PLAN_CONTRACT_VERSION, } from "../types.js";
17
17
  import { specIndicatesNoChange, hasExecutableEvidence, dependencyVerifiedComplete, } from "../stepUtils.js";
18
18
  import { isTerminalStatus, isVerifiedCompleteStatus, isSkipStatus, } from "../../state/itemStatus.js";
19
19
  import { resnapshotAffectedFileHashes } from "../../utils/fileIntegrity.js";
20
- import { createReservationLedger } from "audit-tools/shared";
20
+ import { reconcileAdmissionLeasesFromQuotaFile } from "audit-tools/shared";
21
21
  import { runDir, dispatchPlanPath, getCachedConventions, estimateImplementSlotTokens, worktreeBranchForBlock, gitBranchExists, gitEditedFilesForBranch, gitHunksForBranch, gitCommitIsAncestor, toRepoRelative, } from "./common.js";
22
22
  import { worktreePath, ensureRemediationBranchCheckedOut, quarantineCommitByOid, } from "./worktreeLifecycle.js";
23
23
  import { scheduleWave, buildDispatchQuota } from "./waveScheduling.js";
@@ -295,37 +295,10 @@ function obligationIdsForFinding(state, findingId) {
295
295
  ...(finding.verification_obligation_ids ?? []),
296
296
  ];
297
297
  }
298
- /**
299
- * Reconcile (free) the reservation-ledger leases the dispatch grant took for this
300
- * run's granted set — the "reconcile at result-ingest" half of admission control
301
- * (spec/audit/dispatch-admission-control.md), the remediate analog of audit's
302
- * `reconcileAdmissionLeases`. The host has now reported the granted set's results, so
303
- * those reservations are no longer in flight and their budget returns to the shared
304
- * account for the NEXT grant. Best-effort + token-checked (a missing/already-freed
305
- * lease is a no-op), so a lost reconcile self-heals via the lease TTL and never blocks
306
- * the merge. Only the host-subagent grant persists leases (`grantLeases: true`); the
307
- * in-process path leases per-packet in the engine and reconciles there.
308
- */
309
- async function reconcileAdmissionLeases(artifactsDir, runId) {
310
- const quotaPath = join(runDir(artifactsDir, runId, "implement"), "dispatch-quota.json");
311
- const quota = await readOptionalJsonFile(quotaPath);
312
- const leases = quota?.admission?.leases;
313
- if (!leases || leases.length === 0)
314
- return;
315
- const ledger = createReservationLedger();
316
- for (const lease of leases) {
317
- try {
318
- await ledger.reconcile(lease.resource_key, lease.lease_id);
319
- }
320
- catch {
321
- // Best-effort: the lease TTL reclaims budget if a reconcile is lost.
322
- }
323
- }
324
- }
325
298
  export async function mergeImplementResults(options, runId) {
326
299
  // Free the grant's reservation-ledger leases now that the host has reported the
327
300
  // granted set's results — returns the reserved budget for the next grant.
328
- await reconcileAdmissionLeases(options.artifactsDir, runId);
301
+ await reconcileAdmissionLeasesFromQuotaFile(join(runDir(options.artifactsDir, runId, "implement"), "dispatch-quota.json"));
329
302
  const plan = await readJsonFile(dispatchPlanPath(options.artifactsDir, runId, "implement"));
330
303
  if (plan.contract_version !== REMEDIATION_DISPATCH_PLAN_CONTRACT_VERSION ||
331
304
  plan.phase !== "implement") {