anchor.diff:      term(),
       list()
   ) ->
  -    ?END_EXECUTION.
  +    ok.
   handle_exception(AtmWorkflowExecutionId, AtmWorkflowExecutionEnv, Type, Reason, Stacktrace) ->
  -    AtmWorkflowExecutionCtx = atm_workflow_execution_ctx:acquire(
  -        undefined,
  -        % user session may no longer be available (e.g. session expiration caused exception) -
  -        % use provider root session just to stop execution
  -        get_root_workflow_execution_auth(AtmWorkflowExecutionId, AtmWorkflowExecutionEnv),
  -        AtmWorkflowExecutionEnv
  +    AtmWorkflowExecutionCtx = get_root_workflow_execution_ctx(
  +        AtmWorkflowExecutionId, AtmWorkflowExecutionEnv
       ),
   
       Logger = atm_workflow_execution_ctx:get_logger(AtmWorkflowExecutionCtx),
  
positive.code:     atm_workflow_execution:id(),
      atm_workflow_execution_env:record()
  ) ->
      ok.
  handle_workflow_execution_stopped(AtmWorkflowExecutionId, AtmWorkflowExecutionEnv) ->
      AtmWorkflowExecutionCtx = atm_workflow_execution_ctx:acquire(AtmWorkflowExecutionEnv),
      end_workflow_execution(AtmWorkflowExecutionId, AtmWorkflowExecutionCtx),
      ok.
  
  
  -spec handle_exception(
  
negative.code: 
  
  %% @private
  get_root_workflow_execution_ctx(AtmWorkflowExecutionId, AtmWorkflowExecutionEnv) ->
      % user session may no longer be available (e.g. session expiration caused exception) -
      % use provider root session just to stop execution
      AtmWorkflowExecutionAuth = atm_workflow_execution_auth:build(
          atm_workflow_execution_env:get_space_id(AtmWorkflowExecutionEnv),
          AtmWorkflowExecutionId,
          ?ROOT_SESS_ID
      ),
  
      atm_workflow_execution_ctx:acquire(undefined, AtmWorkflowExecutionAuth, AtmWorkflowExecutionEnv).
  
  
  %% @private
  