rankMemories method
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;
}