generaliseFromEpisodes method

int generaliseFromEpisodes(
  1. List<Memory> memories
)

Generalises from episodic memories into semantic facts.

This is the core consolidation step: repeated episodic patterns → generalised semantic knowledge.

Implementation

int generaliseFromEpisodes(List<Memory> memories) {
  var newFacts = 0;

  for (final memory in memories) {
    final extracted = _extractTriples(memory.content);
    for (final triple in extracted) {
      final fact = storeFact(
        subject: triple.subject,
        predicate: triple.predicate,
        object: triple.object,
        confidence: memory.strength * 0.5,
        episodeId: memory.id,
      );
      if (fact.occurrences == 1) newFacts++;
    }
  }

  if (newFacts > 0) {
    _logger.info(
        'Generalised $newFacts new semantic fact(s) from episodes');
  }
  return newFacts;
}