rankMemories method

List<MemoryCandidate> rankMemories(
  1. List<MemoryCandidate> candidates
)

Sort candidates by usefulness (highest first).

Implementation

List<MemoryCandidate> rankMemories(List<MemoryCandidate> candidates) {
  final sorted = List<MemoryCandidate>.from(candidates);
  sorted.sort((a, b) {
    // Primary: confidence descending.
    final confCmp = b.confidence.compareTo(a.confidence);
    if (confCmp != 0) return confCmp;
    // Secondary: explicit > conversation > codeChange > toolOutput.
    return _sourceRank(b.source).compareTo(_sourceRank(a.source));
  });
  return sorted;
}