audit-tools 0.54.0 → 0.55.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 (44) hide show
  1. package/dist/audit/cli/auditStep.js +2 -2
  2. package/dist/audit/cli/auditStep.js.map +1 -1
  3. package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
  4. package/dist/audit/cli/dispatch/hostHandoff.js +70 -10
  5. package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
  6. package/dist/audit/contracts/findingContractPrompt.d.ts.map +1 -1
  7. package/dist/audit/contracts/findingContractPrompt.js +13 -11
  8. package/dist/audit/contracts/findingContractPrompt.js.map +1 -1
  9. package/dist/audit/contracts/workerSchemas.d.ts +21 -124
  10. package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
  11. package/dist/audit/contracts/workerSchemas.js +19 -3
  12. package/dist/audit/contracts/workerSchemas.js.map +1 -1
  13. package/dist/remediate/phases/close.d.ts.map +1 -1
  14. package/dist/remediate/phases/close.js +52 -2
  15. package/dist/remediate/phases/close.js.map +1 -1
  16. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  17. package/dist/remediate/steps/nextStep.js +17 -5
  18. package/dist/remediate/steps/nextStep.js.map +1 -1
  19. package/dist/shared/findings/dedupe.d.ts.map +1 -1
  20. package/dist/shared/findings/dedupe.js +14 -2
  21. package/dist/shared/findings/dedupe.js.map +1 -1
  22. package/dist/shared/git.d.ts.map +1 -1
  23. package/dist/shared/git.js +6 -2
  24. package/dist/shared/git.js.map +1 -1
  25. package/dist/shared/index.d.ts +2 -2
  26. package/dist/shared/index.d.ts.map +1 -1
  27. package/dist/shared/index.js +2 -2
  28. package/dist/shared/index.js.map +1 -1
  29. package/dist/shared/types/finding.d.ts +4 -14
  30. package/dist/shared/types/finding.d.ts.map +1 -1
  31. package/dist/shared/types/finding.js +6 -16
  32. package/dist/shared/types/finding.js.map +1 -1
  33. package/dist/shared/validation/designFindingGrounding.d.ts +3 -2
  34. package/dist/shared/validation/designFindingGrounding.d.ts.map +1 -1
  35. package/dist/shared/validation/designFindingGrounding.js +12 -2
  36. package/dist/shared/validation/designFindingGrounding.js.map +1 -1
  37. package/dist/shared/validation/findingGrounding.d.ts +18 -6
  38. package/dist/shared/validation/findingGrounding.d.ts.map +1 -1
  39. package/dist/shared/validation/findingGrounding.js +107 -24
  40. package/dist/shared/validation/findingGrounding.js.map +1 -1
  41. package/package.json +1 -1
  42. package/schemas/audit_result.schema.json +0 -8
  43. package/schemas/audit_results.schema.json +0 -8
  44. package/schemas/finding.schema.json +0 -8
@@ -1,3 +1,4 @@
1
+ // sites-pinned: tests/audit/quote-grounding.test.ts, tests/shared/finding-grounding.test.ts, tests/audit/host-ingest-grounding.test.ts
1
2
  /**
2
3
  * Finding grounding primitives — single source for both orchestrators.
3
4
  *
@@ -10,11 +11,13 @@
10
11
  *
11
12
  * Matching is on *content*, normalized for whitespace/CRLF, not on line numbers
12
13
  * — later edits that shift line numbers do not false-fail a still-valid quote,
13
- * while a quote naming code that does not exist cannot match.
14
+ * while a quote naming code that does not exist cannot match. The line numbers
15
+ * a finding carries are DERIVED from where its quote occurs (`groundFinding`),
16
+ * never taken from the reviewer.
14
17
  *
15
18
  * Before this module the auditor (`quoteGrounding.ts`) and the conceptual-review
16
19
  * grounding (`designFindingGrounding.ts`) each carried their own copy of
17
- * `normalizeForMatch` / `quoteMatches` / `verifyFindingGrounding` and a near-
20
+ * `normalizeForMatch` / `quoteMatches` / the quote verifier and a near-
18
21
  * identical path normalizer; this is the one authority both consume (drift-plan
19
22
  * E3 + P7).
20
23
  */
@@ -32,7 +35,7 @@ export function normalizeForMatch(text) {
32
35
  * The single path normalizer (drift-plan P7) shared by the conceptual-review
33
36
  * grounding and any other consumer that matches a cited `affected_files` path
34
37
  * against a repo manifest. (Quote-and-verify resolves a cited path against the
35
- * filesystem instead, so it does not lowercase — see `verifyFindingGrounding`.)
38
+ * filesystem instead, so it does not lowercase — see `groundFinding`.)
36
39
  *
37
40
  * INV-B3-1: strips a leading `./` ONLY — it must NEVER strip the leading dot of a
38
41
  * dotfile-directory segment (`.claude/…`, `.github/…`). The regex is anchored to
@@ -135,15 +138,59 @@ export async function enumerateTrackedFilePaths(root) {
135
138
  }
136
139
  return known;
137
140
  }
141
+ /**
142
+ * Every place the (normalized) quote occurs in the (normalized) file content,
143
+ * each mapped back to the raw file's lines. Overlapping occurrences count: the
144
+ * question is how many LOCATIONS the quote could name, and `aa` names two places
145
+ * in `aaa`. An empty quote occurs nowhere (an empty quote grounds nothing).
146
+ *
147
+ * The normalized text is built here character by character, recording the raw
148
+ * line of each kept character, and it is the same text {@link normalizeForMatch}
149
+ * returns: CR dropped first (so `a\rb` joins to `ab`, exactly as the regex
150
+ * pass does), each whitespace run collapsed to one space, the ends trimmed. A
151
+ * collapsed run takes the line of its first character; an occurrence never
152
+ * starts or ends on a space, because the trimmed needle cannot.
153
+ */
154
+ function locateQuote(fileContent, quotedText) {
155
+ const needle = normalizeForMatch(quotedText);
156
+ if (needle.length === 0)
157
+ return [];
158
+ let text = "";
159
+ const lineOf = [];
160
+ let line = 1;
161
+ let pendingSpaceLine;
162
+ for (const char of fileContent) {
163
+ if (char === "\r")
164
+ continue;
165
+ if (/\s/u.test(char)) {
166
+ if (pendingSpaceLine === undefined && text.length > 0)
167
+ pendingSpaceLine = line;
168
+ }
169
+ else {
170
+ if (pendingSpaceLine !== undefined) {
171
+ text += " ";
172
+ lineOf.push(pendingSpaceLine);
173
+ pendingSpaceLine = undefined;
174
+ }
175
+ text += char;
176
+ for (let unit = 0; unit < char.length; unit += 1)
177
+ lineOf.push(line);
178
+ }
179
+ if (char === "\n")
180
+ line += 1;
181
+ }
182
+ const spans = [];
183
+ for (let at = text.indexOf(needle); at !== -1; at = text.indexOf(needle, at + 1)) {
184
+ spans.push({ line_start: lineOf[at], line_end: lineOf[at + needle.length - 1] });
185
+ }
186
+ return spans;
187
+ }
138
188
  /**
139
189
  * True when the (normalized) quoted span appears anywhere in the (normalized)
140
190
  * file content. An empty quote never matches (an empty quote grounds nothing).
141
191
  */
142
192
  export function quoteMatches(fileContent, quotedText) {
143
- const needle = normalizeForMatch(quotedText);
144
- if (needle.length === 0)
145
- return false;
146
- return normalizeForMatch(fileContent).includes(needle);
193
+ return locateQuote(fileContent, quotedText).length > 0;
147
194
  }
148
195
  const defaultSourceReader = (absolutePath) => readFile(absolutePath, "utf8");
149
196
  /**
@@ -168,21 +215,39 @@ export function createMemoizedSourceReader() {
168
215
  };
169
216
  }
170
217
  /**
171
- * Re-verify a finding's cited verbatim span(s) against disk. A finding is
172
- * `grounded` as soon as ONE of its `affected_files[].quoted_text` spans matches
173
- * its cited file; it is `ungrounded` when it carries no quote at all, or when no
174
- * cited quote can be found on disk (with a reason naming the failed spans).
218
+ * Ground a finding against disk: re-read each cited verbatim span, and let the
219
+ * code it quotes — never a number the reviewer typed — say where it is.
220
+ *
221
+ * Line numbers are TOOL-OWNED. Every `affected_files` entry loses whatever
222
+ * `line_start`/`line_end` it arrived with; an entry whose quote occurs exactly
223
+ * once in its file gets that occurrence's lines written back. A quote that
224
+ * occurs nowhere names nothing, and one that occurs more than once names no
225
+ * single place, so neither carries lines. A typed number used to pass every
226
+ * check while pointing anywhere in the file; a span derived from content the
227
+ * tool has just found cannot.
228
+ *
229
+ * The finding is `grounded` as soon as ONE entry's quote occurs exactly once;
230
+ * otherwise `ungrounded`, with a reason naming each entry that failed and why.
231
+ * The verdict is written to `finding.grounding` and also returned. It never
232
+ * refuses: an unlocatable quote is surfaced as unconfirmed, not discarded with
233
+ * its sibling findings.
175
234
  */
176
- export async function verifyFindingGrounding(repoRoot, finding, readSource = defaultSourceReader) {
177
- const quoted = (finding.affected_files ?? []).filter((loc) => typeof loc.quoted_text === "string" && loc.quoted_text.trim().length > 0);
178
- if (quoted.length === 0) {
179
- return {
180
- status: "ungrounded",
181
- reason: "no affected_files entry carries a verbatim quoted_text span to re-verify",
182
- };
183
- }
235
+ export async function groundFinding(repoRoot, finding, readSource = defaultSourceReader) {
236
+ const entries = Array.isArray(finding.affected_files) ? finding.affected_files : [];
184
237
  const misses = [];
185
- for (const loc of quoted) {
238
+ let quotedCount = 0;
239
+ let located = false;
240
+ for (const loc of entries) {
241
+ if (typeof loc !== "object" || loc === null)
242
+ continue;
243
+ delete loc.line_start;
244
+ delete loc.line_end;
245
+ if (typeof loc.path !== "string" ||
246
+ typeof loc.quoted_text !== "string" ||
247
+ loc.quoted_text.trim().length === 0) {
248
+ continue;
249
+ }
250
+ quotedCount += 1;
186
251
  const absolutePath = isAbsolute(loc.path) ? loc.path : join(repoRoot, loc.path);
187
252
  let content;
188
253
  try {
@@ -192,12 +257,30 @@ export async function verifyFindingGrounding(repoRoot, finding, readSource = def
192
257
  misses.push(`${loc.path}: file could not be read on disk`);
193
258
  continue;
194
259
  }
195
- if (quoteMatches(content, loc.quoted_text)) {
196
- return { status: "grounded" };
260
+ const spans = locateQuote(content, loc.quoted_text);
261
+ if (spans.length === 1) {
262
+ loc.line_start = spans[0].line_start;
263
+ loc.line_end = spans[0].line_end;
264
+ located = true;
265
+ }
266
+ else if (spans.length === 0) {
267
+ misses.push(`${loc.path}: quoted_text not found on disk`);
268
+ }
269
+ else {
270
+ misses.push(`${loc.path}: quoted_text occurs ${spans.length} times, so it names no single ` +
271
+ "location; quote a span that occurs once");
197
272
  }
198
- misses.push(`${loc.path}: quoted_text not found on disk`);
199
273
  }
200
- return { status: "ungrounded", reason: misses.join("; ") };
274
+ const grounding = quotedCount === 0
275
+ ? {
276
+ status: "ungrounded",
277
+ reason: "no affected_files entry carries a verbatim quoted_text span to re-verify",
278
+ }
279
+ : located
280
+ ? { status: "grounded" }
281
+ : { status: "ungrounded", reason: misses.join("; ") };
282
+ finding.grounding = grounding;
283
+ return grounding;
201
284
  }
202
285
  /**
203
286
  * INV-GND-02 (total function): classify a finding's grounding as a verdict that
@@ -1 +1 @@
1
- {"version":3,"file":"findingGrounding.js","sourceRoot":"","sources":["../../../src/shared/validation/findingGrounding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findingGrounding.js","sourceRoot":"","sources":["../../../src/shared/validation/findingGrounding.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "audit-tools",
3
- "version": "0.54.0",
3
+ "version": "0.55.1",
4
4
  "private": false,
5
5
  "license": "ISC",
6
6
  "description": "Provider-neutral code auditing and remediation workflows for arbitrary repositories.",
@@ -118,14 +118,6 @@
118
118
  "path": {
119
119
  "type": "string"
120
120
  },
121
- "line_start": {
122
- "type": "integer",
123
- "minimum": 1
124
- },
125
- "line_end": {
126
- "type": "integer",
127
- "minimum": 1
128
- },
129
121
  "symbol": {
130
122
  "type": "string"
131
123
  },
@@ -120,14 +120,6 @@
120
120
  "path": {
121
121
  "type": "string"
122
122
  },
123
- "line_start": {
124
- "type": "integer",
125
- "minimum": 1
126
- },
127
- "line_end": {
128
- "type": "integer",
129
- "minimum": 1
130
- },
131
123
  "symbol": {
132
124
  "type": "string"
133
125
  },
@@ -60,14 +60,6 @@
60
60
  "path": {
61
61
  "type": "string"
62
62
  },
63
- "line_start": {
64
- "type": "integer",
65
- "minimum": 1
66
- },
67
- "line_end": {
68
- "type": "integer",
69
- "minimum": 1
70
- },
71
63
  "symbol": {
72
64
  "type": "string"
73
65
  },