feat(harness): add run context and retry core

This commit is contained in:
zhuyongxin
2026-07-21 18:36:19 +08:00
parent 4274f3350b
commit 6b74990f86
47 changed files with 1910 additions and 1 deletions
@@ -0,0 +1,37 @@
package com.superbiz.agent.harness.retry;
import java.util.Objects;
import java.util.Set;
public record HarnessRetryPolicies(
RetryPolicy intentRouter,
RetryPolicy diagnosisAgent,
RetryPolicy toolCall,
RetryPolicy semanticGuard,
RetryPolicy evidenceRepair) {
public HarnessRetryPolicies {
Objects.requireNonNull(intentRouter, "intentRouter must not be null");
Objects.requireNonNull(diagnosisAgent, "diagnosisAgent must not be null");
Objects.requireNonNull(toolCall, "toolCall must not be null");
Objects.requireNonNull(semanticGuard, "semanticGuard must not be null");
Objects.requireNonNull(evidenceRepair, "evidenceRepair must not be null");
}
public static HarnessRetryPolicies strict() {
RetryPolicy oneAttempt = new RetryPolicy(1, Set.of());
return new HarnessRetryPolicies(
new RetryPolicy(2, Set.of(
RetryFailure.TIMEOUT,
RetryFailure.TRANSPORT,
RetryFailure.INVALID_OUTPUT)),
oneAttempt,
oneAttempt,
new RetryPolicy(2, Set.of(
RetryFailure.TIMEOUT,
RetryFailure.TRANSPORT,
RetryFailure.PARSE_ERROR,
RetryFailure.SCHEMA_INVALID)),
oneAttempt);
}
}