Skip to content

v0.11.2

Latest

Choose a tag to compare

@github-actions github-actions released this 14 Oct 18:01
· 34 commits to main since this release
Immutable release. Only release title and notes can be modified.
c666701

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 the runtime component, resume adopts it
    without an ExecutionProfilePolicy and records a system-attributed
    session.execution_profile.decided event (cayu:runtime-upgrade-adoption:v1).
    Before, every in-progress conversation was rejected with
    ExecutionProfileMismatchError until 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 an adopted
    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 lost NONE or IDEMPOTENT
    tool call with the unknown-outcome result without replaying it, and the next
    turn adopts the new runtime. EXTERNAL calls keep their explicit
    reconciliation, which needs the build that started them.
  • CayuApp.recover_abandoned_sessions(inactive_for_seconds=3600) recovers
    sessions left running by 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 use CayuApp directly can call it at startup or on a
    schedule; cayu serve keeps its startup_recovery_statuses sweep.