<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="0" skipped="0" tests="23" time="0.527" timestamp="2026-08-15T00:36:35.037711+09:00" hostname="cube-B850M-AORUS-ELITE-WIFI6E-ICE"><testcase classname="tests.gateway.test_nutrition_coaching" name="test_telegram_customer_transport_rejects_wrong_customer_or_noncanonical_destination[user_id-other-user]" time="0.012" /><testcase classname="tests.gateway.test_nutrition_coaching" name="test_telegram_customer_transport_rejects_wrong_customer_or_noncanonical_destination[chat_id-other-chat]" time="0.005" /><testcase classname="tests.gateway.test_nutrition_coaching" name="test_telegram_customer_transport_rejects_wrong_customer_or_noncanonical_destination[topic_id-other-topic]" time="0.004" /><testcase classname="tests.gateway.test_telegram_physique_checkin.TestPhysiqueTelegramAdapterIngress" name="test_n3_callback_acknowledges_before_rejecting_stale_revision_or_render" time="0.004" /><testcase classname="tests.gateway.test_telegram_physique_checkin.TestPhysiqueTelegramAdapterIngress" name="test_n3_callback_rejects_stale_render_identity_before_business_mutation" time="0.004" /><testcase classname="tests.gateway.test_telegram_physique_checkin.TestPhysiqueCheckinBridge" name="test_replay_and_expiry_are_rejected_without_mutating_service" time="0.004" /><testcase classname="tests.gateway.test_nutrition_coaching" name="test_generation_worker_auth_failure_is_retryable_without_receipt_deletion" time="0.007" /><testcase classname="tests.gateway.test_nutrition_coaching" name="test_generation_worker_invalid_output_creates_no_draft" time="0.005" /><testcase classname="tests.gateway.test_nutrition_coaching" name="test_generation_worker_restart_reclaims_only_an_expired_lease" time="0.006" /><testcase classname="tests.gateway.test_nutrition_coaching" name="test_generation_worker_stale_provider_return_cannot_persist_over_reclaimed_claim" time="0.008" /><testcase classname="tests.gateway.test_telegram_room_bootstrap_adversarial" name="test_restart_preserves_every_nonterminal_phase[PREPARED]" time="0.005" /><testcase classname="tests.gateway.test_telegram_room_bootstrap_adversarial" name="test_restart_preserves_every_nonterminal_phase[REGISTERING]" time="0.008" /><testcase classname="tests.gateway.test_telegram_room_bootstrap_adversarial" name="test_restart_preserves_every_nonterminal_phase[AWAITING_CONSENT]" time="0.006" /><testcase classname="tests.gateway.test_telegram_room_bootstrap_adversarial" name="test_restart_preserves_every_nonterminal_phase[AWAITING_ACTIVATION]" time="0.006" /><testcase classname="tests.gateway.test_telegram_nutrition_onboarding" name="test_review_callbacks_use_canonical_service_and_exact_role_route[op_rev-owner_review-review_as_owner-revise-owner-collecting-revision]" time="0.004" /><testcase classname="tests.gateway.test_telegram_nutrition_onboarding" name="test_review_callbacks_use_canonical_service_and_exact_role_route[op_rej-owner_review-review_as_owner-rejected-owner-rejected-rejection]" time="0.004" /><testcase classname="tests.gateway.test_telegram_nutrition_onboarding" name="test_review_callback_rejects_wrong_user_before_service_mutation" time="0.004" /><testcase classname="tests.gateway.test_telegram_nutrition_onboarding_callback_observability" name="test_stale_owner_review_callback_is_rejected_before_mutation" time="0.004" /><testcase classname="tests.gateway.test_telegram_nutrition_onboarding_callback_observability" name="test_restart_authenticates_original_owner_update_and_records_terminal_receipt" time="0.006" /><testcase classname="tests.gateway.test_telegram_nutrition_onboarding_callback_observability" name="test_restart_recovers_committed_owner_approval_without_second_review" time="0.004" /><testcase classname="tests.gateway.test_task7_generation_hardening" name="test_delivery_restart_after_transport_before_receipt_does_not_resend" time="0.014" /><testcase classname="tests.gateway.test_nutrition_coaching" name="test_delivery_outbox_provider_timeout_callback_never_resends" time="0.009" /><testcase classname="tests.gateway.test_nutrition_coaching" name="test_approval_receipt_is_immutable_duplicate_idempotent_and_zero_delivery" time="0.006" /></testsuite></testsuites>