Creating test database for alias 'default'... EEFEEE..Task calculate-rewards execution failed: name 'target_date' is not defined Traceback (most recent call last): File "/home/cursorai/projects/django-cronjob-utils/src/django_cronjob_utils/base.py", line 149, in _execute result = self.execute(self.execution_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 45, in execute rewards_calculated = self._calculate_pending_rewards(reward_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 94, in _calculate_pending_rewards if target_date >= investment.end_date.date(): ^^^^^^^^^^^ NameError: name 'target_date' is not defined ETask calculate-rewards execution failed: name 'target_date' is not defined Traceback (most recent call last): File "/home/cursorai/projects/django-cronjob-utils/src/django_cronjob_utils/base.py", line 149, in _execute result = self.execute(self.execution_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 45, in execute rewards_calculated = self._calculate_pending_rewards(reward_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 94, in _calculate_pending_rewards if target_date >= investment.end_date.date(): ^^^^^^^^^^^ NameError: name 'target_date' is not defined ETask calculate-rewards execution failed: name 'target_date' is not defined Traceback (most recent call last): File "/home/cursorai/projects/django-cronjob-utils/src/django_cronjob_utils/base.py", line 149, in _execute result = self.execute(self.execution_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 45, in execute rewards_calculated = self._calculate_pending_rewards(reward_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 94, in _calculate_pending_rewards if target_date >= investment.end_date.date(): ^^^^^^^^^^^ NameError: name 'target_date' is not defined ETask calculate-rewards execution failed: name 'target_date' is not defined Traceback (most recent call last): File "/home/cursorai/projects/django-cronjob-utils/src/django_cronjob_utils/base.py", line 149, in _execute result = self.execute(self.execution_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 45, in execute rewards_calculated = self._calculate_pending_rewards(reward_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 94, in _calculate_pending_rewards if target_date >= investment.end_date.date(): ^^^^^^^^^^^ NameError: name 'target_date' is not defined EDependency R001 not completed for 2025-12-19. Skipping D001. ./home/cursorai/projects/telegram-earn/backend/venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1612: RuntimeWarning: DateTimeField Investment.start_date received a naive datetime (2025-12-18 00:00:00) while time zone support is active. warnings.warn( /home/cursorai/projects/telegram-earn/backend/venv/lib/python3.12/site-packages/django/db/models/fields/__init__.py:1612: RuntimeWarning: DateTimeField Investment.end_date received a naive datetime (2025-12-19 00:00:00) while time zone support is active. warnings.warn( Task calculate-rewards execution failed: name 'target_date' is not defined Traceback (most recent call last): File "/home/cursorai/projects/django-cronjob-utils/src/django_cronjob_utils/base.py", line 149, in _execute result = self.execute(self.execution_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 45, in execute rewards_calculated = self._calculate_pending_rewards(reward_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 94, in _calculate_pending_rewards if target_date >= investment.end_date.date(): ^^^^^^^^^^^ NameError: name 'target_date' is not defined E..............E....EEEE.E...........................................................................................................Not Found: /api/users/dev/generate-referral-url/ ...Bad Request: /api/users/dev/generate-referral-url/ .Bad Request: /api/users/dev/generate-referral-url/ .........................Failed to send Telegram message: network error .Telegram sendMessage returned non-200 status: 500 .Cannot send Telegram message: bot token missing ....... ====================================================================== ERROR: test_creates_reward_commissions_and_transactions (apps.investments.tests.test_calculate_rewards.CalculateRewardsCommandTests.test_creates_reward_commissions_and_transactions) Command credits reward to investor and commissions up the chain. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_calculate_rewards.py", line 66, in test_creates_reward_commissions_and_transactions reward = Reward.objects.get(investment=self.investment, reward_date=target_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/venv/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/venv/lib/python3.12/site-packages/django/db/models/query.py", line 635, in get raise self.model.DoesNotExist( apps.investments.models.Reward.DoesNotExist: Reward matching query does not exist. ====================================================================== ERROR: test_creates_reward_without_commissions_when_no_upline (apps.investments.tests.test_calculate_rewards.CalculateRewardsCommandTests.test_creates_reward_without_commissions_when_no_upline) Rewards still post when the investor has no referrer; no commissions. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_calculate_rewards.py", line 199, in test_creates_reward_without_commissions_when_no_upline reward = Reward.objects.get(investment=solo_investment, reward_date=target_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/venv/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/venv/lib/python3.12/site-packages/django/db/models/query.py", line 635, in get raise self.model.DoesNotExist( apps.investments.models.Reward.DoesNotExist: Reward matching query does not exist. ====================================================================== ERROR: test_marks_investment_completed_on_end_date (apps.investments.tests.test_calculate_rewards.CalculateRewardsCommandTests.test_marks_investment_completed_on_end_date) Status flips to completed when target_date reaches end_date. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_calculate_rewards.py", line 156, in test_marks_investment_completed_on_end_date reward = Reward.objects.get(investment=self.investment, reward_date=target_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/venv/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/venv/lib/python3.12/site-packages/django/db/models/query.py", line 635, in get raise self.model.DoesNotExist( apps.investments.models.Reward.DoesNotExist: Reward matching query does not exist. ====================================================================== ERROR: test_partial_referral_chain_only_credits_available_uplines (apps.investments.tests.test_calculate_rewards.CalculateRewardsCommandTests.test_partial_referral_chain_only_credits_available_uplines) Only existing uplines receive commissions when the chain is shorter than 3. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_calculate_rewards.py", line 234, in test_partial_referral_chain_only_credits_available_uplines reward = Reward.objects.get(investment=short_chain_investment, reward_date=target_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/venv/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/venv/lib/python3.12/site-packages/django/db/models/query.py", line 635, in get raise self.model.DoesNotExist( apps.investments.models.Reward.DoesNotExist: Reward matching query does not exist. ====================================================================== ERROR: test_quantizes_reward_and_commissions_round_half_up (apps.investments.tests.test_calculate_rewards.CalculateRewardsCommandTests.test_quantizes_reward_and_commissions_round_half_up) Reward and commission amounts are rounded to 8 decimal places. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_calculate_rewards.py", line 269, in test_quantizes_reward_and_commissions_round_half_up reward = Reward.objects.get(investment=precise_investment, reward_date=target_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/venv/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/venv/lib/python3.12/site-packages/django/db/models/query.py", line 635, in get raise self.model.DoesNotExist( apps.investments.models.Reward.DoesNotExist: Reward matching query does not exist. ====================================================================== ERROR: test_calculate_task_creates_pending_rewards (apps.investments.tests.test_cron_tasks.CronTasksTest.test_calculate_task_creates_pending_rewards) R001 should create rewards but NOT distribute them. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_cron_tasks.py", line 59, in test_calculate_task_creates_pending_rewards result = task.run() # Use .run() to simulate real cron execution (logs to DB) ^^^^^^^^^^ File "/home/cursorai/projects/django-cronjob-utils/src/django_cronjob_utils/base.py", line 256, in run raise result.exception File "/home/cursorai/projects/django-cronjob-utils/src/django_cronjob_utils/base.py", line 149, in _execute result = self.execute(self.execution_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 45, in execute rewards_calculated = self._calculate_pending_rewards(reward_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 94, in _calculate_pending_rewards if target_date >= investment.end_date.date(): ^^^^^^^^^^^ NameError: name 'target_date' is not defined ====================================================================== ERROR: test_calculate_task_idempotency (apps.investments.tests.test_cron_tasks.CronTasksTest.test_calculate_task_idempotency) R001 should not duplicate rewards if run multiple times. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_cron_tasks.py", line 141, in test_calculate_task_idempotency task.run() File "/home/cursorai/projects/django-cronjob-utils/src/django_cronjob_utils/base.py", line 256, in run raise result.exception File "/home/cursorai/projects/django-cronjob-utils/src/django_cronjob_utils/base.py", line 149, in _execute result = self.execute(self.execution_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 45, in execute rewards_calculated = self._calculate_pending_rewards(reward_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 94, in _calculate_pending_rewards if target_date >= investment.end_date.date(): ^^^^^^^^^^^ NameError: name 'target_date' is not defined ====================================================================== ERROR: test_distribute_task_distributes_rewards_after_calculation (apps.investments.tests.test_cron_tasks.CronTasksTest.test_distribute_task_distributes_rewards_after_calculation) D001 should distribute rewards if R001 success record exists. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_cron_tasks.py", line 101, in test_distribute_task_distributes_rewards_after_calculation calc_task.run() File "/home/cursorai/projects/django-cronjob-utils/src/django_cronjob_utils/base.py", line 256, in run raise result.exception File "/home/cursorai/projects/django-cronjob-utils/src/django_cronjob_utils/base.py", line 149, in _execute result = self.execute(self.execution_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 45, in execute rewards_calculated = self._calculate_pending_rewards(reward_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 94, in _calculate_pending_rewards if target_date >= investment.end_date.date(): ^^^^^^^^^^^ NameError: name 'target_date' is not defined ====================================================================== ERROR: test_distribute_task_idempotency (apps.investments.tests.test_cron_tasks.CronTasksTest.test_distribute_task_idempotency) D001 should not re-distribute already distributed rewards. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_cron_tasks.py", line 155, in test_distribute_task_idempotency CalculateRewardsTask(self.target_date).run() File "/home/cursorai/projects/django-cronjob-utils/src/django_cronjob_utils/base.py", line 256, in run raise result.exception File "/home/cursorai/projects/django-cronjob-utils/src/django_cronjob_utils/base.py", line 149, in _execute result = self.execute(self.execution_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 45, in execute rewards_calculated = self._calculate_pending_rewards(reward_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 94, in _calculate_pending_rewards if target_date >= investment.end_date.date(): ^^^^^^^^^^^ NameError: name 'target_date' is not defined ====================================================================== ERROR: test_investment_completion_logic (apps.investments.tests.test_cron_tasks.CronTasksTest.test_investment_completion_logic) Investment should be marked pending -> active -> completed. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_cron_tasks.py", line 192, in test_investment_completion_logic task.run() File "/home/cursorai/projects/django-cronjob-utils/src/django_cronjob_utils/base.py", line 256, in run raise result.exception File "/home/cursorai/projects/django-cronjob-utils/src/django_cronjob_utils/base.py", line 149, in _execute result = self.execute(self.execution_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 45, in execute rewards_calculated = self._calculate_pending_rewards(reward_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 94, in _calculate_pending_rewards if target_date >= investment.end_date.date(): ^^^^^^^^^^^ NameError: name 'target_date' is not defined ====================================================================== ERROR: test_different_tiers_same_start_date_logic (apps.investments.tests.test_start_date_logic.InvestmentStartDateTests.test_different_tiers_same_start_date_logic) Standard: All tiers use same start_date logic regardless of amount. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_start_date_logic.py", line 94, in test_different_tiers_same_start_date_logic inv = Investment.objects.get(id=response.data["id"]) ~~~~~~~~~~~~~^^^^^^ KeyError: 'id' ====================================================================== ERROR: test_investment_expiring_on_last_day (apps.investments.tests.test_start_date_logic.RewardCalculationEdgeCaseTests.test_investment_expiring_on_last_day) Edge: Investment expiring on target_date still gets reward. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_start_date_logic.py", line 378, in test_investment_expiring_on_last_day count = task._calculate_pending_rewards(target_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 94, in _calculate_pending_rewards if target_date >= investment.end_date.date(): ^^^^^^^^^^^ NameError: name 'target_date' is not defined ====================================================================== ERROR: test_start_date_equals_target_date_boundary (apps.investments.tests.test_start_date_logic.RewardCalculationEdgeCaseTests.test_start_date_equals_target_date_boundary) Edge: Boundary condition where start_date.date() == target_date. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_start_date_logic.py", line 430, in test_start_date_equals_target_date_boundary count = task._calculate_pending_rewards(target_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 94, in _calculate_pending_rewards if target_date >= investment.end_date.date(): ^^^^^^^^^^^ NameError: name 'target_date' is not defined ====================================================================== ERROR: test_first_reward_on_start_date (apps.investments.tests.test_start_date_logic.RewardCalculationTimingTests.test_first_reward_on_start_date) Standard: First reward calculated when target_date = start_date. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_start_date_logic.py", line 250, in test_first_reward_on_start_date count = task._calculate_pending_rewards(target_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 94, in _calculate_pending_rewards if target_date >= investment.end_date.date(): ^^^^^^^^^^^ NameError: name 'target_date' is not defined ====================================================================== ERROR: test_multiple_investments_correct_timing (apps.investments.tests.test_start_date_logic.RewardCalculationTimingTests.test_multiple_investments_correct_timing) Standard: Multiple investments created on different days calculate correctly. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_start_date_logic.py", line 333, in test_multiple_investments_correct_timing task._calculate_pending_rewards(day1) File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 94, in _calculate_pending_rewards if target_date >= investment.end_date.date(): ^^^^^^^^^^^ NameError: name 'target_date' is not defined ====================================================================== ERROR: test_reward_calculation_workflow (apps.investments.tests.test_start_date_logic.RewardCalculationTimingTests.test_reward_calculation_workflow) Standard: Complete workflow from creation through multiple days. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_start_date_logic.py", line 285, in test_reward_calculation_workflow count = task._calculate_pending_rewards(day2_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cursorai/projects/telegram-earn/backend/apps/investments/cron_tasks.py", line 94, in _calculate_pending_rewards if target_date >= investment.end_date.date(): ^^^^^^^^^^^ NameError: name 'target_date' is not defined ====================================================================== FAIL: test_idempotent_for_existing_reward (apps.investments.tests.test_calculate_rewards.CalculateRewardsCommandTests.test_idempotent_for_existing_reward) Running the command twice should not duplicate rewards or commissions. ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/cursorai/projects/telegram-earn/backend/apps/investments/tests/test_calculate_rewards.py", line 121, in test_idempotent_for_existing_reward self.assertEqual( AssertionError: 0 != 1 ---------------------------------------------------------------------- Ran 184 tests in 2.790s FAILED (failures=1, errors=16) Destroying test database for alias 'default'... Found 184 test(s). System check identified no issues (0 silenced). Running CalculateRewardsTask for 2025-12-19... Exception: name 'target_date' is not defined Running CalculateRewardsTask for 2025-12-25... Exception: name 'target_date' is not defined Running CalculateRewardsTask for 2025-12-19... Exception: name 'target_date' is not defined Running CalculateRewardsTask for 2025-12-19... Exception: name 'target_date' is not defined Running CalculateRewardsTask for 2025-12-30... Exception: name 'target_date' is not defined Running CalculateRewardsTask for 2025-12-27... Exception: name 'target_date' is not defined Running CalculateRewardsTask for 2025-12-29... Exception: name 'target_date' is not defined Running CalculateRewardsTask for 2025-12-18... Success: Calculated 0 new rewards for 2025-12-17 (executed on 2025-12-18). Note: This command only calculates rewards (Phase 1). To distribute rewards (Phase 2), run the distribute-rewards task. Running CalculateRewardsTask for 2025-12-19... Success: Calculated 0 new rewards for 2025-12-18 (executed on 2025-12-19). Note: This command only calculates rewards (Phase 1). To distribute rewards (Phase 2), run the distribute-rewards task. EXIT_CODE: 1