[
  "tests/test_app_session.py::test_session_expired_reads_as_none",
  "tests/test_app_session.py::test_session_roundtrip",
  "tests/test_app_session.py::test_session_tamper_reads_as_none",
  "tests/test_app_session.py::test_view_as_cookie_expiry_and_garbage",
  "tests/test_app_session.py::test_view_as_cookie_never_a_session",
  "tests/test_app_session.py::test_view_as_cookie_roundtrip_and_binding",
  "tests/test_auth_allowlist.py::test_api_events_requires_session",
  "tests/test_auth_allowlist.py::test_api_me_requires_session",
  "tests/test_auth_allowlist.py::test_api_me_serves_with_session",
  "tests/test_auth_allowlist.py::test_api_version_serves_without_session",
  "tests/test_auth_allowlist.py::test_health_serves_without_session",
  "tests/test_auth_allowlist.py::test_identity_headers_never_grant",
  "tests/test_auth_allowlist.py::test_no_idauth_reserved_routes_defined",
  "tests/test_auth_allowlist.py::test_root_redirects_when_unauthenticated",
  "tests/test_auth_allowlist.py::test_spoofed_header_does_not_override_session",
  "tests/test_auth_allowlist.py::test_static_prefixes_are_public",
  "tests/test_auth_allowlist.py::test_unknown_api_route_is_401_not_404",
  "tests/test_auth_allowlist.py::test_unknown_page_route_redirects_into_flow",
  "tests/test_auth_allowlist.py::test_view_as_routes_require_session",
  "tests/test_auth_allowlist.py::test_x_view_as_header_ignored_outside_dev_stub",
  "tests/test_auth_dev_stub.py::test_dev_stub_x_view_as_switches_perspective",
  "tests/test_auth_dev_stub.py::test_no_stub_means_no_identity",
  "tests/test_auth_dev_stub.py::test_production_without_stub_starts",
  "tests/test_auth_dev_stub.py::test_stub_refuses_production",
  "tests/test_auth_dev_stub.py::test_stub_resolves_identity_in_dev",
  "tests/test_auth_flow.py::test_callback_without_flow_cookies_rejected",
  "tests/test_auth_flow.py::test_callback_without_pkce_cookie_rejected",
  "tests/test_auth_flow.py::test_error_param_is_terminal_not_a_loop",
  "tests/test_auth_flow.py::test_expired_app_session_redirects_into_silent_reauth",
  "tests/test_auth_flow.py::test_expired_token_rejected",
  "tests/test_auth_flow.py::test_first_login_provisions_player_row",
  "tests/test_auth_flow.py::test_forged_token_rejected_no_session",
  "tests/test_auth_flow.py::test_login_callback_establishes_session",
  "tests/test_auth_flow.py::test_logout_clears_session_and_links_idauth_logout",
  "tests/test_auth_flow.py::test_next_destination_survives_the_round_trip",
  "tests/test_auth_flow.py::test_next_never_redirects_off_origin",
  "tests/test_auth_flow.py::test_second_login_reuses_row_column_scoped",
  "tests/test_auth_flow.py::test_state_mismatch_rejected",
  "tests/test_auth_flow.py::test_wrong_audience_token_rejected",
  "tests/test_auth_tokens.py::test_expired_token_rejected",
  "tests/test_auth_tokens.py::test_malformed_token_rejected",
  "tests/test_auth_tokens.py::test_swapped_payload_rejected",
  "tests/test_auth_tokens.py::test_tampered_signature_rejected",
  "tests/test_auth_tokens.py::test_valid_token_verifies",
  "tests/test_auth_tokens.py::test_wrong_audience_rejected",
  "tests/test_auth_tokens.py::test_wrong_secret_rejected",
  "tests/test_autopass.py::test_autopass_api_upsert_and_owner_scope",
  "tests/test_autopass.py::test_autopass_api_validation",
  "tests/test_autopass.py::test_fleshout_scenario_pass_to_boundary_fires_rule",
  "tests/test_autopass.py::test_from_player_trigger_matches_only_that_player",
  "tests/test_autopass.py::test_from_subteam_does_not_fire_on_front_line_pass",
  "tests/test_autopass.py::test_inactive_rule_never_fires",
  "tests/test_autopass.py::test_one_hop_guarantee",
  "tests/test_autopass.py::test_serve_landing_on_receiver_fires_rule",
  "tests/test_autopass.py::test_spike_to_author_fires_authors_rule",
  "tests/test_board.py::test_board_returns_courts_and_ordered_balls",
  "tests/test_board.py::test_board_unknown_match_404",
  "tests/test_board.py::test_meta_requires_session",
  "tests/test_board.py::test_meta_serves_the_one_authority",
  "tests/test_board.py::test_patch_explicit_field_wins_over_automation",
  "tests/test_board.py::test_patch_issue_status_auto_spikes",
  "tests/test_board.py::test_patch_issue_status_no_movement_no_review",
  "tests/test_board.py::test_patch_no_rule_values_leave_counterpart_alone",
  "tests/test_board.py::test_patch_other_fields_and_validation",
  "tests/test_board.py::test_patch_review_state_drives_status",
  "tests/test_board.py::test_patch_status_drives_review_state",
  "tests/test_board.py::test_patch_unknown_ball_404",
  "tests/test_board.py::test_post_court_must_belong_to_match",
  "tests/test_board.py::test_post_creates_ball_with_court_defaults",
  "tests/test_board.py::test_post_issue_defaults_category",
  "tests/test_conversation.py::test_attachment_by_path_rejects_traversal",
  "tests/test_conversation.py::test_author_gate_blocks_non_author_edit_and_delete",
  "tests/test_conversation.py::test_comment_with_attachment_round_trip",
  "tests/test_conversation.py::test_create_comment_parses_mentions",
  "tests/test_conversation.py::test_create_comment_publishes_sse",
  "tests/test_conversation.py::test_create_comment_rejects_attachment_path_traversal",
  "tests/test_conversation.py::test_create_comment_rejects_unstaged_attachment",
  "tests/test_conversation.py::test_create_comment_stamps_author_and_node",
  "tests/test_conversation.py::test_delete_comment_removes_attachment_file_and_row",
  "tests/test_conversation.py::test_list_comments_orders_by_created_at_not_insertion",
  "tests/test_conversation.py::test_patch_backdates_created_at_without_marking_edited",
  "tests/test_conversation.py::test_patch_body_stamps_edited_at",
  "tests/test_conversation.py::test_unknown_ball_and_comment_404",
  "tests/test_conversation.py::test_upload_rejects_disallowed_mime",
  "tests/test_conversation.py::test_upload_rejects_oversized_file",
  "tests/test_conversation.py::test_validate_stored_filename_rejects_traversal_shapes",
  "tests/test_notifications.py::test_action_to_patch_notifies_only_newly_added_excludes_actor",
  "tests/test_notifications.py::test_get_notifications_caps_but_counts_are_true_totals",
  "tests/test_notifications.py::test_get_notifications_empty_for_session_without_player_row",
  "tests/test_notifications.py::test_get_notifications_requires_session",
  "tests/test_notifications.py::test_mention_by_bare_username_notifies_player",
  "tests/test_notifications.py::test_mention_by_email_notifies_player_and_matches_endpoint_shape",
  "tests/test_notifications.py::test_mention_dedups_against_thread_reply_for_same_recipient",
  "tests/test_notifications.py::test_mention_publishes_sse",
  "tests/test_notifications.py::test_mention_to_unknown_email_or_username_creates_no_mention",
  "tests/test_notifications.py::test_pass_notifies_only_new_assignee_and_self_pass_excluded",
  "tests/test_notifications.py::test_read_all_marks_everything_read",
  "tests/test_notifications.py::test_read_endpoint_marks_read_and_blocks_other_recipients",
  "tests/test_notifications.py::test_resolve_propagates_and_reopen_flips_back",
  "tests/test_notifications.py::test_self_mention_allowed",
  "tests/test_notifications.py::test_serve_with_assignee_notifies_first_assignee",
  "tests/test_notifications.py::test_spike_notifies_author_unless_author_is_the_actor",
  "tests/test_notifications.py::test_spike_triggered_by_the_author_themself_gets_no_self_notification",
  "tests/test_notifications.py::test_thread_reply_reaches_author_and_prior_commenters",
  "tests/test_notifications.py::test_unknown_notification_id_404",
  "tests/test_perspective.py::test_board_action_to_reps_and_roster_scopes",
  "tests/test_perspective.py::test_board_can_spike",
  "tests/test_perspective.py::test_board_holder_label_when_fully_collapsed",
  "tests/test_perspective.py::test_board_strip_bands_and_sides",
  "tests/test_perspective.py::test_comment_scoping",
  "tests/test_perspective.py::test_courts_of[adi]",
  "tests/test_perspective.py::test_courts_of[erin]",
  "tests/test_perspective.py::test_courts_of[rian]",
  "tests/test_perspective.py::test_courts_of[rob]",
  "tests/test_perspective.py::test_courts_of[tracy]",
  "tests/test_perspective.py::test_courts_of[zeina]",
  "tests/test_perspective.py::test_lens_rep_matches_topology_rep",
  "tests/test_perspective.py::test_mentionable_offers_only_visible_players",
  "tests/test_perspective.py::test_node_visibility_rule",
  "tests/test_perspective.py::test_notification_actor_reps_for_recipient",
  "tests/test_perspective.py::test_outside_observer_gets_front_lines_only",
  "tests/test_perspective.py::test_project_event_drops_invisible_inner_pass",
  "tests/test_perspective.py::test_project_event_keeps_visible_changes",
  "tests/test_perspective.py::test_project_event_notifications_are_recipient_only",
  "tests/test_perspective.py::test_project_event_reps_notification_actor_for_recipient",
  "tests/test_perspective.py::test_rally_collapses_tingang_stretch_for_rian",
  "tests/test_perspective.py::test_rally_for_zeina_collapses_everything_beyond_her_net",
  "tests/test_perspective.py::test_rally_full_detail_for_adi",
  "tests/test_perspective.py::test_rep[adi-rian-adi]",
  "tests/test_perspective.py::test_rep[erin-zeina-expected11]",
  "tests/test_perspective.py::test_rep[rahman-rian-adi]",
  "tests/test_perspective.py::test_rep[rahman-tracy-adi]",
  "tests/test_perspective.py::test_rep[rian-erin-rian]",
  "tests/test_perspective.py::test_rep[rian-rob-expected15]",
  "tests/test_perspective.py::test_rep[rian-zeina-expected12]",
  "tests/test_perspective.py::test_rep[rob-erin-rob]",
  "tests/test_perspective.py::test_rep[rob-rian-erin]",
  "tests/test_perspective.py::test_rep[rob-tracy-erin]",
  "tests/test_perspective.py::test_rep[rob-zeina-expected14]",
  "tests/test_perspective.py::test_rep[stevan-rian-adi]",
  "tests/test_perspective.py::test_rep[tracy-rob-expected16]",
  "tests/test_perspective.py::test_rep[tracy-zeina-expected13]",
  "tests/test_perspective.py::test_rep[zeina-adi-zeina]",
  "tests/test_perspective.py::test_rep[zeina-erin-adi]",
  "tests/test_perspective.py::test_rep[zeina-rian-adi]",
  "tests/test_perspective.py::test_rep[zeina-rob-expected17]",
  "tests/test_perspective.py::test_visible_players[adi]",
  "tests/test_perspective.py::test_visible_players[erin]",
  "tests/test_perspective.py::test_visible_players[rian]",
  "tests/test_perspective.py::test_visible_players[rob]",
  "tests/test_perspective.py::test_visible_players[tracy]",
  "tests/test_perspective.py::test_visible_players[zeina]",
  "tests/test_perspective.py::test_write_side_pass_and_serve_target_validation",
  "tests/test_perspective.py::test_write_side_spike_blocked_when_author_invisible",
  "tests/test_presence.py::test_connect_announces_once_per_player",
  "tests/test_presence.py::test_disconnect_grace_only_announces_when_really_gone",
  "tests/test_presence.py::test_none_viewer_is_ignored",
  "tests/test_touches.py::test_create_records_serve_touch",
  "tests/test_touches.py::test_informational_category_becomes_fyi_announcement",
  "tests/test_touches.py::test_one_touch_resolve_is_an_ace",
  "tests/test_touches.py::test_pass_endpoint_moves_ball_and_records_touch",
  "tests/test_touches.py::test_rally_endpoint_lists_touches_in_order",
  "tests/test_touches.py::test_ready_for_review_auto_spikes_to_author_with_rally_memory",
  "tests/test_touches.py::test_reopen_restores_hands",
  "tests/test_touches.py::test_resolve_clears_hands_and_stamps",
  "tests/test_touches.py::test_revision_required_restores_rally_memory",
  "tests/test_view_as.py::test_admin_starts_and_stops_view_as",
  "tests/test_view_as.py::test_deleted_target_fail_closes_and_drops_cookie",
  "tests/test_view_as.py::test_forged_or_foreign_cookie_impersonates_nobody",
  "tests/test_view_as.py::test_lead_cannot_view_peer_or_superior",
  "tests/test_view_as.py::test_lead_may_view_plain_player",
  "tests/test_view_as.py::test_logout_clears_view_as_cookie",
  "tests/test_view_as.py::test_me_offers_targets_only_to_admins_and_leads",
  "tests/test_view_as.py::test_nesting_refused",
  "tests/test_view_as.py::test_plain_player_forbidden",
  "tests/test_view_as.py::test_revoked_privilege_fail_closes",
  "tests/test_view_as.py::test_self_target_400",
  "tests/test_view_as.py::test_stop_get_redirects_for_banner_link",
  "tests/test_view_as.py::test_unknown_target_404",
  "tests/test_view_as.py::test_view_as_default_is_read_only_for_writes"
]