(candidate: &CandidateScore)
| 605 | } |
| 606 | |
| 607 | fn why_matched(candidate: &CandidateScore) -> &'static str { |
| 608 | match (candidate.base > 0.0, candidate.neighbor) { |
| 609 | (true, true) => "task terms and knowledge-graph relationship", |
| 610 | (true, false) => "task terms", |
| 611 | (false, true) => "knowledge-graph relationship", |
| 612 | (false, false) => "recent-memory fallback", |
| 613 | } |
| 614 | } |
| 615 | |
| 616 | // Node id <-> vault path mapping |
| 617 | // |