audit-tools 0.50.21 → 0.51.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 (368) hide show
  1. package/README.md +1 -1
  2. package/dist/audit/cli/auditStep.d.ts +1 -1
  3. package/dist/audit/cli/charterExtractionPrompt.d.ts.map +1 -1
  4. package/dist/audit/cli/charterExtractionPrompt.js +14 -1
  5. package/dist/audit/cli/charterExtractionPrompt.js.map +1 -1
  6. package/dist/audit/cli/cleanup.d.ts +0 -1
  7. package/dist/audit/cli/cleanup.d.ts.map +1 -1
  8. package/dist/audit/cli/cleanup.js +32 -20
  9. package/dist/audit/cli/cleanup.js.map +1 -1
  10. package/dist/audit/cli/conceptualDispatch.d.ts.map +1 -1
  11. package/dist/audit/cli/conceptualDispatch.js +30 -5
  12. package/dist/audit/cli/conceptualDispatch.js.map +1 -1
  13. package/dist/audit/cli/dispatch/hostHandoff.d.ts +2 -0
  14. package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
  15. package/dist/audit/cli/dispatch/hostHandoff.js +48 -20
  16. package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
  17. package/dist/audit/cli/fanoutLanes.d.ts +7 -0
  18. package/dist/audit/cli/fanoutLanes.d.ts.map +1 -1
  19. package/dist/audit/cli/fanoutLanes.js +9 -1
  20. package/dist/audit/cli/fanoutLanes.js.map +1 -1
  21. package/dist/audit/cli/forceSynthesisCommand.d.ts.map +1 -1
  22. package/dist/audit/cli/forceSynthesisCommand.js +2 -14
  23. package/dist/audit/cli/forceSynthesisCommand.js.map +1 -1
  24. package/dist/audit/cli/intakeCommand.d.ts.map +1 -1
  25. package/dist/audit/cli/intakeCommand.js +3 -13
  26. package/dist/audit/cli/intakeCommand.js.map +1 -1
  27. package/dist/audit/cli/laneSubmissions.d.ts +42 -57
  28. package/dist/audit/cli/laneSubmissions.d.ts.map +1 -1
  29. package/dist/audit/cli/laneSubmissions.js +116 -82
  30. package/dist/audit/cli/laneSubmissions.js.map +1 -1
  31. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  32. package/dist/audit/cli/nextStepCommand.js +132 -99
  33. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  34. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  35. package/dist/audit/cli/nextStepHelpers.js +39 -46
  36. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  37. package/dist/audit/cli/resynthesizeCommand.d.ts.map +1 -1
  38. package/dist/audit/cli/resynthesizeCommand.js +5 -2
  39. package/dist/audit/cli/resynthesizeCommand.js.map +1 -1
  40. package/dist/audit/cli/sampleRunCommand.d.ts +3 -2
  41. package/dist/audit/cli/sampleRunCommand.d.ts.map +1 -1
  42. package/dist/audit/cli/stepScaffold.d.ts +21 -0
  43. package/dist/audit/cli/stepScaffold.d.ts.map +1 -0
  44. package/dist/audit/cli/stepScaffold.js +50 -0
  45. package/dist/audit/cli/stepScaffold.js.map +1 -0
  46. package/dist/audit/cli/steps.d.ts +6 -6
  47. package/dist/audit/cli/synthesizeCommand.d.ts.map +1 -1
  48. package/dist/audit/cli/synthesizeCommand.js +2 -14
  49. package/dist/audit/cli/synthesizeCommand.js.map +1 -1
  50. package/dist/audit/contracts/workerSchemas.d.ts +8 -8
  51. package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
  52. package/dist/audit/contracts/workerSchemas.js +12 -6
  53. package/dist/audit/contracts/workerSchemas.js.map +1 -1
  54. package/dist/audit/contracts/wrapperResponse.d.ts +7 -7
  55. package/dist/audit/contracts/wrapperResponse.d.ts.map +1 -1
  56. package/dist/audit/contracts/wrapperResponse.js +9 -1
  57. package/dist/audit/contracts/wrapperResponse.js.map +1 -1
  58. package/dist/audit/extractors/analyzers/merge.d.ts.map +1 -1
  59. package/dist/audit/extractors/analyzers/merge.js +2 -7
  60. package/dist/audit/extractors/analyzers/merge.js.map +1 -1
  61. package/dist/audit/extractors/commentDecomposition.d.ts +28 -0
  62. package/dist/audit/extractors/commentDecomposition.d.ts.map +1 -1
  63. package/dist/audit/extractors/commentDecomposition.js +151 -22
  64. package/dist/audit/extractors/commentDecomposition.js.map +1 -1
  65. package/dist/audit/extractors/graph.d.ts +1 -1
  66. package/dist/audit/extractors/graph.d.ts.map +1 -1
  67. package/dist/audit/extractors/graph.js +2 -6
  68. package/dist/audit/extractors/graph.js.map +1 -1
  69. package/dist/audit/extractors/graphManifestEdges/cargo.d.ts.map +1 -1
  70. package/dist/audit/extractors/graphManifestEdges/cargo.js +4 -4
  71. package/dist/audit/extractors/graphManifestEdges/cargo.js.map +1 -1
  72. package/dist/audit/extractors/graphManifestEdges/pnpm.d.ts.map +1 -1
  73. package/dist/audit/extractors/graphManifestEdges/pnpm.js +3 -3
  74. package/dist/audit/extractors/graphManifestEdges/pnpm.js.map +1 -1
  75. package/dist/audit/extractors/graphManifestEdges/pyproject.d.ts.map +1 -1
  76. package/dist/audit/extractors/graphManifestEdges/pyproject.js +3 -2
  77. package/dist/audit/extractors/graphManifestEdges/pyproject.js.map +1 -1
  78. package/dist/audit/extractors/graphManifestEdges/toml.d.ts +0 -6
  79. package/dist/audit/extractors/graphManifestEdges/toml.d.ts.map +1 -1
  80. package/dist/audit/extractors/graphManifestEdges/toml.js +0 -13
  81. package/dist/audit/extractors/graphManifestEdges/toml.js.map +1 -1
  82. package/dist/audit/extractors/graphManifestEdges/workspace.d.ts +9 -0
  83. package/dist/audit/extractors/graphManifestEdges/workspace.d.ts.map +1 -1
  84. package/dist/audit/extractors/graphManifestEdges/workspace.js +16 -0
  85. package/dist/audit/extractors/graphManifestEdges/workspace.js.map +1 -1
  86. package/dist/audit/extractors/graphManifestEdges/yaml.d.ts +0 -2
  87. package/dist/audit/extractors/graphManifestEdges/yaml.d.ts.map +1 -1
  88. package/dist/audit/extractors/graphManifestEdges/yaml.js +0 -9
  89. package/dist/audit/extractors/graphManifestEdges/yaml.js.map +1 -1
  90. package/dist/audit/extractors/graphSignals.d.ts.map +1 -1
  91. package/dist/audit/extractors/graphSignals.js +16 -2
  92. package/dist/audit/extractors/graphSignals.js.map +1 -1
  93. package/dist/audit/io/artifacts.d.ts +19 -0
  94. package/dist/audit/io/artifacts.d.ts.map +1 -1
  95. package/dist/audit/io/artifacts.js +44 -2
  96. package/dist/audit/io/artifacts.js.map +1 -1
  97. package/dist/audit/orchestrator/advance.d.ts +0 -22
  98. package/dist/audit/orchestrator/advance.d.ts.map +1 -1
  99. package/dist/audit/orchestrator/advance.js +1 -43
  100. package/dist/audit/orchestrator/advance.js.map +1 -1
  101. package/dist/audit/orchestrator/charterDeltaExecutor.d.ts.map +1 -1
  102. package/dist/audit/orchestrator/charterDeltaExecutor.js +14 -0
  103. package/dist/audit/orchestrator/charterDeltaExecutor.js.map +1 -1
  104. package/dist/audit/orchestrator/charterExtractionExecutor.d.ts +16 -6
  105. package/dist/audit/orchestrator/charterExtractionExecutor.d.ts.map +1 -1
  106. package/dist/audit/orchestrator/charterExtractionExecutor.js +127 -9
  107. package/dist/audit/orchestrator/charterExtractionExecutor.js.map +1 -1
  108. package/dist/audit/orchestrator/charterPacketArchive.d.ts +51 -0
  109. package/dist/audit/orchestrator/charterPacketArchive.d.ts.map +1 -0
  110. package/dist/audit/orchestrator/charterPacketArchive.js +173 -0
  111. package/dist/audit/orchestrator/charterPacketArchive.js.map +1 -0
  112. package/dist/audit/orchestrator/charterPackets.d.ts +31 -13
  113. package/dist/audit/orchestrator/charterPackets.d.ts.map +1 -1
  114. package/dist/audit/orchestrator/charterPackets.js +299 -96
  115. package/dist/audit/orchestrator/charterPackets.js.map +1 -1
  116. package/dist/audit/orchestrator/designReviewPrompt.d.ts +20 -4
  117. package/dist/audit/orchestrator/designReviewPrompt.d.ts.map +1 -1
  118. package/dist/audit/orchestrator/designReviewPrompt.js +89 -12
  119. package/dist/audit/orchestrator/designReviewPrompt.js.map +1 -1
  120. package/dist/audit/orchestrator/edgeReasoning.d.ts.map +1 -1
  121. package/dist/audit/orchestrator/edgeReasoning.js +4 -9
  122. package/dist/audit/orchestrator/edgeReasoning.js.map +1 -1
  123. package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
  124. package/dist/audit/orchestrator/executorRunners.js +17 -1
  125. package/dist/audit/orchestrator/executorRunners.js.map +1 -1
  126. package/dist/audit/orchestrator/graphEnrichmentExecutor.d.ts.map +1 -1
  127. package/dist/audit/orchestrator/graphEnrichmentExecutor.js +8 -1
  128. package/dist/audit/orchestrator/graphEnrichmentExecutor.js.map +1 -1
  129. package/dist/audit/orchestrator/intentCheckpointGate.d.ts.map +1 -1
  130. package/dist/audit/orchestrator/intentCheckpointGate.js +11 -2
  131. package/dist/audit/orchestrator/intentCheckpointGate.js.map +1 -1
  132. package/dist/audit/orchestrator/lineCounts.d.ts +44 -0
  133. package/dist/audit/orchestrator/lineCounts.d.ts.map +1 -0
  134. package/dist/audit/orchestrator/lineCounts.js +61 -0
  135. package/dist/audit/orchestrator/lineCounts.js.map +1 -0
  136. package/dist/audit/orchestrator/obligationDerive.d.ts +35 -0
  137. package/dist/audit/orchestrator/obligationDerive.d.ts.map +1 -0
  138. package/dist/audit/orchestrator/obligationDerive.js +50 -0
  139. package/dist/audit/orchestrator/obligationDerive.js.map +1 -0
  140. package/dist/audit/orchestrator/reviewPacketMetrics.d.ts.map +1 -1
  141. package/dist/audit/orchestrator/reviewPacketMetrics.js +3 -2
  142. package/dist/audit/orchestrator/reviewPacketMetrics.js.map +1 -1
  143. package/dist/audit/orchestrator/reviewPacketShared.d.ts +0 -2
  144. package/dist/audit/orchestrator/reviewPacketShared.d.ts.map +1 -1
  145. package/dist/audit/orchestrator/reviewPacketShared.js +0 -4
  146. package/dist/audit/orchestrator/reviewPacketShared.js.map +1 -1
  147. package/dist/audit/orchestrator/reviewPackets.d.ts.map +1 -1
  148. package/dist/audit/orchestrator/reviewPackets.js +3 -2
  149. package/dist/audit/orchestrator/reviewPackets.js.map +1 -1
  150. package/dist/audit/orchestrator/selectiveDeepening/conflict.d.ts.map +1 -1
  151. package/dist/audit/orchestrator/selectiveDeepening/conflict.js +3 -2
  152. package/dist/audit/orchestrator/selectiveDeepening/conflict.js.map +1 -1
  153. package/dist/audit/orchestrator/selectiveDeepening/findingFollowup.d.ts.map +1 -1
  154. package/dist/audit/orchestrator/selectiveDeepening/findingFollowup.js +3 -2
  155. package/dist/audit/orchestrator/selectiveDeepening/findingFollowup.js.map +1 -1
  156. package/dist/audit/orchestrator/selectiveDeepening/highRiskClean.d.ts.map +1 -1
  157. package/dist/audit/orchestrator/selectiveDeepening/highRiskClean.js +3 -2
  158. package/dist/audit/orchestrator/selectiveDeepening/highRiskClean.js.map +1 -1
  159. package/dist/audit/orchestrator/selectiveDeepening/lensVerification.d.ts.map +1 -1
  160. package/dist/audit/orchestrator/selectiveDeepening/lensVerification.js +4 -3
  161. package/dist/audit/orchestrator/selectiveDeepening/lensVerification.js.map +1 -1
  162. package/dist/audit/orchestrator/selectiveDeepening/runtimeValidation.d.ts.map +1 -1
  163. package/dist/audit/orchestrator/selectiveDeepening/runtimeValidation.js +2 -1
  164. package/dist/audit/orchestrator/selectiveDeepening/runtimeValidation.js.map +1 -1
  165. package/dist/audit/orchestrator/selectiveDeepening/shared.d.ts +0 -2
  166. package/dist/audit/orchestrator/selectiveDeepening/shared.d.ts.map +1 -1
  167. package/dist/audit/orchestrator/selectiveDeepening/shared.js +0 -27
  168. package/dist/audit/orchestrator/selectiveDeepening/shared.js.map +1 -1
  169. package/dist/audit/orchestrator/selectiveDeepening/stewardFollowup.d.ts.map +1 -1
  170. package/dist/audit/orchestrator/selectiveDeepening/stewardFollowup.js +10 -1
  171. package/dist/audit/orchestrator/selectiveDeepening/stewardFollowup.js.map +1 -1
  172. package/dist/audit/orchestrator/state.d.ts.map +1 -1
  173. package/dist/audit/orchestrator/state.js +21 -14
  174. package/dist/audit/orchestrator/state.js.map +1 -1
  175. package/dist/audit/orchestrator/synthesisExecutors.d.ts +8 -0
  176. package/dist/audit/orchestrator/synthesisExecutors.d.ts.map +1 -1
  177. package/dist/audit/orchestrator/synthesisExecutors.js +10 -0
  178. package/dist/audit/orchestrator/synthesisExecutors.js.map +1 -1
  179. package/dist/audit/reporting/synthesis.d.ts +42 -2
  180. package/dist/audit/reporting/synthesis.d.ts.map +1 -1
  181. package/dist/audit/reporting/synthesis.js +264 -12
  182. package/dist/audit/reporting/synthesis.js.map +1 -1
  183. package/dist/audit/supervisor/operatorHandoff.d.ts.map +1 -1
  184. package/dist/audit/supervisor/operatorHandoff.js +14 -6
  185. package/dist/audit/supervisor/operatorHandoff.js.map +1 -1
  186. package/dist/audit/systemic/secondOrderAdversaryPrompt.d.ts.map +1 -1
  187. package/dist/audit/systemic/secondOrderAdversaryPrompt.js +14 -0
  188. package/dist/audit/systemic/secondOrderAdversaryPrompt.js.map +1 -1
  189. package/dist/audit/types/analyzerCapability.d.ts +35 -11
  190. package/dist/audit/types/analyzerCapability.d.ts.map +1 -1
  191. package/dist/audit/types/analyzerCapability.js +83 -5
  192. package/dist/audit/types/analyzerCapability.js.map +1 -1
  193. package/dist/audit/types/auditState.d.ts +8 -8
  194. package/dist/audit/types/charterRegister.d.ts +33 -3
  195. package/dist/audit/types/charterRegister.d.ts.map +1 -1
  196. package/dist/audit/types/charterRegister.js +11 -1
  197. package/dist/audit/types/charterRegister.js.map +1 -1
  198. package/dist/audit/types/conceptualAdjudication.d.ts +395 -16
  199. package/dist/audit/types/conceptualAdjudication.d.ts.map +1 -1
  200. package/dist/audit/types/conceptualAdjudication.js +109 -5
  201. package/dist/audit/types/conceptualAdjudication.js.map +1 -1
  202. package/dist/audit/types/designAssessment.d.ts +1 -1
  203. package/dist/audit/types/designAssessment.d.ts.map +1 -1
  204. package/dist/audit/types.d.ts +9 -4
  205. package/dist/audit/types.d.ts.map +1 -1
  206. package/dist/remediate/droppedFindingsRecord.d.ts +13 -0
  207. package/dist/remediate/droppedFindingsRecord.d.ts.map +1 -0
  208. package/dist/remediate/droppedFindingsRecord.js +113 -0
  209. package/dist/remediate/droppedFindingsRecord.js.map +1 -0
  210. package/dist/remediate/intake.d.ts +17 -0
  211. package/dist/remediate/intake.d.ts.map +1 -1
  212. package/dist/remediate/intake.js +23 -0
  213. package/dist/remediate/intake.js.map +1 -1
  214. package/dist/remediate/intent/intentOrdering.d.ts.map +1 -1
  215. package/dist/remediate/intent/intentOrdering.js +29 -1
  216. package/dist/remediate/intent/intentOrdering.js.map +1 -1
  217. package/dist/remediate/phases/close.d.ts +1 -1
  218. package/dist/remediate/phases/close.d.ts.map +1 -1
  219. package/dist/remediate/phases/close.js +68 -6
  220. package/dist/remediate/phases/close.js.map +1 -1
  221. package/dist/remediate/phases/grounding.d.ts +12 -4
  222. package/dist/remediate/phases/grounding.d.ts.map +1 -1
  223. package/dist/remediate/phases/grounding.js +23 -60
  224. package/dist/remediate/phases/grounding.js.map +1 -1
  225. package/dist/remediate/state/types.d.ts +17 -6
  226. package/dist/remediate/state/types.d.ts.map +1 -1
  227. package/dist/remediate/state/types.js +3 -1
  228. package/dist/remediate/state/types.js.map +1 -1
  229. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  230. package/dist/remediate/steps/contractPipeline.js +10 -4
  231. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  232. package/dist/remediate/steps/contractPipelinePrompts.d.ts +10 -2
  233. package/dist/remediate/steps/contractPipelinePrompts.d.ts.map +1 -1
  234. package/dist/remediate/steps/contractPipelinePrompts.js +56 -12
  235. package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
  236. package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
  237. package/dist/remediate/steps/dispatch/hostHandoff.js +277 -146
  238. package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
  239. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  240. package/dist/remediate/steps/nextStep.js +253 -75
  241. package/dist/remediate/steps/nextStep.js.map +1 -1
  242. package/dist/remediate/steps/prompts.d.ts +14 -0
  243. package/dist/remediate/steps/prompts.d.ts.map +1 -1
  244. package/dist/remediate/steps/prompts.js +52 -4
  245. package/dist/remediate/steps/prompts.js.map +1 -1
  246. package/dist/remediate/steps/types.d.ts +1 -1
  247. package/dist/remediate/steps/types.d.ts.map +1 -1
  248. package/dist/remediate/steps/types.js.map +1 -1
  249. package/dist/remediate/validation/contractPipelineGates.d.ts +0 -34
  250. package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
  251. package/dist/remediate/validation/contractPipelineGates.js +181 -143
  252. package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
  253. package/dist/shared/agentReflections.d.ts +44 -3
  254. package/dist/shared/agentReflections.d.ts.map +1 -1
  255. package/dist/shared/agentReflections.js +63 -4
  256. package/dist/shared/agentReflections.js.map +1 -1
  257. package/dist/shared/analyzers/acquisitionEngine.d.ts +20 -1
  258. package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
  259. package/dist/shared/analyzers/acquisitionEngine.js +17 -3
  260. package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
  261. package/dist/shared/analyzers/candidates.d.ts.map +1 -1
  262. package/dist/shared/analyzers/candidates.js +13 -4
  263. package/dist/shared/analyzers/candidates.js.map +1 -1
  264. package/dist/shared/analyzers/types.d.ts +17 -6
  265. package/dist/shared/analyzers/types.d.ts.map +1 -1
  266. package/dist/shared/analyzers/types.js +6 -15
  267. package/dist/shared/analyzers/types.js.map +1 -1
  268. package/dist/shared/decompose/systemicChallenge.d.ts +116 -9
  269. package/dist/shared/decompose/systemicChallenge.d.ts.map +1 -1
  270. package/dist/shared/decompose/systemicChallenge.js +32 -1
  271. package/dist/shared/decompose/systemicChallenge.js.map +1 -1
  272. package/dist/shared/engine/obligationEngine.d.ts +23 -6
  273. package/dist/shared/engine/obligationEngine.d.ts.map +1 -1
  274. package/dist/shared/engine/obligationEngine.js +38 -3
  275. package/dist/shared/engine/obligationEngine.js.map +1 -1
  276. package/dist/shared/findings/dedupe.d.ts +10 -0
  277. package/dist/shared/findings/dedupe.d.ts.map +1 -1
  278. package/dist/shared/findings/dedupe.js +15 -0
  279. package/dist/shared/findings/dedupe.js.map +1 -1
  280. package/dist/shared/friction/triage.d.ts.map +1 -1
  281. package/dist/shared/friction/triage.js +5 -1
  282. package/dist/shared/friction/triage.js.map +1 -1
  283. package/dist/shared/git.d.ts +6 -0
  284. package/dist/shared/git.d.ts.map +1 -1
  285. package/dist/shared/git.js +8 -0
  286. package/dist/shared/git.js.map +1 -1
  287. package/dist/shared/graph/edgeConfidence.d.ts +12 -0
  288. package/dist/shared/graph/edgeConfidence.d.ts.map +1 -0
  289. package/dist/shared/graph/edgeConfidence.js +15 -0
  290. package/dist/shared/graph/edgeConfidence.js.map +1 -0
  291. package/dist/shared/index.d.ts +26 -9
  292. package/dist/shared/index.d.ts.map +1 -1
  293. package/dist/shared/index.js +20 -8
  294. package/dist/shared/index.js.map +1 -1
  295. package/dist/shared/loopCorePaths.d.ts.map +1 -1
  296. package/dist/shared/loopCorePaths.js +4 -0
  297. package/dist/shared/loopCorePaths.js.map +1 -1
  298. package/dist/shared/measurement/measuredOutcome.d.ts +61 -0
  299. package/dist/shared/measurement/measuredOutcome.d.ts.map +1 -0
  300. package/dist/shared/measurement/measuredOutcome.js +109 -0
  301. package/dist/shared/measurement/measuredOutcome.js.map +1 -0
  302. package/dist/shared/reporting/findingDisplay.d.ts +14 -2
  303. package/dist/shared/reporting/findingDisplay.d.ts.map +1 -1
  304. package/dist/shared/reporting/findingDisplay.js +29 -2
  305. package/dist/shared/reporting/findingDisplay.js.map +1 -1
  306. package/dist/shared/reporting/lensCoverage.d.ts +70 -0
  307. package/dist/shared/reporting/lensCoverage.d.ts.map +1 -0
  308. package/dist/shared/reporting/lensCoverage.js +108 -0
  309. package/dist/shared/reporting/lensCoverage.js.map +1 -0
  310. package/dist/shared/submission/hostResultOutcomes.d.ts +42 -0
  311. package/dist/shared/submission/hostResultOutcomes.d.ts.map +1 -0
  312. package/dist/shared/submission/hostResultOutcomes.js +129 -0
  313. package/dist/shared/submission/hostResultOutcomes.js.map +1 -0
  314. package/dist/shared/submission/ingestionChecks.d.ts +146 -0
  315. package/dist/shared/submission/ingestionChecks.d.ts.map +1 -0
  316. package/dist/shared/submission/ingestionChecks.js +157 -0
  317. package/dist/shared/submission/ingestionChecks.js.map +1 -0
  318. package/dist/shared/submission/submissionClassifier.d.ts +8 -0
  319. package/dist/shared/submission/submissionClassifier.d.ts.map +1 -1
  320. package/dist/shared/submission/submissionClassifier.js.map +1 -1
  321. package/dist/shared/submission/submissionLedger.d.ts +24 -1
  322. package/dist/shared/submission/submissionLedger.d.ts.map +1 -1
  323. package/dist/shared/submission/submissionLedger.js +61 -0
  324. package/dist/shared/submission/submissionLedger.js.map +1 -1
  325. package/dist/shared/submission/submissionScan.d.ts +2 -0
  326. package/dist/shared/submission/submissionScan.d.ts.map +1 -1
  327. package/dist/shared/submission/submissionScan.js +4 -0
  328. package/dist/shared/submission/submissionScan.js.map +1 -1
  329. package/dist/shared/tooling/projectFacts.d.ts +71 -0
  330. package/dist/shared/tooling/projectFacts.d.ts.map +1 -0
  331. package/dist/shared/tooling/projectFacts.js +153 -0
  332. package/dist/shared/tooling/projectFacts.js.map +1 -0
  333. package/dist/shared/tooling/projectTestAdmission.d.ts +5 -15
  334. package/dist/shared/tooling/projectTestAdmission.d.ts.map +1 -1
  335. package/dist/shared/tooling/projectTestAdmission.js +14 -5
  336. package/dist/shared/tooling/projectTestAdmission.js.map +1 -1
  337. package/dist/shared/types/charterPacket.d.ts +156 -0
  338. package/dist/shared/types/charterPacket.d.ts.map +1 -0
  339. package/dist/shared/types/charterPacket.js +9 -0
  340. package/dist/shared/types/charterPacket.js.map +1 -0
  341. package/dist/shared/types/closingActions.d.ts +16 -0
  342. package/dist/shared/types/closingActions.d.ts.map +1 -0
  343. package/dist/shared/types/closingActions.js +25 -0
  344. package/dist/shared/types/closingActions.js.map +1 -0
  345. package/dist/shared/types/finding.d.ts +275 -40
  346. package/dist/shared/types/finding.d.ts.map +1 -1
  347. package/dist/shared/types/finding.js +87 -0
  348. package/dist/shared/types/finding.js.map +1 -1
  349. package/dist/shared/types/intentCheckpoint.d.ts +50 -0
  350. package/dist/shared/types/intentCheckpoint.d.ts.map +1 -1
  351. package/dist/shared/types/intentCheckpoint.js +31 -0
  352. package/dist/shared/types/intentCheckpoint.js.map +1 -1
  353. package/dist/shared/validation/citationGrounding.d.ts +115 -0
  354. package/dist/shared/validation/citationGrounding.d.ts.map +1 -0
  355. package/dist/shared/validation/citationGrounding.js +347 -0
  356. package/dist/shared/validation/citationGrounding.js.map +1 -0
  357. package/dist/shared/validation/findingsReport.d.ts.map +1 -1
  358. package/dist/shared/validation/findingsReport.js +62 -0
  359. package/dist/shared/validation/findingsReport.js.map +1 -1
  360. package/docs/audit-pkg/contracts.md +34 -12
  361. package/docs/audit-pkg/operator-guide.md +10 -7
  362. package/package.json +3 -2
  363. package/schemas/audit-code-v1alpha1.schema.json +2 -1
  364. package/skills/audit-code/audit-code.prompt.md +5 -3
  365. package/dist/remediate/state/closingActions.d.ts +0 -3
  366. package/dist/remediate/state/closingActions.d.ts.map +0 -1
  367. package/dist/remediate/state/closingActions.js +0 -10
  368. package/dist/remediate/state/closingActions.js.map +0 -1
@@ -78,6 +78,13 @@ function renderAdjudication(bundle) {
78
78
  : contributor),
79
79
  candidate_dispositions: adjudication.candidate_dispositions,
80
80
  final_finding_shares: adjudication.final_finding_shares,
81
+ // The adversary's whole job is to challenge what the round produced, so
82
+ // it must see the round's own outcome rates. A zero rejection rate over
83
+ // every candidate is exactly the kind of too-good-to-be-true signal this
84
+ // pass exists to notice, and it is invisible from the per-candidate
85
+ // records alone.
86
+ candidate_disposition_breakdown: adjudication.candidate_disposition_breakdown,
87
+ candidate_verification_status_breakdown: adjudication.candidate_verification_status_breakdown,
81
88
  }, null, 2),
82
89
  "```",
83
90
  ];
@@ -140,6 +147,12 @@ export function renderSecondOrderAdversaryPrompt(opts) {
140
147
  "",
141
148
  "Tag each finding with its TRUE lens — for example, test parallelization is `tests` or `performance`, and operational simplification is `operability`. Do not default everything to `architecture`.",
142
149
  "",
150
+ "## Evidence (required, at least one entry per finding)",
151
+ "",
152
+ "Write down what your source verification actually found. Every finding needs at least one `evidence` entry, and a finding submitted without one is REFUSED — not quietly downgraded. This is not bureaucracy: a finding with no evidence cannot be remediated later, so an unevidenced improvement is discarded downstream and your round's work is lost.",
153
+ "",
154
+ "Cite SYMBOLS, not line numbers — a function, type, or exported name, with the file that holds it. A line number is wrong after the next edit; a symbol name survives. Aggregate counts are not evidence on their own; name the thing you read.",
155
+ "",
143
156
  "## Loop-until-dry",
144
157
  "",
145
158
  "The review is done only when consecutive rounds yield NOTHING NEW. If genuine source-backed pressure finds no new improvement this round, submit an empty `findings` array. Otherwise submit only new improvements, each anchored to at least one real component.",
@@ -158,6 +171,7 @@ export function renderSecondOrderAdversaryPrompt(opts) {
158
171
  ' "confidence": "low|medium|high",',
159
172
  ' "lens": "<the TRUE lens: tests|performance|operability|...>",',
160
173
  ' "summary": "<what to do, why it is better, and source verification>",',
174
+ ' "evidence": ["<symbol you read, the file holding it, and what you found there>"],',
161
175
  ' "affected_files": [{ "path": "<a real repo path>" }]',
162
176
  " }]",
163
177
  "}",
@@ -1 +1 @@
1
- {"version":3,"file":"secondOrderAdversaryPrompt.js","sourceRoot":"","sources":["../../../src/audit/systemic/secondOrderAdversaryPrompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secondOrderAdversaryPrompt.js","sourceRoot":"","sources":["../../../src/audit/systemic/secondOrderAdversaryPrompt.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- export declare const AnalyzerCapabilityStatusSchema: z.ZodEnum<["applied", "omitted"]>;
2
+ import { type MeasuredOutcome } from "audit-tools/shared";
3
3
  export declare const AnalyzerCapabilityEntrySchema: z.ZodObject<{
4
4
  id: z.ZodString;
5
5
  resolution: z.ZodEnum<["repo", "cache", "installed", "absent", "skip", "not_applicable"]>;
@@ -9,14 +9,14 @@ export declare const AnalyzerCapabilityEntrySchema: z.ZodObject<{
9
9
  note: z.ZodOptional<z.ZodString>;
10
10
  }, "strict", z.ZodTypeAny, {
11
11
  id: string;
12
- resolution: "absent" | "repo" | "skip" | "cache" | "installed" | "not_applicable";
12
+ resolution: "not_applicable" | "absent" | "repo" | "skip" | "cache" | "installed";
13
13
  setting: "repo" | "ephemeral" | "permanent" | "skip" | "auto";
14
14
  edges_added: number;
15
15
  routes_added: number;
16
16
  note?: string | undefined;
17
17
  }, {
18
18
  id: string;
19
- resolution: "absent" | "repo" | "skip" | "cache" | "installed" | "not_applicable";
19
+ resolution: "not_applicable" | "absent" | "repo" | "skip" | "cache" | "installed";
20
20
  setting: "repo" | "ephemeral" | "permanent" | "skip" | "auto";
21
21
  edges_added: number;
22
22
  routes_added: number;
@@ -24,8 +24,18 @@ export declare const AnalyzerCapabilityEntrySchema: z.ZodObject<{
24
24
  }>;
25
25
  export type AnalyzerCapabilityEntry = z.infer<typeof AnalyzerCapabilityEntrySchema>;
26
26
  export declare const AnalyzerCapabilityRecordSchema: z.ZodObject<{
27
- /** `applied` when ≥1 analyzer contributed edges/routes; `omitted` otherwise. */
28
- status: z.ZodEnum<["applied", "omitted"]>;
27
+ /**
28
+ * What the graph-enrichment channel actually PRODUCED, in the shared
29
+ * measured-outcome vocabulary — derived from the entries below by
30
+ * {@link analyzerCapabilityCoverage}, never asserted.
31
+ *
32
+ * It replaces `status: "applied" | "omitted"`, which was a success-predicate
33
+ * over a partial set (`analyzersUsed.length > 0`) and therefore read
34
+ * `applied` while operator-requested analyzers had failed and the weaker
35
+ * regex floor stood in — a field that answered "did ANY analyzer contribute
36
+ * edges" while every reader took it for "did enrichment work".
37
+ */
38
+ coverage: z.ZodEnum<["clean", "findings", "degraded", "not_run", "not_applicable"]>;
29
39
  analyzers: z.ZodArray<z.ZodObject<{
30
40
  id: z.ZodString;
31
41
  resolution: z.ZodEnum<["repo", "cache", "installed", "absent", "skip", "not_applicable"]>;
@@ -35,34 +45,34 @@ export declare const AnalyzerCapabilityRecordSchema: z.ZodObject<{
35
45
  note: z.ZodOptional<z.ZodString>;
36
46
  }, "strict", z.ZodTypeAny, {
37
47
  id: string;
38
- resolution: "absent" | "repo" | "skip" | "cache" | "installed" | "not_applicable";
48
+ resolution: "not_applicable" | "absent" | "repo" | "skip" | "cache" | "installed";
39
49
  setting: "repo" | "ephemeral" | "permanent" | "skip" | "auto";
40
50
  edges_added: number;
41
51
  routes_added: number;
42
52
  note?: string | undefined;
43
53
  }, {
44
54
  id: string;
45
- resolution: "absent" | "repo" | "skip" | "cache" | "installed" | "not_applicable";
55
+ resolution: "not_applicable" | "absent" | "repo" | "skip" | "cache" | "installed";
46
56
  setting: "repo" | "ephemeral" | "permanent" | "skip" | "auto";
47
57
  edges_added: number;
48
58
  routes_added: number;
49
59
  note?: string | undefined;
50
60
  }>, "many">;
51
61
  }, "strict", z.ZodTypeAny, {
52
- status: "applied" | "omitted";
62
+ coverage: "clean" | "findings" | "degraded" | "not_run" | "not_applicable";
53
63
  analyzers: {
54
64
  id: string;
55
- resolution: "absent" | "repo" | "skip" | "cache" | "installed" | "not_applicable";
65
+ resolution: "not_applicable" | "absent" | "repo" | "skip" | "cache" | "installed";
56
66
  setting: "repo" | "ephemeral" | "permanent" | "skip" | "auto";
57
67
  edges_added: number;
58
68
  routes_added: number;
59
69
  note?: string | undefined;
60
70
  }[];
61
71
  }, {
62
- status: "applied" | "omitted";
72
+ coverage: "clean" | "findings" | "degraded" | "not_run" | "not_applicable";
63
73
  analyzers: {
64
74
  id: string;
65
- resolution: "absent" | "repo" | "skip" | "cache" | "installed" | "not_applicable";
75
+ resolution: "not_applicable" | "absent" | "repo" | "skip" | "cache" | "installed";
66
76
  setting: "repo" | "ephemeral" | "permanent" | "skip" | "auto";
67
77
  edges_added: number;
68
78
  routes_added: number;
@@ -70,4 +80,18 @@ export declare const AnalyzerCapabilityRecordSchema: z.ZodObject<{
70
80
  }[];
71
81
  }>;
72
82
  export type AnalyzerCapabilityRecord = z.infer<typeof AnalyzerCapabilityRecordSchema>;
83
+ export declare function analyzerEntryOutcome(entry: AnalyzerCapabilityEntry): MeasuredOutcome;
84
+ /**
85
+ * Roll the entries up into the one outcome a reader must be told about:
86
+ * worst-first over everything that was asked for. An empty population — nothing
87
+ * was asked for — is `not_applicable`, never `clean`.
88
+ */
89
+ export declare function analyzerCapabilityCoverage(entries: readonly AnalyzerCapabilityEntry[]): MeasuredOutcome;
90
+ /**
91
+ * The entries a reader must NAME. The scalar roll-up cannot state "1932 edges
92
+ * added AND two analyzers degraded", so no reader is asked to infer the second
93
+ * half from it: both readers (the report's limitations section and the shared
94
+ * structural context every design-review lane renders) list these rows.
95
+ */
96
+ export declare function degradedAnalyzerEntries(record: AnalyzerCapabilityRecord | undefined): readonly AnalyzerCapabilityEntry[];
73
97
  //# sourceMappingURL=analyzerCapability.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analyzerCapability.d.ts","sourceRoot":"","sources":["../../../src/audit/types/analyzerCapability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,8BAA8B,mCAAiC,CAAC;AAE7E,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;EAS/B,CAAC;AACZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AAEF,eAAO,MAAM,8BAA8B;IAEvC,gFAAgF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIzE,CAAC;AACZ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC"}
1
+ {"version":3,"file":"analyzerCapability.d.ts","sourceRoot":"","sources":["../../../src/audit/types/analyzerCapability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAW5B,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;EAS/B,CAAC;AACZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AAEF,eAAO,MAAM,8BAA8B;IAEvC;;;;;;;;;;OAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAII,CAAC;AACZ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AAyCF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,uBAAuB,GAC7B,eAAe,CAEjB;AAiBD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,SAAS,uBAAuB,EAAE,GAC1C,eAAe,CAIjB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,wBAAwB,GAAG,SAAS,GAC3C,SAAS,uBAAuB,EAAE,CAIpC"}
@@ -1,11 +1,10 @@
1
1
  import { z } from "zod";
2
- import { AnalyzerSettingSchema } from "audit-tools/shared";
3
- import { AnalyzerResolutionSchema } from "../extractors/analyzers/types.js";
2
+ import { AnalyzerSettingSchema, MeasuredOutcomeSchema, worstMeasuredOutcome, } from "audit-tools/shared";
3
+ import { AnalyzerResolutionSchema, } from "../extractors/analyzers/types.js";
4
4
  // Marker artifact recording the outcome of the optional Phase 5 graph-enrichment
5
5
  // pass. Its presence (and freshness against `graph_bundle.json`) satisfies the
6
6
  // `graph_enrichment_current` obligation; the merged analyzer edges themselves
7
7
  // live in `graph_bundle.json` (with `analyzers_used[]` provenance).
8
- export const AnalyzerCapabilityStatusSchema = z.enum(["applied", "omitted"]);
9
8
  export const AnalyzerCapabilityEntrySchema = z
10
9
  .object({
11
10
  id: z.string().min(1),
@@ -18,9 +17,88 @@ export const AnalyzerCapabilityEntrySchema = z
18
17
  .strict();
19
18
  export const AnalyzerCapabilityRecordSchema = z
20
19
  .object({
21
- /** `applied` when ≥1 analyzer contributed edges/routes; `omitted` otherwise. */
22
- status: AnalyzerCapabilityStatusSchema,
20
+ /**
21
+ * What the graph-enrichment channel actually PRODUCED, in the shared
22
+ * measured-outcome vocabulary — derived from the entries below by
23
+ * {@link analyzerCapabilityCoverage}, never asserted.
24
+ *
25
+ * It replaces `status: "applied" | "omitted"`, which was a success-predicate
26
+ * over a partial set (`analyzersUsed.length > 0`) and therefore read
27
+ * `applied` while operator-requested analyzers had failed and the weaker
28
+ * regex floor stood in — a field that answered "did ANY analyzer contribute
29
+ * edges" while every reader took it for "did enrichment work".
30
+ */
31
+ coverage: MeasuredOutcomeSchema,
23
32
  analyzers: z.array(AnalyzerCapabilityEntrySchema),
24
33
  })
25
34
  .strict();
35
+ /**
36
+ * What ONE analyzer's row says it produced.
37
+ *
38
+ * DERIVED AT READ TIME, never persisted: it is a total function of `resolution`
39
+ * plus `edges_added`/`routes_added`, and a persisted total derivation is a field
40
+ * that can disagree with its own inputs. `AnalyzerCapabilityEntrySchema` is
41
+ * therefore deliberately unchanged.
42
+ *
43
+ * Dispatched through an exhaustive `Record` over {@link AnalyzerResolution}, so
44
+ * a new resolution member without a classification is a compile error. The
45
+ * dispatch holds FUNCTIONS rather than outcomes because three members
46
+ * (`repo`/`cache`/`installed`) cannot be classified from the resolution alone —
47
+ * whether a parser that ran produced anything is a property of the ENTRY.
48
+ */
49
+ const ENTRY_OUTCOME_BY_RESOLUTION = {
50
+ repo: contributed,
51
+ cache: contributed,
52
+ installed: contributed,
53
+ /** Requested, but the dependency never resolved — the regex floor stood in. */
54
+ absent: () => "degraded",
55
+ /** The operator disabled it. No coverage, and none was owed. */
56
+ skip: () => "not_run",
57
+ /** No file in scope is supported. There was nothing to measure. */
58
+ not_applicable: () => "not_applicable",
59
+ };
60
+ function contributed(entry) {
61
+ // A RESOLVED analyzer carries a note only when its run failed — the executor
62
+ // writes none on the success path — so a resolved-but-noted entry that added
63
+ // nothing is a crashed run, never `clean`. Reading the presence of the note
64
+ // rather than matching its text: the note is a human sentence, and
65
+ // recognizing a failure by its prose is the drift this record exists to stop.
66
+ if (entry.note !== undefined)
67
+ return "degraded";
68
+ return entry.edges_added + entry.routes_added > 0 ? "findings" : "clean";
69
+ }
70
+ export function analyzerEntryOutcome(entry) {
71
+ return ENTRY_OUTCOME_BY_RESOLUTION[entry.resolution](entry);
72
+ }
73
+ /**
74
+ * Whether an entry was OWED coverage at all — the population the roll-up runs
75
+ * over.
76
+ *
77
+ * An operator decline and an analyzer with no supported files were never asked
78
+ * to produce anything, so neither can be a shortfall of this channel. Rolling
79
+ * them in would make a run that added 1932 edges and skipped one analyzer report
80
+ * `not_run` — the same partial-set roll-up defect this record exists to remove,
81
+ * inverted. Their own rows still say exactly what happened; what they do not do
82
+ * is speak for the channel.
83
+ */
84
+ function wasOwedCoverage(entry) {
85
+ return entry.resolution !== "skip" && entry.resolution !== "not_applicable";
86
+ }
87
+ /**
88
+ * Roll the entries up into the one outcome a reader must be told about:
89
+ * worst-first over everything that was asked for. An empty population — nothing
90
+ * was asked for — is `not_applicable`, never `clean`.
91
+ */
92
+ export function analyzerCapabilityCoverage(entries) {
93
+ return worstMeasuredOutcome(entries.filter(wasOwedCoverage).map(analyzerEntryOutcome));
94
+ }
95
+ /**
96
+ * The entries a reader must NAME. The scalar roll-up cannot state "1932 edges
97
+ * added AND two analyzers degraded", so no reader is asked to infer the second
98
+ * half from it: both readers (the report's limitations section and the shared
99
+ * structural context every design-review lane renders) list these rows.
100
+ */
101
+ export function degradedAnalyzerEntries(record) {
102
+ return (record?.analyzers ?? []).filter((entry) => analyzerEntryOutcome(entry) === "degraded");
103
+ }
26
104
  //# sourceMappingURL=analyzerCapability.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analyzerCapability.js","sourceRoot":"","sources":["../../../src/audit/types/analyzerCapability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,iFAAiF;AACjF,+EAA+E;AAC/E,8EAA8E;AAC9E,oEAAoE;AAEpE,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,UAAU,EAAE,wBAAwB;IACpC,OAAO,EAAE,qBAAqB;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC5C,MAAM,CAAC;IACN,gFAAgF;IAChF,MAAM,EAAE,8BAA8B;IACtC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC;CAClD,CAAC;KACD,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"analyzerCapability.js","sourceRoot":"","sources":["../../../src/audit/types/analyzerCapability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,GAErB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,wBAAwB,GAEzB,MAAM,kCAAkC,CAAC;AAE1C,iFAAiF;AACjF,+EAA+E;AAC/E,8EAA8E;AAC9E,oEAAoE;AAEpE,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,UAAU,EAAE,wBAAwB;IACpC,OAAO,EAAE,qBAAqB;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC5C,MAAM,CAAC;IACN;;;;;;;;;;OAUG;IACH,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC;CAClD,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;;;;;;;;;;GAaG;AACH,MAAM,2BAA2B,GAG7B;IACF,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,WAAW;IACtB,+EAA+E;IAC/E,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU;IACxB,gEAAgE;IAChE,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;IACrB,mEAAmE;IACnE,cAAc,EAAE,GAAG,EAAE,CAAC,gBAAgB;CACvC,CAAC;AAEF,SAAS,WAAW,CAAC,KAA8B;IACjD,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,mEAAmE;IACnE,8EAA8E;IAC9E,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAChD,OAAO,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAA8B;IAE9B,OAAO,2BAA2B,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,eAAe,CAAC,KAA8B;IACrD,OAAO,KAAK,CAAC,UAAU,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,gBAAgB,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAA2C;IAE3C,OAAO,oBAAoB,CACzB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAC1D,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAA4C;IAE5C,OAAO,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CACrC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,KAAK,UAAU,CACtD,CAAC;AACJ,CAAC"}
@@ -4,15 +4,15 @@ export type AuditTopLevelStatus = z.infer<typeof AuditTopLevelStatusSchema>;
4
4
  export type { ObligationState } from "audit-tools/shared";
5
5
  export declare const AuditObligationSchema: z.ZodObject<{
6
6
  id: z.ZodString;
7
- state: z.ZodEnum<["missing", "present", "stale", "blocked", "satisfied"]>;
7
+ state: z.ZodEnum<["missing", "present", "stale", "blocked", "satisfied", "not_applicable"]>;
8
8
  reason: z.ZodOptional<z.ZodString>;
9
9
  }, "strict", z.ZodTypeAny, {
10
10
  id: string;
11
- state: "blocked" | "missing" | "satisfied" | "present" | "stale";
11
+ state: "blocked" | "not_applicable" | "missing" | "satisfied" | "present" | "stale";
12
12
  reason?: string | undefined;
13
13
  }, {
14
14
  id: string;
15
- state: "blocked" | "missing" | "satisfied" | "present" | "stale";
15
+ state: "blocked" | "not_applicable" | "missing" | "satisfied" | "present" | "stale";
16
16
  reason?: string | undefined;
17
17
  }>;
18
18
  export type AuditObligation = z.infer<typeof AuditObligationSchema>;
@@ -23,22 +23,22 @@ export declare const AuditStateSchema: z.ZodObject<{
23
23
  blockers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
24
24
  obligations: z.ZodArray<z.ZodObject<{
25
25
  id: z.ZodString;
26
- state: z.ZodEnum<["missing", "present", "stale", "blocked", "satisfied"]>;
26
+ state: z.ZodEnum<["missing", "present", "stale", "blocked", "satisfied", "not_applicable"]>;
27
27
  reason: z.ZodOptional<z.ZodString>;
28
28
  }, "strict", z.ZodTypeAny, {
29
29
  id: string;
30
- state: "blocked" | "missing" | "satisfied" | "present" | "stale";
30
+ state: "blocked" | "not_applicable" | "missing" | "satisfied" | "present" | "stale";
31
31
  reason?: string | undefined;
32
32
  }, {
33
33
  id: string;
34
- state: "blocked" | "missing" | "satisfied" | "present" | "stale";
34
+ state: "blocked" | "not_applicable" | "missing" | "satisfied" | "present" | "stale";
35
35
  reason?: string | undefined;
36
36
  }>, "many">;
37
37
  }, "strict", z.ZodTypeAny, {
38
38
  status: "blocked" | "complete" | "not_started" | "active";
39
39
  obligations: {
40
40
  id: string;
41
- state: "blocked" | "missing" | "satisfied" | "present" | "stale";
41
+ state: "blocked" | "not_applicable" | "missing" | "satisfied" | "present" | "stale";
42
42
  reason?: string | undefined;
43
43
  }[];
44
44
  last_executor?: string | undefined;
@@ -48,7 +48,7 @@ export declare const AuditStateSchema: z.ZodObject<{
48
48
  status: "blocked" | "complete" | "not_started" | "active";
49
49
  obligations: {
50
50
  id: string;
51
- state: "blocked" | "missing" | "satisfied" | "present" | "stale";
51
+ state: "blocked" | "not_applicable" | "missing" | "satisfied" | "present" | "stale";
52
52
  reason?: string | undefined;
53
53
  }[];
54
54
  last_executor?: string | undefined;
@@ -1,9 +1,19 @@
1
1
  import type { Finding } from "../types.js";
2
- import type { CharterSubsystem, ChannelDisagreement, GoalGraph, Ceiling, TriangulatedTelos } from "audit-tools/shared";
2
+ import type { CharterPacketCoverage, CharterSubsystem, ChannelDisagreement, CitationValidationSummary, GoalGraph, Ceiling, TriangulatedTelos } from "audit-tools/shared";
3
3
  import type { StampedCharterDelta } from "../../shared/types/charter.js";
4
4
  /**
5
5
  * The stamped register schema version.
6
6
  *
7
+ * v4 = the register no longer self-certifies. `validation_issues: []` printed
8
+ * identically at 1-of-15 correct citations and at 75-of-75, because its only two
9
+ * producers were node-file membership and the True-charter gate while the
10
+ * overshoots lived in `provenance[].ref` — a field nothing read. v4 adds
11
+ * `citation_validation` (the affirmation that the check RAN, with a recorded
12
+ * abstention rather than an implicit pass) and `evidence_coverage` (what each
13
+ * blind lane's packet actually delivered, per evidence class). Both are REQUIRED:
14
+ * an optional affirmation is one a writer can forget, which is the same
15
+ * false-green in a new place.
16
+ *
7
17
  * v3 = the deltas carry their own identity: every delta is a
8
18
  * {@link StampedCharterDelta} with an explicit `node_id` (and `goal_node_id`
9
19
  * when linked), so no consumer recovers a subsystem by parsing `delta_id`. A v2
@@ -24,7 +34,7 @@ import type { StampedCharterDelta } from "../../shared/types/charter.js";
24
34
  * deltas. The clarification join's own refusal of an unstamped delta stays as
25
35
  * defense-in-depth for anything that reaches it anyway.
26
36
  */
27
- export declare const CHARTER_REGISTER_SCHEMA_VERSION = "charter-register/v3";
37
+ export declare const CHARTER_REGISTER_SCHEMA_VERSION = "charter-register/v4";
28
38
  /**
29
39
  * The `charter_register.json` artifact — the charter LAYER of the conceptual
30
40
  * design-review (Phase C), the teleological counterpart to Phase B's
@@ -94,7 +104,27 @@ export interface CharterRegister {
94
104
  * quantitative "which parts of the triangulation need clarification" surface.
95
105
  */
96
106
  disagreement: ChannelDisagreement[];
97
- /** Gate drops (un-falsifiable True, ungrounded scopes, …) — surfaced, not hidden. */
107
+ /**
108
+ * Gate drops (un-falsifiable True, ungrounded scopes) AND failed provenance
109
+ * citations — surfaced, not hidden. Read it beside {@link citation_validation}:
110
+ * an empty array means "nothing was wrong" only when the affirmation says the
111
+ * check ran, and how many refs it saw.
112
+ */
98
113
  validation_issues: string[];
114
+ /**
115
+ * The affirmation that the citation check RAN. REQUIRED, because an empty
116
+ * `validation_issues` is unfalsifiable on its own — it printed identically at
117
+ * 1-of-15 correct citations and at 75-of-75.
118
+ */
119
+ citation_validation: CitationValidationSummary;
120
+ /**
121
+ * What each blind lane's evidence packet actually DELIVERED, per evidence
122
+ * class, in canonical kind order. The "stated" channel — whose whole job is
123
+ * source comments — once delivered 0 of 72 comment blocks and said so only in
124
+ * prose inside a file that was then deleted, so absent evidence was
125
+ * indistinguishable from thorough work. Empty when no packet manifest was
126
+ * available to fold (the omit path, or an ingest with no artifacts dir).
127
+ */
128
+ evidence_coverage: CharterPacketCoverage[];
99
129
  }
100
130
  //# sourceMappingURL=charterRegister.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"charterRegister.d.ts","sourceRoot":"","sources":["../../../src/audit/types/charterRegister.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,OAAO,EACP,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,+BAA+B,wBAAwB,CAAC;AAErE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,OAAO,+BAA+B,CAAC;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,MAAM,EAAE,SAAS,CAAC;IAClB;;;;;OAKG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,iFAAiF;IACjF,UAAU,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,0DAA0D;IAC1D,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB;;;;OAIG;IACH,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC;;;OAGG;IACH,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpC,qFAAqF;IACrF,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B"}
1
+ {"version":3,"file":"charterRegister.d.ts","sourceRoot":"","sources":["../../../src/audit/types/charterRegister.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,SAAS,EACT,OAAO,EACP,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,+BAA+B,wBAAwB,CAAC;AAErE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,OAAO,+BAA+B,CAAC;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,MAAM,EAAE,SAAS,CAAC;IAClB;;;;;OAKG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,iFAAiF;IACjF,UAAU,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,0DAA0D;IAC1D,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB;;;;OAIG;IACH,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC;;;OAGG;IACH,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpC;;;;;OAKG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B;;;;OAIG;IACH,mBAAmB,EAAE,yBAAyB,CAAC;IAC/C;;;;;;;OAOG;IACH,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;CAC5C"}
@@ -1,6 +1,16 @@
1
1
  /**
2
2
  * The stamped register schema version.
3
3
  *
4
+ * v4 = the register no longer self-certifies. `validation_issues: []` printed
5
+ * identically at 1-of-15 correct citations and at 75-of-75, because its only two
6
+ * producers were node-file membership and the True-charter gate while the
7
+ * overshoots lived in `provenance[].ref` — a field nothing read. v4 adds
8
+ * `citation_validation` (the affirmation that the check RAN, with a recorded
9
+ * abstention rather than an implicit pass) and `evidence_coverage` (what each
10
+ * blind lane's packet actually delivered, per evidence class). Both are REQUIRED:
11
+ * an optional affirmation is one a writer can forget, which is the same
12
+ * false-green in a new place.
13
+ *
4
14
  * v3 = the deltas carry their own identity: every delta is a
5
15
  * {@link StampedCharterDelta} with an explicit `node_id` (and `goal_node_id`
6
16
  * when linked), so no consumer recovers a subsystem by parsing `delta_id`. A v2
@@ -21,5 +31,5 @@
21
31
  * deltas. The clarification join's own refusal of an unstamped delta stays as
22
32
  * defense-in-depth for anything that reaches it anyway.
23
33
  */
24
- export const CHARTER_REGISTER_SCHEMA_VERSION = "charter-register/v3";
34
+ export const CHARTER_REGISTER_SCHEMA_VERSION = "charter-register/v4";
25
35
  //# sourceMappingURL=charterRegister.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"charterRegister.js","sourceRoot":"","sources":["../../../src/audit/types/charterRegister.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,qBAAqB,CAAC"}
1
+ {"version":3,"file":"charterRegister.js","sourceRoot":"","sources":["../../../src/audit/types/charterRegister.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,qBAAqB,CAAC"}