[
  "tests/test_asset_plan.py::test_asset_plan_maps_mechanism_manifest_to_motion_explainer_modes",
  "tests/test_asset_plan.py::test_attention_design_asset_plan_uses_broll_and_screen_recording_not_text_slideshow",
  "tests/test_asset_plan.py::test_build_asset_plan_replaces_static_cards_with_moving_asset_modes",
  "tests/test_asset_plan.py::test_cinematic_ai_video_scenes_have_provider_ready_prompts_without_baked_text",
  "tests/test_asset_plan.py::test_write_asset_plans_outputs_json_files",
  "tests/test_audio_caption_preview.py::test_build_audio_caption_preview_plan_can_explicitly_trim_to_audio",
  "tests/test_audio_caption_preview.py::test_build_audio_caption_preview_plan_is_side_effect_free_and_writes_ass_content",
  "tests/test_audio_caption_preview.py::test_render_ass_subtitle_file_uses_compact_final_motion_style",
  "tests/test_audio_caption_preview.py::test_render_audio_caption_preview_preserves_video_duration_by_default",
  "tests/test_audio_caption_preview.py::test_render_audio_caption_preview_trims_only_when_explicit",
  "tests/test_audio_caption_preview.py::test_render_audio_caption_preview_writes_ass_and_invokes_ffmpeg",
  "tests/test_audio_caption_preview.py::test_validate_audio_caption_preview_plan_rejects_bad_paths_and_unsafe_side_effects",
  "tests/test_audio_probe.py::test_probe_media_duration_seconds_parses_ffprobe_output",
  "tests/test_audio_probe.py::test_probe_media_duration_seconds_rejects_invalid_output",
  "tests/test_brand_profile.py::test_apply_brand_metadata_adds_default_hashtags_and_platform_templates",
  "tests/test_brand_profile.py::test_truetrace_brand_profile_defines_safe_public_positioning",
  "tests/test_brand_profile.py::test_validate_brand_profile_accepts_truetrace_default",
  "tests/test_brand_profile.py::test_validate_candidate_brand_fit_accepts_mechanism_reveal_ai_systems_candidate",
  "tests/test_brand_profile.py::test_validate_candidate_brand_fit_rejects_private_or_political_or_generic_content",
  "tests/test_caption_safe_zone.py::test_caption_and_active_word_highlight_never_exceed_safe_bounds",
  "tests/test_caption_safe_zone.py::test_domain_strings_wrap_or_shrink_safely",
  "tests/test_caption_safe_zone.py::test_long_phrase_wraps_into_two_lines_within_safe_width",
  "tests/test_caption_safe_zone.py::test_max_two_lines_enforced_by_splitting_earlier",
  "tests/test_caption_safe_zone.py::test_mobile_bottom_safe_zone_respected",
  "tests/test_caption_safe_zone.py::test_no_word_clipped_at_left_or_right_edge",
  "tests/test_comfyui_client.py::test_comfyui_client_runs_workflow_uploads_keyframe_and_downloads_output",
  "tests/test_content_brief.py::test_create_content_brief_from_default_pillar_and_topic",
  "tests/test_content_brief.py::test_create_content_brief_rejects_unknown_pillar",
  "tests/test_content_brief.py::test_validate_content_brief_rejects_bad_duration_and_platforms",
  "tests/test_content_brief.py::test_validate_content_brief_rejects_missing_strategy_fields",
  "tests/test_content_demo_pipeline.py::test_build_ai_life_systems_demo_delivery_has_no_send_or_publish_language",
  "tests/test_content_demo_pipeline.py::test_build_ai_life_systems_demo_delivery_runs_full_review_preparation_path",
  "tests/test_content_preview_package.py::test_build_content_preview_approval_package_combines_video_and_social_review",
  "tests/test_content_preview_package.py::test_build_content_preview_approval_package_rejects_missing_video",
  "tests/test_content_preview_package.py::test_render_content_preview_approval_text_is_telegram_safe_and_references_video",
  "tests/test_content_preview_package.py::test_validate_content_preview_approval_package_accepts_valid_package",
  "tests/test_content_preview_package.py::test_validate_content_preview_approval_package_rejects_side_effects_and_action_language",
  "tests/test_content_series.py::test_candidate_series_fit_accepts_before_you_click_candidate",
  "tests/test_content_series.py::test_candidate_series_fit_accepts_matching_public_safe_candidate",
  "tests/test_content_series.py::test_candidate_series_fit_rejects_politics_and_legal_or_moral_risk",
  "tests/test_content_series.py::test_candidate_series_fit_rejects_public_content_about_jarvis_or_user_collaboration",
  "tests/test_content_series.py::test_candidate_series_fit_rejects_unknown_series",
  "tests/test_content_series.py::test_default_series_registry_contains_public_safe_scam_self_defense_series_only",
  "tests/test_content_series.py::test_default_series_registry_contains_public_safe_series_only",
  "tests/test_content_series.py::test_series_registry_rejects_duplicate_ids_and_forbidden_public_topics",
  "tests/test_content_strategy_score.py::test_build_candidate_strategy_review_allows_distinctive_systems_candidate",
  "tests/test_content_strategy_score.py::test_build_candidate_strategy_review_allows_specific_scam_self_defense_candidate",
  "tests/test_content_strategy_score.py::test_build_candidate_strategy_review_blocks_forbidden_public_topics",
  "tests/test_content_strategy_score.py::test_build_candidate_strategy_review_blocks_generic_ai_slop_language",
  "tests/test_content_strategy_score.py::test_build_candidate_strategy_review_blocks_jargon_and_missing_safe_move",
  "tests/test_content_strategy_score.py::test_content_strategy_score_rejects_low_follow_reason_even_with_good_hook",
  "tests/test_content_strategy_score.py::test_content_strategy_score_validates_complete_beginner_safety_score",
  "tests/test_content_strategy_score.py::test_content_strategy_score_validates_complete_high_intent_score",
  "tests/test_content_to_candidate.py::test_convert_script_draft_to_candidate_draft_preserves_content_strategy",
  "tests/test_content_to_candidate.py::test_convert_script_draft_to_candidate_rejects_invalid_script",
  "tests/test_content_to_candidate.py::test_convert_script_draft_to_candidate_rejects_mismatched_brief",
  "tests/test_content_to_candidate.py::test_convert_script_draft_to_candidate_uses_existing_candidate_factory",
  "tests/test_demo_local_preview_video_cli.py::test_demo_local_preview_video_cli_renders_mp4_and_prints_metadata",
  "tests/test_demo_render_preview_cli.py::test_demo_render_preview_cli_prints_metadata_and_html_preview",
  "tests/test_demo_review_batch_cli.py::test_demo_review_batch_cli_prints_sample_summary",
  "tests/test_demo_social_draft_cli.py::test_demo_social_draft_cli_prints_delivery_metadata_and_review_text",
  "tests/test_demo_telegram_delivery_cli.py::test_demo_telegram_delivery_cli_prints_metadata_and_review_text",
  "tests/test_edge_tts_adapter.py::test_synthesize_edge_tts_builds_command_and_reports_explicit_side_effects",
  "tests/test_edge_tts_adapter.py::test_validate_edge_tts_request_rejects_bad_provider_blank_text_and_non_mp3",
  "tests/test_factory.py::test_candidate_id_is_stable_slug_from_pillar_title_and_duration",
  "tests/test_factory.py::test_classify_duration_experiment_range",
  "tests/test_factory.py::test_classify_duration_growth_short",
  "tests/test_factory.py::test_classify_duration_monetization_candidate",
  "tests/test_factory.py::test_create_candidate_adds_id_default_hashtags_and_duration_class_policy_note",
  "tests/test_factory.py::test_create_candidate_rejects_missing_hypothesis",
  "tests/test_factory.py::test_create_candidate_rejects_unfit_platform_for_pillar",
  "tests/test_factory.py::test_create_candidate_rejects_unknown_or_unfit_pillar",
  "tests/test_ffmpeg_plan.py::test_build_ffmpeg_concat_plan_creates_side_effect_free_concat_plan",
  "tests/test_ffmpeg_plan.py::test_build_ffmpeg_concat_plan_rejects_mismatched_frame_count",
  "tests/test_ffmpeg_plan.py::test_build_ffmpeg_concat_plan_rejects_non_png_frame_paths",
  "tests/test_ffmpeg_plan.py::test_validate_ffmpeg_concat_plan_accepts_default_plan",
  "tests/test_ffmpeg_plan.py::test_validate_ffmpeg_concat_plan_rejects_bad_output_and_external_calls",
  "tests/test_ffmpeg_renderer.py::test_render_ffmpeg_preview_video_rejects_invalid_plan",
  "tests/test_ffmpeg_renderer.py::test_render_ffmpeg_preview_video_smoke_probes_dimensions_and_duration",
  "tests/test_ffmpeg_renderer.py::test_render_ffmpeg_preview_video_writes_concat_file_and_mp4",
  "tests/test_final_video_approval.py::test_build_truetrace_weird_email_final_approval_package_is_approval_first",
  "tests/test_final_video_approval.py::test_render_final_video_approval_review_is_telegram_safe_and_no_action_language",
  "tests/test_final_video_approval.py::test_validate_final_video_approval_package_rejects_unsafe_fields",
  "tests/test_final_video_plan.py::test_build_truetrace_weird_email_final_video_plan_is_mobile_first_and_concrete",
  "tests/test_final_video_plan.py::test_validate_final_video_plan_rejects_timing_text_and_static_failures",
  "tests/test_format_family_spine.py::test_candidate_plan_requires_red_first_frame_brief",
  "tests/test_format_family_spine.py::test_first_test_wave_is_valid_and_contains_requested_formats",
  "tests/test_format_family_spine.py::test_format_metadata_validates_recovery_and_first_frame_label",
  "tests/test_format_family_spine.py::test_format_mix_matches_strategy_for_next_20_videos",
  "tests/test_format_family_spine.py::test_plan_serializes_format_metadata_for_audits",
  "tests/test_format_family_spine.py::test_templates_define_duration_cta_and_website_targets",
  "tests/test_free_ai_video_providers.py::test_free_ai_video_handoff_creates_manual_jobs_for_realistic_clip_scenes_only",
  "tests/test_free_ai_video_providers.py::test_provider_registry_contains_real_free_tier_candidates_from_research",
  "tests/test_free_ai_video_providers.py::test_recommended_provider_order_prioritizes_free_realistic_ai_video_for_cinematic_scenes",
  "tests/test_free_ai_video_providers.py::test_write_free_ai_video_handoffs_outputs_reviewable_json",
  "tests/test_free_production_jobs.py::test_free_production_jobs_map_cinematic_scenes_to_local_motion_design",
  "tests/test_free_production_jobs.py::test_free_production_jobs_never_use_paid_video_credit_providers",
  "tests/test_free_production_jobs.py::test_free_production_jobs_use_nvidia_llm_only_for_optional_prompt_refinement",
  "tests/test_free_production_jobs.py::test_mechanism_free_production_jobs_preserve_total_video_duration",
  "tests/test_free_production_jobs.py::test_write_free_production_jobs_outputs_json",
  "tests/test_growth_plan.py::test_every_idea_has_required_review_fields",
  "tests/test_growth_plan.py::test_initial_testbatch_contains_growth_and_monetization_candidates",
  "tests/test_growth_plan.py::test_initial_testbatch_has_three_pillars_with_three_ideas_each",
  "tests/test_i2v_clip_jobs.py::test_build_i2v_clip_jobs_creates_seeded_scene_jobs_with_expected_paths",
  "tests/test_i2v_clip_jobs.py::test_native_wan22_workflow_uses_scaled_t5_uploaded_image_and_no_baked_text",
  "tests/test_i2v_clip_jobs.py::test_write_i2v_clip_jobs_outputs_json_package",
  "tests/test_i2v_job_runner.py::test_runner_dry_run_does_not_call_client_but_reports_ready",
  "tests/test_i2v_job_runner.py::test_runner_skips_jobs_without_keyframes_and_runs_ready_jobs",
  "tests/test_i2v_job_runner.py::test_write_run_report_outputs_json",
  "tests/test_ideas.py::test_candidate_can_be_converted_to_review_package",
  "tests/test_ideas.py::test_candidate_validation_accepts_complete_growth_candidate",
  "tests/test_ideas.py::test_candidate_validation_rejects_missing_hook_and_bad_duration",
  "tests/test_ideas.py::test_candidate_validation_rejects_unknown_platforms",
  "tests/test_ideas.py::test_renderable_candidates_filters_by_candidate_validity_and_quality_gate",
  "tests/test_ideas.py::test_testbatch_validation_rejects_duplicate_candidate_ids",
  "tests/test_ideas.py::test_testbatch_validation_requires_at_least_one_candidate",
  "tests/test_image_generation_policy.py::test_image_policy_config_is_serializable",
  "tests/test_image_generation_policy.py::test_image_policy_limits_styleframe_spend_and_random_batches",
  "tests/test_image_generation_policy.py::test_image_policy_pins_openai_codex_and_best_available_model",
  "tests/test_image_generation_policy.py::test_image_policy_prefers_deterministic_mockups_for_invoice_ui",
  "tests/test_imported_clip_assembler.py::test_build_imported_clip_assembly_plan_prefers_imported_realistic_clips_and_local_fallbacks",
  "tests/test_imported_clip_assembler.py::test_chatgpt_pro_video_generation_is_marked_unavailable_in_assembly_notes",
  "tests/test_imported_clip_assembler.py::test_discover_imported_ai_clips_finds_only_scene_named_video_files",
  "tests/test_keyframe_first_plan.py::test_keyframe_first_plan_limits_renderer_owned_overlays",
  "tests/test_keyframe_first_plan.py::test_keyframe_specs_forbid_readable_text_and_fake_ui",
  "tests/test_keyframe_first_plan.py::test_s03_keyframe_first_plan_has_start_and_end_frames",
  "tests/test_keyframe_first_plan.py::test_s03_keyframes_are_semantically_grounded_in_meeting_summary_mechanism",
  "tests/test_keyframe_first_plan.py::test_validate_keyframe_first_scene_plan_rejects_text_to_video_only",
  "tests/test_keyframe_package.py::test_keyframe_package_explains_fps_policy_for_smooth_final_output",
  "tests/test_keyframe_package.py::test_keyframe_requests_include_target_paths_and_quality_checklist",
  "tests/test_keyframe_package.py::test_write_keyframe_package_outputs_json",
  "tests/test_keyframe_prompt.py::test_car_keyframe_prompt_uses_clear_visible_inspection_bay_without_ai_text",
  "tests/test_keyframe_prompt.py::test_i2v_motion_prompt_has_one_camera_move_and_preserves_identity",
  "tests/test_keyframe_prompt.py::test_i2v_prompt_plan_targets_only_ai_video_scenes_for_wan22",
  "tests/test_keyframe_prompt.py::test_non_ai_mechanism_scenes_become_renderer_notes_not_wan_jobs",
  "tests/test_keyframe_prompt.py::test_problem_scene_keeps_same_car_context_not_generic_macro_prompt",
  "tests/test_keyframe_prompt.py::test_write_i2v_prompt_plans_outputs_json",
  "tests/test_local_frame_writer.py::test_localize_frame_copy_defaults_to_german_approval_preview_text",
  "tests/test_local_frame_writer.py::test_wrap_text_to_pixel_width_keeps_each_line_within_readable_bounds",
  "tests/test_local_frame_writer.py::test_write_local_preview_frames_preserves_plan_order_and_paths",
  "tests/test_local_frame_writer.py::test_write_local_preview_frames_rejects_invalid_plan",
  "tests/test_local_frame_writer.py::test_write_local_preview_frames_rejects_output_dir_outside_runtime_area",
  "tests/test_local_frame_writer.py::test_write_local_preview_frames_writes_valid_png_scene_cards",
  "tests/test_local_motion_renderer.py::test_caption_layout_keeps_long_german_lines_inside_safe_area",
  "tests/test_local_motion_renderer.py::test_local_render_jobs_filters_out_text_only_nvidia_refinement_jobs",
  "tests/test_local_motion_renderer.py::test_render_local_motion_video_writes_vertical_mp4_and_metadata",
  "tests/test_local_preview.py::test_build_local_preview_plan_creates_side_effect_free_frame_plan",
  "tests/test_local_preview.py::test_build_local_preview_plan_rejects_invalid_manifest",
  "tests/test_local_preview.py::test_validate_local_preview_plan_accepts_default_plan",
  "tests/test_local_preview.py::test_validate_local_preview_plan_rejects_bad_frame_timing_and_missing_fields",
  "tests/test_local_preview.py::test_validate_local_preview_plan_rejects_side_effects_external_calls_and_bad_size",
  "tests/test_manual_posting_pack.py::test_build_manual_posting_pack_creates_youtube_and_tiktok_copy_without_upload_side_effects",
  "tests/test_manual_posting_pack.py::test_render_manual_posting_instructions_contains_video_path_and_platform_copy",
  "tests/test_manual_posting_pack.py::test_validate_manual_posting_pack_rejects_platform_actions_and_missing_manual_upload",
  "tests/test_mechanism_pipeline.py::test_build_mechanism_shot_plan_preserves_retention_beats_and_timing",
  "tests/test_mechanism_pipeline.py::test_mechanism_scene_overlay_truncation_marks_open_sentence",
  "tests/test_mechanism_pipeline.py::test_mechanism_shot_plan_generates_caption_beats_from_voiceover",
  "tests/test_mechanism_pipeline.py::test_mechanism_shot_plan_uses_motion_led_asset_types_not_static_cards",
  "tests/test_mechanism_pipeline.py::test_write_mechanism_shot_plans_outputs_markdown",
  "tests/test_motion_renderer.py::test_build_motion_render_plan_maps_final_plan_to_frame_output",
  "tests/test_motion_renderer.py::test_render_motion_preview_writes_frames_and_invokes_ffmpeg",
  "tests/test_nvidia_image_client.py::test_client_falls_back_when_first_model_is_unavailable",
  "tests/test_nvidia_image_client.py::test_client_writes_image_from_artifacts_response",
  "tests/test_nvidia_image_client.py::test_load_nvidia_api_key_supports_env_file_format",
  "tests/test_pillars.py::test_candidate_passes_known_pillar_and_platform_fit",
  "tests/test_pillars.py::test_candidate_rejects_platform_not_fit_for_pillar",
  "tests/test_pillars.py::test_candidate_rejects_unknown_pillar",
  "tests/test_pillars.py::test_default_registry_contains_ai_life_systems_positioning",
  "tests/test_pillars.py::test_default_registry_contains_digital_red_flags_positioning",
  "tests/test_pillars.py::test_default_registry_prioritizes_scam_self_defense_pillars_not_ai_workflow",
  "tests/test_pillars.py::test_pillar_registry_validation_rejects_duplicate_ids",
  "tests/test_pillars.py::test_registry_validation_rejects_empty_required_pillar_fields",
  "tests/test_pilot_production_v2.py::test_ai_disclosure_unclear_and_claim_gate_block_finalrender",
  "tests/test_pilot_production_v2.py::test_demo_cli_emits_max_one_pilot_one_backup_and_no_external_calls",
  "tests/test_pilot_production_v2.py::test_demo_selection_returns_one_pilot_one_backup_and_one_deferred",
  "tests/test_pilot_production_v2.py::test_media_generation_gate_allows_text_and_preview_but_blocks_wan_without_final_approval",
  "tests/test_pilot_production_v2.py::test_pilot_package_is_deterministic_serializable_and_has_render_plans",
  "tests/test_pilot_production_v2.py::test_publishing_is_always_blocked_and_wrong_hash_blocks_finalrender",
  "tests/test_pilot_production_v2.py::test_resource_cost_tier_and_render_state_values_exist",
  "tests/test_preview_render_gate_v2.py::test_preview_render_approval_allows_deterministic_preview_but_not_wan_or_styleframe",
  "tests/test_preview_renderer.py::test_build_preview_frames_creates_one_frame_per_visual_scene",
  "tests/test_preview_renderer.py::test_preview_frames_keep_main_text_readable_and_consistent",
  "tests/test_preview_renderer.py::test_render_preview_video_writes_mp4_with_ffmpeg",
  "tests/test_preview_renderer.py::test_write_frame_images_outputs_png_contact_sheet_inputs",
  "tests/test_proof_short_mode.py::test_pretty_empty_visual_blocker_allows_visible_invoice_route_fail",
  "tests/test_proof_short_mode.py::test_pretty_empty_visual_blocker_rejects_premium_mood_without_visible_fail",
  "tests/test_proof_short_mode.py::test_proof_short_mode_blocks_premium_wan_defaults",
  "tests/test_quality_gate.py::test_script_does_not_render_below_quality_threshold",
  "tests/test_quality_gate.py::test_script_does_not_render_when_ai_slop_risk_is_too_high",
  "tests/test_quality_gate.py::test_script_does_not_render_when_policy_risk_is_high",
  "tests/test_quality_gate.py::test_script_renders_when_score_meets_threshold_and_no_policy_block",
  "tests/test_render_manifest.py::test_build_render_manifest_rejects_invalid_shot_plan",
  "tests/test_render_manifest.py::test_build_render_manifest_turns_shot_plan_into_vertical_timeline",
  "tests/test_render_manifest.py::test_validate_render_manifest_accepts_default_manifest",
  "tests/test_render_manifest.py::test_validate_render_manifest_rejects_timeline_items_without_renderer_owned_layers",
  "tests/test_render_manifest.py::test_validate_render_manifest_rejects_unsafe_render_settings",
  "tests/test_render_preview.py::test_build_html_preview_creates_side_effect_free_timeline_preview",
  "tests/test_render_preview.py::test_build_html_preview_escapes_timeline_text",
  "tests/test_render_preview.py::test_build_html_preview_rejects_invalid_manifest",
  "tests/test_render_preview.py::test_validate_render_preview_accepts_default_preview",
  "tests/test_render_preview.py::test_validate_render_preview_rejects_side_effects_and_external_calls",
  "tests/test_retention.py::test_red_flag_video_gates_block_multiple_red_flags_and_vague_cta",
  "tests/test_retention.py::test_red_flag_video_gates_require_screen_trap_one_move_and_companion_value",
  "tests/test_retention.py::test_score_hook_rewards_specific_tension_and_direct_address",
  "tests/test_retention.py::test_score_idea_retention_accepts_strong_testbatch_candidate",
  "tests/test_retention.py::test_score_idea_retention_penalizes_slow_generic_intros",
  "tests/test_retention_studio.py::test_idea_scoring_rewards_visual_mechanism_and_monetization",
  "tests/test_retention_studio.py::test_mechanism_explainer_has_required_retention_beats_and_visual_motion",
  "tests/test_retention_studio.py::test_pilot_ideas_cover_money_ai_swiss_and_cognitive_systems",
  "tests/test_retention_studio.py::test_strategy_positions_channel_as_retention_studio_not_ai_video_factory",
  "tests/test_review_commands.py::test_parse_ablehnen_rejects_without_platforms",
  "tests/test_review_commands.py::test_parse_aendern_keeps_requested_change_text",
  "tests/test_review_commands.py::test_parse_freigabe_alle_approves_all_platforms",
  "tests/test_review_commands.py::test_parse_platform_specific_freigabe_normalizes_german_platform_names",
  "tests/test_review_commands.py::test_unknown_or_ambiguous_command_requires_clarification",
  "tests/test_review_package.py::test_review_package_contains_required_decision_context_and_commands",
  "tests/test_review_package.py::test_review_package_omits_platform_specific_commands_for_unlisted_platforms",
  "tests/test_review_package.py::test_review_package_warns_when_candidate_should_not_render",
  "tests/test_review_render.py::test_render_review_batch_summary_contains_counts_and_sections",
  "tests/test_review_render.py::test_render_review_batch_summary_has_no_publish_language",
  "tests/test_review_render.py::test_render_review_batch_summary_omits_empty_sections",
  "tests/test_review_workflow.py::test_candidate_review_item_blocked_when_quality_gate_fails_but_package_exists",
  "tests/test_review_workflow.py::test_candidate_review_item_invalid_when_candidate_validation_fails",
  "tests/test_review_workflow.py::test_candidate_review_item_ready_for_review_when_valid_and_renderable",
  "tests/test_review_workflow.py::test_review_batch_preserves_input_order_within_each_status_bucket",
  "tests/test_review_workflow.py::test_review_batch_splits_ready_blocked_and_invalid_items",
  "tests/test_sample_batch.py::test_render_sample_review_batch_returns_telegram_safe_summary",
  "tests/test_sample_batch.py::test_sample_ai_life_systems_batch_has_ready_blocked_and_invalid_candidate",
  "tests/test_scene_backgrounds.py::test_build_chatgpt_image_scene_background_plan_is_text_free_and_scene_specific",
  "tests/test_scene_backgrounds.py::test_validate_scene_background_plan_rejects_text_or_side_effects",
  "tests/test_script_draft.py::test_create_script_draft_from_content_brief",
  "tests/test_script_draft.py::test_validate_script_draft_accepts_retention_led_draft",
  "tests/test_script_draft.py::test_validate_script_draft_enforces_retention_beats_and_duration",
  "tests/test_script_draft.py::test_validate_script_draft_rejects_generic_ai_slop_language",
  "tests/test_script_draft.py::test_validate_script_draft_rejects_missing_core_fields",
  "tests/test_script_drafts.py::test_build_script_draft_has_timed_sections_and_platform_note",
  "tests/test_script_drafts.py::test_build_script_draft_marks_tiktok_rewards_candidate",
  "tests/test_script_drafts.py::test_format_telegram_review_contains_approval_commands",
  "tests/test_script_drafts.py::test_write_review_drafts_creates_one_markdown_per_idea",
  "tests/test_shot_plan.py::test_create_shot_plan_builds_five_retention_scenes_from_script_draft",
  "tests/test_shot_plan.py::test_create_shot_plan_rejects_invalid_script_draft",
  "tests/test_shot_plan.py::test_validate_shot_plan_accepts_default_plan",
  "tests/test_shot_plan.py::test_validate_shot_plan_rejects_bad_timing_and_missing_first_frame_hook",
  "tests/test_shot_plan.py::test_validate_shot_plan_rejects_static_slideshow_and_baked_text",
  "tests/test_shot_planner.py::test_build_shot_plan_creates_five_retention_scenes_for_ai_script",
  "tests/test_shot_planner.py::test_build_shot_plan_uses_card_animation_for_attention_design",
  "tests/test_shot_planner.py::test_write_shot_plans_outputs_selected_markdown_files",
  "tests/test_social_delivery.py::test_prepare_social_draft_delivery_rejects_action_language",
  "tests/test_social_delivery.py::test_prepare_social_draft_delivery_rejects_blank_text",
  "tests/test_social_delivery.py::test_prepare_social_draft_delivery_rejects_long_text",
  "tests/test_social_delivery.py::test_prepare_social_draft_delivery_wraps_review_text_without_side_effects",
  "tests/test_social_draft.py::test_build_social_media_draft_creates_approval_first_post_draft",
  "tests/test_social_draft.py::test_build_social_media_draft_rejects_preview_for_different_script",
  "tests/test_social_draft.py::test_validate_social_media_draft_accepts_default_draft",
  "tests/test_social_draft.py::test_validate_social_media_draft_rejects_missing_approval_and_side_effects",
  "tests/test_social_draft.py::test_validate_social_media_draft_rejects_unsupported_platform_and_blank_fields",
  "tests/test_social_review.py::test_render_social_media_draft_review_creates_telegram_safe_approval_text",
  "tests/test_social_review.py::test_render_social_media_draft_review_rejects_invalid_draft",
  "tests/test_static_caption_segments.py::test_active_word_changes_within_same_static_segment",
  "tests/test_static_caption_segments.py::test_no_one_word_only_caption_mode_as_default_when_enough_words_exist",
  "tests/test_static_caption_segments.py::test_segment_text_remains_stable_while_highlight_moves_left_to_right",
  "tests/test_static_caption_segments.py::test_static_caption_segment_contains_multiple_words",
  "tests/test_strategy_spine_v2.py::test_anti_ai_slop_blocks_generic_hooks_and_slideshow_structure",
  "tests/test_strategy_spine_v2.py::test_approval_command_is_version_and_hash_bound",
  "tests/test_strategy_spine_v2.py::test_build_demo_candidates_v2_returns_one_candidate_per_requested_series",
  "tests/test_strategy_spine_v2.py::test_content_brief_v2_requires_strategic_spine_fields",
  "tests/test_strategy_spine_v2.py::test_quality_gates_block_missing_mechanism_and_first_frame_conflict",
  "tests/test_strategy_spine_v2.py::test_review_package_v2_contains_hashes_strategy_risk_and_approval_command",
  "tests/test_strategy_spine_v2.py::test_series_registry_accepts_new_series_and_rejects_unknown",
  "tests/test_strategy_spine_v2.py::test_strategy_score_v2_uses_100_point_model_and_blocks_low_scores",
  "tests/test_strategy_spine_v2_operational.py::test_ai_disclosure_unclear_blocks_and_realistic_media_requires_manual_review",
  "tests/test_strategy_spine_v2_operational.py::test_anti_example_required_for_autopsy_teardown_red_flags_and_decision_design",
  "tests/test_strategy_spine_v2_operational.py::test_approval_parser_v2_requires_exact_candidate_version_and_hash",
  "tests/test_strategy_spine_v2_operational.py::test_claim_gate_blocks_sourced_and_risky_claims_without_source_but_allows_opinion",
  "tests/test_strategy_spine_v2_operational.py::test_demo_review_batch_v2_limits_to_three_candidates_and_cli_outputs_json",
  "tests/test_strategy_spine_v2_operational.py::test_human_texture_note_is_required_when_human_texture_is_not_none",
  "tests/test_strategy_spine_v2_operational.py::test_review_package_v2_json_is_deterministic_and_roundtrips",
  "tests/test_strategy_spine_v2_operational.py::test_score_v2_is_calibrated_and_not_automatically_100",
  "tests/test_strategy_spine_v2_operational.py::test_to_candidate_v2_creates_valid_candidate_with_linkedin_manual_fit",
  "tests/test_strategy_spine_v2_operational.py::test_workflow_v2_classifies_ready_blocked_and_invalid_candidates",
  "tests/test_subtitle_cues.py::test_build_hormozi_subtitle_track_chunks_text_into_renderer_owned_safe_cues",
  "tests/test_subtitle_cues.py::test_build_hormozi_subtitle_track_rejects_blank_text_and_bad_duration",
  "tests/test_subtitle_cues.py::test_build_hormozi_subtitle_track_uses_continuous_timing_and_emphasis_metadata",
  "tests/test_subtitle_cues.py::test_validate_subtitle_track_rejects_non_renderer_owned_and_overcrowded_cues",
  "tests/test_telegram_review_sender.py::test_prepare_review_delivery_rejects_empty_text",
  "tests/test_telegram_review_sender.py::test_prepare_review_delivery_rejects_overlong_telegram_text",
  "tests/test_telegram_review_sender.py::test_prepare_review_delivery_rejects_publishing_language",
  "tests/test_telegram_review_sender.py::test_prepare_review_delivery_wraps_review_text_without_side_effects",
  "tests/test_testbatch_002.py::test_testbatch_002_meets_retention_threshold",
  "tests/test_testbatch_002.py::test_testbatch_002_pauses_faithtok_and_uses_three_non_religious_pillars",
  "tests/test_truetrace_concept_batch.py::test_render_truetrace_concept_summary_is_reviewable_without_action_language",
  "tests/test_truetrace_concept_batch.py::test_truetrace_concept_batch_contains_five_public_safe_candidates",
  "tests/test_truetrace_concept_batch.py::test_truetrace_concepts_pass_brand_and_series_fit",
  "tests/test_truetrace_preview_packages.py::test_build_top_truetrace_preview_packages_accepts_relative_output_dir",
  "tests/test_truetrace_preview_packages.py::test_build_top_truetrace_preview_packages_renders_three_mp4_approval_packages",
  "tests/test_truetrace_preview_packages.py::test_render_top_truetrace_preview_summary_is_telegram_safe_and_references_three_videos",
  "tests/test_truetrace_production_registry.py::test_existing_asset_check_required_before_render",
  "tests/test_truetrace_production_registry.py::test_format_family_registry_loads_and_uses_current_mix",
  "tests/test_truetrace_production_registry.py::test_no_real_domains_phone_bank_card_data_in_scam_examples",
  "tests/test_truetrace_production_registry.py::test_old_renderer_cannot_be_selected_unless_explicitly_approved",
  "tests/test_truetrace_production_registry.py::test_premium_ai_keyframes_only_required_for_release_candidate",
  "tests/test_truetrace_production_registry.py::test_render_allowed_requires_review_package_and_keyframe_qa",
  "tests/test_truetrace_production_registry.py::test_review_package_required_before_render_and_caption_style_locked",
  "tests/test_truetrace_production_registry.py::test_scam_type_atlas_loads_and_requires_safer_move_and_recovery_steps",
  "tests/test_truetrace_production_registry.py::test_scambaiting_hacking_action_content_blocked",
  "tests/test_truetrace_production_registry.py::test_state_machine_blocks_skipped_stages",
  "tests/test_truetrace_production_registry.py::test_topic_registry_blocks_unmanaged_duplicate_topic",
  "tests/test_truetrace_production_registry.py::test_topic_registry_records_tt003_reference_and_tt002_rejected_learning_case",
  "tests/test_truetrace_production_registry.py::test_visual_policy_blocks_renderer_owned_graphics_and_powerpoint_ui",
  "tests/test_truetrace_production_registry.py::test_website_companion_package_required_before_upload_pack",
  "tests/test_truetrace_production_registry.py::test_website_companion_validates_required_recovery_fields",
  "tests/test_tts_plan.py::test_build_default_truetrace_tts_plan_uses_edge_tts_without_gpu_or_external_api_key",
  "tests/test_tts_plan.py::test_build_tts_ab_test_plan_keeps_magpie_hosted_and_whisper_as_alignment_only",
  "tests/test_tts_plan.py::test_validate_tts_provider_plan_rejects_whisper_as_voice_generation_and_gpu_blocking_default",
  "tests/test_visual_first_final_policy.py::test_final_overlay_policy_allows_captions_and_one_small_label_per_scene",
  "tests/test_visual_first_final_policy.py::test_final_overlay_policy_blocks_large_textbox_over_35_percent",
  "tests/test_visual_first_final_policy.py::test_final_overlay_policy_blocks_more_than_one_label_per_scene",
  "tests/test_visual_first_final_policy.py::test_final_overlay_policy_blocks_preview_cards_and_debug_frames",
  "tests/test_visual_first_final_policy.py::test_visual_first_shot_plan_uses_wan_as_main_visual_layer",
  "tests/test_visual_proof_policy.py::test_animatic_cannot_replace_failed_wan_proof",
  "tests/test_visual_proof_policy.py::test_full_final_requires_accepted_scene_proofs_or_keyframes",
  "tests/test_visual_proof_policy.py::test_i2v_with_start_frame_and_valid_wan_output_is_allowed",
  "tests/test_visual_proof_policy.py::test_prompt_only_generation_blocks_content_visual_proof",
  "tests/test_voiceover.py::test_build_accessible_script_draft_from_voiceover_uses_one_text_source_for_visuals",
  "tests/test_voiceover.py::test_build_truetrace_final_voiceover_for_quiet_rot_is_beginner_friendly_and_concrete",
  "tests/test_voiceover.py::test_build_truetrace_final_voiceover_for_quiet_rot_is_concise_and_retention_led",
  "tests/test_voiceover.py::test_build_truetrace_final_voiceover_has_all_top3_scripts_with_stable_duration",
  "tests/test_voiceover.py::test_validate_final_voiceover_script_rejects_bad_language_duration_and_filler",
  "tests/test_voiceover_finalizer.py::test_finalize_voiceover_keeps_hook_first_and_estimates_duration",
  "tests/test_voiceover_finalizer.py::test_finalize_voiceover_uses_longer_script_for_rewards_candidate",
  "tests/test_voiceover_finalizer.py::test_write_final_scripts_only_writes_selected_ids",
  "tests/test_wan_output_parser.py::test_exit_code_nonzero_blocks_final_success_even_with_file",
  "tests/test_wan_output_parser.py::test_history_item_false_is_ignored_not_interpreted_as_output",
  "tests/test_wan_output_parser.py::test_missing_filename_blocks_history_parsing",
  "tests/test_wan_output_parser.py::test_recovered_nonzero_exit_must_have_valid_video",
  "tests/test_wan_output_parser.py::test_too_short_wan_clip_for_full_final_blocks_or_hard_warns",
  "tests/test_website_companion.py::test_build_update_gate_blocks_unsafe_payload",
  "tests/test_website_companion.py::test_build_website_candidate_merges_review_source",
  "tests/test_website_companion.py::test_export_companion_candidate_writes_website_candidate_json",
  "tests/test_website_companion.py::test_resolve_review_video_path_prefers_existing_media_cache",
  "tests/test_website_companion.py::test_validate_companion_spec_rejects_missing_required_field",
  "tests/test_website_companion.py::test_website_companion_package_is_approval_bound",
  "tests/test_youtube_upload_only.py::test_csv_with_allowed_metrics_imports",
  "tests/test_youtube_upload_only.py::test_csv_with_forbidden_columns_blocks_without_showing_content[author]",
  "tests/test_youtube_upload_only.py::test_csv_with_forbidden_columns_blocks_without_showing_content[comment_text]",
  "tests/test_youtube_upload_only.py::test_csv_with_forbidden_columns_blocks_without_showing_content[external_text]",
  "tests/test_youtube_upload_only.py::test_csv_with_forbidden_columns_blocks_without_showing_content[link]",
  "tests/test_youtube_upload_only.py::test_csv_with_forbidden_columns_blocks_without_showing_content[url]",
  "tests/test_youtube_upload_only.py::test_dry_run_makes_no_external_api_call",
  "tests/test_youtube_upload_only.py::test_execute_private_upload_calls_only_insert_and_thumbnail_when_approved",
  "tests/test_youtube_upload_only.py::test_execute_requires_exact_explicit_approval",
  "tests/test_youtube_upload_only.py::test_hash_mismatch_and_missing_disclosures_blocked",
  "tests/test_youtube_upload_only.py::test_learning_report_never_includes_raw_external_text_and_calls_no_youtube_api",
  "tests/test_youtube_upload_only.py::test_notes_by_user_length_capped",
  "tests/test_youtube_upload_only.py::test_public_unlisted_and_publish_at_blocked",
  "tests/test_youtube_upload_only.py::test_raw_comment_text_rule_and_endpoints_blocked",
  "tests/test_youtube_upload_only.py::test_token_with_broad_youtube_scopes_rejected[https://www.googleapis.com/auth/youtube.force-ssl]",
  "tests/test_youtube_upload_only.py::test_token_with_broad_youtube_scopes_rejected[https://www.googleapis.com/auth/youtube.readonly]",
  "tests/test_youtube_upload_only.py::test_token_with_broad_youtube_scopes_rejected[https://www.googleapis.com/auth/youtube]",
  "tests/test_youtube_upload_only.py::test_token_with_broad_youtube_scopes_rejected[https://www.googleapis.com/auth/youtubepartner]",
  "tests/test_youtube_upload_only.py::test_token_with_broad_youtube_scopes_rejected[https://www.googleapis.com/auth/yt-analytics-monetary.readonly]",
  "tests/test_youtube_upload_only.py::test_token_with_broad_youtube_scopes_rejected[https://www.googleapis.com/auth/yt-analytics.readonly]",
  "tests/test_youtube_upload_only.py::test_token_with_youtube_upload_scope_accepted",
  "tests/test_youtube_upload_only.py::test_unknown_external_text_column_blocks",
  "tests/test_youtube_upload_only.py::test_upload_only_mode_cannot_call_analytics_or_comments_api"
]