Highlights
- StepResult pattern across Agent, Chat, ToolUse, and Collaboration with immutable steps and explicit continuation outcomes.
- Continuation evaluation is unified around
ContinuationEvaluationandContinuationOutcome, with clearer stop reasons. - Retry policy handling is explicit for Inference and Embeddings (no more
retryPolicyinside options). - Hub status persistence now tolerates malformed UTF-8 output instead of failing to write status data.
Breaking Changes
- Continuation interfaces
CanDecideToContinue,CanExplainContinuation, andCanProvideStopReasonwere removed. Custom criteria must implementCanEvaluateContinuationand returnContinuationEvaluation. - Error handling classes moved from
Cognesy\Addons\StepByStep\ContinuationtoCognesy\Addons\StepByStep\ErrorHandling. retryPolicyis no longer accepted inoptionsorLLMConfigoptions. Use explicit retry policy objects.- Continuation outcomes are no longer stored on step objects. Use
StepResultor state accessors instead.
Agent, Chat, ToolUse, Collaboration
- States now store
StepResultcollections and serialize them. canContinue()reads from the last step result; mismatches between steps and step results now raise a logic error.- Message compilation supports
summaryandbuffersections for inference context. - Token usage is accumulated before continuation evaluation so usage limits are accurate.
StepByStep / Continuation
ContinuationCriteriacomposesCanEvaluateContinuationcriteria and exposesevaluateAll()with aggregated outcomes.- Criteria classes return richer
ContinuationEvaluationobjects with explicit decisions and stop reasons. - New outcome helpers provide derived decision, resolver, and stop reason from evaluations.
Polyglot / Inference and Embeddings
InferenceRequestandEmbeddingsRequestnow carry retry policies explicitly.InferenceRequestBuilderand request builder traits exposewithRetryPolicy().PendingInferenceandPendingEmbeddingspull retry policies from requests rather thanoptions.
Hub
- Status JSON encoding now substitutes invalid UTF-8 bytes to avoid failures when saving example output.
Migration from v1.20.0
- Update custom continuation criteria to implement
CanEvaluateContinuationand returnContinuationEvaluation(replaceCanDecideToContinue,CanExplainContinuation,CanProvideStopReason). - Update imports to the new error handling namespace:
Cognesy\Addons\StepByStep\ErrorHandling\*. - Remove
retryPolicyfrom LLM or request options. UsewithRetryPolicy()on inference/embeddings builders or requests. - Replace any step-level continuation outcome access with
state->continuationOutcome()orstate->lastStepResult().