[
  "tests/test_assignability.py::test_admin_cannot_invite_another_admin",
  "tests/test_assignability.py::test_admin_cannot_self_promote_to_admin",
  "tests/test_assignability.py::test_admin_may_change_a_members_level_within_its_grant",
  "tests/test_assignability.py::test_admin_may_invite_a_member",
  "tests/test_assignability.py::test_owner_may_assign_any_level",
  "tests/test_attachments.py::test_serving_is_visibility_gated_and_traversal_proof",
  "tests/test_attachments.py::test_type_and_content_discipline",
  "tests/test_attachments.py::test_upload_and_serve_roundtrip",
  "tests/test_board.py::test_a_concept_can_carry_a_blurb_and_a_picture",
  "tests/test_board.py::test_a_concept_has_a_conversation_of_its_own",
  "tests/test_board.py::test_a_conversation_can_be_refiled_under_another_subject",
  "tests/test_board.py::test_a_manager_moves_a_stage_and_the_client_sees_only_what_is_visible",
  "tests/test_board.py::test_a_note_can_be_moved_and_an_area_resized_after_posting",
  "tests/test_board.py::test_a_note_can_mark_an_area",
  "tests/test_board.py::test_a_project_starts_with_the_roadmap",
  "tests/test_board.py::test_feedback_complete_does_not_undo_done",
  "tests/test_board.py::test_feedback_complete_turns_the_board_and_tells_the_team",
  "tests/test_board.py::test_the_discussion_read_carries_every_subject",
  "tests/test_capabilities_me.py::test_admin_member_has_delegated_but_not_owner_capabilities",
  "tests/test_capabilities_me.py::test_anonymous_me_has_no_capabilities",
  "tests/test_capabilities_me.py::test_owner_me_has_every_capability",
  "tests/test_capabilities_me.py::test_plain_member_me_has_no_capabilities",
  "tests/test_comment_history.py::test_a_manager_may_remove_a_note_but_never_rewrite_it",
  "tests/test_comment_history.py::test_a_no_op_edit_files_nothing",
  "tests/test_comment_history.py::test_everyone_who_can_read_the_comment_can_read_its_history",
  "tests/test_comment_history.py::test_history_survives_the_comment_being_removed",
  "tests/test_comment_history.py::test_the_author_can_fix_their_own_mistake",
  "tests/test_comment_history.py::test_the_earlier_wording_survives",
  "tests/test_default_deny.py::test_anonymous_is_denied_on_admin_route",
  "tests/test_default_deny.py::test_anonymous_is_denied_on_app_route",
  "tests/test_default_deny.py::test_healthz_is_public",
  "tests/test_default_deny.py::test_known_app_route_reachable_once_signed_in",
  "tests/test_default_deny.py::test_public_me_probe_is_reachable_anonymously",
  "tests/test_default_deny.py::test_public_meta_is_reachable_anonymously",
  "tests/test_default_deny.py::test_unknown_api_path_is_401_for_anon_not_404",
  "tests/test_domain.py::test_a_beat_carries_its_demo_click_through_the_api",
  "tests/test_domain.py::test_a_demo_click_can_be_edited_and_turned_off",
  "tests/test_domain.py::test_a_manager_can_rewrite_the_blurb_the_client_reads",
  "tests/test_domain.py::test_a_note_can_be_retracted_marker_and_all",
  "tests/test_domain.py::test_a_pick_unpick_pick_cycle_reports_every_leg",
  "tests/test_domain.py::test_a_reply_counts_as_activity",
  "tests/test_domain.py::test_a_resolved_note_still_protects_the_option",
  "tests/test_domain.py::test_a_screen_with_feedback_on_any_option_is_not_removable",
  "tests/test_domain.py::test_a_screen_with_nothing_ready_does_not_appear_for_the_client",
  "tests/test_domain.py::test_an_empty_screen_removes_cleanly",
  "tests/test_domain.py::test_an_option_carrying_feedback_is_not_removable",
  "tests/test_domain.py::test_an_option_without_a_mockup_is_invisible_to_the_client",
  "tests/test_domain.py::test_client_cannot_mutate_structure",
  "tests/test_domain.py::test_comment_edit_delete_rules",
  "tests/test_domain.py::test_hiding_a_draft_option_is_not_merely_cosmetic",
  "tests/test_domain.py::test_manager_minting_a_view_on_an_empty_option_is_told_why",
  "tests/test_domain.py::test_mentions_notify_only_project_members",
  "tests/test_domain.py::test_needs_you_is_answered_for_the_asker",
  "tests/test_domain.py::test_notifications_mark_read",
  "tests/test_domain.py::test_only_the_author_or_the_team_can_retract_a_note",
  "tests/test_domain.py::test_outsider_cannot_touch_pins",
  "tests/test_domain.py::test_pin_thread_resolve_cycle_drives_rollup",
  "tests/test_domain.py::test_project_lifecycle_and_visibility",
  "tests/test_domain.py::test_removing_an_option_clears_a_selection_pointing_at_it",
  "tests/test_domain.py::test_removing_an_option_takes_its_walkthrough_with_it",
  "tests/test_domain.py::test_selecting_a_foreign_option_is_rejected",
  "tests/test_domain.py::test_selection_is_the_clients_act_and_notifies_the_team",
  "tests/test_domain.py::test_send_then_state_walk",
  "tests/test_domain.py::test_spa_shell_revalidates_and_assets_are_immutable",
  "tests/test_domain.py::test_the_happy_path_ends_at_done_not_at_needs_attention",
  "tests/test_domain.py::test_the_index_counts_open_client_feedback_only",
  "tests/test_domain.py::test_walkthrough_author_approve_rollup",
  "tests/test_draft_screens.py::test_a_draft_does_not_hold_the_project_open",
  "tests/test_draft_screens.py::test_a_draft_is_absent_from_the_contents_rail_and_the_counts",
  "tests/test_draft_screens.py::test_a_new_screen_starts_as_a_draft",
  "tests/test_draft_screens.py::test_existing_screens_were_not_hidden_by_the_change",
  "tests/test_draft_screens.py::test_only_the_team_can_publish",
  "tests/test_draft_screens.py::test_publishing_hands_it_to_the_client",
  "tests/test_draft_screens.py::test_publishing_it_reopens_the_decision",
  "tests/test_instances.py::test_admin_router_unknown_instance_is_404",
  "tests/test_instances.py::test_all_instances_members_show_as_all_access",
  "tests/test_instances.py::test_create_slugs_the_name_and_dodges_collisions",
  "tests/test_instances.py::test_grant_makes_an_instance_visible",
  "tests/test_instances.py::test_grant_shows_in_the_access_matrix",
  "tests/test_instances.py::test_invisible_instance_is_404_not_403",
  "tests/test_instances.py::test_resolution_order_grant_beats_all_instances_beats_none",
  "tests/test_instances.py::test_scoped_manager_adds_an_existing_member_without_email",
  "tests/test_instances.py::test_scoped_manager_directory_gates_resolve_per_instance",
  "tests/test_instances.py::test_scoped_manager_invites_a_new_user_into_their_instance",
  "tests/test_instances.py::test_scoped_manager_sees_their_instance_roster",
  "tests/test_instances.py::test_unknown_instance_is_404",
  "tests/test_invites_resets.py::test_adding_an_existing_account_skips_the_credential_email",
  "tests/test_invites_resets.py::test_adding_an_existing_account_with_notify_sends_the_courtesy_email",
  "tests/test_invites_resets.py::test_check_user_is_gated_on_accounts_add",
  "tests/test_invites_resets.py::test_check_user_reports_the_three_cases",
  "tests/test_invites_resets.py::test_directory_search_is_gated_on_accounts_add",
  "tests/test_invites_resets.py::test_directory_search_returns_stubbed_users_for_an_adder",
  "tests/test_invites_resets.py::test_doomed_invite_sends_no_email",
  "tests/test_invites_resets.py::test_inviting_a_new_user_requires_an_email",
  "tests/test_invites_resets.py::test_inviting_an_existing_member_conflicts_without_a_new_email",
  "tests/test_invites_resets.py::test_self_send_reset_works_for_any_signed_in_user",
  "tests/test_invites_resets.py::test_send_reset_requires_the_permission",
  "tests/test_invites_resets.py::test_successful_invite_adds_member_and_records_central_invite",
  "tests/test_levels.py::test_duplicate_level_name_conflicts",
  "tests/test_levels.py::test_in_use_level_cannot_be_deleted",
  "tests/test_levels.py::test_list_levels_shows_seed_levels",
  "tests/test_levels.py::test_member_cannot_create_a_level",
  "tests/test_levels.py::test_owner_adopts_a_template",
  "tests/test_levels.py::test_owner_creates_a_level",
  "tests/test_levels.py::test_owner_deletes_an_unused_level",
  "tests/test_levels.py::test_owner_edits_a_level_permissions",
  "tests/test_levels.py::test_owner_is_immutable_even_to_the_owner",
  "tests/test_mockup_serving.py::test_attachment_sniff_and_access",
  "tests/test_mockup_serving.py::test_bundle_with_relative_assets_serves_intact",
  "tests/test_mockup_serving.py::test_entry_html_carries_bridge_with_nonce_but_disk_stays_pristine",
  "tests/test_mockup_serving.py::test_every_mockup_response_is_csp_sandboxed",
  "tests/test_mockup_serving.py::test_mint_requires_project_access",
  "tests/test_mockup_serving.py::test_reupload_replaces_in_place",
  "tests/test_mockup_serving.py::test_subresources_serve_with_pinned_type",
  "tests/test_mockup_serving.py::test_the_bridge_forwards_only_a_real_escape",
  "tests/test_mockup_serving.py::test_the_bridge_neutralises_links_that_go_nowhere",
  "tests/test_mockup_serving.py::test_the_bridge_stops_the_frame_navigating_away",
  "tests/test_mockup_serving.py::test_token_boundary",
  "tests/test_mockup_serving.py::test_top_level_navigation_is_refused",
  "tests/test_mockup_serving.py::test_upload_needs_manager_side",
  "tests/test_mockup_serving.py::test_upload_rejects_disallowed_types_and_traversal",
  "tests/test_new_since.py::test_a_first_visit_marks_nothing_new",
  "tests/test_new_since.py::test_a_whole_new_screen_is_flagged",
  "tests/test_new_since.py::test_an_option_added_after_your_visit_is_new",
  "tests/test_new_since.py::test_an_option_you_already_read_reports_CHANGED_not_new",
  "tests/test_new_since.py::test_an_outsider_cannot_mark_a_board_seen",
  "tests/test_new_since.py::test_newness_is_per_person",
  "tests/test_new_since.py::test_reading_the_board_does_not_clear_what_is_new",
  "tests/test_onboarding.py::test_a_dismissal_is_not_downgraded_by_a_later_replay",
  "tests/test_onboarding.py::test_an_entry_with_nothing_to_approve_is_not_counted_as_done",
  "tests/test_onboarding.py::test_being_walked_through_one_board_does_not_cover_another",
  "tests/test_onboarding.py::test_bumping_the_version_re_offers_the_tour",
  "tests/test_onboarding.py::test_contents_and_tour_404_for_a_non_member",
  "tests/test_onboarding.py::test_contents_groups_tours_by_screen_under_a_how_to_section",
  "tests/test_onboarding.py::test_contents_hides_what_the_client_cannot_see",
  "tests/test_onboarding.py::test_contents_marks_the_chosen_direction[False]",
  "tests/test_onboarding.py::test_contents_marks_the_chosen_direction[True]",
  "tests/test_onboarding.py::test_finishing_the_tour_is_recorded_as_completed",
  "tests/test_onboarding.py::test_progress_is_answered_from_the_askers_chair",
  "tests/test_onboarding.py::test_the_tour_is_offered_once_per_person_per_board",
  "tests/test_outbound.py::test_a_reply_to_a_client_earns_an_email",
  "tests/test_outbound.py::test_a_suppressed_message_is_still_recorded",
  "tests/test_outbound.py::test_dev_mode_is_on_by_default",
  "tests/test_outbound.py::test_only_two_moments_ever_mail",
  "tests/test_outbound.py::test_presenting_writes_an_email_and_holds_it",
  "tests/test_outbound.py::test_the_client_replying_to_themselves_mails_nobody",
  "tests/test_outbound.py::test_the_service_default_is_on_without_a_row",
  "tests/test_outbound.py::test_the_switch_and_the_outbox_are_team_only",
  "tests/test_outbound.py::test_turning_dev_mode_off_stops_holding_for_that_reason",
  "tests/test_outbound_stubbed.py::test_account_removal_is_immediate",
  "tests/test_outbound_stubbed.py::test_every_outbound_is_captured_and_recognized",
  "tests/test_outbound_stubbed.py::test_owner_sync_fans_out_report_calls",
  "tests/test_outbound_stubbed.py::test_sync_is_owner_only",
  "tests/test_pin_variations.py::test_a_note_on_an_option_without_variations_records_nothing",
  "tests/test_pin_variations.py::test_a_note_records_the_variation_it_was_left_on",
  "tests/test_pin_variations.py::test_notes_from_every_variation_are_returned_together",
  "tests/test_pin_variations.py::test_the_label_follows_a_renamed_variation",
  "tests/test_pin_variations.py::test_two_notes_on_the_same_spot_stay_distinguishable",
  "tests/test_presence.py::test_a_first_heartbeat_does_not_swallow_a_first_visit",
  "tests/test_presence.py::test_a_heartbeat_does_not_clear_what_is_new",
  "tests/test_presence.py::test_a_heartbeat_records_that_someone_is_looking",
  "tests/test_presence.py::test_an_outsider_cannot_heartbeat_a_board",
  "tests/test_presence.py::test_the_client_cannot_see_who_else_is_looking",
  "tests/test_presence.py::test_the_roster_is_the_client_side_only",
  "tests/test_rollup.py::test_a_decided_screen_with_open_feedback_is_still_ours_to_answer",
  "tests/test_rollup.py::test_agency_pins_alone_do_not_flip_the_turn",
  "tests/test_rollup.py::test_empty_instance_is_not_started_never_done",
  "tests/test_rollup.py::test_open_client_pin_flips_to_waiting_agency",
  "tests/test_rollup.py::test_options_but_unsent_is_in_progress",
  "tests/test_rollup.py::test_options_without_mockups_are_not_ready",
  "tests/test_rollup.py::test_presenting_an_empty_board_is_the_anomaly",
  "tests/test_rollup.py::test_resolving_the_last_client_pin_returns_the_turn",
  "tests/test_rollup.py::test_screen_whose_options_are_all_unuploaded_does_not_block_done",
  "tests/test_rollup.py::test_screen_without_options_does_not_block_done",
  "tests/test_rollup.py::test_selection_and_approvals_complete_is_done",
  "tests/test_rollup.py::test_selection_complete_with_open_client_pins_needs_attention",
  "tests/test_rollup.py::test_sent_with_no_client_action_waits_on_client",
  "tests/test_rollup.py::test_status_body_shape_matches_contract",
  "tests/test_rollup.py::test_unapproved_required_steps_hold_done_back",
  "tests/test_round_summary.py::test_a_decided_screen_reports_its_option_and_variants",
  "tests/test_round_summary.py::test_a_finished_round_waits_on_nobody",
  "tests/test_round_summary.py::test_an_undecided_screen_is_listed_with_what_there_is_to_choose",
  "tests/test_round_summary.py::test_approvals_are_counted",
  "tests/test_round_summary.py::test_outstanding_covers_BOTH_kinds_of_feedback",
  "tests/test_round_summary.py::test_resolving_takes_it_off_the_list",
  "tests/test_round_summary.py::test_the_client_can_read_it_too",
  "tests/test_round_summary.py::test_waiting_on_names_the_side_whose_move_it_is",
  "tests/test_screen_comments.py::test_a_client_can_remove_their_own_but_not_ours",
  "tests/test_screen_comments.py::test_a_manager_can_remove_any_comment_on_a_screen",
  "tests/test_screen_comments.py::test_a_screen_conversation_turns_the_board",
  "tests/test_screen_comments.py::test_a_screen_has_at_most_one_thread",
  "tests/test_screen_comments.py::test_a_screen_starts_with_no_conversation",
  "tests/test_screen_comments.py::test_a_thread_with_nothing_left_to_read_stops_counting",
  "tests/test_screen_comments.py::test_an_outsider_cannot_read_or_start_one",
  "tests/test_screen_comments.py::test_pins_are_untouched_by_any_of_this",
  "tests/test_screen_comments.py::test_resolving_a_screen_conversation_returns_the_turn",
  "tests/test_screen_comments.py::test_the_client_can_talk_about_the_page_itself",
  "tests/test_screen_comments.py::test_the_screen_payload_reports_its_conversation",
  "tests/test_stars.py::test_a_client_cannot_star_an_option_they_cannot_see",
  "tests/test_stars.py::test_a_star_never_closes_a_project",
  "tests/test_stars.py::test_our_own_stars_do_not_rate_our_own_work",
  "tests/test_stars.py::test_starring_is_a_toggle_and_is_counted",
  "tests/test_stars.py::test_starring_is_silent",
  "tests/test_stars.py::test_stars_from_several_people_accumulate",
  "tests/test_stars.py::test_the_board_reports_a_proportion_not_a_raw_count",
  "tests/test_step_comments.py::test_a_beat_conversation_turns_the_board",
  "tests/test_step_comments.py::test_a_beat_has_at_most_one_thread",
  "tests/test_step_comments.py::test_a_beat_starts_with_no_conversation",
  "tests/test_step_comments.py::test_an_outsider_cannot_read_or_start_one",
  "tests/test_step_comments.py::test_pins_are_untouched_by_any_of_this",
  "tests/test_step_comments.py::test_the_client_can_ask_about_a_point_without_leaving_the_tour",
  "tests/test_step_comments.py::test_the_notification_links_back_into_the_tour_at_that_point",
  "tests/test_variants.py::test_a_duplicate_choice_on_an_axis_is_refused",
  "tests/test_variants.py::test_a_second_axis_must_also_be_answered_for_done",
  "tests/test_variants.py::test_a_variant_still_needs_a_name",
  "tests/test_variants.py::test_a_variant_that_was_never_offered_is_refused",
  "tests/test_variants.py::test_an_untouched_toggle_still_records_a_complete_choice",
  "tests/test_variants.py::test_authoring_a_variant_is_manager_only",
  "tests/test_variants.py::test_choosing_records_the_variant_too",
  "tests/test_variants.py::test_classes_already_spoken_for_drop_out_of_the_suggestions",
  "tests/test_variants.py::test_one_base_choice_per_axis",
  "tests/test_variants.py::test_only_the_team_reads_the_authoring_detail",
  "tests/test_variants.py::test_options_without_variants_are_unaffected",
  "tests/test_variants.py::test_setup_builds_the_whole_toggle_in_one_act",
  "tests/test_variants.py::test_setup_is_the_team_side_only",
  "tests/test_variants.py::test_setup_refuses_to_build_a_toggle_with_nothing_to_toggle",
  "tests/test_variants.py::test_setup_will_not_build_a_second_toggle_on_the_same_axis",
  "tests/test_variants.py::test_shown_first_is_a_fact_about_the_axis",
  "tests/test_variants.py::test_the_design_as_it_ships_is_a_choice",
  "tests/test_variants.py::test_the_form_offers_the_classes_the_design_declares",
  "tests/test_variants.py::test_the_second_choice_is_told_what_it_is_missing",
  "tests/test_variants.py::test_the_team_is_told_WHICH_variant_was_picked",
  "tests/test_variants.py::test_unpicking_clears_the_variants_too",
  "tests/test_variants.py::test_variants_ride_along_with_the_option",
  "tests/test_view_as.py::test_act_mode_is_owner_only",
  "tests/test_view_as.py::test_fail_closed_autostop_when_impersonator_ability_revoked",
  "tests/test_view_as.py::test_fail_closed_autostop_when_target_deleted",
  "tests/test_view_as.py::test_me_reflects_impersonation_and_readonly",
  "tests/test_view_as.py::test_non_owner_may_start_readonly_view_as",
  "tests/test_view_as.py::test_readonly_view_as_blocks_a_mutation",
  "tests/test_view_as.py::test_start_and_stop_are_reported_to_central",
  "tests/test_view_as.py::test_stop_returns_identity_to_the_real_user",
  "tests/test_view_as.py::test_view_as_repoints_identity_not_real_user",
  "tests/test_walkthrough_import.py::test_a_bad_paste_is_explained_not_500ed",
  "tests/test_walkthrough_import.py::test_a_beat_can_carry_a_demo_click",
  "tests/test_walkthrough_import.py::test_a_beat_needs_no_target",
  "tests/test_walkthrough_import.py::test_a_demo_click_defaults_to_three_seconds",
  "tests/test_walkthrough_import.py::test_beats_without_a_click_are_unaffected",
  "tests/test_walkthrough_import.py::test_empty_and_titleless_input_is_refused_in_words",
  "tests/test_walkthrough_import.py::test_importing_appends_by_default",
  "tests/test_walkthrough_import.py::test_importing_is_manager_only",
  "tests/test_walkthrough_import.py::test_replace_is_off_by_default",
  "tests/test_walkthrough_import.py::test_replace_wipes_first_and_takes_the_approvals_with_it",
  "tests/test_walkthrough_import.py::test_the_format_matches_how_the_notes_are_already_written",
  "tests/test_walkthrough_import.py::test_zero_seconds_means_leave_it_open",
  "tests/test_walkthrough_order.py::test_a_demo_click_waits_while_the_point_is_read",
  "tests/test_walkthrough_order.py::test_a_point_can_be_moved_to_the_front",
  "tests/test_walkthrough_order.py::test_a_point_moves_to_a_named_position",
  "tests/test_walkthrough_order.py::test_an_order_naming_a_deleted_point_is_refused_whole",
  "tests/test_walkthrough_order.py::test_points_left_out_of_the_order_keep_their_place_at_the_end",
  "tests/test_walkthrough_order.py::test_reordering_is_the_manager_side",
  "tests/test_walkthrough_order.py::test_the_wait_is_bounded",
  "tests/test_zz_dbg.py::test_dbg",
  "tests/test_zz_del.py::test_delete_chosen_option",
  "tests/test_zz_journey_scratch.py::test_journey",
  "tests/test_zz_quiet.py::test_what_reaches_the_client"
]