[
  "tests/test_admin_auth.py::test_admin_routes_require_login",
  "tests/test_admin_auth.py::test_correct_pin_opens_admin_and_logout_revokes_session",
  "tests/test_admin_auth.py::test_wrong_pin_is_rejected_and_pin_is_hashed",
  "tests/test_admin_coin_management.py::test_admin_bulk_void_and_bulk_delete_selected_transactions",
  "tests/test_admin_coin_management.py::test_admin_manual_plus_ten_booking_updates_available_balance_by_ten",
  "tests/test_admin_coin_management.py::test_admin_reset_coin_history_sets_child_to_zero_and_removes_redemptions",
  "tests/test_admin_coin_management.py::test_admin_single_void_does_not_crash_and_is_idempotent",
  "tests/test_admin_crud.py::test_admin_benefit_and_task_template_inline_updates_persist_after_reload",
  "tests/test_admin_crud.py::test_admin_coin_void_creates_idempotent_counter_booking",
  "tests/test_admin_crud.py::test_admin_crud_routes_require_login",
  "tests/test_admin_crud.py::test_children_task_templates_benefits_and_settings_persist_after_reload",
  "tests/test_admin_crud.py::test_manual_coin_deduction_requires_comment_and_updates_ledger",
  "tests/test_admin_crud.py::test_special_day_and_schedule_crud",
  "tests/test_admin_task_templates.py::test_admin_template_update_syncs_open_dashboard_instances",
  "tests/test_admin_task_templates.py::test_shared_task_template_is_completed_once_for_both_children",
  "tests/test_benefits.py::test_benefits_are_listed_with_affordability",
  "tests/test_benefits.py::test_cancel_redemption_releases_reserved_coins",
  "tests/test_benefits.py::test_fulfill_redemption_captures_reserved_coins_once",
  "tests/test_benefits.py::test_redeem_benefit_rejects_insufficient_coins",
  "tests/test_benefits.py::test_redeem_benefit_reserves_coins_idempotently",
  "tests/test_calendar.py::test_calendar_events_are_informative_and_crud_persistent",
  "tests/test_calendar.py::test_cancelled_exam_hides_calendar_and_cancels_study_tasks",
  "tests/test_calendar.py::test_exam_generates_three_study_items_and_calendar_entries",
  "tests/test_calendar.py::test_study_items_appear_on_home_todo",
  "tests/test_calendar.py::test_study_items_are_labelled_as_learning_not_exam",
  "tests/test_calendar.py::test_study_plan_can_include_weekends",
  "tests/test_calendar.py::test_study_plan_excludes_weekends",
  "tests/test_challenges.py::test_adults_do_not_receive_gassercoins",
  "tests/test_challenges.py::test_daily_points_cap_limits_credited_points_to_three",
  "tests/test_challenges.py::test_geo_attempt_creates_points_and_returns_solution_after_submit",
  "tests/test_challenges.py::test_geo_distance_haversine",
  "tests/test_challenges.py::test_geo_scoring_city_gold_silver_neutral_miss",
  "tests/test_challenges.py::test_geo_scoring_lake_uses_wider_radius",
  "tests/test_challenges.py::test_hourly_attempt_limit_allows_ten_and_blocks_eleventh",
  "tests/test_challenges.py::test_hourly_limit_is_rolling_sixty_minutes",
  "tests/test_challenges.py::test_weekly_conversion_caps_at_three_coins_and_is_idempotent",
  "tests/test_challenges.py::test_weekly_conversion_uses_credited_points_not_raw_points",
  "tests/test_children.py::test_children_seeded",
  "tests/test_daily_knowledge.py::test_daily_knowledge_assignment_stable",
  "tests/test_daily_knowledge.py::test_daily_knowledge_correct_answer_awards_coin",
  "tests/test_daily_knowledge.py::test_daily_knowledge_idempotent_no_double_coin",
  "tests/test_daily_knowledge.py::test_daily_knowledge_uses_child_level",
  "tests/test_daily_knowledge.py::test_daily_knowledge_wrong_answer_no_coin",
  "tests/test_daily_knowledge.py::test_daily_math_no_half_of_prompt",
  "tests/test_daily_math.py::test_admin_child_quiz_settings_update_and_public_sound_setting",
  "tests/test_daily_math.py::test_daily_math_correct_answer_awards_coin_once_and_wrong_awards_none",
  "tests/test_daily_math.py::test_daily_math_quiz_is_stable_and_persists_answer",
  "tests/test_daily_phrases.py::test_daily_phrase_assignments_are_language_specific_stable_and_slot_based",
  "tests/test_daily_phrases.py::test_daily_phrase_quiz_correct_answer_awards_one_coin_once",
  "tests/test_daily_phrases.py::test_wrong_daily_phrase_answer_does_not_award_coin",
  "tests/test_dashboard.py::test_dashboard_contains_children_tasks_timeline_and_coins",
  "tests/test_dashboard.py::test_dashboard_lazy_task_generation_is_idempotent",
  "tests/test_dashboard.py::test_dashboard_morning_uses_family_routine_until_ablaufen",
  "tests/test_dashboard.py::test_dashboard_sports_block_adds_turnzeug_segment",
  "tests/test_dashboard.py::test_dashboard_weekend_mode",
  "tests/test_dashboard_lunch_modes.py::test_after_afternoon_school_start_is_school_running",
  "tests/test_dashboard_lunch_modes.py::test_after_leave_before_school_is_late_now_leave",
  "tests/test_dashboard_lunch_modes.py::test_child_without_afternoon_school_is_afternoon_free_and_external_hint",
  "tests/test_dashboard_lunch_modes.py::test_different_children_can_have_different_lunch_phases",
  "tests/test_dashboard_lunch_modes.py::test_emilia_after_guitar_is_free_with_dinner_far_target",
  "tests/test_dashboard_lunch_modes.py::test_external_activity_does_not_count_as_school_and_commute_is_15_minutes",
  "tests/test_dashboard_lunch_modes.py::test_external_activity_renders_as_time_range_with_real_name",
  "tests/test_dashboard_lunch_modes.py::test_future_day_shows_full_day_from_wake_to_sleep_without_los_label",
  "tests/test_dashboard_lunch_modes.py::test_lunch_break_at_1310_is_urgent",
  "tests/test_dashboard_lunch_modes.py::test_lunch_break_with_afternoon_school_at_1210_has_countdown",
  "tests/test_dashboard_lunch_modes.py::test_morning_after_teeth_start_counts_down_to_departure",
  "tests/test_dashboard_lunch_modes.py::test_morning_countdown_uses_morning_departure_not_afternoon_target",
  "tests/test_dashboard_lunch_modes.py::test_morning_countdown_uses_teeth_before_departure_not_afternoon_target",
  "tests/test_dashboard_lunch_modes.py::test_school_running_today_timeline_keeps_lunch_teeth_and_no_end_marker",
  "tests/test_dashboard_lunch_modes.py::test_valerie_tuesday_lunch_has_no_pause_gap_and_school_icons",
  "tests/test_day_close.py::test_bonus_tasks_do_not_receive_day_close_penalty",
  "tests/test_day_close.py::test_late_required_completion_reverses_penalty_once",
  "tests/test_day_close.py::test_past_open_required_task_books_penalty_once",
  "tests/test_health.py::test_health_ok",
  "tests/test_schedule.py::test_admin_schedule_crud_and_delete_removes_from_public_view",
  "tests/test_schedule.py::test_admin_schedule_overlap_warning",
  "tests/test_schedule.py::test_schedule_current_returns_week_grid",
  "tests/test_schedule.py::test_schedule_summary_turnen_requires_sports_gear",
  "tests/test_schedule.py::test_schedule_summary_uses_school_blocks_and_external_activities",
  "tests/test_schedule.py::test_seed_from_reference_requires_explicit_confirmation",
  "tests/test_screen_time.py::test_admin_can_create_and_update_screen_time_earn_rule_with_coin_reward",
  "tests/test_screen_time.py::test_admin_screen_time_week_range_and_adjustment",
  "tests/test_screen_time.py::test_screen_time_defaults_start_stop_and_admin_lock",
  "tests/test_screen_time.py::test_screen_time_earn_rule_awards_once_and_report_counts_bonus",
  "tests/test_screen_time.py::test_screen_time_empty_budget_blocks_start",
  "tests/test_screen_time.py::test_screen_time_shop_exchange_spends_coins_and_adds_today_minutes",
  "tests/test_seed.py::test_core_seed_entities_exist",
  "tests/test_seed.py::test_initialized_database_with_missing_core_rows_fails_fast",
  "tests/test_seed.py::test_pin_hash_uses_random_salt",
  "tests/test_seed.py::test_seed_database_does_not_overwrite_existing_reference_schedule_block",
  "tests/test_seed.py::test_seed_database_is_idempotent",
  "tests/test_seed.py::test_seed_database_preserves_admin_task_and_schedule_block_after_reopen",
  "tests/test_task_template_deactivation.py::test_deactivate_template_hides_existing_today_instance",
  "tests/test_task_template_deactivation.py::test_delete_template_cancels_open_current_and_future_instances",
  "tests/test_task_template_deactivation.py::test_delete_template_removes_open_current_and_future_instances_from_admin_list",
  "tests/test_task_template_deactivation.py::test_done_instances_not_modified_when_template_deactivated",
  "tests/test_task_template_deactivation.py::test_finalize_day_ignores_inactive_template_tasks",
  "tests/test_task_template_deactivation.py::test_seed_does_not_reactivate_deactivated_toothbrushing",
  "tests/test_tasks.py::test_api_responses_are_no_store",
  "tests/test_tasks.py::test_bonus_complete_is_idempotent_and_ledger_updates",
  "tests/test_tasks.py::test_bonus_task_complete_persists_done_after_dashboard_reload",
  "tests/test_tasks.py::test_bonus_task_undo_persists_open_after_dashboard_reload",
  "tests/test_tasks.py::test_bonus_task_undo_survives_backend_restart_simulation",
  "tests/test_tasks.py::test_bonus_task_undo_survives_seed_database",
  "tests/test_tasks.py::test_bonus_undo_creates_counter_transaction",
  "tests/test_tasks.py::test_required_complete_does_not_book_plus_coins",
  "tests/test_tasks.py::test_shared_bonus_task_disappears_for_both_children_when_completed_once",
  "tests/test_tasks.py::test_shared_bonus_task_undo_reopens_for_both_children_and_reverses_once",
  "tests/test_tasks.py::test_taskcompletion_does_not_override_taskinstance_status",
  "tests/test_timeline_milestones.py::test_evening_ritual_has_book_and_bed_icon",
  "tests/test_timeline_milestones.py::test_full_day_has_no_standalone_arrival_marker",
  "tests/test_timeline_milestones.py::test_full_day_has_no_standalone_leave_marker",
  "tests/test_timeline_milestones.py::test_sleep_marker_anchored_to_evening_ritual"
]