A Seedance client may need to display observations from an asynchronous video job while the user continues working. A local UI can receive those observations in an inconvenient order. If every arriving value blindly overwrites the previous one, an old “running” observation can erase a completed result on screen.
The example below defines a local reconciliation policy for one job. It is not a Seedance status specification, polling implementation, or guarantee about provider event ordering. An adapter must first map documented provider responses into the small vocabulary used here.
Separate an observation from a command
A reducer consumes an observation and returns new local state. It should not submit a job, retry generation, cancel a task, or download output. Those actions have different consequences and need separate controls.
This policy allows queued , running , succeeded , and failed . After a terminal observation, a nonterminal observation cannot move the displayed state backward.…