processOnce

fun processOnce(text: String, sourceId: String, context: SourceAnalysisContext, historyStore: ChunkHistoryStore? = null, contentHasher: ContentHasher = Sha256ContentHasher, additionalGrounding: List<String> = emptyList()): ChunkPropositionResult?

Process a text once, with hash-based deduplication. Ideal for one-shot ingestion of documents, notes, or other static text.

Return

Result with propositions and entities, or null if already processed

Note: This method does NOT persist anything — it returns UNSAVED results. The caller must persist the returned entities and propositions via PersistablePropositions.persist within its own transaction scope; nothing is written to any repository otherwise.

Parameters

text

The text to process

sourceId

Identifier for the source (used for chunk metadata and bookmark tracking)

context

Analysis context with schema, entity resolver, etc.

historyStore

Tracks what's been processed; null to skip dedup

contentHasher

Strategy for computing content hashes