rea-agents 3.0.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (628) hide show
  1. package/README.md +83 -108
  2. package/bridge/ghidra/ReaGhidraBridge.java +609 -841
  3. package/bridge/hopper_bridge.py +99 -344
  4. package/dist/application/AbortablePromise.js +6 -3
  5. package/dist/application/AnalysisContextQueries.js +21 -9
  6. package/dist/application/AnalysisSnapshotCache.js +0 -1
  7. package/dist/application/AnalysisSnapshotFiles.js +7 -7
  8. package/dist/application/AndroidApplicationService.js +1 -1
  9. package/dist/application/AppleApplicationService.js +1 -1
  10. package/dist/application/ArtifactExtraction.js +35 -54
  11. package/dist/application/ArtifactExtractionDestination.js +17 -0
  12. package/dist/application/ArtifactGraphConstruction.js +2 -17
  13. package/dist/application/ArtifactInventory/classify.js +2 -6
  14. package/dist/application/ArtifactInventory/hash.js +2 -20
  15. package/dist/application/ArtifactInventory/policy.js +17 -0
  16. package/dist/application/ArtifactInventory/reader.js +1 -4
  17. package/dist/application/ArtifactInventory/scanCanonical.js +8 -15
  18. package/dist/application/ArtifactInventory/scanReader.js +76 -58
  19. package/dist/application/ArtifactInventory/types.js +1 -5
  20. package/dist/application/ArtifactInventory.js +6 -14
  21. package/dist/application/AuthorizedArtifactInventory.js +3 -13
  22. package/dist/application/BinarySession.js +54 -28
  23. package/dist/application/BinarySessionComposition.js +0 -11
  24. package/dist/application/BinarySessionOpen.js +2 -1
  25. package/dist/application/BinarySessionRecords.js +24 -86
  26. package/dist/application/BinarySessionStatus.js +16 -21
  27. package/dist/application/BinaryTargetResolver.js +216 -0
  28. package/dist/application/BrowserEvidence.js +39 -57
  29. package/dist/application/BrowserObservationService.js +3 -6
  30. package/dist/application/BrowserScenarioCaptureService.js +3 -6
  31. package/dist/application/BrowserScenarioEvidence.js +3 -3
  32. package/dist/application/CallPathTracing.js +2 -36
  33. package/dist/application/CapabilityClientRequirements.js +26 -0
  34. package/dist/application/CapabilityInventory.js +143 -77
  35. package/dist/application/ClientConfigurationDocument.js +27 -0
  36. package/dist/application/ClientRegistrationStatus.js +16 -13
  37. package/dist/application/CommandShimReplay.js +14 -1
  38. package/dist/application/DirectAnalysis.js +22 -46
  39. package/dist/application/DirectAnalysisStatus.js +5 -61
  40. package/dist/application/Doctor.js +11 -32
  41. package/dist/application/DoctorDiagnostics.js +1 -2
  42. package/dist/application/DoctorScope.js +1 -1
  43. package/dist/application/ElectronActiveEvidence.js +50 -0
  44. package/dist/application/ElectronActiveObservationPort.js +1 -0
  45. package/dist/application/ElectronActiveObservationService.js +78 -0
  46. package/dist/application/ElectronBoundaryAnalysis.js +7 -8
  47. package/dist/application/ElectronBoundaryGraphContext.js +1 -1
  48. package/dist/application/ElectronBoundaryGraphIpc.js +3 -3
  49. package/dist/application/ElectronBoundaryGraphNative.js +1 -2
  50. package/dist/application/ElectronBoundaryGraphWindows.js +6 -8
  51. package/dist/application/ElectronEvidence.js +4 -7
  52. package/dist/application/ElectronObservationService.js +5 -9
  53. package/dist/application/EnhancedLiteralTracing.js +42 -65
  54. package/dist/application/EnhancedTools.js +98 -64
  55. package/dist/application/EvidenceBundleCommands.js +16 -12
  56. package/dist/application/EvidenceBundleFiles.js +9 -15
  57. package/dist/application/EvidenceLedger.js +14 -42
  58. package/dist/application/FilesystemSnapshot.js +2 -3
  59. package/dist/application/InterfaceBuilderAnalysis.js +266 -0
  60. package/dist/application/InventoryProjectionEvidence.js +4 -2
  61. package/dist/application/InvestigationProviders.js +1 -1
  62. package/dist/application/JavaScriptApplicationEvidence.js +2 -5
  63. package/dist/application/JavaScriptApplicationEvidenceGraph.js +6 -10
  64. package/dist/application/JavaScriptApplicationService.js +6 -29
  65. package/dist/application/JavaScriptApplicationWorkflowEvidence.js +5 -5
  66. package/dist/application/JavaScriptApplicationWorkflowService.js +0 -8
  67. package/dist/application/JavaScriptArtifactAnalysis.js +38 -127
  68. package/dist/application/JavaScriptArtifactFiles.js +67 -107
  69. package/dist/application/JavaScriptArtifactGraphAccumulator.js +0 -7
  70. package/dist/application/JavaScriptArtifactGraphBuilder.js +7 -58
  71. package/dist/application/JavaScriptArtifactGraphBundlers.js +1 -6
  72. package/dist/application/JavaScriptArtifactGraphContext.js +12 -39
  73. package/dist/application/JavaScriptArtifactGraphDocuments.js +4 -11
  74. package/dist/application/JavaScriptArtifactGraphEvidence.js +0 -14
  75. package/dist/application/JavaScriptArtifactGraphFindings.js +3 -3
  76. package/dist/application/JavaScriptArtifactGraphStructure.js +16 -17
  77. package/dist/application/JavaScriptArtifactPathResolution.js +61 -49
  78. package/dist/application/JavaScriptArtifactReconstruction.js +5 -10
  79. package/dist/application/JavaScriptArtifactReconstructionInput.js +2 -14
  80. package/dist/application/JavaScriptJsonModules.js +2 -2
  81. package/dist/application/JavaScriptModuleRelationships.js +22 -27
  82. package/dist/application/JavaScriptReplayPermission.js +1 -1
  83. package/dist/application/JavaScriptReplayPlanning.js +9 -3
  84. package/dist/application/JavaScriptReplayService.js +29 -47
  85. package/dist/application/JavaScriptReturnShapeProjection.js +12 -42
  86. package/dist/application/JavaScriptRuntimeObservationEvidence.js +7 -8
  87. package/dist/application/JavaScriptRuntimeObservationService.js +4 -8
  88. package/dist/application/JavaScriptRuntimeReconciliationEvidence.js +2 -3
  89. package/dist/application/JavaScriptSemanticGraphBuilder.js +11 -41
  90. package/dist/application/JavaScriptSemanticGraphConstruction.js +5 -29
  91. package/dist/application/JavaScriptSemanticGraphEvidence.js +1 -1
  92. package/dist/application/JavaScriptSemanticGraphFingerprintProjection.js +1 -1
  93. package/dist/application/JavaScriptSemanticGraphFlowProjection.js +0 -13
  94. package/dist/application/JavaScriptSemanticGraphProjection.js +1 -3
  95. package/dist/application/JavaScriptSemanticTraceService.js +1 -10
  96. package/dist/application/JsonFiles.js +79 -0
  97. package/dist/application/LinuxHopper.js +11 -9
  98. package/dist/application/LoopbackReplay.js +26 -23
  99. package/dist/application/LoopbackReplayRecorder.js +29 -1
  100. package/dist/application/ManagedApplicationGraphService.js +1 -2
  101. package/dist/application/ManagedMemberComparisonService.js +11 -41
  102. package/dist/application/ManagedNativeVerificationService.js +1 -2
  103. package/dist/application/ManagedReconstructionService.js +1 -1
  104. package/dist/application/ManagedRuntimeCorrelationService.js +14 -13
  105. package/dist/application/NativeApiInspection.js +2 -7
  106. package/dist/application/NativeUiActionTrace.js +394 -0
  107. package/dist/application/NodeRuntimeCharacterizationService.js +11 -16
  108. package/dist/application/PermissionAuthority.js +15 -7
  109. package/dist/application/PermissionFailure.js +5 -0
  110. package/dist/application/ProcessCaptureAuthority.js +5 -7
  111. package/dist/application/ProcessCaptureJournal.js +3 -2
  112. package/dist/application/ProcessCaptureLifecycle.js +10 -12
  113. package/dist/application/ProcessCheckpoints.js +29 -11
  114. package/dist/application/ProcessCli.js +8 -17
  115. package/dist/application/ProcessEvidence.js +5 -7
  116. package/dist/application/ProcessHarness.js +60 -20
  117. package/dist/application/ProcessNormalization.js +2 -1
  118. package/dist/application/ProcessReactiveCoordinator.js +2 -4
  119. package/dist/application/ProcessReactiveEffects.js +9 -3
  120. package/dist/application/ProcessReactiveHarness.js +13 -7
  121. package/dist/application/ProcessSampling.js +2 -4
  122. package/dist/application/ProcessTimer.js +39 -0
  123. package/dist/application/ProjectPermissionStore.js +39 -95
  124. package/dist/application/RealHopperAssertions.js +20 -66
  125. package/dist/application/ReconstructionCoverageService.js +12 -58
  126. package/dist/application/ReconstructionObligationAuthority.js +2 -2
  127. package/dist/application/ReconstructionObligationCandidates.js +4 -4
  128. package/dist/application/ReconstructionObligationLedgerEvaluation.js +8 -15
  129. package/dist/application/ReconstructionObligationLedgerProjection.js +3 -7
  130. package/dist/application/ReconstructionObligationLedgerService.js +19 -38
  131. package/dist/application/ReferenceSourceImport.js +21 -47
  132. package/dist/application/ReferenceSourceImportEntries.js +2 -4
  133. package/dist/application/ReferenceSourceImportPolicy.js +5 -32
  134. package/dist/application/ReferenceSourceImportTypes.js +0 -16
  135. package/dist/application/RuntimeExecutableDiagnostics.js +55 -29
  136. package/dist/application/SessionProviderRouter.js +2 -2
  137. package/dist/application/Setup.js +1 -3
  138. package/dist/application/SetupClientConfiguration.js +22 -88
  139. package/dist/application/SetupRegistrationEnvironment.js +0 -7
  140. package/dist/application/StoreFileLock.js +119 -0
  141. package/dist/application/TerminalRenderer.js +2 -3
  142. package/dist/application/Uninstall.js +9 -14
  143. package/dist/application/UnknownEvidence.js +1 -1
  144. package/dist/application/WindowsCapabilities.js +5 -4
  145. package/dist/artifacts/ArtifactPaths.js +2 -5
  146. package/dist/artifacts/ArtifactProvider.js +43 -67
  147. package/dist/artifacts/DirectoryArtifactReader.js +13 -8
  148. package/dist/artifacts/MachOSliceArtifactReader.js +1 -5
  149. package/dist/artifacts/NativeDmgArtifactReader.js +11 -11
  150. package/dist/artifacts/NibArchive.js +269 -0
  151. package/dist/artifacts/SafeOutputTree.js +21 -31
  152. package/dist/browser/BrowserProcessStartup.js +1 -2
  153. package/dist/browser/CdpAuthorizedMainFrame.js +16 -0
  154. package/dist/browser/CdpBrowserProvider.js +3 -13
  155. package/dist/browser/CdpCanonicalJsonDigest.js +9 -0
  156. package/dist/browser/CdpCaptureDocuments.js +28 -76
  157. package/dist/browser/CdpCaptureEventBodyShapes.js +13 -33
  158. package/dist/browser/CdpCaptureEventHandlers.js +22 -87
  159. package/dist/browser/CdpCaptureEvents.js +2 -8
  160. package/dist/browser/CdpCaptureStorage.js +9 -20
  161. package/dist/browser/CdpCaptureStorageFingerprints.js +85 -95
  162. package/dist/browser/CdpCaptureValues.js +21 -21
  163. package/dist/browser/CdpConnection.js +10 -25
  164. package/dist/browser/CdpElectronInspection.js +29 -51
  165. package/dist/browser/CdpElectronProvider.js +10 -35
  166. package/dist/browser/CdpElectronScriptEvents.js +8 -16
  167. package/dist/browser/CdpElectronScripts.js +6 -35
  168. package/dist/browser/CdpElectronWorkers.js +6 -10
  169. package/dist/browser/CdpEndpoint.js +25 -41
  170. package/dist/browser/CdpObservationSession.js +14 -26
  171. package/dist/browser/CdpPageCapture.js +34 -48
  172. package/dist/browser/CdpPageCaptureScripts.js +1 -19
  173. package/dist/browser/CdpPageCaptureWorkers.js +6 -10
  174. package/dist/browser/CdpSafeMetadata.js +19 -22
  175. package/dist/browser/CdpScreenshot.js +3 -5
  176. package/dist/browser/CdpTargetSession.js +1 -2
  177. package/dist/browser/CdpWebMcpDiscovery.js +13 -22
  178. package/dist/browser/ElectronFileScope.js +8 -19
  179. package/dist/browser/JavaScriptRuntimeScope.js +10 -10
  180. package/dist/browser/PlaywrightBrowserScenarioProvider.js +31 -64
  181. package/dist/browser/PlaywrightElectronActiveActions.js +309 -0
  182. package/dist/browser/PlaywrightElectronActiveProvider.js +274 -0
  183. package/dist/browser/PlaywrightExecutionBoundary.js +16 -5
  184. package/dist/browser/PlaywrightScenarioActions.js +3 -7
  185. package/dist/browser/PlaywrightScenarioArtifacts.js +23 -92
  186. package/dist/browser/PlaywrightScenarioBrowser.js +7 -9
  187. package/dist/browser/PlaywrightScenarioEvents.js +45 -94
  188. package/dist/browser/PlaywrightScenarioSession.js +18 -34
  189. package/dist/browser/PngVisualDiff.js +22 -14
  190. package/dist/browser/SensitiveTextCapture.js +1 -18
  191. package/dist/browser/V8InspectorCaptureProjection.js +7 -7
  192. package/dist/browser/V8InspectorEndpoint.js +12 -14
  193. package/dist/browser/V8InspectorProvider.js +20 -61
  194. package/dist/browser/WebSourceMapFetcher.js +56 -176
  195. package/dist/catalogIdentity.js +12 -60
  196. package/dist/cli/artifactCommands.js +49 -77
  197. package/dist/cli/coreAnalysisCommands.js +83 -133
  198. package/dist/cli/javascriptApplicationAnalysis.js +1 -9
  199. package/dist/cli/managedCommands.js +6 -271
  200. package/dist/cli/setupCommands.js +3 -12
  201. package/dist/cli/utilityCommands.js +7 -41
  202. package/dist/cli.js +0 -2
  203. package/dist/cliApplicationCommands.js +44 -114
  204. package/dist/cliBrowserAdvancedCommands.js +12 -102
  205. package/dist/cliBrowserCommands.js +19 -124
  206. package/dist/cliBrowserContext.js +30 -0
  207. package/dist/cliCommandNames.js +5 -5
  208. package/dist/cliElectronCommands.js +49 -71
  209. package/dist/cliEvidenceCommands.js +8 -77
  210. package/dist/cliJavaScriptRuntimeCommands.js +18 -92
  211. package/dist/cliJsonInput.js +4 -14
  212. package/dist/cliObservationOptions.js +11 -92
  213. package/dist/cliPolicyCommands.js +2 -16
  214. package/dist/cliProcessCommands.js +3 -3
  215. package/dist/cliSetup.js +0 -13
  216. package/dist/config/browserScenario.js +77 -0
  217. package/dist/config/electronAutomation.js +35 -0
  218. package/dist/config/environment.js +6 -9
  219. package/dist/config/javascriptReplay.js +41 -0
  220. package/dist/config/managedRuntime.js +25 -0
  221. package/dist/config/parseConfig.js +56 -232
  222. package/dist/config/parsers.js +16 -28
  223. package/dist/config/passiveObservation.js +87 -0
  224. package/dist/config/permissions.js +0 -7
  225. package/dist/config/processCapture.js +47 -0
  226. package/dist/contracts/analysisSearchContract.js +2 -5
  227. package/dist/contracts/applicationToolContracts.js +58 -114
  228. package/dist/contracts/applicationWorkflowInputContracts.js +29 -114
  229. package/dist/contracts/artifactComparisonExample.js +58 -60
  230. package/dist/contracts/artifactToolContracts.js +37 -91
  231. package/dist/contracts/browserScenarioToolContracts.js +6 -51
  232. package/dist/contracts/browserToolContracts.js +10 -75
  233. package/dist/contracts/electronToolContracts.js +27 -98
  234. package/dist/contracts/enhancedInputs.js +31 -78
  235. package/dist/contracts/errorSchemas.js +0 -1
  236. package/dist/contracts/functionComparisonExample.js +10 -24
  237. package/dist/contracts/functionInstructionContract.js +1 -3
  238. package/dist/contracts/functionWorkflowToolContracts.js +4 -5
  239. package/dist/contracts/hopperMemoryContracts.js +3 -3
  240. package/dist/contracts/investigationExamples.js +14 -11
  241. package/dist/contracts/javascriptApplicationWorkflowExamples.js +12 -19
  242. package/dist/contracts/javascriptRuntimeObservationToolContracts.js +2 -20
  243. package/dist/contracts/javascriptRuntimeReconciliationExample.js +45 -12
  244. package/dist/contracts/managedToolContracts.js +10 -104
  245. package/dist/contracts/managedWorkflowExamples.js +77 -125
  246. package/dist/contracts/managedWorkflowToolContracts.js +51 -74
  247. package/dist/contracts/nativeToolContracts.js +9 -14
  248. package/dist/contracts/processCaptureExample.js +2 -69
  249. package/dist/contracts/promptContracts.js +49 -67
  250. package/dist/contracts/providerSelection.js +0 -1
  251. package/dist/contracts/reconstructionReadinessExample.js +1 -6
  252. package/dist/contracts/sessionStatusContract.js +1 -17
  253. package/dist/contracts/sessionToolSchemas.js +52 -0
  254. package/dist/contracts/toolContractExamples.js +11 -10
  255. package/dist/contracts/toolContractHelpers.js +19 -0
  256. package/dist/contracts/toolContracts.js +60 -143
  257. package/dist/contracts/toolEffects.js +16 -9
  258. package/dist/contracts/toolOutputSchemaGroups.js +47 -86
  259. package/dist/contracts/toolOutputSchemaPrimitives.js +72 -62
  260. package/dist/contracts/toolSchemaMetadata.js +117 -0
  261. package/dist/contracts/unknownContractExamples.js +0 -2
  262. package/dist/doctorRuntime.js +1 -1
  263. package/dist/domain/analysisErrorPresentation.js +46 -54
  264. package/dist/domain/analysisErrorProjection.js +28 -37
  265. package/dist/domain/analysisProfile.js +3 -31
  266. package/dist/domain/analysisSnapshot.js +3 -12
  267. package/dist/domain/androidApplication.js +15 -52
  268. package/dist/domain/appleApplication.js +24 -65
  269. package/dist/domain/artifactComparison.js +11 -29
  270. package/dist/domain/artifactGraph.js +14 -44
  271. package/dist/domain/artifactInspection.js +38 -69
  272. package/dist/domain/artifactInventoryEvidence.js +27 -21
  273. package/dist/domain/binaryTarget.js +2 -219
  274. package/dist/domain/binaryTargetTypes.js +1 -0
  275. package/dist/domain/browserCaptureComparison.js +35 -60
  276. package/dist/domain/browserObservation.js +45 -197
  277. package/dist/domain/browserObservationSchemas.js +5 -23
  278. package/dist/domain/browserScenario.js +11 -14
  279. package/dist/domain/browserScenarioCapture.js +11 -12
  280. package/dist/domain/browserScenarioCaptureValues.js +146 -84
  281. package/dist/domain/browserScenarioDiff.js +2 -59
  282. package/dist/domain/browserScenarioDiffEvidence.js +51 -0
  283. package/dist/domain/browserScenarioDiffValues.js +21 -38
  284. package/dist/domain/browserScenarioValues.js +80 -109
  285. package/dist/domain/browserSession.js +4 -7
  286. package/dist/domain/bundleComparison.js +6 -32
  287. package/dist/domain/bytecodeProvider.js +53 -54
  288. package/dist/domain/callPath.js +50 -169
  289. package/dist/domain/callPathSchemas.js +79 -0
  290. package/dist/domain/changedBehavior.js +34 -60
  291. package/dist/domain/completionLedgerGeneration.js +8 -14
  292. package/dist/domain/conformancePackage.js +126 -97
  293. package/dist/domain/conformanceReplay.js +39 -11
  294. package/dist/domain/conformanceTrustGate.js +174 -30
  295. package/dist/domain/customProtocolCapture.js +4 -4
  296. package/dist/domain/electronActiveObservation.js +244 -0
  297. package/dist/domain/electronObservation.js +21 -83
  298. package/dist/domain/electronStaticAnalysisBrowser.js +36 -46
  299. package/dist/domain/electronStaticAnalysisIpc.js +38 -14
  300. package/dist/domain/electronStaticAnalysisNative.js +1 -8
  301. package/dist/domain/electronStaticAnalysisValues.js +14 -18
  302. package/dist/domain/errors.js +33 -54
  303. package/dist/domain/eventProcessTree.js +101 -90
  304. package/dist/domain/evidence.js +2 -10
  305. package/dist/domain/evidenceBundle.js +3 -5
  306. package/dist/domain/evidenceCompletionLedger.js +6 -8
  307. package/dist/domain/functionComparison.js +4 -14
  308. package/dist/domain/functionComparisonNormalization.js +8 -8
  309. package/dist/domain/functionComparisonResults.js +25 -15
  310. package/dist/domain/functionComparisonSchemas.js +49 -33
  311. package/dist/domain/functionDossierEvidence.js +31 -151
  312. package/dist/domain/hopperStartupFailure.js +1 -1
  313. package/dist/domain/hopperValues.js +17 -141
  314. package/dist/domain/inputIssueProjection.js +4 -1
  315. package/dist/domain/interfaceBuilderGraph.js +654 -0
  316. package/dist/domain/javascriptApplicationAnalysis.js +8 -112
  317. package/dist/domain/javascriptApplicationChangeGraph.js +22 -82
  318. package/dist/domain/javascriptApplicationEvidenceSchemas.js +59 -47
  319. package/dist/domain/javascriptApplicationGraph.js +3 -13
  320. package/dist/domain/javascriptApplicationGraphSchemas.js +12 -34
  321. package/dist/domain/javascriptApplicationVersionComparison.js +26 -30
  322. package/dist/domain/javascriptApplicationVersionComparisonSchemas.js +123 -68
  323. package/dist/domain/javascriptApplicationVersionItems.js +120 -53
  324. package/dist/domain/javascriptApplicationVersionKeys.js +24 -11
  325. package/dist/domain/javascriptAstFingerprint.js +25 -58
  326. package/dist/domain/javascriptAstValues.js +9 -0
  327. package/dist/domain/javascriptExportInstrumentation.js +2 -4
  328. package/dist/domain/javascriptExportShapeComparison.js +6 -7
  329. package/dist/domain/javascriptExportShapeComparisonSchemas.js +70 -77
  330. package/dist/domain/javascriptExportShapeSelection.js +17 -19
  331. package/dist/domain/javascriptFeatureSeed.js +20 -12
  332. package/dist/domain/javascriptFeatureTrace.js +13 -67
  333. package/dist/domain/javascriptFeatureTraceSchemas.js +24 -52
  334. package/dist/domain/javascriptFeatureTraversal.js +1 -44
  335. package/dist/domain/javascriptNativeHandoff.js +1 -1
  336. package/dist/domain/javascriptReplay.js +100 -101
  337. package/dist/domain/javascriptRuntimeLoadState.js +3 -8
  338. package/dist/domain/javascriptRuntimeObservation.js +43 -103
  339. package/dist/domain/javascriptRuntimeReconciliation.js +1 -3
  340. package/dist/domain/javascriptRuntimeReconciliationActive.js +80 -0
  341. package/dist/domain/javascriptRuntimeReconciliationGraph.js +21 -33
  342. package/dist/domain/javascriptRuntimeReconciliationMatching.js +75 -61
  343. package/dist/domain/javascriptRuntimeReconciliationParsing.js +21 -46
  344. package/dist/domain/javascriptRuntimeReconciliationResult.js +25 -19
  345. package/dist/domain/javascriptRuntimeReconciliationRuntime.js +8 -12
  346. package/dist/domain/javascriptRuntimeReconciliationSchemas.js +34 -49
  347. package/dist/domain/javascriptRuntimeStaticCandidates.js +3 -3
  348. package/dist/domain/javascriptSemanticAnalysis.js +12 -45
  349. package/dist/domain/javascriptSemanticAsyncEffects.js +1 -9
  350. package/dist/domain/javascriptSemanticCallResolution.js +6 -16
  351. package/dist/domain/javascriptSemanticCalls.js +5 -32
  352. package/dist/domain/javascriptSemanticChildProcesses.js +1 -11
  353. package/dist/domain/javascriptSemanticCoverage.js +11 -0
  354. package/dist/domain/javascriptSemanticDataEffectHelpers.js +1 -8
  355. package/dist/domain/javascriptSemanticDataEffects.js +1 -11
  356. package/dist/domain/javascriptSemanticFingerprints.js +3 -5
  357. package/dist/domain/javascriptSemanticGraphSchemas.js +25 -51
  358. package/dist/domain/javascriptSemanticGraphSerialization.js +2 -13
  359. package/dist/domain/javascriptSemanticIr.js +1 -29
  360. package/dist/domain/javascriptSemanticObjects.js +1 -5
  361. package/dist/domain/javascriptSemanticPrimitives.js +2 -9
  362. package/dist/domain/javascriptSemanticProjection.js +0 -18
  363. package/dist/domain/javascriptSemanticPromises.js +9 -16
  364. package/dist/domain/javascriptSemanticProvenance.js +16 -19
  365. package/dist/domain/javascriptSemanticQuery.js +17 -139
  366. package/dist/domain/javascriptSemanticQueryAssessment.js +9 -37
  367. package/dist/domain/javascriptSemanticQueryIdentity.js +2 -23
  368. package/dist/domain/javascriptSemanticQuerySchemas.js +14 -107
  369. package/dist/domain/javascriptSemanticResources.js +1 -6
  370. package/dist/domain/javascriptSemanticReturns.js +10 -27
  371. package/dist/domain/javascriptSemanticValueTypes.js +1 -0
  372. package/dist/domain/javascriptSemanticValues.js +44 -62
  373. package/dist/domain/javascriptStaticAnalysis.js +21 -43
  374. package/dist/domain/javascriptStaticAnalysisBundler.js +34 -93
  375. package/dist/domain/javascriptStaticAnalysisCalls.js +17 -16
  376. package/dist/domain/javascriptStaticAnalysisFindings.js +3 -19
  377. package/dist/domain/javascriptStaticAnalysisHelpers.js +47 -88
  378. package/dist/domain/javascriptStaticAnalysisState.js +1 -5
  379. package/dist/domain/javascriptStaticAnalysisTypes.js +1 -0
  380. package/dist/domain/jsonShape.js +7 -33
  381. package/dist/domain/localPath.js +7 -0
  382. package/dist/domain/managedApplicationGraph.js +9 -41
  383. package/dist/domain/managedApplicationGraphCoverage.js +24 -156
  384. package/dist/domain/managedApplicationGraphNodes.js +10 -13
  385. package/dist/domain/managedArtifact.js +14 -27
  386. package/dist/domain/managedMemberComparison.js +90 -92
  387. package/dist/domain/managedMemberComparisonCoverage.js +11 -33
  388. package/dist/domain/managedMemberComparisonItems.js +221 -0
  389. package/dist/domain/managedMemberComparisonMatch.js +8 -208
  390. package/dist/domain/managedNativeVerification.js +3 -6
  391. package/dist/domain/managedNativeVerificationMatch.js +55 -59
  392. package/dist/domain/managedNativeVerificationSchemas.js +83 -47
  393. package/dist/domain/managedReconstruction.js +19 -23
  394. package/dist/domain/managedRuntimeCorrelation.js +6 -9
  395. package/dist/domain/nativeApiBoundary.js +17 -14
  396. package/dist/domain/nativeInspection.js +0 -2
  397. package/dist/domain/nativeInvestigationGraph.js +351 -0
  398. package/dist/domain/nativeValueFlow.js +61 -0
  399. package/dist/domain/nodeRuntimeCharacterization.js +15 -18
  400. package/dist/domain/objcSwiftMetadata.js +254 -0
  401. package/dist/domain/peInspection.js +1 -1
  402. package/dist/domain/permissionPolicy.js +13 -0
  403. package/dist/domain/processCapture.js +76 -113
  404. package/dist/domain/processCaptureExample.js +68 -0
  405. package/dist/domain/processCaptureParsing.js +21 -0
  406. package/dist/domain/processCaptureReactiveSchema.js +68 -0
  407. package/dist/domain/processCaptureReactiveValidation.js +8 -3
  408. package/dist/domain/processCaptureValidation.js +8 -10
  409. package/dist/domain/processComparison.js +12 -16
  410. package/dist/domain/processObservation.js +5 -6
  411. package/dist/domain/processReactiveMatching.js +32 -46
  412. package/dist/domain/processReactiveRuntime.js +4 -8
  413. package/dist/domain/processReactiveScenario.js +28 -94
  414. package/dist/domain/processReactiveScenarioPreflight.js +5 -30
  415. package/dist/domain/processReactiveTransition.js +42 -21
  416. package/dist/domain/processScenario.js +62 -93
  417. package/dist/domain/processTraceComparison.js +0 -7
  418. package/dist/domain/processTraceEvaluation.js +14 -4
  419. package/dist/domain/processTraceSpecification.js +11 -17
  420. package/dist/domain/protocolCapture.js +11 -9
  421. package/dist/domain/reconstructionCoverage.js +62 -129
  422. package/dist/domain/reconstructionCoverageEvaluation.js +17 -17
  423. package/dist/domain/reconstructionObligationLedgerSchemas.js +45 -72
  424. package/dist/domain/reconstructionReadiness.js +1 -2
  425. package/dist/domain/reconstructionReadinessSchemas.js +66 -40
  426. package/dist/domain/reconstructionUnknowns.js +3 -3
  427. package/dist/domain/reconstructionVerification.js +13 -47
  428. package/dist/domain/reconstructionVerificationSchemas.js +50 -38
  429. package/dist/domain/referenceSourceGraph.js +53 -61
  430. package/dist/domain/referenceSourceImportParsing.js +3 -7
  431. package/dist/domain/replayMachine.js +19 -31
  432. package/dist/domain/replayMachineRun.js +15 -63
  433. package/dist/domain/replayMachineRuntime.js +46 -44
  434. package/dist/domain/replayMachineValues.js +84 -0
  435. package/dist/domain/residualUnknown.js +25 -30
  436. package/dist/domain/runtimeCharacterization.js +15 -16
  437. package/dist/domain/runtimeIdentification.js +48 -47
  438. package/dist/domain/sourceToBundleComparison.js +11 -87
  439. package/dist/domain/sourceToBundleComparisonSchemas.js +25 -50
  440. package/dist/domain/sourceToBundleSignals.js +11 -16
  441. package/dist/domain/staticRuntimeCorrelation.js +44 -54
  442. package/dist/domain/symbolAnalysis.js +10 -19
  443. package/dist/domain/unicodeCodePointOrder.js +12 -0
  444. package/dist/domain/webBundleAnalysis.js +70 -99
  445. package/dist/domain/webBundleAnalyzer.js +2 -4
  446. package/dist/domain/webBundleAnalyzerAst.js +0 -13
  447. package/dist/domain/webBundleAnalyzerInspection.js +26 -52
  448. package/dist/domain/webBundleAnalyzerResult.js +7 -24
  449. package/dist/domain/webCaptureDiff.js +48 -85
  450. package/dist/domain/webCaptureDiffSchemas.js +86 -0
  451. package/dist/domain/webContentArtifact.js +1 -10
  452. package/dist/domain/webMcpDiscovery.js +3 -14
  453. package/dist/domain/webScreenshot.js +58 -34
  454. package/dist/domain/zipPackageFormat.js +7 -0
  455. package/dist/dotnet/ManagedArtifactInspector.js +17 -50
  456. package/dist/dotnet/ManagedMemberInspector.js +27 -58
  457. package/dist/dotnet/ManagedMemberInspectorCore.js +14 -51
  458. package/dist/dotnet/ManagedMemberInstructionDecoder.js +2 -2
  459. package/dist/dotnet/ManagedMemberRows.js +16 -16
  460. package/dist/dotnet/ManagedMetadataHeaps.js +26 -8
  461. package/dist/dotnet/ManagedMetadataInventory.js +21 -30
  462. package/dist/dotnet/ManagedMetadataInventoryRows.js +57 -63
  463. package/dist/dotnet/ManagedMetadataLayout.js +3 -5
  464. package/dist/dotnet/ManagedMethodBodyReader.js +5 -30
  465. package/dist/dotnet/ManagedNativeBoundaryHelpers.js +19 -49
  466. package/dist/dotnet/ManagedNativeBoundaryInspector.js +13 -42
  467. package/dist/dotnet/ManagedPeReader.js +2 -2
  468. package/dist/dotnet/ManagedStaticProvider.js +13 -71
  469. package/dist/generatedMcpToolCatalog.js +1 -1
  470. package/dist/generatedPackageMetadata.js +1 -1
  471. package/dist/ghidra/GhidraAnalysisProfile.js +3 -8
  472. package/dist/ghidra/GhidraClient.js +5 -13
  473. package/dist/ghidra/GhidraClientStartup.js +1 -1
  474. package/dist/ghidra/GhidraClientWire.js +9 -5
  475. package/dist/ghidra/GhidraDefaults.js +0 -18
  476. package/dist/ghidra/GhidraDiagnostics.js +0 -2
  477. package/dist/ghidra/GhidraDoctor.js +16 -12
  478. package/dist/ghidra/GhidraFunctionValues.js +67 -108
  479. package/dist/ghidra/GhidraInstallation.js +98 -42
  480. package/dist/ghidra/GhidraInventoryValues.js +18 -77
  481. package/dist/ghidra/GhidraLauncher.js +0 -8
  482. package/dist/ghidra/GhidraProvider.js +32 -31
  483. package/dist/ghidra/GhidraProviderCapabilities.js +11 -48
  484. package/dist/ghidra/GhidraRequestQueue.js +6 -30
  485. package/dist/ghidra/GhidraResponseBuffer.js +1 -7
  486. package/dist/ghidra/GhidraSessionValues.js +0 -2
  487. package/dist/ghidra/GhidraSocketConnection.js +1 -1
  488. package/dist/ghidra/GhidraTransport.js +4 -7
  489. package/dist/ghidra/protocol.js +19 -42
  490. package/dist/hopper/BridgeLauncher.js +115 -37
  491. package/dist/hopper/HopperAnalysisProfile.js +3 -5
  492. package/dist/hopper/HopperCleanup.js +11 -9
  493. package/dist/hopper/HopperClient.js +5 -8
  494. package/dist/hopper/HopperProcessDiagnostic.js +2 -2
  495. package/dist/hopper/HopperProvider.js +0 -30
  496. package/dist/hopper/HopperRequestQueue.js +21 -40
  497. package/dist/hopper/HopperResponseStream.js +1 -9
  498. package/dist/hopper/HopperSessionValues.js +3 -2
  499. package/dist/hopper/HopperTargetLease.js +119 -0
  500. package/dist/hopper/LinuxPrivateDisplayDiagnostic.js +24 -31
  501. package/dist/hopper/LinuxPrivateDisplayProbe.js +21 -26
  502. package/dist/hopper/protocol.js +6 -4
  503. package/dist/main/reload.js +1 -9
  504. package/dist/main/shutdown.js +1 -1
  505. package/dist/main/state.js +0 -23
  506. package/dist/main/transport.js +27 -39
  507. package/dist/main.js +17 -15
  508. package/dist/mcpDoctor.js +27 -69
  509. package/dist/native/CommandRunner.js +18 -25
  510. package/dist/native/NativeMacOSProvider.js +13 -38
  511. package/dist/native/NativeMachoInspection.js +1 -1
  512. package/dist/process/BoundedFileBytes.js +17 -0
  513. package/dist/process/ExecFileOutput.js +11 -0
  514. package/dist/process/PendingOperations.js +8 -6
  515. package/dist/process/PrivateRuntimeRoot.js +17 -0
  516. package/dist/process/ProcessOwnership.js +67 -130
  517. package/dist/process/ProcessOwnershipIdentity.js +13 -0
  518. package/dist/process/ProcessOwnershipObservation.js +87 -0
  519. package/dist/process/ProcessOwnershipProcessTree.js +22 -0
  520. package/dist/process/ProviderDeadline.js +8 -12
  521. package/dist/process/ProviderProcess.js +7 -28
  522. package/dist/process/WindowsAuthority.js +32 -0
  523. package/dist/reference/ReferenceSourceReader.js +8 -24
  524. package/dist/reference/ReferenceSourceReaderEntries.js +11 -39
  525. package/dist/reference/ReferenceSourceReaderFile.js +13 -31
  526. package/dist/reference/ReferenceSourceReaderPaths.js +3 -18
  527. package/dist/reference/ReferenceSourceReaderValidate.js +3 -6
  528. package/dist/replay/JavaScriptReplayWorker.js +95 -13
  529. package/dist/replay/JavaScriptReplayWorkerTypes.js +1 -0
  530. package/dist/replay/LinuxJavaScriptReplayRunner.js +42 -43
  531. package/dist/replay/LinuxJavaScriptReplaySandbox.js +0 -19
  532. package/dist/replay/LinuxRuntimeClosure.js +1 -3
  533. package/dist/replay/ReplayOutcome.js +27 -18
  534. package/dist/replay/ReplayProcessLifecycle.js +32 -7
  535. package/dist/replay/ReplaySeccompFile.js +29 -0
  536. package/dist/replay/ReplayWorkerProtocol.js +33 -30
  537. package/dist/replay/SystemJavaScriptReplayHost.js +45 -74
  538. package/dist/server/ProcessCaptureElicitation.js +4 -8
  539. package/dist/server/createServer.js +145 -119
  540. package/dist/server/mcpClientMetadata.js +32 -0
  541. package/dist/server/promptCompletion.js +37 -61
  542. package/dist/server/recordDerivedEvidence.js +1 -1
  543. package/dist/server/registerApplicationTools/characterization.js +10 -21
  544. package/dist/server/registerApplicationTools/compareExportShapes.js +6 -16
  545. package/dist/server/registerApplicationTools/compareSourceToBundle.js +6 -15
  546. package/dist/server/registerApplicationTools/compareVersions.js +6 -16
  547. package/dist/server/registerApplicationTools/controlledReplay.js +8 -15
  548. package/dist/server/registerApplicationTools/coverage.js +7 -78
  549. package/dist/server/registerApplicationTools/helpers.js +1 -13
  550. package/dist/server/registerApplicationTools/obligationLedger.js +4 -8
  551. package/dist/server/registerApplicationTools/traceFeature.js +6 -15
  552. package/dist/server/registerApplicationTools/traceSemantics.js +5 -13
  553. package/dist/server/registerApplicationTools.js +0 -2
  554. package/dist/server/registerArtifactComparisonTool.js +27 -35
  555. package/dist/server/registerBrowserScenarioTool.js +3 -8
  556. package/dist/server/registerBrowserTools.js +36 -81
  557. package/dist/server/registerBundleComparisonTool.js +10 -16
  558. package/dist/server/registerCloseLifecycleTool.js +5 -27
  559. package/dist/server/registerElectronTools.js +29 -65
  560. package/dist/server/registerEnhancedTools.js +118 -127
  561. package/dist/server/registerEvidenceTools.js +19 -30
  562. package/dist/server/registerFunctionComparisonTool.js +35 -34
  563. package/dist/server/registerInvestigationTools/helpers.js +3 -32
  564. package/dist/server/registerInvestigationTools.js +36 -148
  565. package/dist/server/registerJavaScriptRuntimeObservationTools.js +15 -27
  566. package/dist/server/registerManagedWorkflowTools/compareManagedMembers.js +16 -23
  567. package/dist/server/registerManagedWorkflowTools/contract.js +2 -3
  568. package/dist/server/registerManagedWorkflowTools/evidence.js +19 -35
  569. package/dist/server/registerManagedWorkflowTools/importManagedReconstruction.js +4 -14
  570. package/dist/server/registerManagedWorkflowTools/planManagedRuntimeCorrelation.js +4 -14
  571. package/dist/server/registerManagedWorkflowTools/projectManagedApplicationGraph.js +11 -20
  572. package/dist/server/registerManagedWorkflowTools/verifyManagedNativeBoundaries.js +10 -21
  573. package/dist/server/registerOfficialTools.js +8 -51
  574. package/dist/server/registerProcessComparisonTool.js +43 -38
  575. package/dist/server/registerPrompts.js +19 -17
  576. package/dist/server/registerReplayMachineTool.js +4 -10
  577. package/dist/server/registerSessionRecordTools.js +36 -153
  578. package/dist/server/registerSessionStatusTool.js +18 -96
  579. package/dist/server/registerSessionTools.js +34 -91
  580. package/dist/server/sessionAvailabilityPolicy.js +2 -3
  581. package/dist/server/sessionEvidence.js +9 -15
  582. package/dist/server/sessionToolPolicies.js +1 -13
  583. package/dist/server/toolRegistrationOptions.js +4 -192
  584. package/dist/server/toolResult.js +15 -67
  585. package/dist/serverIdentity.js +0 -20
  586. package/install.sh +1 -1
  587. package/package.json +27 -15
  588. package/scripts/electron-active-hook-boundaries.cjs +394 -0
  589. package/scripts/electron-active-hook.cjs +469 -0
  590. package/scripts/hopper-demo-x11.py +13 -32
  591. package/scripts/rea.mjs +1 -11
  592. package/skills/reverse-engineer-anything/SKILL.md +46 -11
  593. package/skills/reverse-engineer-anything/references/evidence-workflows.md +6 -4
  594. package/skills/reverse-engineer-anything/references/javascript-applications.md +13 -13
  595. package/skills/reverse-engineer-anything/references/native-and-artifacts.md +12 -8
  596. package/dist/application/ApplicationWorkflowEvidenceResolver.js +0 -180
  597. package/dist/application/BoundedJsonFiles.js +0 -86
  598. package/dist/application/CrossVersionInventory.js +0 -128
  599. package/dist/application/CrossVersionInvestigation.js +0 -301
  600. package/dist/application/CrossVersionInvestigationCollections.js +0 -23
  601. package/dist/application/CrossVersionInvestigationEvidence.js +0 -64
  602. package/dist/application/CrossVersionInvestigationReplay.js +0 -170
  603. package/dist/application/DeferredFileAuthorization.js +0 -61
  604. package/dist/application/DoctorProjection.js +0 -43
  605. package/dist/application/EnhancedToolPagination.js +0 -22
  606. package/dist/application/EvidenceReferenceResolver.js +0 -26
  607. package/dist/application/InvestigationWorkspaceStore.js +0 -204
  608. package/dist/application/ProcessPairedExperiment.js +0 -72
  609. package/dist/application/ReconstructionCoverageWorkspaceStore.js +0 -31
  610. package/dist/application/ReconstructionReadinessService.js +0 -48
  611. package/dist/cliInvestigationCommands.js +0 -173
  612. package/dist/domain/boundedCartesianProjection.js +0 -15
  613. package/dist/domain/investigationWorkspace.js +0 -346
  614. package/dist/domain/jsonLimits.js +0 -26
  615. package/dist/domain/knownPageCoverage.js +0 -21
  616. package/dist/domain/processPairedExperiment.js +0 -128
  617. package/dist/server/DynamicToolAvailability.js +0 -70
  618. package/dist/server/LazyToolCatalog.js +0 -134
  619. package/dist/server/hydrateServerTools.js +0 -191
  620. package/dist/server/javascriptApplicationResult.js +0 -106
  621. package/dist/server/permissionFailure.js +0 -12
  622. package/dist/server/registerApplicationTools/readiness.js +0 -55
  623. package/dist/server/registerEvidenceResources.js +0 -315
  624. package/dist/server/registerJavaScriptApplicationGraphResource.js +0 -65
  625. package/dist/server/registerReconstructionObligationLedgerResource.js +0 -32
  626. package/dist/server/registerReconstructionReadinessResource.js +0 -32
  627. package/dist/server/toolInputValidation.js +0 -77
  628. package/scripts/package-runner-bootstrap.mjs +0 -72
@@ -3,8 +3,8 @@ import { z } from "zod";
3
3
  import { evidenceBundleSchema } from "./evidenceBundle.js";
4
4
  const digestSchema = z.string().regex(/^[a-f0-9]{64}$/u);
5
5
  const evidenceIdSchema = z.string().regex(/^ev_[a-f0-9]{64}$/u);
6
- const stableIdSchema = z.string().regex(/^[A-Za-z][A-Za-z0-9._:/-]{0,199}$/u);
7
- const boundedTextSchema = z.string().trim().min(1).max(4_096);
6
+ const stableIdSchema = z.string().regex(/^[A-Za-z][A-Za-z0-9._:/-]*$/u);
7
+ const textSchema = z.string().trim().min(1);
8
8
  export const obligationStatusSchema = z.enum([
9
9
  "unowned",
10
10
  "characterized",
@@ -60,7 +60,7 @@ const obligationTargetSchema = z.strictObject({
60
60
  .string()
61
61
  .regex(/^jsrg_node_[a-f0-9]{64}$/u)
62
62
  .nullable(),
63
- location: boundedTextSchema,
63
+ location: textSchema,
64
64
  });
65
65
  const authorityReferenceSchema = z.strictObject({
66
66
  evidence_id: evidenceIdSchema,
@@ -72,80 +72,77 @@ const authorityReferenceSchema = z.strictObject({
72
72
  "analyst-inference",
73
73
  ]),
74
74
  state: z.enum(["candidate", "observed", "reviewed", "unknown"]),
75
- location: boundedTextSchema,
75
+ location: textSchema,
76
76
  });
77
77
  const observedCaseSchema = z.strictObject({
78
78
  kind: obligationCaseKindSchema,
79
79
  evidence_id: evidenceIdSchema,
80
- location: boundedTextSchema,
80
+ location: textSchema,
81
81
  });
82
82
  const ownerBindingSchema = z.strictObject({
83
- module_path: boundedTextSchema,
84
- symbol: z.string().trim().min(1).max(1_024),
83
+ module_path: textSchema,
84
+ symbol: textSchema,
85
85
  owner_sha256: digestSchema,
86
86
  });
87
87
  const parserTypeBindingSchema = z.strictObject({
88
- parser: boundedTextSchema,
89
- schema: boundedTextSchema,
90
- domain_type: boundedTextSchema,
88
+ parser: textSchema,
89
+ schema: textSchema,
90
+ domain_type: textSchema,
91
91
  });
92
92
  const fixtureBindingSchema = z.strictObject({
93
93
  fixture_id: stableIdSchema,
94
94
  case_kind: obligationCaseKindSchema,
95
95
  authority: obligationProofAuthoritySchema,
96
- evidence_ids: z.array(evidenceIdSchema).min(1).max(100),
96
+ evidence_ids: z.array(evidenceIdSchema).min(1),
97
97
  });
98
98
  const nondeterminismSchema = z.strictObject({
99
99
  mode: z.enum(["total-order", "partial-order", "finite-traces"]),
100
- specification: boundedTextSchema,
100
+ specification: textSchema,
101
101
  });
102
102
  const verifierBindingSchema = z.strictObject({
103
103
  verifier_id: stableIdSchema,
104
104
  claim_id: stableIdSchema,
105
- command: boundedTextSchema,
105
+ command: textSchema,
106
106
  authority: obligationProofAuthoritySchema,
107
107
  status: z.enum(["pass", "fail", "unknown", "unsupported", "skipped"]),
108
108
  result_evidence_id: evidenceIdSchema,
109
- enumerated_obligation_ids: z.array(stableIdSchema).min(1).max(10_000),
109
+ enumerated_obligation_ids: z.array(stableIdSchema).min(1),
110
110
  nondeterminism: nondeterminismSchema,
111
111
  });
112
112
  export const reconstructionObligationManifestBindingSchema = z.strictObject({
113
113
  obligation_id: stableIdSchema,
114
114
  owner: ownerBindingSchema,
115
115
  parser_type: parserTypeBindingSchema.nullable(),
116
- original_cases: z.array(observedCaseSchema).max(100),
117
- fixtures: z.array(fixtureBindingSchema).max(100),
116
+ original_cases: z.array(observedCaseSchema),
117
+ fixtures: z.array(fixtureBindingSchema),
118
118
  verifier: verifierBindingSchema.nullable(),
119
119
  });
120
120
  export const reconstructionObligationManifestSchema = z.strictObject({
121
- schema_version: z.literal(1),
122
- bindings: z.array(reconstructionObligationManifestBindingSchema).max(10_000),
123
- contradictions: z
124
- .array(z.strictObject({
121
+ bindings: z.array(reconstructionObligationManifestBindingSchema),
122
+ contradictions: z.array(z.strictObject({
125
123
  obligation_id: stableIdSchema,
126
- evidence_ids: z.array(evidenceIdSchema).min(2).max(100),
127
- }))
128
- .max(10_000),
124
+ evidence_ids: z.array(evidenceIdSchema).min(2),
125
+ })),
129
126
  });
130
127
  export const reviewedReconstructionObligationSchema = z.strictObject({
131
128
  obligation_id: stableIdSchema,
132
129
  obligation_version: z.number().int().min(1),
133
- title: z.string().trim().min(1).max(500),
130
+ title: textSchema,
134
131
  application_layer: obligationLayerSchema,
135
- family: z.string().trim().min(1).max(100),
132
+ family: textSchema,
136
133
  target: obligationTargetSchema,
137
134
  required: z.boolean(),
138
- required_case_kinds: z.array(obligationCaseKindSchema).min(1).max(5),
135
+ required_case_kinds: z.array(obligationCaseKindSchema).min(1),
139
136
  required_original_authority: obligationOriginalAuthoritySchema,
140
137
  required_fixture_authority: obligationProofAuthoritySchema,
141
138
  required_verifier_authority: obligationProofAuthoritySchema,
142
139
  requires_parser_type: z.boolean(),
143
- dependency_obligation_ids: z.array(stableIdSchema).max(1_000),
144
- residual_unknown_ids: z.array(stableIdSchema).max(1_000),
145
- unavailable_authority: z.array(boundedTextSchema).max(100),
146
- required_next_evidence: z.array(boundedTextSchema).max(100),
140
+ dependency_obligation_ids: z.array(stableIdSchema),
141
+ residual_unknown_ids: z.array(stableIdSchema),
142
+ unavailable_authority: z.array(textSchema),
143
+ required_next_evidence: z.array(textSchema),
147
144
  disposition: z.enum(["active", "blocked", "out-of-scope"]),
148
- review_evidence_ids: z.array(evidenceIdSchema).min(1).max(100),
145
+ review_evidence_ids: z.array(evidenceIdSchema).min(1),
149
146
  });
150
147
  const diagnosticSchema = z.strictObject({
151
148
  code: z.enum([
@@ -172,32 +169,32 @@ const diagnosticSchema = z.strictObject({
172
169
  "blocked",
173
170
  "out-of-scope",
174
171
  ]),
175
- detail: boundedTextSchema,
172
+ detail: textSchema,
176
173
  });
177
174
  export const reconstructionObligationSchema = z.strictObject({
178
175
  obligation_id: stableIdSchema,
179
176
  obligation_version: z.number().int().min(1),
180
- title: z.string().trim().min(1).max(500),
177
+ title: textSchema,
181
178
  origin: z.enum(["generated", "reviewed"]),
182
179
  application_layer: obligationLayerSchema,
183
- family: z.string().trim().min(1).max(100),
180
+ family: textSchema,
184
181
  target: obligationTargetSchema,
185
- authority_references: z.array(authorityReferenceSchema).min(1).max(1_000),
182
+ authority_references: z.array(authorityReferenceSchema).min(1),
186
183
  source_state: z.enum(["candidate", "observed", "reviewed", "unknown"]),
187
- observed_cases: z.array(observedCaseSchema).max(100),
184
+ observed_cases: z.array(observedCaseSchema),
188
185
  required: z.boolean(),
189
- required_case_kinds: z.array(obligationCaseKindSchema).min(1).max(5),
186
+ required_case_kinds: z.array(obligationCaseKindSchema).min(1),
190
187
  required_original_authority: obligationOriginalAuthoritySchema,
191
188
  required_fixture_authority: obligationProofAuthoritySchema,
192
189
  required_verifier_authority: obligationProofAuthoritySchema,
193
190
  requires_parser_type: z.boolean(),
194
- dependency_obligation_ids: z.array(stableIdSchema).max(1_000),
195
- residual_unknown_ids: z.array(stableIdSchema).max(1_000),
196
- unavailable_authority: z.array(boundedTextSchema).max(100),
197
- required_next_evidence: z.array(boundedTextSchema).max(100),
191
+ dependency_obligation_ids: z.array(stableIdSchema),
192
+ residual_unknown_ids: z.array(stableIdSchema),
193
+ unavailable_authority: z.array(textSchema),
194
+ required_next_evidence: z.array(textSchema),
198
195
  binding: reconstructionObligationManifestBindingSchema.nullable(),
199
196
  status: obligationStatusSchema,
200
- diagnostics: z.array(diagnosticSchema).max(1_000),
197
+ diagnostics: z.array(diagnosticSchema),
201
198
  });
202
199
  const countBySchema = (key) => z.array(z.strictObject({
203
200
  key,
@@ -205,15 +202,11 @@ const countBySchema = (key) => z.array(z.strictObject({
205
202
  }));
206
203
  export const reconstructionObligationLedgerSchema = z.strictObject({
207
204
  schema: z.literal("ReconstructionObligationLedger"),
208
- schema_version: z.literal(1),
209
205
  ledger_id: z.string().regex(/^rol_[a-f0-9]{64}$/u),
210
206
  closure_digest: digestSchema,
211
207
  status: z.enum(["ready", "open", "failed", "unknown"]),
212
208
  coverage: z.strictObject({
213
209
  status: z.enum(["complete", "partial"]),
214
- truncated: z.boolean(),
215
- omitted_count: z.number().int().min(0),
216
- max_obligations: z.number().int().min(1),
217
210
  }),
218
211
  summary: z.strictObject({
219
212
  total: z.number().int().min(0),
@@ -232,41 +225,21 @@ export const reconstructionObligationLedgerSchema = z.strictObject({
232
225
  }),
233
226
  ownership_graph: z.array(z.strictObject({
234
227
  obligation_id: stableIdSchema,
235
- module_path: boundedTextSchema,
236
- symbol: z.string().trim().min(1).max(1_024),
228
+ module_path: textSchema,
229
+ symbol: textSchema,
237
230
  })),
238
231
  dependency_graph: z.array(z.strictObject({
239
232
  obligation_id: stableIdSchema,
240
233
  depends_on_obligation_id: stableIdSchema,
241
234
  })),
242
- obligations: z.array(reconstructionObligationSchema).max(10_000),
243
- evidence_links: z.array(evidenceIdSchema).max(100_000),
244
- limitations: z.array(boundedTextSchema).max(1_000),
235
+ obligations: z.array(reconstructionObligationSchema),
236
+ evidence_links: z.array(evidenceIdSchema),
237
+ limitations: z.array(textSchema),
245
238
  });
246
239
  export const reconstructionObligationLedgerInputSchema = z.strictObject({
247
240
  evidence_bundle: evidenceBundleSchema,
248
- reviewed_obligations: z
249
- .array(reviewedReconstructionObligationSchema)
250
- .max(10_000),
241
+ reviewed_obligations: z.array(reviewedReconstructionObligationSchema),
251
242
  manifest: reconstructionObligationManifestSchema,
252
- limits: z.strictObject({
253
- max_obligations: z.number().int().min(1).max(10_000),
254
- }),
255
- page: z.strictObject({
256
- offset: z.number().int().min(0).max(10_000),
257
- limit: z.number().int().min(1).max(100),
258
- }),
259
- });
260
- export const reconstructionObligationLedgerPageSchema = z.strictObject({
261
- ...reconstructionObligationLedgerSchema.omit({ obligations: true }).shape,
262
- page: z.strictObject({
263
- offset: z.number().int().min(0),
264
- limit: z.number().int().min(1).max(100),
265
- total: z.number().int().min(0),
266
- returned: z.number().int().min(0),
267
- next_offset: z.number().int().min(0).nullable(),
268
- }),
269
- obligations: z.array(reconstructionObligationSchema).max(100),
270
243
  });
271
244
  /** Parse and canonically serialize one complete reconstruction obligation ledger. */
272
245
  export const serializeReconstructionObligationLedger = (input) => {
@@ -34,12 +34,11 @@ export const createReconstructionReadinessReport = (inputValue) => {
34
34
  snapshot: input,
35
35
  };
36
36
  const reportDigest = digest({
37
- schema: "rea.reconstruction-readiness-report/v1",
37
+ schema: "ReconstructionReadinessReport",
38
38
  ...semantic,
39
39
  });
40
40
  return reconstructionReadinessReportSchema.parse({
41
41
  schema: "ReconstructionReadinessReport",
42
- schema_version: 1,
43
42
  report_id: `rr_${reportDigest}`,
44
43
  report_digest: reportDigest,
45
44
  ...semantic,
@@ -3,8 +3,8 @@ import { evidenceBundleSchema } from "./evidenceBundle.js";
3
3
  import { reconstructionObligationLedgerSchema } from "./reconstructionObligationLedgerSchemas.js";
4
4
  const digestSchema = z.string().regex(/^[a-f0-9]{64}$/u);
5
5
  const evidenceIdSchema = z.string().regex(/^ev_[a-f0-9]{64}$/u);
6
- const stableIdSchema = z.string().regex(/^[A-Za-z][A-Za-z0-9._:/-]{0,199}$/u);
7
- const boundedTextSchema = z.string().trim().min(1).max(4_096);
6
+ const stableIdSchema = z.string().regex(/^[A-Za-z][A-Za-z0-9._:/-]*$/u);
7
+ const boundedTextSchema = z.string().trim().min(1);
8
8
  export const readinessStatusSchema = z.enum([
9
9
  "pass",
10
10
  "fail",
@@ -54,8 +54,8 @@ const capabilitySchema = z.strictObject({
54
54
  "writes-workspace",
55
55
  "network-observation",
56
56
  ]),
57
- authority_scopes: z.array(stableIdSchema).max(100),
58
- limits: z.array(limitSchema).max(100),
57
+ authority_scopes: z.array(stableIdSchema),
58
+ limits: z.array(limitSchema),
59
59
  unavailable_reason: boundedTextSchema.nullable(),
60
60
  });
61
61
  const fixtureSchema = z.strictObject({
@@ -69,7 +69,7 @@ const fixtureSchema = z.strictObject({
69
69
  ]),
70
70
  artifact_sha256: digestSchema,
71
71
  environment_id: stableIdSchema,
72
- deliberate_faults: z.array(stableIdSchema).min(1).max(100),
72
+ deliberate_faults: z.array(stableIdSchema).min(1),
73
73
  });
74
74
  const workflowCandidateSchema = z.strictObject({
75
75
  fixture_id: stableIdSchema,
@@ -85,7 +85,7 @@ const grantSchema = z.strictObject({
85
85
  scope: stableIdSchema,
86
86
  decision: z.enum(["granted", "denied", "cancelled", "restart-required"]),
87
87
  launched_process: z.boolean(),
88
- evidence_ids: z.array(evidenceIdSchema).max(100),
88
+ evidence_ids: z.array(evidenceIdSchema),
89
89
  });
90
90
  const comparisonSchema = z.strictObject({
91
91
  comparison_id: stableIdSchema,
@@ -96,17 +96,17 @@ const comparisonSchema = z.strictObject({
96
96
  unavailable_authority: z.boolean(),
97
97
  unstable: z.boolean(),
98
98
  deliberate_divergence_ref: boundedTextSchema.nullable(),
99
- divergence_refs: z.array(boundedTextSchema).max(100),
100
- contradiction_ids: z.array(stableIdSchema).max(100),
101
- evidence_ids: z.array(evidenceIdSchema).min(1).max(1_000),
99
+ divergence_refs: z.array(boundedTextSchema),
100
+ contradiction_ids: z.array(stableIdSchema),
101
+ evidence_ids: z.array(evidenceIdSchema).min(1),
102
102
  });
103
103
  const contradictionSchema = z.strictObject({
104
104
  contradiction_id: stableIdSchema,
105
105
  declared_sha256: digestSchema,
106
106
  observed_sha256: digestSchema,
107
107
  policy: z.literal("record-and-continue"),
108
- affected_comparison_ids: z.array(stableIdSchema).min(1).max(100),
109
- evidence_ids: z.array(evidenceIdSchema).min(2).max(100),
108
+ affected_comparison_ids: z.array(stableIdSchema).min(1),
109
+ evidence_ids: z.array(evidenceIdSchema).min(2),
110
110
  });
111
111
  const operationOutcomeSchema = z.strictObject({
112
112
  sequence: z.number().int().min(0),
@@ -126,32 +126,32 @@ const operationOutcomeSchema = z.strictObject({
126
126
  mcp_status: z.enum(["success", "non-success"]).nullable(),
127
127
  error_code: stableIdSchema.nullable(),
128
128
  recovered: z.boolean(),
129
- evidence_ids: z.array(evidenceIdSchema).max(100),
129
+ evidence_ids: z.array(evidenceIdSchema),
130
130
  });
131
131
  const cleanupSchema = z.strictObject({
132
132
  run_id: stableIdSchema,
133
133
  cancelled: z.boolean(),
134
134
  owned_resources_remaining: z.number().int().min(0),
135
- diagnostic_evidence_ids: z.array(evidenceIdSchema).max(100),
135
+ diagnostic_evidence_ids: z.array(evidenceIdSchema),
136
136
  });
137
137
  const closureObservationSchema = z.strictObject({
138
138
  sequence: z.number().int().min(0),
139
139
  ledger_digest: digestSchema,
140
140
  status: z.enum(["ready", "open", "failed", "unknown"]),
141
141
  required_open: z.number().int().min(0),
142
- newly_verified_obligation_ids: z.array(stableIdSchema).max(10_000),
143
- evidence_ids: z.array(evidenceIdSchema).min(1).max(1_000),
142
+ newly_verified_obligation_ids: z.array(stableIdSchema),
143
+ evidence_ids: z.array(evidenceIdSchema).min(1),
144
144
  });
145
145
  const delegationCheckSchema = z.strictObject({
146
146
  candidate_id: stableIdSchema,
147
147
  delegates_to_authority: z.boolean(),
148
- evidence_ids: z.array(evidenceIdSchema).min(1).max(100),
148
+ evidence_ids: z.array(evidenceIdSchema).min(1),
149
149
  });
150
150
  const stageCheckSchema = z.strictObject({
151
151
  check_id: stableIdSchema,
152
152
  status: readinessStatusSchema,
153
153
  detail: boundedTextSchema,
154
- evidence_ids: z.array(evidenceIdSchema).max(100),
154
+ evidence_ids: z.array(evidenceIdSchema),
155
155
  });
156
156
  const stageSchema = z.strictObject({
157
157
  stage_id: readinessStageIdSchema,
@@ -159,56 +159,68 @@ const stageSchema = z.strictObject({
159
159
  status: readinessStatusSchema,
160
160
  capability_issue: stableIdSchema.nullable(),
161
161
  next_action: boundedTextSchema.nullable(),
162
- evidence_ids: z.array(evidenceIdSchema).max(1_000),
163
- checks: z.array(stageCheckSchema).max(100),
162
+ evidence_ids: z.array(evidenceIdSchema),
163
+ checks: z.array(stageCheckSchema),
164
164
  });
165
165
  const replaySchema = z.strictObject({
166
166
  expected_source_digest: digestSchema.nullable(),
167
167
  deterministic: z.boolean(),
168
168
  tamper_detected: z.boolean(),
169
169
  stale_input_detected: z.boolean(),
170
- evidence_ids: z.array(evidenceIdSchema).max(100),
170
+ evidence_ids: z.array(evidenceIdSchema),
171
171
  });
172
172
  export const reconstructionReadinessInputSchema = z.strictObject({
173
- schema_version: z.literal(1),
174
173
  identity: z.strictObject({
175
174
  cli_version: boundedTextSchema,
176
175
  server_version: boundedTextSchema,
177
176
  catalog_digest: digestSchema,
178
177
  skill_digest: digestSchema.nullable(),
179
- versions: z.array(versionObservationSchema).min(1).max(100),
180
- providers: z.array(providerIdentitySchema).max(100),
178
+ versions: z.array(versionObservationSchema).min(1),
179
+ providers: z.array(providerIdentitySchema),
181
180
  }),
182
181
  client: z.strictObject({
183
182
  name: boundedTextSchema,
184
183
  version: boundedTextSchema,
185
- negotiated_capabilities: z.array(stableIdSchema).max(100),
184
+ negotiated_capabilities: z.array(stableIdSchema),
186
185
  }),
187
- capabilities: z.array(capabilitySchema).min(1).max(1_000),
188
- fixtures: z.array(fixtureSchema).min(1).max(100),
189
- workflow_candidates: z.array(workflowCandidateSchema).min(1).max(1_000),
190
- grants: z.array(grantSchema).max(1_000),
186
+ capabilities: z.array(capabilitySchema).min(1),
187
+ fixtures: z.array(fixtureSchema).min(1),
188
+ workflow_candidates: z.array(workflowCandidateSchema).min(1),
189
+ grants: z.array(grantSchema),
191
190
  evidence_bundle: evidenceBundleSchema,
192
- comparisons: z.array(comparisonSchema).max(1_000),
193
- contradictions: z.array(contradictionSchema).max(1_000),
191
+ comparisons: z.array(comparisonSchema),
192
+ contradictions: z.array(contradictionSchema),
194
193
  obligation_ledger: reconstructionObligationLedgerSchema,
195
- operation_outcomes: z.array(operationOutcomeSchema).max(10_000),
196
- cleanup: z.array(cleanupSchema).max(1_000),
197
- closure_history: z.array(closureObservationSchema).min(2).max(1_000),
198
- delegation_checks: z.array(delegationCheckSchema).min(1).max(1_000),
194
+ operation_outcomes: z.array(operationOutcomeSchema),
195
+ cleanup: z.array(cleanupSchema),
196
+ closure_history: z.array(closureObservationSchema).min(2),
197
+ delegation_checks: z.array(delegationCheckSchema).min(1),
199
198
  replay: replaySchema,
200
- stages: z.array(stageSchema).max(20),
199
+ stages: z
200
+ .array(stageSchema)
201
+ .length(9)
202
+ .superRefine((stages, context) => {
203
+ const seen = new Set();
204
+ stages.forEach((stage, index) => {
205
+ if (seen.has(stage.stage_id))
206
+ context.addIssue({
207
+ code: "custom",
208
+ path: [index, "stage_id"],
209
+ message: "Readiness stage IDs must be unique",
210
+ });
211
+ seen.add(stage.stage_id);
212
+ });
213
+ }),
201
214
  });
202
215
  const findingSchema = z.strictObject({
203
216
  code: stableIdSchema,
204
217
  stage_id: readinessStageIdSchema,
205
218
  status: z.enum(["fail", "unknown"]),
206
219
  detail: boundedTextSchema,
207
- evidence_ids: z.array(evidenceIdSchema).max(100),
220
+ evidence_ids: z.array(evidenceIdSchema),
208
221
  });
209
222
  export const reconstructionReadinessReportSchema = z.strictObject({
210
223
  schema: z.literal("ReconstructionReadinessReport"),
211
- schema_version: z.literal(1),
212
224
  report_id: z.string().regex(/^rr_[a-f0-9]{64}$/u),
213
225
  source_digest: digestSchema,
214
226
  report_digest: digestSchema,
@@ -233,8 +245,22 @@ export const reconstructionReadinessReportSchema = z.strictObject({
233
245
  cleanup_leak_count: z.number().int().min(0),
234
246
  nondeterministic_replay_count: z.number().int().min(0),
235
247
  }),
236
- stages: z.array(stageSchema).max(20),
237
- findings: z.array(findingSchema).max(10_000),
238
- evidence_links: z.array(evidenceIdSchema).max(100_000),
248
+ stages: z
249
+ .array(stageSchema)
250
+ .length(9)
251
+ .superRefine((stages, context) => {
252
+ const seen = new Set();
253
+ stages.forEach((stage, index) => {
254
+ if (seen.has(stage.stage_id))
255
+ context.addIssue({
256
+ code: "custom",
257
+ path: [index, "stage_id"],
258
+ message: "Readiness stage IDs must be unique",
259
+ });
260
+ seen.add(stage.stage_id);
261
+ });
262
+ }),
263
+ findings: z.array(findingSchema),
264
+ evidence_links: z.array(evidenceIdSchema),
239
265
  snapshot: reconstructionReadinessInputSchema,
240
266
  });
@@ -45,7 +45,7 @@ export const reconstructionClaimUnknowns = (heads, comparisonId, sourceIds) => {
45
45
  })
46
46
  .sort((left, right) => left.unknown_id.localeCompare(right.unknown_id, "en"));
47
47
  };
48
- /** Aggregate and bound deterministic probes for unresolved claims. */
48
+ /** Aggregate deterministic probes for unresolved claims. */
49
49
  export const reconstructionProbes = (results, heads) => {
50
50
  const output = new Map();
51
51
  for (const result of results.filter(({ status }) => status === "unknown")) {
@@ -71,7 +71,7 @@ export const reconstructionProbes = (results, heads) => {
71
71
  }
72
72
  }
73
73
  const sorted = [...output.values()].sort((left, right) => `${left.operation}\0${left.rationale}`.localeCompare(`${right.operation}\0${right.rationale}`, "en"));
74
- return { items: sorted.slice(0, 2_000), truncated: sorted.length > 2_000 };
74
+ return sorted;
75
75
  };
76
76
  const defaultProbe = (kind) => kind === "behavioral"
77
77
  ? {
@@ -84,7 +84,7 @@ const defaultProbe = (kind) => kind === "behavioral"
84
84
  rationale: "Capture complete function dossiers under equal limits.",
85
85
  }
86
86
  : {
87
- operation: "inventory_artifact",
87
+ operation: "inspect_artifact",
88
88
  rationale: "Capture complete artifact inventories under equal limits.",
89
89
  };
90
90
  const uniqueSorted = (values) => [...new Set(values)].sort((left, right) => left.localeCompare(right, "en"));
@@ -12,51 +12,40 @@ import { reconstructionClaimResultSchema, reconstructionSpecificationSchema, rec
12
12
  import { reconstructionClaimUnknowns, reconstructionProbes, reconstructionUnknownHeads, } from "./reconstructionUnknowns.js";
13
13
  const evidenceIdSchema = z.string().regex(/^ev_[a-f0-9]{64}$/u);
14
14
  export { reconstructionVerificationInputSchema, reconstructionVerificationResultSchema, } from "./reconstructionVerificationSchemas.js";
15
- const MAX_BUNDLE_RECORDS = 20_100;
16
- const MAX_UNKNOWN_REVISIONS = 10_000;
17
- const MAX_CANONICAL_BYTES = 32 * 1024 * 1024;
18
15
  const providers = {
19
16
  behavioral: {
20
17
  operation: "compare_process_captures",
21
- predicates: ["rea.process-comparison/v3", "rea.process-comparison/v4"],
18
+ predicates: ["rea.process-comparison"],
22
19
  id: "rea-process",
23
20
  name: "REA deterministic process harness",
24
21
  },
25
22
  "structural-function": {
26
23
  operation: "compare_functions",
27
- predicates: ["rea.function-comparison/v1"],
24
+ predicates: ["rea.function-comparison"],
28
25
  id: "rea-function-comparison",
29
26
  name: "REA function comparison",
30
27
  },
31
28
  "structural-artifact": {
32
29
  operation: "compare_artifacts",
33
- predicates: ["rea.artifact-comparison/v1"],
30
+ predicates: ["rea.artifact-comparison"],
34
31
  id: "rea-artifact-comparison",
35
32
  name: "REA artifact comparison",
36
33
  },
37
34
  };
38
35
  const acceptsPredicate = (expected, actual) => expected.some((predicate) => predicate === actual);
39
36
  /** Verify only explicitly declared claims; no global equivalence is inferred. */
40
- export const verifyReconstruction = (specificationInput, bundleInput, offset, limit) => {
37
+ export const verifyReconstruction = (specificationInput, bundleInput) => {
41
38
  const specification = reconstructionSpecificationSchema.parse(specificationInput);
42
- enforceInputSize(bundleInput);
43
39
  const bundle = parseEvidenceBundle(bundleInput);
44
- if (bundle.records.length > MAX_BUNDLE_RECORDS)
45
- throw new TypeError("Reconstruction Evidence record limit exceeded");
46
- if (bundle.unknowns.length > MAX_UNKNOWN_REVISIONS)
47
- throw new TypeError("Reconstruction unknown revision limit exceeded");
48
40
  const records = new Map(bundle.records.map((item) => [item.evidence_id, item]));
49
41
  const heads = reconstructionUnknownHeads(bundle.unknowns);
50
42
  const results = specification.claims
51
43
  .map((claim) => evaluateClaim(claim, records, heads))
52
44
  .sort((left, right) => left.claim_id.localeCompare(right.claim_id, "en"));
53
- const page = results.slice(offset, offset + limit);
54
45
  const failed = count(results, "fail");
55
46
  const unresolved = count(results, "unknown");
56
47
  const probes = reconstructionProbes(results, heads);
57
48
  const evidenceLinks = uniqueSorted(results.flatMap(({ evidence_links: links }) => links));
58
- if (evidenceLinks.length > 20_100)
59
- throw new TypeError("Reconstruction Evidence closure exceeds limit");
60
49
  const output = {
61
50
  status: failed > 0 ? "fail" : unresolved > 0 ? "unknown" : "pass",
62
51
  specification_sha256: digest({
@@ -72,19 +61,12 @@ export const verifyReconstruction = (specificationInput, bundleInput, offset, li
72
61
  structural: results.filter(({ kind }) => kind !== "behavioral").length,
73
62
  },
74
63
  claims: {
75
- items: page,
76
- offset,
77
- limit,
78
- total: results.length,
79
- next_offset: offset + page.length < results.length ? offset + page.length : null,
64
+ items: results,
80
65
  },
81
- recommended_probes: probes.items,
66
+ recommended_probes: probes,
82
67
  evidence_links: evidenceLinks,
83
68
  limitations: [
84
69
  "Pass means every declared claim passed; it does not establish global implementation equivalence.",
85
- ...(probes.truncated
86
- ? ["Recommended probes were truncated at the 2,000-item limit."]
87
- : []),
88
70
  ],
89
71
  };
90
72
  return reconstructionVerificationResultSchema.parse(output);
@@ -111,8 +93,7 @@ const evaluateClaim = (claim, records, heads) => {
111
93
  const limitations = authorityLimitations(claim, sources, sides);
112
94
  const relevantUnknowns = reconstructionClaimUnknowns(heads, comparison.evidence_id, allSourceIds);
113
95
  const status = classify(observed, limitations, relevantUnknowns);
114
- const displayedUnknowns = relevantUnknowns.slice(0, 100);
115
- const hiddenUnknownCount = relevantUnknowns.length - displayedUnknowns.length;
96
+ const displayedUnknowns = relevantUnknowns;
116
97
  return reconstructionClaimResultSchema.parse({
117
98
  claim_id: claim.claim_id,
118
99
  kind: claim.kind,
@@ -128,20 +109,15 @@ const evaluateClaim = (claim, records, heads) => {
128
109
  ...comparison.limitations,
129
110
  ...limitations,
130
111
  ...displayedUnknowns.map(({ question }) => `Residual unknown: ${question}`),
131
- ...(hiddenUnknownCount > 0
132
- ? [
133
- `${hiddenUnknownCount} additional active residual unknowns affect this claim but are omitted by the 100-item display limit.`,
134
- ]
135
- : []),
136
112
  ]),
137
113
  });
138
114
  };
139
115
  const validateSourceKinds = (claim, sources) => {
140
116
  const expected = claim.kind === "behavioral"
141
- ? ["capture_process_scenario", "rea.process-capture/v4"]
117
+ ? ["capture_process_scenario", "rea.process-capture"]
142
118
  : claim.kind === "structural-function"
143
- ? ["analyze_function", "rea.analysis/v2"]
144
- : ["inventory_artifact", "rea.analysis/v2"];
119
+ ? ["analyze_function", "rea.analysis"]
120
+ : ["inventory_artifact", "rea.analysis"];
145
121
  if (sources.some((source) => source.operation !== expected[0] ||
146
122
  source.predicate_type !== expected[1]))
147
123
  throw new TypeError("Comparison source Evidence has an unexpected observation type");
@@ -184,8 +160,8 @@ const sourceSides = (claim, evidence) => {
184
160
  }
185
161
  const parsed = z
186
162
  .object({
187
- left_evidence_ids: z.array(evidenceIdSchema).min(1).max(100),
188
- right_evidence_ids: z.array(evidenceIdSchema).min(1).max(100),
163
+ left_evidence_ids: z.array(evidenceIdSchema).min(1),
164
+ right_evidence_ids: z.array(evidenceIdSchema).min(1),
189
165
  })
190
166
  .passthrough()
191
167
  .parse(parameters);
@@ -211,11 +187,7 @@ const observedStatus = (claim, evidence) => {
211
187
  return dimension.status;
212
188
  }
213
189
  const result = artifactComparisonResultSchema.parse(evidence.normalized_result);
214
- if (result.changes.offset !== 0 ||
215
- result.changes.next_offset !== null ||
216
- result.changes.items.length !== result.changes.total)
217
- return "unknown";
218
- if (result.changes.items.some((item) => item.evidence_links.some((id) => !evidence.evidence_links.includes(id))))
190
+ if (result.changes.some((item) => item.evidence_links.some((id) => !evidence.evidence_links.includes(id))))
219
191
  throw new TypeError("Artifact change cites Evidence outside comparison closure");
220
192
  return result.status;
221
193
  };
@@ -261,12 +233,6 @@ const digest = (value) => {
261
233
  throw new TypeError("Specification canonicalization failed");
262
234
  return createHash("sha256").update(encoded).digest("hex");
263
235
  };
264
- const enforceInputSize = (value) => {
265
- const encoded = canonicalize(value);
266
- if (encoded === undefined ||
267
- Buffer.byteLength(encoded, "utf8") > MAX_CANONICAL_BYTES)
268
- throw new TypeError("Reconstruction Evidence bundle exceeds byte limit");
269
- };
270
236
  const count = (items, status) => items.filter((item) => item.status === status).length;
271
237
  const sameSet = (left, right) => left.length === right.length &&
272
238
  uniqueSorted(left).every((id, index) => id === uniqueSorted(right)[index]);