audit-tools 0.51.11 → 0.52.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/dist/audit/cli/auditStep.d.ts.map +1 -1
  2. package/dist/audit/cli/auditStep.js +2 -2
  3. package/dist/audit/cli/auditStep.js.map +1 -1
  4. package/dist/audit/cli/charterClarificationPrompt.d.ts +16 -8
  5. package/dist/audit/cli/charterClarificationPrompt.d.ts.map +1 -1
  6. package/dist/audit/cli/charterClarificationPrompt.js +95 -42
  7. package/dist/audit/cli/charterClarificationPrompt.js.map +1 -1
  8. package/dist/audit/cli/charterComparisonPrompt.d.ts +16 -6
  9. package/dist/audit/cli/charterComparisonPrompt.d.ts.map +1 -1
  10. package/dist/audit/cli/charterComparisonPrompt.js +76 -29
  11. package/dist/audit/cli/charterComparisonPrompt.js.map +1 -1
  12. package/dist/audit/cli/charterExtractionPrompt.d.ts +5 -4
  13. package/dist/audit/cli/charterExtractionPrompt.d.ts.map +1 -1
  14. package/dist/audit/cli/charterExtractionPrompt.js +64 -42
  15. package/dist/audit/cli/charterExtractionPrompt.js.map +1 -1
  16. package/dist/audit/cli/charterFidelityPrompt.d.ts +17 -4
  17. package/dist/audit/cli/charterFidelityPrompt.d.ts.map +1 -1
  18. package/dist/audit/cli/charterFidelityPrompt.js +72 -21
  19. package/dist/audit/cli/charterFidelityPrompt.js.map +1 -1
  20. package/dist/audit/cli/dispatch/hostHandoff.d.ts +23 -1
  21. package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
  22. package/dist/audit/cli/dispatch/hostHandoff.js +204 -41
  23. package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
  24. package/dist/audit/cli/dispatch/packetFilter.d.ts +8 -0
  25. package/dist/audit/cli/dispatch/packetFilter.d.ts.map +1 -1
  26. package/dist/audit/cli/fanoutLanes.d.ts.map +1 -1
  27. package/dist/audit/cli/fanoutLanes.js +20 -4
  28. package/dist/audit/cli/fanoutLanes.js.map +1 -1
  29. package/dist/audit/cli/laneValidators.d.ts +19 -7
  30. package/dist/audit/cli/laneValidators.d.ts.map +1 -1
  31. package/dist/audit/cli/laneValidators.js +73 -18
  32. package/dist/audit/cli/laneValidators.js.map +1 -1
  33. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  34. package/dist/audit/cli/nextStepCommand.js +13 -6
  35. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  36. package/dist/audit/cli/nextStepHelpers.d.ts +25 -2
  37. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  38. package/dist/audit/cli/nextStepHelpers.js +105 -35
  39. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  40. package/dist/audit/cli/recoverSubmissionCommand.d.ts.map +1 -1
  41. package/dist/audit/cli/recoverSubmissionCommand.js +89 -4
  42. package/dist/audit/cli/recoverSubmissionCommand.js.map +1 -1
  43. package/dist/audit/cli/sampleRunCommand.d.ts +10 -0
  44. package/dist/audit/cli/sampleRunCommand.d.ts.map +1 -1
  45. package/dist/audit/cli/semanticReviewStep.d.ts +4 -4
  46. package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
  47. package/dist/audit/cli/semanticReviewStep.js +35 -71
  48. package/dist/audit/cli/semanticReviewStep.js.map +1 -1
  49. package/dist/audit/contracts/findingContractPrompt.d.ts.map +1 -1
  50. package/dist/audit/contracts/findingContractPrompt.js +7 -1
  51. package/dist/audit/contracts/findingContractPrompt.js.map +1 -1
  52. package/dist/audit/contracts/workerSchemas.d.ts +280 -4
  53. package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
  54. package/dist/audit/contracts/workerSchemas.js +24 -2
  55. package/dist/audit/contracts/workerSchemas.js.map +1 -1
  56. package/dist/audit/orchestrator/charterClarificationExecutor.d.ts.map +1 -1
  57. package/dist/audit/orchestrator/charterClarificationExecutor.js +39 -0
  58. package/dist/audit/orchestrator/charterClarificationExecutor.js.map +1 -1
  59. package/dist/audit/orchestrator/charterExtractionExecutor.d.ts +12 -5
  60. package/dist/audit/orchestrator/charterExtractionExecutor.d.ts.map +1 -1
  61. package/dist/audit/orchestrator/charterExtractionExecutor.js +39 -9
  62. package/dist/audit/orchestrator/charterExtractionExecutor.js.map +1 -1
  63. package/dist/audit/orchestrator/designReviewPrompt.d.ts +7 -0
  64. package/dist/audit/orchestrator/designReviewPrompt.d.ts.map +1 -1
  65. package/dist/audit/orchestrator/designReviewPrompt.js +174 -19
  66. package/dist/audit/orchestrator/designReviewPrompt.js.map +1 -1
  67. package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
  68. package/dist/audit/orchestrator/executorRunners.js +14 -3
  69. package/dist/audit/orchestrator/executorRunners.js.map +1 -1
  70. package/dist/audit/orchestrator/intentCheckpointGate.d.ts.map +1 -1
  71. package/dist/audit/orchestrator/intentCheckpointGate.js +1 -5
  72. package/dist/audit/orchestrator/intentCheckpointGate.js.map +1 -1
  73. package/dist/audit/orchestrator/requeueCommand.d.ts +8 -0
  74. package/dist/audit/orchestrator/requeueCommand.d.ts.map +1 -1
  75. package/dist/audit/orchestrator/selectiveDeepening/lensVerification.d.ts.map +1 -1
  76. package/dist/audit/orchestrator/selectiveDeepening/lensVerification.js +94 -71
  77. package/dist/audit/orchestrator/selectiveDeepening/lensVerification.js.map +1 -1
  78. package/dist/audit/orchestrator/selectiveDeepening/shared.d.ts +0 -2
  79. package/dist/audit/orchestrator/selectiveDeepening/shared.d.ts.map +1 -1
  80. package/dist/audit/orchestrator/selectiveDeepening/shared.js +9 -2
  81. package/dist/audit/orchestrator/selectiveDeepening/shared.js.map +1 -1
  82. package/dist/audit/orchestrator/selectiveDeepening/stewardFollowup.d.ts.map +1 -1
  83. package/dist/audit/orchestrator/selectiveDeepening/stewardFollowup.js +28 -4
  84. package/dist/audit/orchestrator/selectiveDeepening/stewardFollowup.js.map +1 -1
  85. package/dist/audit/orchestrator/synthesisExecutors.d.ts +10 -3
  86. package/dist/audit/orchestrator/synthesisExecutors.d.ts.map +1 -1
  87. package/dist/audit/orchestrator/synthesisExecutors.js +5 -4
  88. package/dist/audit/orchestrator/synthesisExecutors.js.map +1 -1
  89. package/dist/audit/reporting/synthesis.d.ts +23 -6
  90. package/dist/audit/reporting/synthesis.d.ts.map +1 -1
  91. package/dist/audit/reporting/synthesis.js +53 -13
  92. package/dist/audit/reporting/synthesis.js.map +1 -1
  93. package/dist/audit/reporting/synthesisNarrativePrompt.d.ts +26 -1
  94. package/dist/audit/reporting/synthesisNarrativePrompt.d.ts.map +1 -1
  95. package/dist/audit/reporting/synthesisNarrativePrompt.js +53 -13
  96. package/dist/audit/reporting/synthesisNarrativePrompt.js.map +1 -1
  97. package/dist/audit/systemic/secondOrderAdversaryPrompt.d.ts.map +1 -1
  98. package/dist/audit/systemic/secondOrderAdversaryPrompt.js +67 -40
  99. package/dist/audit/systemic/secondOrderAdversaryPrompt.js.map +1 -1
  100. package/dist/audit/systemic/systemicChallengeLoop.d.ts.map +1 -1
  101. package/dist/audit/systemic/systemicChallengeLoop.js +13 -1
  102. package/dist/audit/systemic/systemicChallengeLoop.js.map +1 -1
  103. package/dist/audit/types/conceptualAdjudication.d.ts +26 -2
  104. package/dist/audit/types/conceptualAdjudication.d.ts.map +1 -1
  105. package/dist/audit/types/conceptualAdjudication.js +26 -7
  106. package/dist/audit/types/conceptualAdjudication.js.map +1 -1
  107. package/dist/audit/types.d.ts +279 -0
  108. package/dist/audit/types.d.ts.map +1 -1
  109. package/dist/audit/types.js +52 -0
  110. package/dist/audit/types.js.map +1 -1
  111. package/dist/audit/validation/auditResults.d.ts.map +1 -1
  112. package/dist/audit/validation/auditResults.js +51 -6
  113. package/dist/audit/validation/auditResults.js.map +1 -1
  114. package/dist/audit/validation/ingestIssueCodes.d.ts +3 -1
  115. package/dist/audit/validation/ingestIssueCodes.d.ts.map +1 -1
  116. package/dist/audit/validation/ingestIssueCodes.js +27 -15
  117. package/dist/audit/validation/ingestIssueCodes.js.map +1 -1
  118. package/dist/remediate/contractPipeline/sketchSource.d.ts +13 -3
  119. package/dist/remediate/contractPipeline/sketchSource.d.ts.map +1 -1
  120. package/dist/remediate/contractPipeline/sketchSource.js +14 -8
  121. package/dist/remediate/contractPipeline/sketchSource.js.map +1 -1
  122. package/dist/remediate/intake.d.ts +140 -36
  123. package/dist/remediate/intake.d.ts.map +1 -1
  124. package/dist/remediate/intake.js +159 -38
  125. package/dist/remediate/intake.js.map +1 -1
  126. package/dist/remediate/intent/checkpointFilter.d.ts +1 -2
  127. package/dist/remediate/intent/checkpointFilter.d.ts.map +1 -1
  128. package/dist/remediate/intent/checkpointFilter.js +1 -5
  129. package/dist/remediate/intent/checkpointFilter.js.map +1 -1
  130. package/dist/remediate/phases/close.d.ts.map +1 -1
  131. package/dist/remediate/phases/close.js +8 -8
  132. package/dist/remediate/phases/close.js.map +1 -1
  133. package/dist/remediate/phases/closeVerifyHeadEvidence.d.ts +19 -35
  134. package/dist/remediate/phases/closeVerifyHeadEvidence.d.ts.map +1 -1
  135. package/dist/remediate/phases/closeVerifyHeadEvidence.js +38 -12
  136. package/dist/remediate/phases/closeVerifyHeadEvidence.js.map +1 -1
  137. package/dist/remediate/phases/plan.d.ts +1 -1
  138. package/dist/remediate/review/reviewGate.d.ts +68 -39
  139. package/dist/remediate/review/reviewGate.d.ts.map +1 -1
  140. package/dist/remediate/review/reviewGate.js +133 -50
  141. package/dist/remediate/review/reviewGate.js.map +1 -1
  142. package/dist/remediate/state/store.d.ts +1 -2
  143. package/dist/remediate/state/store.d.ts.map +1 -1
  144. package/dist/remediate/state/store.js +124 -3
  145. package/dist/remediate/state/store.js.map +1 -1
  146. package/dist/remediate/state/types.d.ts +59 -8
  147. package/dist/remediate/state/types.d.ts.map +1 -1
  148. package/dist/remediate/state/types.js +12 -1
  149. package/dist/remediate/state/types.js.map +1 -1
  150. package/dist/remediate/steps/contractPipeline.d.ts +40 -2
  151. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  152. package/dist/remediate/steps/contractPipeline.js +147 -53
  153. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  154. package/dist/remediate/steps/contractPipelinePrompts.d.ts +32 -8
  155. package/dist/remediate/steps/contractPipelinePrompts.d.ts.map +1 -1
  156. package/dist/remediate/steps/contractPipelinePrompts.js +145 -131
  157. package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
  158. package/dist/remediate/steps/dispatch/hostHandoff.d.ts +6 -4
  159. package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
  160. package/dist/remediate/steps/dispatch/hostHandoff.js +291 -155
  161. package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
  162. package/dist/remediate/steps/intakeResolver.d.ts +1 -1
  163. package/dist/remediate/steps/intakeResolver.d.ts.map +1 -1
  164. package/dist/remediate/steps/intakeResolver.js +50 -49
  165. package/dist/remediate/steps/intakeResolver.js.map +1 -1
  166. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  167. package/dist/remediate/steps/nextStep.js +337 -294
  168. package/dist/remediate/steps/nextStep.js.map +1 -1
  169. package/dist/remediate/steps/prompts.d.ts +10 -3
  170. package/dist/remediate/steps/prompts.d.ts.map +1 -1
  171. package/dist/remediate/steps/prompts.js +191 -228
  172. package/dist/remediate/steps/prompts.js.map +1 -1
  173. package/dist/remediate/steps/types.d.ts +2 -2
  174. package/dist/remediate/steps/types.d.ts.map +1 -1
  175. package/dist/remediate/steps/types.js +10 -3
  176. package/dist/remediate/steps/types.js.map +1 -1
  177. package/dist/remediate/validation/artifacts.d.ts.map +1 -1
  178. package/dist/remediate/validation/artifacts.js +5 -22
  179. package/dist/remediate/validation/artifacts.js.map +1 -1
  180. package/dist/remediate/validation/contractPipeline.d.ts.map +1 -1
  181. package/dist/remediate/validation/contractPipeline.js +25 -8
  182. package/dist/remediate/validation/contractPipeline.js.map +1 -1
  183. package/dist/remediate/validation/remediationState.d.ts +0 -1
  184. package/dist/remediate/validation/remediationState.d.ts.map +1 -1
  185. package/dist/remediate/validation/remediationState.js +1 -20
  186. package/dist/remediate/validation/remediationState.js.map +1 -1
  187. package/dist/shared/decompose/charterClarification.d.ts +7 -0
  188. package/dist/shared/decompose/charterClarification.d.ts.map +1 -1
  189. package/dist/shared/decompose/charterClarification.js +8 -1
  190. package/dist/shared/decompose/charterClarification.js.map +1 -1
  191. package/dist/shared/decompose/charterExtraction.d.ts +204 -16
  192. package/dist/shared/decompose/charterExtraction.d.ts.map +1 -1
  193. package/dist/shared/decompose/charterExtraction.js +70 -13
  194. package/dist/shared/decompose/charterExtraction.js.map +1 -1
  195. package/dist/shared/decompose/systemicChallenge.d.ts +42 -1
  196. package/dist/shared/decompose/systemicChallenge.d.ts.map +1 -1
  197. package/dist/shared/decompose/systemicChallenge.js +51 -0
  198. package/dist/shared/decompose/systemicChallenge.js.map +1 -1
  199. package/dist/shared/git.d.ts +31 -0
  200. package/dist/shared/git.d.ts.map +1 -1
  201. package/dist/shared/git.js +105 -0
  202. package/dist/shared/git.js.map +1 -1
  203. package/dist/shared/index.d.ts +17 -14
  204. package/dist/shared/index.d.ts.map +1 -1
  205. package/dist/shared/index.js +18 -11
  206. package/dist/shared/index.js.map +1 -1
  207. package/dist/shared/io/stepContractWriter.d.ts.map +1 -1
  208. package/dist/shared/io/stepContractWriter.js +13 -4
  209. package/dist/shared/io/stepContractWriter.js.map +1 -1
  210. package/dist/shared/reporting/auditDeliverable.d.ts +8 -3
  211. package/dist/shared/reporting/auditDeliverable.d.ts.map +1 -1
  212. package/dist/shared/reporting/auditDeliverable.js +10 -3
  213. package/dist/shared/reporting/auditDeliverable.js.map +1 -1
  214. package/dist/shared/submission/hostHandoffCore.d.ts +7 -0
  215. package/dist/shared/submission/hostHandoffCore.d.ts.map +1 -1
  216. package/dist/shared/submission/hostHandoffCore.js +15 -2
  217. package/dist/shared/submission/hostHandoffCore.js.map +1 -1
  218. package/dist/shared/submission/hostResultOutcomes.d.ts +60 -10
  219. package/dist/shared/submission/hostResultOutcomes.d.ts.map +1 -1
  220. package/dist/shared/submission/hostResultOutcomes.js +42 -10
  221. package/dist/shared/submission/hostResultOutcomes.js.map +1 -1
  222. package/dist/shared/submission/ingestReport.d.ts +54 -0
  223. package/dist/shared/submission/ingestReport.d.ts.map +1 -0
  224. package/dist/shared/submission/ingestReport.js +44 -0
  225. package/dist/shared/submission/ingestReport.js.map +1 -0
  226. package/dist/shared/submission/ingestionChecks.d.ts +8 -13
  227. package/dist/shared/submission/ingestionChecks.d.ts.map +1 -1
  228. package/dist/shared/submission/ingestionChecks.js +9 -14
  229. package/dist/shared/submission/ingestionChecks.js.map +1 -1
  230. package/dist/shared/submission/submissionClassifier.d.ts +6 -0
  231. package/dist/shared/submission/submissionClassifier.d.ts.map +1 -1
  232. package/dist/shared/submission/submissionClassifier.js +16 -0
  233. package/dist/shared/submission/submissionClassifier.js.map +1 -1
  234. package/dist/shared/submission/workerPromptBinding.d.ts +18 -0
  235. package/dist/shared/submission/workerPromptBinding.d.ts.map +1 -0
  236. package/dist/shared/submission/workerPromptBinding.js +38 -0
  237. package/dist/shared/submission/workerPromptBinding.js.map +1 -0
  238. package/dist/shared/tooling/exec.d.ts +24 -0
  239. package/dist/shared/tooling/exec.d.ts.map +1 -1
  240. package/dist/shared/tooling/exec.js +30 -0
  241. package/dist/shared/tooling/exec.js.map +1 -1
  242. package/dist/shared/types/charter.d.ts +143 -7
  243. package/dist/shared/types/charter.d.ts.map +1 -1
  244. package/dist/shared/types/charter.js +63 -7
  245. package/dist/shared/types/charter.js.map +1 -1
  246. package/dist/shared/types/charterPacket.d.ts +13 -0
  247. package/dist/shared/types/charterPacket.d.ts.map +1 -1
  248. package/dist/shared/types/charterPacket.js.map +1 -1
  249. package/dist/shared/types/contractPipeline/obligations.d.ts +30 -11
  250. package/dist/shared/types/contractPipeline/obligations.d.ts.map +1 -1
  251. package/dist/shared/types/contractPipeline/obligations.js +6 -1
  252. package/dist/shared/types/contractPipeline/obligations.js.map +1 -1
  253. package/dist/shared/types/contractPropertyShapes.d.ts.map +1 -1
  254. package/dist/shared/types/contractPropertyShapes.js +13 -0
  255. package/dist/shared/types/contractPropertyShapes.js.map +1 -1
  256. package/dist/shared/types/finding.d.ts +210 -15
  257. package/dist/shared/types/finding.d.ts.map +1 -1
  258. package/dist/shared/types/finding.js +68 -5
  259. package/dist/shared/types/finding.js.map +1 -1
  260. package/dist/shared/types/intentCheckpoint.d.ts +28 -42
  261. package/dist/shared/types/intentCheckpoint.d.ts.map +1 -1
  262. package/dist/shared/types/intentCheckpoint.js +30 -33
  263. package/dist/shared/types/intentCheckpoint.js.map +1 -1
  264. package/dist/shared/types/remediationOutcome.d.ts +8 -8
  265. package/dist/shared/validation/citationGrounding.d.ts +29 -5
  266. package/dist/shared/validation/citationGrounding.d.ts.map +1 -1
  267. package/dist/shared/validation/citationGrounding.js +56 -9
  268. package/dist/shared/validation/citationGrounding.js.map +1 -1
  269. package/dist/shared/validation/designFindingGrounding.d.ts +30 -9
  270. package/dist/shared/validation/designFindingGrounding.d.ts.map +1 -1
  271. package/dist/shared/validation/designFindingGrounding.js +32 -12
  272. package/dist/shared/validation/designFindingGrounding.js.map +1 -1
  273. package/dist/shared/validation/findingsReport.d.ts +13 -2
  274. package/dist/shared/validation/findingsReport.d.ts.map +1 -1
  275. package/dist/shared/validation/findingsReport.js +19 -2
  276. package/dist/shared/validation/findingsReport.js.map +1 -1
  277. package/docs/audit-pkg/contracts.md +4 -5
  278. package/package.json +1 -1
  279. package/schemas/audit_result.schema.json +51 -0
  280. package/schemas/audit_results.schema.json +51 -0
  281. package/schemas/audit_task.schema.json +44 -0
  282. package/schemas/finding.schema.json +4 -0
@@ -1,7 +1,11 @@
1
+ // sites-pinned: tests/shared/citation-grounding.test.ts, tests/audit/charter-lane-gate.test.ts
2
+ // The grammar and the span test below are pinned by the first suite directly,
3
+ // and by the second through the lane gate that reads them.
1
4
  /**
2
5
  * Citation grounding — ONE core, two draws.
3
6
  *
4
- * A citation is `path`, `path:line`, or `path:start-end`. This module is the
7
+ * A citation is `path`, `path:line`, or `path:start-end`, any of them with an
8
+ * optional `#<symbol>` anchor. This module is the
5
9
  * single authority that parses one, resolves its path against the repository,
6
10
  * checks its line range against the file's REAL length, optionally re-verifies a
7
11
  * quoted span, and — when the caller can say what evidence was actually handed to
@@ -86,28 +90,71 @@ export function countSourceLines(content) {
86
90
  /** The `:<start>[-<end>]` suffix, anchored at the end of a reference. */
87
91
  const LINE_SUFFIX_RE = /:(\d+)(?:-(\d+))?$/;
88
92
  /**
89
- * Parse `path`, `path:12`, or `path:12-19` into its parts. Returns `undefined`
90
- * when the reference carries no path at all (empty, or a bare line suffix).
91
- * The path half is taken verbatim: resolving it is a separate step, so a
92
- * component id or a checkpoint field parses here and fails to resolve later,
93
- * which is the honest split.
93
+ * The `#<anchor>` suffix: a code symbol (`src/a.ts#DeliveryWindow`) or a
94
+ * markdown heading (`docs/goals.md#current-state`). It is stripped to reach the
95
+ * path, and the anchor itself is NOT returned — nothing checks an anchor, and
96
+ * returning it would be write-only data that reads as authoritative. What makes
97
+ * a symbol citation checkable is its QUOTE, which is re-verified against the
98
+ * file below.
99
+ */
100
+ const ANCHOR_SUFFIX_RE = /#[^#]*$/;
101
+ /**
102
+ * Parse `path`, `path:12`, `path:12-19`, or any of those with a `#<anchor>`
103
+ * suffix, into its parts. Returns `undefined` when the reference carries no path
104
+ * at all (empty, a bare line suffix, or a bare anchor). The path half is
105
+ * otherwise taken verbatim: resolving it is a separate step, so a component id
106
+ * or a checkpoint field parses here and fails to resolve later, which is the
107
+ * honest split.
108
+ *
109
+ * `#<anchor>` is the form every host prompt teaches FIRST, because a symbol
110
+ * outlives a line number ("Cite a SYMBOL, never a bare line number" —
111
+ * `docs/backlog/durable-traps.md`). A parser blind to it read the whole
112
+ * reference as a path and returned `unknown_path` for every citation an obedient
113
+ * lane wrote (measured 2026-09-17 against prompt 8's own worked example).
94
114
  */
95
115
  export function parseCitationRef(ref) {
96
116
  const trimmed = ref.trim();
97
117
  if (trimmed.length === 0)
98
118
  return undefined;
99
119
  const suffix = LINE_SUFFIX_RE.exec(trimmed);
100
- if (!suffix)
101
- return { raw: ref, path: trimmed };
102
- const path = trimmed.slice(0, suffix.index);
120
+ const beforeLines = suffix ? trimmed.slice(0, suffix.index) : trimmed;
121
+ const path = beforeLines.replace(ANCHOR_SUFFIX_RE, "");
103
122
  if (path.length === 0)
104
123
  return undefined;
124
+ if (!suffix)
125
+ return { raw: ref, path };
105
126
  const start = Number(suffix[1]);
106
127
  const end = suffix[2] === undefined ? undefined : Number(suffix[2]);
107
128
  return end === undefined
108
129
  ? { raw: ref, path, start_line: start }
109
130
  : { raw: ref, path, start_line: start, end_line: end };
110
131
  }
132
+ /**
133
+ * Whether a reference names a SPAN inside its file — a `#<anchor>` symbol or
134
+ * heading, or a line suffix — rather than the file alone.
135
+ *
136
+ * The distinction decides whether a quote is REQUIRED. Naming a span and not
137
+ * quoting it is unverifiable by construction: nothing here resolves an anchor, so
138
+ * the only evidence that the span says what the author claims is the quote. The
139
+ * file alone makes no span claim, so a quoteless path-only citation is honest —
140
+ * and it is the ONLY truthful citation a lane can write for a file its evidence
141
+ * packet delivered as a tree entry with no excerpt.
142
+ *
143
+ * ONE home, beside the grammar it reads. A caller that answered this question for
144
+ * itself would re-derive the suffix rules and drift, which is exactly the split
145
+ * that left `provenancePath` and `parseCitationRef` disagreeing on four of the
146
+ * six taught reference forms (measured 2026-09-17).
147
+ */
148
+ export function citationNamesASpan(ref) {
149
+ const parsed = parseCitationRef(ref);
150
+ if (!parsed)
151
+ return false;
152
+ if (parsed.start_line !== undefined)
153
+ return true;
154
+ // `path` is `beforeLines` with the anchor stripped, so the two differ if and
155
+ // only if an anchor was there.
156
+ return ref.trim().replace(LINE_SUFFIX_RE, "") !== parsed.path;
157
+ }
111
158
  /**
112
159
  * Candidate `path[:start[-end]]` citations inside a prose string. A token must
113
160
  * look like a path (contains a separator or a dot-extension) to be considered;
@@ -1 +1 @@
1
- {"version":3,"file":"citationGrounding.js","sourceRoot":"","sources":["../../../src/shared/validation/citationGrounding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"citationGrounding.js","sourceRoot":"","sources":["../../../src/shared/validation/citationGrounding.ts"],"names":[],"mappings":"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"}
@@ -37,15 +37,20 @@ export declare function groundDesignFinding(finding: Finding, knownPaths: Readon
37
37
  * can forget.
38
38
  *
39
39
  * The `lead_lineage` STRIP is unconditional for the same reason, and it is the
40
- * same "a separate call is a call someone forgets" argument: these lanes ingest
41
- * host-authored findings, and the array door (`consumeArraySubmission`) checks
42
- * only that the value IS an array — it does not parse through a schema that
43
- * omits the tool-owned verdicts the way the per-file worker contract does. So
44
- * without a strip here, a submission carrying `{producer: "host-forged", …}`
45
- * lands verbatim in `contract_findings` / `conceptual_findings` and thereafter
46
- * reads as a generation-bound deterministic lead: a claim wearing provenance it
47
- * never had. Dropping the field leaves the row what it actually is — an
48
- * unlineaged host finding, which the review prompt already calls out by count.
40
+ * same "a separate call is a call someone forgets" argument. Without it, a
41
+ * submission carrying `{producer: "host-forged", …}` lands verbatim in
42
+ * `contract_findings` / `conceptual_findings` and thereafter reads as a
43
+ * generation-bound deterministic lead: a claim wearing provenance it never had.
44
+ * Dropping the field leaves the row what it actually is — an unlineaged host
45
+ * finding, which the review prompt already calls out by count.
46
+ *
47
+ * ⚠ This strip no longer carries the DESIGN-REVIEW doors. Since 2026-09-17 the
48
+ * array door (`consumeArraySubmission`) parses each item with
49
+ * `SubmittedDesignFindingSchema` and REFUSES a supplied tool-owned verdict by
50
+ * name, which is strictly better than a silent strip. The strip stays because
51
+ * three callers never pass through that door — the charter clarification and
52
+ * charter fidelity executors, and the systemic challenge loop — and each of them
53
+ * ingests host-authored findings the same way.
49
54
  *
50
55
  * A host that legitimately re-emits a lead is unaffected in substance: the
51
56
  * provenance it could not have verified is exactly the part the tool refuses to
@@ -63,4 +68,20 @@ export declare function groundDesignFindings(findings: Finding[], repoManifest:
63
68
  path: string;
64
69
  }>;
65
70
  } | undefined): Finding[];
71
+ /**
72
+ * The normalized path set a repo manifest describes — the ONE way a caller turns
73
+ * a manifest into the `knownPaths` {@link groundDesignFinding} tests against.
74
+ *
75
+ * It exists because a second caller built that set by hand and got it wrong:
76
+ * the recovery verb's own universe passed the manifest paths through verbatim,
77
+ * while this module has always run them through `normalizeRepoPath` (which
78
+ * lowercases and forward-slashes). Two sets, one membership test, and a
79
+ * disagreement visible only on win32 or on a capitalized path — so a submission
80
+ * one boundary accepted the next one could still call ungrounded.
81
+ */
82
+ export declare function repoPathUniverse(repoManifest: {
83
+ files?: Array<{
84
+ path: string;
85
+ }>;
86
+ } | undefined): ReadonlySet<string>;
66
87
  //# sourceMappingURL=designFindingGrounding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"designFindingGrounding.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/designFindingGrounding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;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,CAYX"}
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"}
@@ -45,15 +45,20 @@ export function groundDesignFinding(finding, knownPaths) {
45
45
  * can forget.
46
46
  *
47
47
  * The `lead_lineage` STRIP is unconditional for the same reason, and it is the
48
- * same "a separate call is a call someone forgets" argument: these lanes ingest
49
- * host-authored findings, and the array door (`consumeArraySubmission`) checks
50
- * only that the value IS an array — it does not parse through a schema that
51
- * omits the tool-owned verdicts the way the per-file worker contract does. So
52
- * without a strip here, a submission carrying `{producer: "host-forged", …}`
53
- * lands verbatim in `contract_findings` / `conceptual_findings` and thereafter
54
- * reads as a generation-bound deterministic lead: a claim wearing provenance it
55
- * never had. Dropping the field leaves the row what it actually is — an
56
- * unlineaged host finding, which the review prompt already calls out by count.
48
+ * same "a separate call is a call someone forgets" argument. Without it, a
49
+ * submission carrying `{producer: "host-forged", …}` lands verbatim in
50
+ * `contract_findings` / `conceptual_findings` and thereafter reads as a
51
+ * generation-bound deterministic lead: a claim wearing provenance it never had.
52
+ * Dropping the field leaves the row what it actually is — an unlineaged host
53
+ * finding, which the review prompt already calls out by count.
54
+ *
55
+ * ⚠ This strip no longer carries the DESIGN-REVIEW doors. Since 2026-09-17 the
56
+ * array door (`consumeArraySubmission`) parses each item with
57
+ * `SubmittedDesignFindingSchema` and REFUSES a supplied tool-owned verdict by
58
+ * name, which is strictly better than a silent strip. The strip stays because
59
+ * three callers never pass through that door — the charter clarification and
60
+ * charter fidelity executors, and the systemic challenge loop — and each of them
61
+ * ingests host-authored findings the same way.
57
62
  *
58
63
  * A host that legitimately re-emits a lead is unaffected in substance: the
59
64
  * provenance it could not have verified is exactly the part the tool refuses to
@@ -71,13 +76,28 @@ export function groundDesignFindings(findings, repoManifest) {
71
76
  ...finding,
72
77
  evidence_lane: "design-review-lane",
73
78
  }));
74
- const files = repoManifest?.files ?? [];
75
- if (files.length === 0)
79
+ const known = repoPathUniverse(repoManifest);
80
+ if (known.size === 0)
76
81
  return marked;
77
- const known = new Set(files.map((f) => normalizeRepoPath(f.path)));
78
82
  return marked.map((finding) => ({
79
83
  ...finding,
80
84
  grounding: groundDesignFinding(finding, known),
81
85
  }));
82
86
  }
87
+ /**
88
+ * The normalized path set a repo manifest describes — the ONE way a caller turns
89
+ * a manifest into the `knownPaths` {@link groundDesignFinding} tests against.
90
+ *
91
+ * It exists because a second caller built that set by hand and got it wrong:
92
+ * the recovery verb's own universe passed the manifest paths through verbatim,
93
+ * while this module has always run them through `normalizeRepoPath` (which
94
+ * lowercases and forward-slashes). Two sets, one membership test, and a
95
+ * disagreement visible only on win32 or on a capitalized path — so a submission
96
+ * one boundary accepted the next one could still call ungrounded.
97
+ */
98
+ export function repoPathUniverse(repoManifest) {
99
+ return new Set((repoManifest?.files ?? [])
100
+ .map((file) => normalizeRepoPath(file?.path ?? ""))
101
+ .filter((path) => path.length > 0));
102
+ }
83
103
  //# sourceMappingURL=designFindingGrounding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"designFindingGrounding.js","sourceRoot":"","sources":["../../../src/shared/validation/designFindingGrounding.ts"],"names":[],"mappings":"AAmBA,+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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;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,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,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"}
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"}
@@ -2,10 +2,21 @@
2
2
  * The single validation and approved-membership authority for the canonical
3
3
  * audit-findings.json contract.
4
4
  */
5
- import { type AuditFindingsReport, type Finding, type WorkBlock, type WorkBlockSeam } from "../types/finding.js";
5
+ import { type AuditFindingsReport, type AuditRead, type Finding, type WorkBlock, type WorkBlockSeam } from "../types/finding.js";
6
6
  import type { ContentCoherenceTrace } from "../decompose/contentCoherence.js";
7
7
  import type { ValidationIssue } from "./basic.js";
8
- export declare const AUDIT_FINDINGS_CONTRACT_VERSION: "audit-tools/audit-findings/v1alpha1";
8
+ export declare const AUDIT_FINDINGS_CONTRACT_VERSION: "audit-tools/audit-findings/v1alpha2";
9
+ /**
10
+ * The `audit_read` a record carries, or `null` — "no commit is known".
11
+ *
12
+ * The ONE read every consumer goes through (the remediator's plan stamp, the
13
+ * close phase's evidence leg, the leftover re-emitter, resynthesize), so they
14
+ * cannot disagree about what an absent, `null` or malformed value means: all
15
+ * three are `null`. `holder` is any object that may carry the field — a parsed
16
+ * report or a persisted plan — and is `unknown` because every caller reads it
17
+ * back from disk.
18
+ */
19
+ export declare function auditReadOf(holder: unknown): AuditRead | null;
9
20
  export interface ApprovedFindingDisposition {
10
21
  status: "approved" | "quarantined_refuted";
11
22
  source: "findings" | "quarantined_findings";
@@ -1 +1 @@
1
- {"version":3,"file":"findingsReport.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/findingsReport.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAQ9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,eAAO,MAAM,+BAA+B,EAC1C,qCAA8C,CAAC;AAEjD,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,UAAU,GAAG,qBAAqB,CAAC;IAC3C,MAAM,EAAE,UAAU,GAAG,sBAAsB,CAAC;IAC5C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,cAAc,EAAE,qBAAqB,CAAC;IACtC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;CAC1D;AAmaD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,EACd,IAAI,SAAK,GACR,eAAe,EAAE,CAEnB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,0BAA0B,CAUlF;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,OAAO,EACd,gBAAgB,EAAE,SAAS,OAAO,EAAE,GACnC,mBAAmB,CAkMrB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,mBAAmB,CAE9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMnE"}
1
+ {"version":3,"file":"findingsReport.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/findingsReport.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAQ9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,eAAO,MAAM,+BAA+B,EAC1C,qCAA8C,CAAC;AAEjD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAI7D;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,UAAU,GAAG,qBAAqB,CAAC;IAC3C,MAAM,EAAE,UAAU,GAAG,sBAAsB,CAAC;IAC5C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,cAAc,EAAE,qBAAqB,CAAC;IACtC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;CAC1D;AAmaD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,EACd,IAAI,SAAK,GACR,eAAe,EAAE,CAEnB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,0BAA0B,CAUlF;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,OAAO,EACd,gBAAgB,EAAE,SAAS,OAAO,EAAE,GACnC,mBAAmB,CAkMrB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,mBAAmB,CAE9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMnE"}
@@ -1,14 +1,31 @@
1
+ // sites-pinned: tests/remediate/close-verify-head-evidence.test.ts, tests/remediate/audit-read-plan-stamp.test.ts, tests/audit/audit-read-synthesis.test.ts
1
2
  /**
2
3
  * The single validation and approved-membership authority for the canonical
3
4
  * audit-findings.json contract.
4
5
  */
5
- import { AuditFindingsReportSchema, } from "../types/finding.js";
6
+ import { AuditFindingsReportSchema, AuditReadSchema, } from "../types/finding.js";
6
7
  import { workBlockSeamRationale } from "../decompose/workBlockSeams.js";
7
8
  import { compareCodeUnits } from "../compareCodeUnits.js";
8
9
  import { lensCoverageEntryContradictsCount, reprojectLensCoverage, } from "../reporting/lensCoverage.js";
9
10
  import { severityRank } from "../types/lens.js";
10
11
  import { isRecord, pushValidationIssue } from "./basic.js";
11
- export const AUDIT_FINDINGS_CONTRACT_VERSION = "audit-tools/audit-findings/v1alpha1";
12
+ export const AUDIT_FINDINGS_CONTRACT_VERSION = "audit-tools/audit-findings/v1alpha2";
13
+ /**
14
+ * The `audit_read` a record carries, or `null` — "no commit is known".
15
+ *
16
+ * The ONE read every consumer goes through (the remediator's plan stamp, the
17
+ * close phase's evidence leg, the leftover re-emitter, resynthesize), so they
18
+ * cannot disagree about what an absent, `null` or malformed value means: all
19
+ * three are `null`. `holder` is any object that may carry the field — a parsed
20
+ * report or a persisted plan — and is `unknown` because every caller reads it
21
+ * back from disk.
22
+ */
23
+ export function auditReadOf(holder) {
24
+ if (!isRecord(holder))
25
+ return null;
26
+ const parsed = AuditReadSchema.nullable().safeParse(holder.audit_read ?? null);
27
+ return parsed.success ? parsed.data : null;
28
+ }
12
29
  function childPath(path, child) {
13
30
  return path ? `${path}.${child}` : child;
14
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"findingsReport.js","sourceRoot":"","sources":["../../../src/shared/validation/findingsReport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findingsReport.js","sourceRoot":"","sources":["../../../src/shared/validation/findingsReport.ts"],"names":[],"mappings":"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"}
@@ -75,12 +75,11 @@ advance the run.
75
75
  | `result_schema` | The bound result converts to the persisted `AuditResult` schema (`schemas/audit_result.schema.json`). | `audit` |
76
76
  | `result_validation` | The per-result content rules hold before acceptance (evidence present, line spans inside the file, line counts matching disk); warnings ride an advisory channel and never refuse. | `audit` |
77
77
  | `outcome_shape` | A decision result's `outcome` carries exactly the fields its status requires (`resolved_no_change` evidence, `blocked` failure reason, `needs_clarification` question). | `remediate` |
78
- | `write_scope` | `changed_files` is non-empty, sorted, unique and normalized, lies within the prompt-bound `allowed_files`, and equals the files the landed commit actually changed. | `remediate` |
79
- | `commit_evidence` | `commit_evidence` binds the workload baseline to a distinct landed commit; both exist, the baseline is an ancestor of the landed commit (waived only under a genuinely orphaned baseline in recovery), and the landed commit is reachable from HEAD. | `remediate` |
80
- | `test_evidence` | `test_evidence` carries exactly one passed entry per required test echoing the bound command, and the tool's own mechanical rerun of those tests passes. | `remediate` |
78
+ | `landed_commit` | `landed_commit` is a full commit id that exists, is not the workload baseline, changes at least one file, descends from the baseline (waived only under a genuinely orphaned baseline in recovery), and is reachable from HEAD. | `remediate` |
79
+ | `write_scope` | Every file the landed commit changed, as git reports it, lies within the prompt-bound `allowed_files`. | `remediate` |
80
+ | `required_tests` | The tool's own rerun of every prompt-bound required test passes on the tree that holds the landed commit. | `remediate` |
81
81
  | `obligation_evidence` | `obligation_evidence` cites non-empty evidence for every prompt-bound obligation, none twice, and none the work item does not bind. | `remediate` |
82
- | `worktree_evidence` | `worktree_evidence` binds the workload baseline and the same changed-file list, and no landed file overlaps dirt that pre-dated the run. | `remediate` |
83
- | `landing_attestation` | `acceptance` and `merge` both attest a completed landing. | `remediate` |
82
+ | `run_start_dirt` | No file the landed commit changed overlaps dirt that pre-dated the run. | `remediate` |
84
83
  | `no_change_corroboration` | A `resolved_no_change` claim is corroborated against git and the persisted write-scope binding; attestation-only acceptance is refused. | `remediate` |
85
84
  | `duplicate_result` | `result_id` has not already been accepted this run: a byte-identical replay is a no-op, a different body under an accepted id is refused. | `audit`, `remediate` |
86
85
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "audit-tools",
3
- "version": "0.51.11",
3
+ "version": "0.52.1",
4
4
  "private": false,
5
5
  "license": "ISC",
6
6
  "description": "Provider-neutral code auditing and remediation workflows for arbitrary repositories.",
@@ -132,6 +132,10 @@
132
132
  "quoted_text": {
133
133
  "type": "string"
134
134
  },
135
+ "no_quotable_span": {
136
+ "type": "string",
137
+ "minLength": 1
138
+ },
135
139
  "hash_at_plan_time": {
136
140
  "type": "string"
137
141
  }
@@ -371,6 +375,9 @@
371
375
  "type": "string"
372
376
  }
373
377
  },
378
+ "selection_rationale": {
379
+ "type": "string"
380
+ },
374
381
  "followup_tasks": {
375
382
  "type": "array",
376
383
  "items": {
@@ -415,6 +422,50 @@
415
422
  "minimum": 0
416
423
  }
417
424
  },
425
+ "coverage_policy": {
426
+ "type": "string",
427
+ "enum": [
428
+ "complete",
429
+ "selective"
430
+ ]
431
+ },
432
+ "file_metrics": {
433
+ "type": "array",
434
+ "items": {
435
+ "type": "object",
436
+ "properties": {
437
+ "path": {
438
+ "type": "string"
439
+ },
440
+ "total_lines": {
441
+ "type": "number"
442
+ },
443
+ "score": {
444
+ "type": "number"
445
+ },
446
+ "signals": {
447
+ "type": "array",
448
+ "items": {
449
+ "type": "string"
450
+ }
451
+ },
452
+ "prior_findings": {
453
+ "type": "object",
454
+ "additionalProperties": {
455
+ "type": "number"
456
+ }
457
+ }
458
+ },
459
+ "required": [
460
+ "path",
461
+ "total_lines",
462
+ "score",
463
+ "signals",
464
+ "prior_findings"
465
+ ],
466
+ "additionalProperties": false
467
+ }
468
+ },
418
469
  "line_ranges": {
419
470
  "type": "array",
420
471
  "items": {
@@ -134,6 +134,10 @@
134
134
  "quoted_text": {
135
135
  "type": "string"
136
136
  },
137
+ "no_quotable_span": {
138
+ "type": "string",
139
+ "minLength": 1
140
+ },
137
141
  "hash_at_plan_time": {
138
142
  "type": "string"
139
143
  }
@@ -373,6 +377,9 @@
373
377
  "type": "string"
374
378
  }
375
379
  },
380
+ "selection_rationale": {
381
+ "type": "string"
382
+ },
376
383
  "followup_tasks": {
377
384
  "type": "array",
378
385
  "items": {
@@ -417,6 +424,50 @@
417
424
  "minimum": 0
418
425
  }
419
426
  },
427
+ "coverage_policy": {
428
+ "type": "string",
429
+ "enum": [
430
+ "complete",
431
+ "selective"
432
+ ]
433
+ },
434
+ "file_metrics": {
435
+ "type": "array",
436
+ "items": {
437
+ "type": "object",
438
+ "properties": {
439
+ "path": {
440
+ "type": "string"
441
+ },
442
+ "total_lines": {
443
+ "type": "number"
444
+ },
445
+ "score": {
446
+ "type": "number"
447
+ },
448
+ "signals": {
449
+ "type": "array",
450
+ "items": {
451
+ "type": "string"
452
+ }
453
+ },
454
+ "prior_findings": {
455
+ "type": "object",
456
+ "additionalProperties": {
457
+ "type": "number"
458
+ }
459
+ }
460
+ },
461
+ "required": [
462
+ "path",
463
+ "total_lines",
464
+ "score",
465
+ "signals",
466
+ "prior_findings"
467
+ ],
468
+ "additionalProperties": false
469
+ }
470
+ },
420
471
  "line_ranges": {
421
472
  "type": "array",
422
473
  "items": {