orca/docs/sidekick-animation-state-ma...

1.2 KiB

Sidekick animation state mapping

Orca's normalized agent status model has four hook-reported states: working, blocked, waiting, and done. interrupted is an optional flag on done, not a separate failure state.

Codex pet spritesheets can expose more visual rows than Orca has agent states. Sidekick should treat those row names as an asset contract, not as proof that Codex or Orca reports matching runtime states.

The current mapping is:

Orca condition Sidekick animation
Sidekick is being dragged jumping
Any fresh agent is blocked or waiting waiting
Any fresh agent is working running
Any fresh agent is done review
Any retained completed agent exists review
No fresh or retained agent state exists idle

SidekickAnimationName deliberately omits failed. Orca distinguishes interrupted completions from normal completions, but interruption can mean user cancellation rather than agent failure, so mapping it to failed would overstate the status until Orca has a real failure/error signal. Codex spritesheets may still expose a failed row — that row stays as part of the asset contract but is never selected at runtime.