lex-inhibition
Cognitive impulse inhibition and self-control for LegionIO agents. Part of the LegionIO cognitive architecture extension ecosystem (LEX).
What It Does
lex-inhibition models the prefrontal cortex's role in suppressing inappropriate impulses. It tracks agent willpower as a depletable resource, evaluates incoming impulses against current willpower, applies inhibition strategies (distraction, reframing, delay, suppression, replacement), and auto-detects impulses from tick results. Includes temporal discounting (delay of gratification) and Stroop-like conflict detection.
Key capabilities:
- Willpower resource: depletable float (0..1), costs 0.05 per successful inhibition, recoverable
- Five strategies: distraction, reframing, delay, suppression, replacement
- Auto-detection: emotional (high arousal), competitive (low prediction confidence), reactive (high gut instinct) impulses auto-created from tick results
- Temporal discounting: exponential discount for delay-of-gratification calculations
- Stroop conflict detection: identifies competing cognitive responses
Installation
Add to your Gemfile:
gem 'lex-inhibition'Or install directly:
gem install lex-inhibition
Usage
require 'legion/extensions/inhibition'
client = Legion::Extensions::Inhibition::Client.new
# Auto-detect impulses from a tick cycle
client.update_inhibition(tick_results: tick_phase_results)
# Evaluate a specific impulse with a strategy
result = client.evaluate_impulse(id: impulse_id, strategy: :reframing)
# => { outcome: :suppressed, willpower_remaining: 0.75, cost: 0.05 }
# Delay of gratification
discounted = client.delay_gratification(value: 0.9, steps: 3)
# => { discounted_value: 0.657, discount_steps: 3 }
# Check for cognitive conflict
client.check_stroop(response_a: { content: 'proceed' }, response_b: { content: 'abort' })
# Willpower status
client.willpower_status
# Stats
client.inhibition_statsRunner Methods
| Method | Description |
|---|---|
update_inhibition |
Auto-detect impulses from tick results |
evaluate_impulse |
Evaluate a specific impulse with a chosen strategy |
delay_gratification |
Apply temporal discount to a value over N steps |
check_stroop |
Detect Stroop-like cognitive conflict between two responses |
willpower_status |
Current willpower level and fatigue state |
inhibition_history |
Recent impulse events with outcomes |
inhibition_stats |
Counts by type/status, avg strength, willpower level |
Development
bundle install
bundle exec rspec
bundle exec rubocopLicense
MIT