EmbedderMismatch

class EmbedderMismatch(val scope: String, val prompt: String, val expected: String, val found: String, val entryId: String) : CacheEvent

A candidate was refused because it was written by a different Embedder.identity.

Emitted alongside the Miss it causes, and worth a separate type because a Miss cannot carry the two identities and those are the whole diagnosis. A dashboard that only counts misses sees a hit rate fall to zero with no cause attached; this names the model that wrote the store and the model asking it now, which is usually enough to recognise the deployment that did it.

Expect one per lookup that meets a stale entry, not one per swap: the condition lasts until the old entries are re-embedded or expire. A stream that does not stop is the signal that neither is happening. See docs/MIGRATION.md.

Constructors

Link copied to clipboard
constructor(scope: String, prompt: String, expected: String, found: String, entryId: String)

Properties

Link copied to clipboard

Id of the refused entry, for SemanticCache.invalidate.

Link copied to clipboard

The identity of the Embedder this cache is running, from Embedder.identity.

Link copied to clipboard

The identity recorded on the refused entry, from CacheEntry.embedder.

Link copied to clipboard

The query prompt that was looked up.

Link copied to clipboard
open override val scope: String

The scope the event happened in.

Functions

Link copied to clipboard
open override fun toString(): String