ArtifactOutcome

sealed interface ArtifactOutcome

The outcome of ingesting a single artifact within a batch.

Per-artifact outcomes are explicit so callers can distinguish "already seen" from "extracted nothing" and isolate failures to the offending artifact.

Inheritors

Types

Link copied to clipboard
data class Deduplicated(val sourceId: String, val contentHash: String) : ArtifactOutcome

The artifact's content was already seen and was skipped before extraction. Carries no propositions — distinct from an Ingested result with an empty list.

Link copied to clipboard
data class Failed(val sourceId: String, val cause: Throwable) : ArtifactOutcome

Ingesting the artifact failed; the rest of the batch is unaffected.

Link copied to clipboard
data class Ingested(val sourceId: String, val propositions: List<Proposition>) : ArtifactOutcome

The artifact was newly ingested, yielding propositions.

Properties

Link copied to clipboard
abstract val sourceId: String

The source id of the artifact this outcome describes.