-
-
Notifications
You must be signed in to change notification settings - Fork 7
Closed
Labels
core ⚙️Issues that concern the core ravestate lib/APIIssues that concern the core ravestate lib/API
Description
Ravestate context should recognize whenever it encounters indecision/uncertainty/inactivity (:thinking: / :sleepy:). This is useful for the following use-cases:
- Indecision when waiting for a missing signal to activate a high-specificity state ↪️ Fillers
- Indecision when no activation pressure is present at all ↪️ Active engagement (Fillers, Personal QA, Games) -> Roboy is not waiting for user input.
Both situations may be modeled as functions of two new core variables:
:pressure: A flag which indicates, whether or not activation pressure is present at all; i.e. whether a partially fulfilled high-specificity state is blocking a fulfilled low-specificity one.:activity: A counter for the number of states that are currently partially fulfilled.
For example:
- Fillers may be adequate, when
:pressurehas been true for some minimum time (Filler to bridge "awkward" waiting) - Active engagement may be adequate, when
:activityhas dropped to zero.
Note, that :pressure is true -> :activity > 0, but not :activity > 0 -> :pressure is true: Multiple partially fulfilled states may be present, without a fulfilled one generating activation pressure.
Therefore, two idle signals will be realized in an idle module:
idle:impatient↪️ Fillersidle:bored↪️ Active engagement (Fillers, Personal QA, Games)
Metadata
Metadata
Assignees
Labels
core ⚙️Issues that concern the core ravestate lib/APIIssues that concern the core ravestate lib/API