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.