fix(review): queue an anchored file with its saver's pair as the choice (#390)

Maintainer ruling: a file never falls through both the link and the
queue. When only the saver anchor resolves a file the default profile and
the parser floor leave unlinked, the scan queues it with the anchor's pair
as its one candidate (evidence anchor: saver), never linking it. Files
already linked or resolved by the default path are unchanged. Apply
accepts the anchored pair when the bytes now resolve to it, and an
anchored item is a choice the untraced settle keeps.
This commit is contained in:
Vito Sansevero
2026-10-27 19:18:24 -07:00
parent 3660ff3ecf
commit 4eb74b8948
6 changed files with 203 additions and 189 deletions
+3 -1
View File
@@ -235,7 +235,9 @@ def evidence_offers_choice(evidence: Any) -> bool:
candidates = evidence.get("candidates")
if not isinstance(candidates, list):
return False
return sum(1 for c in candidates if choosable(c)) >= MIN_CHOOSABLE
# The saver anchor's one pair (#390) is a suggestion to confirm.
needed = 1 if evidence.get("anchor") == "saver" else MIN_CHOOSABLE
return sum(1 for c in candidates if choosable(c)) >= needed
def evidence_digest(text: str) -> str: