audit-tools 0.53.0 → 0.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) 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/conceptualDispatch.d.ts +2 -2
  4. package/dist/audit/cli/conceptualDispatch.d.ts.map +1 -1
  5. package/dist/audit/cli/conceptualDispatch.js +6 -5
  6. package/dist/audit/cli/conceptualDispatch.js.map +1 -1
  7. package/dist/audit/cli/confirmIntentStep.d.ts.map +1 -1
  8. package/dist/audit/cli/confirmIntentStep.js +3 -16
  9. package/dist/audit/cli/confirmIntentStep.js.map +1 -1
  10. package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
  11. package/dist/audit/cli/dispatch/hostHandoff.js +53 -10
  12. package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
  13. package/dist/audit/cli/functionalPreflight.d.ts.map +1 -1
  14. package/dist/audit/cli/functionalPreflight.js +6 -3
  15. package/dist/audit/cli/functionalPreflight.js.map +1 -1
  16. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  17. package/dist/audit/cli/nextStepCommand.js +15 -14
  18. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  19. package/dist/audit/cli/nextStepHelpers.js +2 -2
  20. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  21. package/dist/audit/contracts/findingContractPrompt.d.ts.map +1 -1
  22. package/dist/audit/contracts/findingContractPrompt.js +13 -11
  23. package/dist/audit/contracts/findingContractPrompt.js.map +1 -1
  24. package/dist/audit/contracts/workerSchemas.d.ts +21 -124
  25. package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
  26. package/dist/audit/contracts/workerSchemas.js +19 -3
  27. package/dist/audit/contracts/workerSchemas.js.map +1 -1
  28. package/dist/audit/orchestrator/advance.d.ts.map +1 -1
  29. package/dist/audit/orchestrator/advance.js +21 -1
  30. package/dist/audit/orchestrator/advance.js.map +1 -1
  31. package/dist/audit/orchestrator/architectureDiscovery.d.ts +15 -1
  32. package/dist/audit/orchestrator/architectureDiscovery.d.ts.map +1 -1
  33. package/dist/audit/orchestrator/architectureDiscovery.js +30 -11
  34. package/dist/audit/orchestrator/architectureDiscovery.js.map +1 -1
  35. package/dist/audit/orchestrator/dependencyMap.d.ts +20 -0
  36. package/dist/audit/orchestrator/dependencyMap.d.ts.map +1 -1
  37. package/dist/audit/orchestrator/dependencyMap.js +47 -0
  38. package/dist/audit/orchestrator/dependencyMap.js.map +1 -1
  39. package/dist/audit/orchestrator/dependencySlices.d.ts.map +1 -1
  40. package/dist/audit/orchestrator/dependencySlices.js +37 -3
  41. package/dist/audit/orchestrator/dependencySlices.js.map +1 -1
  42. package/dist/audit/orchestrator/designReviewPrompt.d.ts +2 -2
  43. package/dist/audit/orchestrator/designReviewPrompt.js +2 -2
  44. package/dist/audit/orchestrator/executors.js +1 -1
  45. package/dist/audit/orchestrator/executors.js.map +1 -1
  46. package/dist/audit/orchestrator/ingestionExecutors.d.ts.map +1 -1
  47. package/dist/audit/orchestrator/ingestionExecutors.js +38 -37
  48. package/dist/audit/orchestrator/ingestionExecutors.js.map +1 -1
  49. package/dist/audit/orchestrator/nextStep.d.ts.map +1 -1
  50. package/dist/audit/orchestrator/nextStep.js +0 -1
  51. package/dist/audit/orchestrator/nextStep.js.map +1 -1
  52. package/dist/audit/orchestrator/staleness.d.ts.map +1 -1
  53. package/dist/audit/orchestrator/staleness.js +14 -10
  54. package/dist/audit/orchestrator/staleness.js.map +1 -1
  55. package/dist/audit/orchestrator/state.d.ts.map +1 -1
  56. package/dist/audit/orchestrator/state.js +1 -3
  57. package/dist/audit/orchestrator/state.js.map +1 -1
  58. package/dist/audit/types.d.ts +12 -1
  59. package/dist/audit/types.d.ts.map +1 -1
  60. package/dist/audit/types.js +92 -11
  61. package/dist/audit/types.js.map +1 -1
  62. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  63. package/dist/remediate/steps/contractPipeline.js +11 -3
  64. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  65. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  66. package/dist/remediate/steps/nextStep.js +8 -23
  67. package/dist/remediate/steps/nextStep.js.map +1 -1
  68. package/dist/remediate/steps/prompts.js +4 -4
  69. package/dist/shared/findings/dedupe.d.ts.map +1 -1
  70. package/dist/shared/findings/dedupe.js +14 -2
  71. package/dist/shared/findings/dedupe.js.map +1 -1
  72. package/dist/shared/index.d.ts +2 -2
  73. package/dist/shared/index.d.ts.map +1 -1
  74. package/dist/shared/index.js +2 -2
  75. package/dist/shared/index.js.map +1 -1
  76. package/dist/shared/loopCorePaths.d.ts.map +1 -1
  77. package/dist/shared/loopCorePaths.js +31 -5
  78. package/dist/shared/loopCorePaths.js.map +1 -1
  79. package/dist/shared/prompts.d.ts +23 -8
  80. package/dist/shared/prompts.d.ts.map +1 -1
  81. package/dist/shared/prompts.js +26 -11
  82. package/dist/shared/prompts.js.map +1 -1
  83. package/dist/shared/types/finding.d.ts +4 -14
  84. package/dist/shared/types/finding.d.ts.map +1 -1
  85. package/dist/shared/types/finding.js +6 -16
  86. package/dist/shared/types/finding.js.map +1 -1
  87. package/dist/shared/validation/designFindingGrounding.d.ts +3 -2
  88. package/dist/shared/validation/designFindingGrounding.d.ts.map +1 -1
  89. package/dist/shared/validation/designFindingGrounding.js +12 -2
  90. package/dist/shared/validation/designFindingGrounding.js.map +1 -1
  91. package/dist/shared/validation/findingGrounding.d.ts +18 -6
  92. package/dist/shared/validation/findingGrounding.d.ts.map +1 -1
  93. package/dist/shared/validation/findingGrounding.js +107 -24
  94. package/dist/shared/validation/findingGrounding.js.map +1 -1
  95. package/package.json +2 -1
  96. package/schemas/audit_result.schema.json +0 -8
  97. package/schemas/audit_results.schema.json +0 -8
  98. package/schemas/finding.schema.json +0 -8
  99. package/scripts/shared/primitives.mjs +20 -0
  100. package/skills/audit-code/SKILL.md +5 -12
  101. package/skills/audit-code/audit-code.prompt.md +5 -8
  102. package/skills/audit-code/opencode-command-template.txt +2 -2
  103. package/skills/remediate-code/SKILL.md +5 -7
  104. package/skills/remediate-code/remediate-code.prompt.md +5 -5
  105. package/dispatch/lens-definitions.json +0 -46
@@ -159,12 +159,10 @@ export interface FindingLocationLineIssue {
159
159
  * all, the span is 1-based integers with `line_start <= line_end`. Returns
160
160
  * every violated rule with its statement.
161
161
  *
162
- * Consumed by BOTH ingestion doors so neither can drift from the other: the
163
- * zod refinement ({@link refineFindingLocationLines}) turns these into schema
164
- * issues at parse time, and the downstream audit-results validator walks the
165
- * same function over its raw per-location records — the batch lane reaches
166
- * that validator WITHOUT a worker-projection parse, so the check has to live
167
- * there too, not only behind the parse.
162
+ * The audit-results validator walks it over raw per-location records: a
163
+ * persisted or re-validated result carries the TOOL's derived lines (a reviewer
164
+ * may not supply any — `WORKER_REFUSED_LOCATION_FIELDS`), and this is what
165
+ * catches a span corrupted after derivation.
168
166
  *
169
167
  * The fields stay `unknown`: callers hold everything from fully-parsed
170
168
  * locations to raw JSON payloads, and the guards below are exactly what makes
@@ -174,14 +172,6 @@ export declare function findingLocationLineIssues(location: {
174
172
  line_start?: unknown;
175
173
  line_end?: unknown;
176
174
  }): readonly FindingLocationLineIssue[];
177
- /**
178
- * Applies {@link findingLocationLineIssues} as a zod refinement. Exported so
179
- * every projection applies the SAME refinement — `.superRefine` wraps in
180
- * ZodEffects, which cannot be re-`extend`ed, so each projection composes
181
- * object + refinement itself rather than this file baking them together and
182
- * freezing the shape.
183
- */
184
- export declare const refineFindingLocationLines: (location: z.infer<typeof FindingLocationObjectSchema>, context: z.RefinementCtx) => void;
185
175
  export declare const FindingLocationSchema: z.ZodEffects<z.ZodObject<{
186
176
  path: z.ZodString;
187
177
  line_start: z.ZodOptional<z.ZodNumber>;
@@ -1 +1 @@
1
- {"version":3,"file":"finding.d.ts","sourceRoot":"","sources":["../../../src/shared/types/finding.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkD7E,CAAC;AACL,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"finding.d.ts","sourceRoot":"","sources":["../../../src/shared/types/finding.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkD7E,CAAC;AACL,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -157,12 +157,10 @@ export const AUDIT_FINDING_QUOTE_OR_DECLARATION_RULE = "affected_files: every en
157
157
  * all, the span is 1-based integers with `line_start <= line_end`. Returns
158
158
  * every violated rule with its statement.
159
159
  *
160
- * Consumed by BOTH ingestion doors so neither can drift from the other: the
161
- * zod refinement ({@link refineFindingLocationLines}) turns these into schema
162
- * issues at parse time, and the downstream audit-results validator walks the
163
- * same function over its raw per-location records — the batch lane reaches
164
- * that validator WITHOUT a worker-projection parse, so the check has to live
165
- * there too, not only behind the parse.
160
+ * The audit-results validator walks it over raw per-location records: a
161
+ * persisted or re-validated result carries the TOOL's derived lines (a reviewer
162
+ * may not supply any — `WORKER_REFUSED_LOCATION_FIELDS`), and this is what
163
+ * catches a span corrupted after derivation.
166
164
  *
167
165
  * The fields stay `unknown`: callers hold everything from fully-parsed
168
166
  * locations to raw JSON payloads, and the guards below are exactly what makes
@@ -193,14 +191,7 @@ export function findingLocationLineIssues(location) {
193
191
  }
194
192
  return issues;
195
193
  }
196
- /**
197
- * Applies {@link findingLocationLineIssues} as a zod refinement. Exported so
198
- * every projection applies the SAME refinement — `.superRefine` wraps in
199
- * ZodEffects, which cannot be re-`extend`ed, so each projection composes
200
- * object + refinement itself rather than this file baking them together and
201
- * freezing the shape.
202
- */
203
- export const refineFindingLocationLines = (location, context) => {
194
+ export const FindingLocationSchema = FindingLocationObjectSchema.superRefine((location, context) => {
204
195
  for (const issue of findingLocationLineIssues(location)) {
205
196
  context.addIssue({
206
197
  code: z.ZodIssueCode.custom,
@@ -208,8 +199,7 @@ export const refineFindingLocationLines = (location, context) => {
208
199
  message: issue.message,
209
200
  });
210
201
  }
211
- };
212
- export const FindingLocationSchema = FindingLocationObjectSchema.superRefine(refineFindingLocationLines);
202
+ });
213
203
  /**
214
204
  * Result of re-verifying a finding's cited verbatim span against disk. Attached
215
205
  * by the auditor's grounding pass at ingest; a hallucinated or stale finding
@@ -1 +1 @@
1
- {"version":3,"file":"finding.js","sourceRoot":"","sources":["../../../src/shared/types/finding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finding.js","sourceRoot":"","sources":["../../../src/shared/types/finding.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,8 @@ import type { Finding, FindingGrounding } from "../types/finding.js";
25
25
  export declare function groundDesignFinding(finding: Finding, knownPaths: ReadonlySet<string>): FindingGrounding;
26
26
  /**
27
27
  * Annotate each design finding with its lane and its grounding verdict, and
28
- * remove the one tool-owned verdict a submission can forge.
28
+ * remove the tool-owned fields a submission can forge: `lead_lineage`, and the
29
+ * `line_start`/`line_end` this path has no quote to derive.
29
30
  *
30
31
  * The LANE stamp is unconditional and comes first: every finding reaching this
31
32
  * function arrived on a design-review lane (that is what the call sites are —
@@ -55,7 +56,7 @@ export declare function groundDesignFinding(finding: Finding, knownPaths: Readon
55
56
  * A host that legitimately re-emits a lead is unaffected in substance: the
56
57
  * provenance it could not have verified is exactly the part the tool refuses to
57
58
  * take on its word, and its own `evidence` and `affected_files` ride through
58
- * unchanged.
59
+ * unchanged apart from their unverified line numbers.
59
60
  *
60
61
  * The GROUNDING verdict is conditional. When no repo manifest is available the
61
62
  * findings cannot be grounded against a known file set, so they are returned
@@ -1 +1 @@
1
- {"version":3,"file":"designFindingGrounding.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/designFindingGrounding.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQrE;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,gBAAgB,CA2BlB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,SAAS,GAC5D,OAAO,EAAE,CAWX;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,SAAS,GAC5D,WAAW,CAAC,MAAM,CAAC,CAMrB"}
1
+ {"version":3,"file":"designFindingGrounding.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/designFindingGrounding.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQrE;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,gBAAgB,CA2BlB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,SAAS,GAC5D,OAAO,EAAE,CAsBX;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,SAAS,GAC5D,WAAW,CAAC,MAAM,CAAC,CAMrB"}
@@ -33,7 +33,8 @@ export function groundDesignFinding(finding, knownPaths) {
33
33
  }
34
34
  /**
35
35
  * Annotate each design finding with its lane and its grounding verdict, and
36
- * remove the one tool-owned verdict a submission can forge.
36
+ * remove the tool-owned fields a submission can forge: `lead_lineage`, and the
37
+ * `line_start`/`line_end` this path has no quote to derive.
37
38
  *
38
39
  * The LANE stamp is unconditional and comes first: every finding reaching this
39
40
  * function arrived on a design-review lane (that is what the call sites are —
@@ -63,7 +64,7 @@ export function groundDesignFinding(finding, knownPaths) {
63
64
  * A host that legitimately re-emits a lead is unaffected in substance: the
64
65
  * provenance it could not have verified is exactly the part the tool refuses to
65
66
  * take on its word, and its own `evidence` and `affected_files` ride through
66
- * unchanged.
67
+ * unchanged apart from their unverified line numbers.
67
68
  *
68
69
  * The GROUNDING verdict is conditional. When no repo manifest is available the
69
70
  * findings cannot be grounded against a known file set, so they are returned
@@ -72,8 +73,17 @@ export function groundDesignFinding(finding, knownPaths) {
72
73
  * it.
73
74
  */
74
75
  export function groundDesignFindings(findings, repoManifest) {
76
+ // Line numbers are tool-owned (`groundFinding` derives them from a located
77
+ // quote). This lane grounds by path alone and never reads a file, so it has
78
+ // nothing to derive them from: a submitted span would reach the report
79
+ // unchecked beside spans that were, so it is dropped.
75
80
  const marked = findings.map(({ lead_lineage: _forged, ...finding }) => ({
76
81
  ...finding,
82
+ ...(finding.affected_files === undefined
83
+ ? {}
84
+ : {
85
+ affected_files: finding.affected_files.map(({ line_start: _start, line_end: _end, ...location }) => location),
86
+ }),
77
87
  evidence_lane: "design-review-lane",
78
88
  }));
79
89
  const known = repoPathUniverse(repoManifest);
@@ -1 +1 @@
1
- {"version":3,"file":"designFindingGrounding.js","sourceRoot":"","sources":["../../../src/shared/validation/designFindingGrounding.ts"],"names":[],"mappings":"AAoBA,+EAA+E;AAC/E,qCAAqC;AACrC,OAAO,EACL,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAE/B;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAgB,EAChB,UAA+B;IAE/B,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;SACzC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;SAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,8CAA8C;SACvD,CAAC;IACJ,CAAC;IACD,8EAA8E;IAC9E,yEAAyE;IACzE,0EAA0E;IAC1E,iDAAiD;IACjD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CACvB,CAAC,CAAC,EAAE,EAAE,CACJ,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACjB,4BAA4B,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,SAAS,CAC5D,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,mDAAmD,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAC1F,CAAC;IACJ,CAAC;IACD,sCAAsC;IACtC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAmB,EACnB,YAA6D;IAE7D,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACtE,GAAG,OAAO;QACV,aAAa,EAAE,oBAA6B;KAC7C,CAAC,CAAC,CAAC;IACJ,MAAM,KAAK,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACpC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,OAAO;QACV,SAAS,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC;KAC/C,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAC9B,YAA6D;IAE7D,OAAO,IAAI,GAAG,CACZ,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;SACxB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;SAClD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CACrC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"designFindingGrounding.js","sourceRoot":"","sources":["../../../src/shared/validation/designFindingGrounding.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export declare function normalizeForMatch(text: string): string;
8
8
  * The single path normalizer (drift-plan P7) shared by the conceptual-review
9
9
  * grounding and any other consumer that matches a cited `affected_files` path
10
10
  * against a repo manifest. (Quote-and-verify resolves a cited path against the
11
- * filesystem instead, so it does not lowercase — see `verifyFindingGrounding`.)
11
+ * filesystem instead, so it does not lowercase — see `groundFinding`.)
12
12
  *
13
13
  * INV-B3-1: strips a leading `./` ONLY — it must NEVER strip the leading dot of a
14
14
  * dotfile-directory segment (`.claude/…`, `.github/…`). The regex is anchored to
@@ -85,12 +85,24 @@ export type SourceReader = (absolutePath: string) => Promise<string>;
85
85
  */
86
86
  export declare function createMemoizedSourceReader(): SourceReader;
87
87
  /**
88
- * Re-verify a finding's cited verbatim span(s) against disk. A finding is
89
- * `grounded` as soon as ONE of its `affected_files[].quoted_text` spans matches
90
- * its cited file; it is `ungrounded` when it carries no quote at all, or when no
91
- * cited quote can be found on disk (with a reason naming the failed spans).
88
+ * Ground a finding against disk: re-read each cited verbatim span, and let the
89
+ * code it quotes — never a number the reviewer typed — say where it is.
90
+ *
91
+ * Line numbers are TOOL-OWNED. Every `affected_files` entry loses whatever
92
+ * `line_start`/`line_end` it arrived with; an entry whose quote occurs exactly
93
+ * once in its file gets that occurrence's lines written back. A quote that
94
+ * occurs nowhere names nothing, and one that occurs more than once names no
95
+ * single place, so neither carries lines. A typed number used to pass every
96
+ * check while pointing anywhere in the file; a span derived from content the
97
+ * tool has just found cannot.
98
+ *
99
+ * The finding is `grounded` as soon as ONE entry's quote occurs exactly once;
100
+ * otherwise `ungrounded`, with a reason naming each entry that failed and why.
101
+ * The verdict is written to `finding.grounding` and also returned. It never
102
+ * refuses: an unlocatable quote is surfaced as unconfirmed, not discarded with
103
+ * its sibling findings.
92
104
  */
93
- export declare function verifyFindingGrounding(repoRoot: string, finding: Finding, readSource?: SourceReader): Promise<FindingGrounding>;
105
+ export declare function groundFinding(repoRoot: string, finding: Finding, readSource?: SourceReader): Promise<FindingGrounding>;
94
106
  /**
95
107
  * INV-GND-02 (total function): classify a finding's grounding as a verdict that
96
108
  * is ALWAYS defined. A finding whose `grounding` is undefined/absent is treated
@@ -1 +1 @@
1
- {"version":3,"file":"findingGrounding.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/findingGrounding.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAErE,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAGjD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,MAAM,GAAG,SAAS,CAapB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CA0BtB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAI7E;AAED,qFAAqF;AACrF,MAAM,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAKrE;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,IAAI,YAAY,CASzD;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,UAAU,GAAE,YAAkC,GAC7C,OAAO,CAAC,gBAAgB,CAAC,CA+B3B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,OAAO,CAE9E;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAClC,OAAO,CAET"}
1
+ {"version":3,"file":"findingGrounding.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/findingGrounding.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAErE,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAGjD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,MAAM,GAAG,SAAS,CAapB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CA0BtB;AAsDD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED,qFAAqF;AACrF,MAAM,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAKrE;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,IAAI,YAAY,CASzD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,UAAU,GAAE,YAAkC,GAC7C,OAAO,CAAC,gBAAgB,CAAC,CAoD3B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,OAAO,CAE9E;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAClC,OAAO,CAET"}
@@ -1,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.53.0",
3
+ "version": "0.55.0",
4
4
  "private": false,
5
5
  "license": "ISC",
6
6
  "description": "Provider-neutral code auditing and remediation workflows for arbitrary repositories.",
@@ -116,6 +116,7 @@
116
116
  "generate:shard-baseline": "node scripts/shared/generate-vitest-shard-baseline.mjs",
117
117
  "check:orphan-modules": "node scripts/check-orphan-modules.mjs",
118
118
  "check:loop-core-closure": "node scripts/check-loop-core-closure.mjs",
119
+ "check:loop-core-attestations": "node scripts/check-loop-core-attestations.mjs",
119
120
  "check:pin-obligations": "node scripts/check-pin-obligations.mjs",
120
121
  "check:contract-sites": "node --import tsx/esm scripts/check-contract-sites.mjs",
121
122
  "check:sites-pinned": "node scripts/check-sites-pinned.mjs",
@@ -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
  },
@@ -21,6 +21,10 @@
21
21
  // The gate's rule tables list BOTH homes, so a re-roll anywhere in either tree
22
22
  // is red. Change one and change the other — the rules treat them as one home in
23
23
  // two files, which is what makes the divergence impossible to miss.
24
+ //
25
+ // `processAlive` is not a twin: it is the governance tree's one liveness probe,
26
+ // imported by the prebuild guard and the dispatch lane and re-exported to the
27
+ // test helpers.
24
28
  import { createHash } from "node:crypto";
25
29
  import { isAbsolute, relative, resolve, sep } from "node:path";
26
30
 
@@ -87,3 +91,19 @@ export function resolveWithinRoot(root, candidate, options = {}) {
87
91
  if (rel === ".." || rel.startsWith(`..${sep}`) || rel.startsWith("../")) return null;
88
92
  return absolutePath;
89
93
  }
94
+
95
+ // sites-pinned: tests/shared/dispatch-lane-worktree.test.ts
96
+ /**
97
+ * Whether a process with this pid exists. `kill(pid, 0)` sends no signal; it
98
+ * reports deliverability, so an EPERM answer still means the process EXISTS.
99
+ * A pid that is not a positive integer names no process.
100
+ */
101
+ export function processAlive(pid) {
102
+ if (typeof pid !== "number" || !Number.isInteger(pid) || pid <= 0) return false;
103
+ try {
104
+ process.kill(pid, 0);
105
+ return true;
106
+ } catch (err) {
107
+ return /** @type {any} */ (err).code === "EPERM";
108
+ }
109
+ }