Package-level declarations

Types

Link copied to clipboard
abstract class DecayManager(repository: PropositionRepository) : DecaySweeper

Storage-agnostic DecaySweeper over a PropositionRepository, plus an optional hook to materialise decayed confidence where a backend can cache it.

Link copied to clipboard
data class DecaySweepConfig constructor(val policy: StatusTransitionPolicy = DecayStatusPolicy(), val targetStatuses: Set<PropositionStatus> = setOf(PropositionStatus.ACTIVE), val pruneStale: Boolean = false)

Configuration for a DecaySweeper run.

Link copied to clipboard
interface DecaySweeper

Evaluates propositions for lifecycle transitions and applies them according to a StatusTransitionPolicy.

Link copied to clipboard
sealed class DecaySweepResult

Result of a DecaySweeper run.

Link copied to clipboard
interface Derivation

Represents something derived from sources with associated uncertainty.

Link copied to clipboard
data class EntityMention(val span: String, val type: String, val resolvedId: String? = null, val role: MentionRole = MentionRole.OTHER, val hints: Map<String, Any> = emptyMap())

A reference to an entity within a proposition.

Link copied to clipboard
class EventEmittingProjector<T : Projection>(delegate: Projector<T>, listener: DiceEventListener = DiceEventListener.DEV_NULL) : Projector<T>

Decorator that emits a ProjectionBatchCompleted event after every projectAll call.

Link copied to clipboard
open class EventEmittingPropositionRepository<D : PropositionRepository>(delegate: D, listener: DiceEventListener = DiceEventListener.DEV_NULL) : PropositionRepository

Decorator that emits lifecycle events at the persistence boundary.

Link copied to clipboard

Opt-in capability for querying the entity-relationship axis of the knowledge graph: neighbourhoods, paths between entities, and the provenance lineage behind a single proposition.

Link copied to clipboard

Opt-in capability for navigating the proposition abstraction hierarchy — finding source propositions and the abstractions derived from them.

Link copied to clipboard
data class MentionKey(val span: String, val type: String)

Utility class to track the mapping from mentions to their SuggestedEntity representations. Used internally to coordinate between extraction and resolution.

Link copied to clipboard

The role an entity mention plays in a proposition.

Link copied to clipboard

Marker interface for types derived from propositions (graph relationships, Prolog facts, etc.). Carries confidence, decay, and grounding inherited from Derivation, plus a link back to the source propositions.

Link copied to clipboard
data class ProjectionFailed<T : Projection>(val proposition: Proposition, val reason: String, val structuredReason: ProjectionFailureReason? = null) : ProjectionResult<T>

Proposition couldn't be projected due to an error or incompatibility.

Link copied to clipboard
sealed interface ProjectionFailureReason

Why a proposition could not be projected (or was skipped). Use describe for a human-readable summary, or branch on the concrete subtype to react programmatically without parsing text.

Link copied to clipboard
sealed interface ProjectionResult<out T : Projection>

The outcome of attempting to project a single proposition.

Link copied to clipboard
data class ProjectionResults<T : Projection>(val results: List<ProjectionResult<T>>)

Aggregated results from projecting multiple propositions.

Link copied to clipboard
data class ProjectionSkipped<T : Projection>(val proposition: Proposition, val reason: String, val structuredReason: ProjectionFailureReason? = null) : ProjectionResult<T>

Proposition was skipped because it didn't meet projection criteria.

Link copied to clipboard
data class ProjectionSuccess<T : Projection>(val proposition: Proposition, val projected: T) : ProjectionResult<T>

Proposition was successfully projected.

Link copied to clipboard
interface Projector<T : Projection>

Transforms propositions into a typed target representation (graph, Prolog, memory context, etc.).

Link copied to clipboard
data class Proposition(val id: String = UUID.randomUUID().toString(), val contextId: <Error class: unknown class>, val text: String, val mentions: List<EntityMention>, val confidence: <Error class: unknown class>, val decay: <Error class: unknown class> = 0.0, val importance: <Error class: unknown class> = 0.5, val reasoning: String? = null, val grounding: List<String> = emptyList(), val created: Instant = Instant.now(), val contentRevised: Instant = Instant.now(), val metadataRevised: Instant = Instant.now(), val pinned: Boolean = false, val lastAccessed: Instant = contentRevised, val status: PropositionStatus = PropositionStatus.ACTIVE, val level: Int = 0, val sourceIds: List<String> = emptyList(), val reinforceCount: Int = 0, val metadata: Map<String, Any> = emptyMap(), val uri: String? = null, val temporal: TemporalMetadata? = null, val provenanceEntries: List<ProvenanceEntry> = emptyList()) : Derivation, ReferencesEntities

A proposition is a natural language statement with typed entity mentions. Propositions are the system of record - all other representations (Neo4j relationships, Prolog facts, vector embeddings) derive from them.

Link copied to clipboard

Extracts propositions from text chunks. This is the entry point for the proposition-based ingestion pipeline.

Link copied to clipboard

What a batch of propositions actually landed on: which stored proposition each one you handed in became.

Link copied to clipboard
data class PropositionQuery(val contextId: <Error class: unknown class>? = null, val entityId: String? = null, val anyEntityIds: List<String>? = null, val allEntityIds: List<String>? = null, val statuses: Set<PropositionStatus>? = null, val minLevel: Int? = null, val maxLevel: Int? = null, val createdAfter: Instant? = null, val createdBefore: Instant? = null, val revisedAfter: Instant? = null, val revisedBefore: Instant? = null, val accessedAfter: Instant? = null, val accessedBefore: Instant? = null, val minConfidence: Double? = null, val minEffectiveConfidence: Double? = null, val effectiveConfidenceAsOf: Instant? = null, val decayK: Double = 2.0, val minImportance: Double? = null, val minReinforceCount: Int? = null, val minTrustScore: Double? = null, val pinned: Boolean? = null, val orderBy: PropositionQuery.OrderBy = OrderBy.NONE, val limit: Int? = null, val belowEffectiveConfidence: Double? = null)

Composable query specification for propositions.

Link copied to clipboard

The full proposition repository: combines the base persistence port with every opt-in capability (vector similarity, abstraction-hierarchy traversal, temporal queries) and bridges to the RAG search contract via CoreSearchOperations.

Link copied to clipboard

The lifecycle status of a proposition.

Link copied to clipboard

Base persistence port for propositions: CRUD, identity lookups, and the composable query.

Link copied to clipboard

Portable boundary that lets domain code program against a PropositionStore and reach for the optional vector and graph capabilities without first knowing whether the backing store honours them.

Link copied to clipboard

Which backend provides a PropositionRepository, for selecting/flipping implementations.

Link copied to clipboard

The three source-revision finders answered by reading the context and filtering loaded provenance in memory.

The event-emitting decorator, over a delegate that can subtract provenance atomically.

Link copied to clipboard

Opt-in capability for taking named evidence off a proposition in one atomic step.

Link copied to clipboard

Common interface for anything that references entities via mentions. Propositions, projected relationships, and other constructs can implement this to provide consistent entity access.

Link copied to clipboard

Relationship types for DICE graph schema.

The event-emitting decorator, over a delegate that answers both source-revision queries and provenance subtraction.

Link copied to clipboard

Opt-in capability for asking which propositions were read from a source, and from which revision of that source.

Link copied to clipboard
data class SuggestedMention(val span: String, val type: String, val suggestedId: String? = null, val role: String = "OTHER")

A mention suggested by the LLM during proposition extraction. Lighter weight than EntityMention - contains only what the LLM provides.

Link copied to clipboard
data class SuggestedProposition(val text: String, val mentions: List<SuggestedMention> = emptyList(), val confidence: <Error class: unknown class>, val decay: <Error class: unknown class> = 0.0, val importance: <Error class: unknown class> = 0.5, val reasoning: String = "", val grounding: List<String> = emptyList(), val source: String = "propose_facts") : Suggestion

A proposition suggested by the LLM from chunk analysis. This is the output type from the propose_facts prompt.

Link copied to clipboard
data class SuggestedPropositions(val chunkId: String, val propositions: List<SuggestedProposition>)

Container for propositions suggested from a single chunk.

Link copied to clipboard

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).

Link copied to clipboard

Handler for one concrete Suggestion subtype. Multiple handlers may register for the same type — for example a SuggestedBiller could be processed by both an entity-promoter (writing the Org to the KG) and a biller-index writer.

Link copied to clipboard

Opt-in capability for time-window and effective-confidence queries over propositions.

Link copied to clipboard

Opt-in capability for proposition stores that support vector similarity search and clustering.