Repository navigation
·
34 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Cayu improves recovery across upgrades, bounds stalled task continuations, and
strengthens dashboard artifact validation.
- Back off repeated interrupted-task continuations that make no progress and
fail stalled tasks at the configured limit. Pending approvals, user input,
delegated actions, and manual tool recovery remain protected. - Share evaluation authoring text limits between the server and dashboard, and
reject missing or undeclared generated dashboard files during packaging. - Reuse canonical collaboration contract bytes during preparation and improve
in-memory session storage organization without changing public interfaces. - Keep in-memory session creation state out of exception diagnostics.
- Existing sessions continue after a Cayu upgrade. When the only change to a
session's execution profile is theruntimecomponent,resumeadopts it
without anExecutionProfilePolicyand records a system-attributed
session.execution_profile.decidedevent (cayu:runtime-upgrade-adoption:v1).
Before, every in-progress conversation was rejected with
ExecutionProfileMismatchErroruntil the application adopted the new
profile. Applications with a configured policy keep deciding these changes; a
policy that rejects them keeps sessions pinned. Other profile changes still
need adoption. Execution-profile admission prediction gains anadopted
outcome. - A conversation whose process died mid-turn continues when a different Cayu
build handles its next message. The takeover settles a lost model call from
its durable record (terminalization), including after a completed tool round
with a matching durable publication receipt. It closes a lostNONEorIDEMPOTENT
tool call with the unknown-outcome result without replaying it, and the next
turn adopts the new runtime.EXTERNALcalls keep their explicit
reconciliation, which needs the build that started them. CayuApp.recover_abandoned_sessions(inactive_for_seconds=3600)recovers
sessions leftrunningby a dead process that no continuation has resumed,
such as conversations an application finished from its own records after a
crash. It uses paginated recovery for running and interrupting sessions,
skips live owners, and returns per-session results. Ordinary model calls
lost after dispatch are settled as unknown, including their reserved budgets,
without calling the provider again.
Applications that useCayuAppdirectly can call it at startup or on a
schedule;cayu servekeeps itsstartup_recovery_statusessweep.