package de.gecheckt.pdf.umbenenner.application.port.out;

/**
 * Sealed result type for a fingerprint computation attempt via {@link FingerprintPort}.
 * <p>
 * Exhaustive variants:
 * <ul>
 *   <li>{@link FingerprintSuccess} — fingerprint computed successfully.</li>
 *   <li>{@link FingerprintTechnicalError} — fingerprint computation failed due to a
 *       technical infrastructure problem (e.g. I/O error, file no longer accessible).</li>
 * </ul>
 * <p>
 * <strong>Historisation impact:</strong> If the result is {@link FingerprintTechnicalError},
 * the document cannot be identified and <em>no</em> SQLite attempt record is created.
 * The failure is treated as a non-identifiable run event.
 *
 */
public sealed interface FingerprintResult permits FingerprintSuccess, FingerprintTechnicalError {
}
