Long story short of what the repo does:
Instead of treating memory as immutable information storage, SelMem maintains mutable lived traces:
input → semantic segmentation → selective encoding → trace → recall/reconstruction → reconsolidation → forgetting/merging
Each input is stored in two forms:
sealed archive — immutable original input, used only for auditing/evaluation;
lived memory — compressed and mutable representation used by the agent.
Lived traces contain semantic content plus attributes such as salience, affect, self-relevance, fidelity, access history and permanence. Memories can decay, become latent, merge, or be reconstructed differently when recalled.
Recall uses retrieval to select memories, then a grounding/judging layer compares the reconstruction against the trace’s semantic core. It distinguishes cases such as preservation, compression, elaboration, reframing, contradiction and unrelated recall. Repeated grounding failures can trigger corrective reconsolidation