Skip to content

v1.8.0: Unified Decay System

Choose a tag to compare

@arman-tech arman-tech released this 02 Feb 21:01
· 136 commits to master since this release

What's New in v1.8.0

🎯 Unified Decay System

Auto-decay and manual decay now use the same algorithm, ensuring consistent behavior regardless of code path.

New configuration option:

# Choose decay function: exponential (default), linear, or step
SPATIAL_MEMORY_AUTO_DECAY_FUNCTION=exponential

Decay functions:

Function Behavior
exponential Smooth decay following 2^(-t/half_life), best for most use cases
linear Constant rate decay reaching 0 at 2x half_life
step Discrete drops at half_life intervals (1.0 → 0.5 → 0.25)

Adaptive half-life: The effective half-life now considers:

  • Access count: 1.5× multiplier per access (frequently used memories decay slower)
  • Importance factor: (1 + importance) multiplier

🔧 Code Quality Improvements

  • Type Safety: Resolved all mypy errors in main source code (49 files)
  • Linting: Resolved all ruff errors in test files (45 issues)
  • Clean Codebase: Ready for open source contributions

📚 Documentation

  • Updated docs/CONFIGURATION.md with decay function options
  • Updated .env.example with configuration examples

✅ Test Results

  • 1,393 tests passing
  • mypy: Success (no issues)
  • ruff: All checks passed

Full Changelog: v1.7.0...v1.8.0