anchor.diff:          _Other ->
               [{Reference, Archive}|_] = ets:lookup(State#state.unpack_state, Reference),
               error_logger:error_msg("preprocess on ~p failed: ~p~n", [Archive, Reason]),
  -            Preparing = lists:delete(Archive, State#state.queued),
  +            Preparing = lists:delete(?CPU:get_archive_version(Archive), State#state.queued),
               Subj = io_lib:format("#Unpack error: ~p", [Archive]),
               Body = io_lib:format("Failed to unpack archive ~p: ~p~n", [Archive, Reason]),
               notify(Subj, Body)
  
positive.code:     end.
  
  %% Utils
  
  get_work_id(File) ->
      case file:consult(File) of
  
negative.code:         {ok, Dependencies, _} when is_list(Dependencies) ->
              case State#state.queue_missing of
                  true ->
                      error_logger:info_msg("asking for rebuild for ~p~n", [?VERSION(Candidate)]),
                      ask_for_rebuild(Dependencies, State),
                      dependent;
                  _Other ->
                      Subj = io_lib:format("#~B error: ~s/~s/~s", [
  