package org.raddatz.familienarchiv.person;

import java.util.List;

/**
 * Result of {@link PersonService#resolveByName(String)}: candidate persons split by name-match
 * strength. {@code direct} = every query token is a whole-token match across the person's name
 * components (alias/maiden-name aware); {@code partial} = matched the substring fetch but is not
 * direct. The vocabulary is deliberately name-match strength ({@code direct}/{@code partial}), not
 * the search layer's resolved/ambiguous buckets — the caller maps these into its own outcome.
 */
public record NameMatches(List<Person> direct, List<Person> partial) {
}
