Derivation

interface Derivation

Represents something derived from sources with associated uncertainty.

A Derivation captures the epistemic properties of derived knowledge:

  • Confidence: How certain we are (0.0 = uncertain, 1.0 = certain)

  • Importance: How much this fact matters (0.0 = trivial, 1.0 = critical)

  • Decay: How quickly it becomes stale (0.0 = eternal, 1.0 = ephemeral)

  • Grounding: What sources support this derivation

Both Propositions (raw extracted knowledge) and Projection items (derived representations) implement this interface, enabling uniform handling of uncertain, traceable knowledge.

Usage

fun processDerivation(d: Derivation) {
if (d.confidence 0.8 && d.decay < 0.3) {
// High confidence, low decay - reliable long-term knowledge
storeInLongTermMemory(d)
}
if (d.importance 0.8) {
// High importance - prioritise regardless of confidence
flagForAttention(d)
}
// Trace back to sources
d.grounding.forEach { sourceId ->
log("Derived from: $sourceId")
}
}

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