Suggestion

Open carrier for an LLM- or extractor-emitted hint that something should be persisted. Concrete subtypes decide what — entities (com.embabel.dice.common.SuggestedEntity), propositions (SuggestedProposition), or app-domain facts shipped by downstream modules (e.g. SuggestedBiller).

Implements Derivation so every suggestion carries the same epistemic shape as the things it eventually turns into (Proposition, com.embabel.dice.projection.Projection).

Open by design. DICE owns the two base subtypes and ships the default handlers; downstream modules add new subtypes and register their own SuggestionHandlers. The drainer dispatches by concrete class — unknown subtypes warn-and-drop so a pack shipping a suggestion type the host doesn't know about can't crash the pipeline.

Inheritors

Properties

Link copied to clipboard
abstract val confidence: <Error class: unknown class>

Confidence in this derivation (0.0 to 1.0).

Link copied to clipboard
abstract val decay: <Error class: unknown class>

Decay rate for this derivation (0.0 to 1.0).

Link copied to clipboard
abstract val grounding: List<String>

Source IDs that ground this derivation.

Link copied to clipboard
open val importance: <Error class: unknown class>

Importance of this derivation (0.0 to 1.0).

Link copied to clipboard
abstract val source: String

Stable identifier of the source that produced this suggestion — e.g. "email", "calendar", "osx", "stripe-receipts", "propose_facts". Powers dedup-by-source, provenance display, and source-scoped retraction.