diff --git a/src/application/evm/EvmInterfaceService.ts b/src/application/evm/EvmInterfaceService.ts index e217e5650e..a647877290 100644 --- a/src/application/evm/EvmInterfaceService.ts +++ b/src/application/evm/EvmInterfaceService.ts @@ -7,7 +7,7 @@ import { AnalysisOutputError, } from "../../domain/analysisErrorCore.js"; import type { Evidence } from "../../domain/evidence.js"; -import { evmInterfaceEvidence } from "./EvmInterfaceEvidence.js"; +import { evmInterfaceEvidence } from "../../domain/evm/evmInterfaceEvidence.js"; import { inspectEvmInterfaceInputSchema, evmInterfaceSchema, diff --git a/src/application/gpu/GpuCodeObjectsService.ts b/src/application/gpu/GpuCodeObjectsService.ts index cd9d3178a3..9f39ed793e 100644 --- a/src/application/gpu/GpuCodeObjectsService.ts +++ b/src/application/gpu/GpuCodeObjectsService.ts @@ -9,7 +9,7 @@ import { AnalysisOutputError, } from "../../domain/analysisErrorCore.js"; import type { Evidence } from "../../domain/evidence.js"; -import { createGpuCodeObjectsEvidence } from "./GpuCodeObjectsEvidence.js"; +import { createGpuCodeObjectsEvidence } from "../../domain/gpu/gpuCodeObjectsEvidence.js"; import { err, ok, type Result } from "../../domain/result.js"; import { requireAnalysisViewRetention, diff --git a/src/application/model/ModelArtifactService.ts b/src/application/model/ModelArtifactService.ts index 4a0288c656..a9e9ff23ed 100644 --- a/src/application/model/ModelArtifactService.ts +++ b/src/application/model/ModelArtifactService.ts @@ -9,7 +9,7 @@ import { AnalysisOutputError, } from "../../domain/analysisErrorCore.js"; import type { Evidence } from "../../domain/evidence.js"; -import { createModelArtifactEvidence } from "./ModelArtifactEvidence.js"; +import { createModelArtifactEvidence } from "../../domain/model/modelArtifactEvidence.js"; import { err, ok, type Result } from "../../domain/result.js"; import { requireAnalysisViewRetention, diff --git a/src/application/evm/EvmInterfaceEvidence.ts b/src/domain/evm/evmInterfaceEvidence.ts similarity index 52% rename from src/application/evm/EvmInterfaceEvidence.ts rename to src/domain/evm/evmInterfaceEvidence.ts index c4bd738cbc..6be8b2466f 100644 --- a/src/application/evm/EvmInterfaceEvidence.ts +++ b/src/domain/evm/evmInterfaceEvidence.ts @@ -1,11 +1,25 @@ -import { createEvidence } from "../../domain/evidence.js"; -import type { InspectEvmInterfaceInput } from "../../domain/evm/evmInterface.js"; -import type { EvmInterfaceExecution } from "./EvmInterfacePort.js"; +import { + createEvidence, + type EvidenceLocation, + type EvidenceProvider, + type EvidenceSubjectTarget, +} from "../evidence.js"; +import type { InspectEvmInterfaceInput } from "./evmInterface.js"; +import type { JsonValue } from "../jsonValue.js"; + +interface EvmInterfaceObservation { + readonly subject: EvidenceSubjectTarget & { readonly format: "file" }; + readonly provider: EvidenceProvider; + readonly result: JsonValue; + readonly rawResult: JsonValue | null; + readonly locations: readonly EvidenceLocation[]; + readonly limitations: readonly string[]; +} /** Preserve the same validated inference and provenance on success and failed finalization. */ export const evmInterfaceEvidence = ( input: InspectEvmInterfaceInput, - execution: EvmInterfaceExecution, + execution: EvmInterfaceObservation, ) => createEvidence(execution.subject, execution.provider, { operation: "inspect_evm_interface", diff --git a/src/application/gpu/GpuCodeObjectsEvidence.ts b/src/domain/gpu/gpuCodeObjectsEvidence.ts similarity index 87% rename from src/application/gpu/GpuCodeObjectsEvidence.ts rename to src/domain/gpu/gpuCodeObjectsEvidence.ts index 3f95fcb13a..5036fb2251 100644 --- a/src/application/gpu/GpuCodeObjectsEvidence.ts +++ b/src/domain/gpu/gpuCodeObjectsEvidence.ts @@ -1,10 +1,13 @@ -import type { ProviderIdentity } from "../AnalysisProvider.js"; +import { + createEvidence, + type Evidence, + type EvidenceProvider, +} from "../evidence.js"; import type { GpuCodeObjects, GpuCodeObjectsInput, GpuCodeObjectsPartial, -} from "../../domain/gpu/gpuCodeObjects.js"; -import { createEvidence, type Evidence } from "../../domain/evidence.js"; +} from "./gpuCodeObjects.js"; const gpuParameters = (parameters: GpuCodeObjectsInput) => ({ path: parameters.path, @@ -17,10 +20,11 @@ const gpuParameters = (parameters: GpuCodeObjectsInput) => ({ ? {} : { expected_sha256: parameters.expected_sha256 }), }); + /** One Evidence interpretation for success and observations retained by file finalization failures. */ export const createGpuCodeObjectsEvidence = ( report: GpuCodeObjects, - provider: ProviderIdentity, + provider: EvidenceProvider, parameters: GpuCodeObjectsInput, ): Evidence => createEvidence( @@ -42,7 +46,7 @@ export const createGpuCodeObjectsEvidence = ( export const createGpuCodeObjectsPartialEvidence = ( report: GpuCodeObjectsPartial, - provider: ProviderIdentity, + provider: EvidenceProvider, parameters: GpuCodeObjectsInput, ): Evidence => createEvidence(undefined, provider, { diff --git a/src/application/model/ModelArtifactEvidence.ts b/src/domain/model/modelArtifactEvidence.ts similarity index 88% rename from src/application/model/ModelArtifactEvidence.ts rename to src/domain/model/modelArtifactEvidence.ts index 8c60214960..09d79b06ce 100644 --- a/src/application/model/ModelArtifactEvidence.ts +++ b/src/domain/model/modelArtifactEvidence.ts @@ -1,15 +1,18 @@ -import type { ProviderIdentity } from "../AnalysisProvider.js"; +import { + createEvidence, + type Evidence, + type EvidenceProvider, +} from "../evidence.js"; import type { ModelArtifact, - ModelArtifactPartial, ModelArtifactInput, -} from "../../domain/model/modelArtifact.js"; -import { createEvidence, type Evidence } from "../../domain/evidence.js"; + ModelArtifactPartial, +} from "./modelArtifact.js"; /** One Evidence interpretation for success and observations retained by file finalization failures. */ export const createModelArtifactEvidence = ( report: ModelArtifact, - provider: ProviderIdentity, + provider: EvidenceProvider, parameters: ModelArtifactInput, ): Evidence => { const source = report.artifact; @@ -37,7 +40,7 @@ export const createModelArtifactEvidence = ( /** Evidence for completed GGUF facts retained before final identity verification. */ export const createModelArtifactPartialEvidence = ( partial: ModelArtifactPartial, - provider: ProviderIdentity, + provider: EvidenceProvider, parameters: ModelArtifactInput, ): Evidence => createEvidence(undefined, provider, { diff --git a/src/evm/EvmoleInterfaceProvider.ts b/src/evm/EvmoleInterfaceProvider.ts index f9f979816b..8abe0dc380 100644 --- a/src/evm/EvmoleInterfaceProvider.ts +++ b/src/evm/EvmoleInterfaceProvider.ts @@ -37,7 +37,7 @@ import { AnalysisOutputError, } from "../domain/analysisErrorCore.js"; import { projectAnalysisError } from "../domain/analysisErrorProjection.js"; -import { evmInterfaceEvidence } from "../application/evm/EvmInterfaceEvidence.js"; +import { evmInterfaceEvidence } from "../domain/evm/evmInterfaceEvidence.js"; import { DEFAULT_EVM_TIMEOUT_MS, type InspectEvmInterfaceInput, diff --git a/src/gpu/GpuCodeObjectsProvider.ts b/src/gpu/GpuCodeObjectsProvider.ts index e4b531a190..99e18570d8 100644 --- a/src/gpu/GpuCodeObjectsProvider.ts +++ b/src/gpu/GpuCodeObjectsProvider.ts @@ -3,7 +3,7 @@ import type { GpuCodeObjectsPort } from "../application/gpu/GpuCodeObjectsPort.j import { createGpuCodeObjectsEvidence, createGpuCodeObjectsPartialEvidence, -} from "../application/gpu/GpuCodeObjectsEvidence.js"; +} from "../domain/gpu/gpuCodeObjectsEvidence.js"; import type { ExecutionOptions } from "../application/AnalysisProvider.js"; import type { GpuCodeObjects, diff --git a/src/model/ModelArtifactProvider.ts b/src/model/ModelArtifactProvider.ts index cc0d0a4936..deb54cc89e 100644 --- a/src/model/ModelArtifactProvider.ts +++ b/src/model/ModelArtifactProvider.ts @@ -3,7 +3,7 @@ import type { ModelArtifactPort } from "../application/model/ModelArtifactPort.j import { createModelArtifactEvidence, createModelArtifactPartialEvidence, -} from "../application/model/ModelArtifactEvidence.js"; +} from "../domain/model/modelArtifactEvidence.js"; import type { ExecutionOptions } from "../application/AnalysisProvider.js"; import type { ModelArtifact,