package com.superbiz.agent.harness.progress; import com.superbiz.agent.harness.contract.SafeFallback; import java.util.List; public record DiagnosisProgressSnapshot( List verifiedSources, List observedFacts, List limitations, DiagnosisStopReason stopReason) { public DiagnosisProgressSnapshot { verifiedSources = verifiedSources == null ? List.of() : List.copyOf(verifiedSources); observedFacts = observedFacts == null ? List.of() : List.copyOf(observedFacts); limitations = limitations == null ? List.of() : List.copyOf(limitations); } public static DiagnosisProgressSnapshot empty() { return new DiagnosisProgressSnapshot(List.of(), List.of(), List.of(), null); } public boolean hasObservedFacts() { return !observedFacts.isEmpty(); } }