Decay Status Policy
Default StatusTransitionPolicy: transitions ACTIVE → STALE when a proposition's decayed utility drops below stalenessThreshold, and STALE → ACTIVE when utility recovers above recoveryThreshold.
The two thresholds form a hysteresis band: a proposition whose utility sits between stalenessThreshold and recoveryThreshold does not transition, which prevents oscillation around a single cut-off. Pinned propositions are sweep-exempt and always return null.
So are quarantined ones. PropositionStatus.QUARANTINED means schema governance is holding a proposition until a person looks at it, and utility says nothing about whether the schema change that stranded it has been dealt with. A confident, recently-reinforced proposition can be quarantined, so a decay sweep that judged it on utility alone would hand it straight back to ACTIVE, the next drift sweep would quarantine it again, and the two sweeps would take turns forever. Release is the one way out.
Utility composite:
utility = effectiveConfidence(kMultiplier)
* (1 + importanceWeight * importance)
* (1 + reinforceWeight * ln1p(reinforceCount))With the default weights of 0.0, utility reduces to plain decayed effective confidence.
This composite is a sweep-time approximation: it lets a consumer opt into reinforcement/importance weighting at sweep time.
Recovery (STALE → ACTIVE) only fires when something re-anchors the proposition. Utility is driven by Proposition.effectiveConfidence, which decays monotonically against the contentRevised anchor, so the recovery branch below cannot fire from the passage of time alone — it becomes reachable when a reviser refreshes contentRevised (and/or raises confidence) on reinforcement. The branch is included so the policy contract is complete: revival works as soon as such a re-anchoring path runs.
Constructors
Properties
Weight applied to importance in the utility composite (0.0 = ignore).
Decay-rate multiplier passed to Proposition.effectiveConfidence.
STALE propositions with utility strictly above this become ACTIVE.
Weight applied to ln1p(reinforceCount) in the utility composite (0.0 = ignore).
ACTIVE propositions with utility strictly below this become STALE.