# mimirs-forget

This crate implements the Muninn engine, an anti-forgetting system based on Rank-1 Fisher Elastic Weight Consolidation (EWC).

## Boundaries
- **Does**: Consolidate episodic clusters into semantic abstractions.
- **Does**: Protect critical memory regions during updates.
- **Does NOT**: Manage the temporal activation of memories (delegated to Hugin).

## Public API

### Primary Struct
- `Muninn`: The memory consolidation raven.

### Key Methods
- `abstrahera(cluster: &[Memory])`: Synthesizes a new semantic memory from a group of episodic ones.
- `protect(id: MemoryId)`: Marks a memory as "protected" against consolidation-driven decay.

## Usage Example

```rust
use mimirs_forget::Muninn;
use mimirs_core::Memory;

let muninn = Muninn::new(Default::default());
let cluster = vec![Memory::default(), Memory::default()];

let abstraction = muninn.abstrahera(&cluster).unwrap();
println!("New abstraction: {}", abstraction.content);
```
