Skip to content

Testing how well Qwen3.5-27B-8bit implements memory decay#2

Open
sandst1 wants to merge 15 commits intomainfrom
qwen3.5-27B-memory-decay
Open

Testing how well Qwen3.5-27B-8bit implements memory decay#2
sandst1 wants to merge 15 commits intomainfrom
qwen3.5-27B-memory-decay

Conversation

@sandst1
Copy link
Copy Markdown
Owner

@sandst1 sandst1 commented Feb 25, 2026

No description provided.

Topi Santakivi added 15 commits February 25, 2026 23:10
Added decay_enabled, decay_threshold, and decay_rate fields with:
- Default values: decay_enabled=True, decay_threshold=10, decay_rate=0.95
- Config file support for all three options
- Environment variable support: DECAY_ENABLED, DECAY_THRESHOLD, DECAY_RATE
- Add AccessEvent dataclass with concept_id, activation, and timestamp fields
- Add record_access(), get_access_events(), and clear_access_events() to MemoryStore protocol
- Implement access event storage in SQLiteMemoryStore with new access_events table
- All 183 existing tests pass
- Add decay.py with MemoryDecayer class
- Apply relative decay to all concept confidences
- Reinforce accessed concepts based on activation level
- Spread reinforcement to neighbors via relations with configurable depth
- Track access_count and last_accessed_at on reinforced concepts
- Return DecayResult with statistics about the operation
- Import MemoryDecayer and DecayResult
- Add decay_enabled and decay_rate parameters to __init__
- Implement decay() method that respects config and returns DecayResult
Test decay config defaults (enabled=True, threshold=10, rate=0.95),
config file overrides, environment variable overrides, and priority
(env > file > defaults).
Tests verify:
- Access events are recorded during retrieval with correct activation levels
- Access events are cleared after decay runs
- Recall counter increments on retrieval and resets after decay
- Concept last_accessed_at and access_count fields update after decay
- DecayResult serialization works correctly
- Test decay reduces confidence correctly by decay_rate
- Test reinforcement works for accessed concepts
- Test spreading reinforcement reaches neighbors via relations
- Test state cleanup (access events cleared, recall counter reset)
- Test decay with no access events only applies decay
- Test confidence bounds are preserved (0.0-1.0)
- Add _decay_threshold field to MemoryInterface
- Check recall count after each recall and trigger decay when threshold reached
- Reset recall counter after decay runs
- Add comprehensive tests for batch trigger mechanism
- Verify decay doesn't run below threshold
- Verify decay triggers at threshold
- Verify counter resets after decay
- Verify decay is skipped when disabled
- Add force parameter to MemoryInterface.decay() to allow manual decay when disabled
- Add tests for access event accumulation when decay is disabled
- Add tests for manual decay with force=True overriding disabled state
- Add tests for state consistency when enabling decay after disabled mode
@sandst1 sandst1 force-pushed the qwen3.5-27B-memory-decay branch from ceaa713 to ddce240 Compare February 26, 2026 08:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant