anchor.diff:          not_found ->
               not_found
       end.
  +
  +is_terminal(new) -> false;
  +is_terminal(ready) -> false;
  +is_terminal(running) -> false;
  +is_terminal(_) -> true.
  
positive.code:             {voting, ready}  -> OldNodeState#pushy_job_node{status = unavailable};
              {running, ready} -> OldNodeState#pushy_job_node{status = crashed};
              {_, running}     -> OldNodeState#pushy_job_node{status = crashed};
              _                -> OldNodeState
          end
      end, JobNodes),
      State#state{job_nodes = JobNodes2}.
  
negative.code:             {voting, ready}  -> OldNodeState#pushy_job_node{status = was_ready};
              {running, ready} -> OldNodeState#pushy_job_node{status = aborted};
              {_, running}     -> OldNodeState#pushy_job_node{status = aborted};
              _                -> case is_terminal(OldNodeStatus) of true -> OldNodeState end
          end
      end, JobNodes),
      State#state{job_nodes = JobNodes2}.
  