From f13138c3fc498b015a954f3c21e8ce6b8a609586 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sun, 25 Oct 2026 20:17:47 +0100 Subject: [PATCH] Mind::members: drop the projection override the walk never read cargo-mutants showed deleting it survives: ids come from rows whatever the projection, so the override decided nothing. Co-Authored-By: Claude Sonnet 5.5 --- crates/huginn-mind/src/query.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/huginn-mind/src/query.rs b/crates/huginn-mind/src/query.rs index dea58be..6c8d816 100644 --- a/crates/huginn-mind/src/query.rs +++ b/crates/huginn-mind/src/query.rs @@ -521,7 +521,7 @@ impl Mind { /// at the head, decided before the index is asked anything. /// /// The selection passes the doors `semantic_selection` names, then is - /// walked by cursor at one snapshot, header projection, until it has no + /// walked by cursor at one snapshot, a page of LIMIT_MAX at a time, until it has no /// next page, so `hops` and `in_force` decide membership exactly as /// `query` does. The index never decides who is a member; it scores the /// ids this returns. @@ -529,7 +529,7 @@ impl Mind { let selection = Self::semantic_selection(selection, semantic)?; let head = receipt::head(self)?; let rows = Reader::at(self, head)?.rows()?; - let mut walk = Selection { limit: Some(LIMIT_MAX), projection: Selection::default().projection, ..selection }; + let mut walk = Selection { limit: Some(LIMIT_MAX), ..selection }; let mut ids = Vec::new(); loop { let evaluation = select(&Vocabulary, &rows, &walk, head, self.cursor_key())?;