"""E2E10 fix④ Codex BLOCKING-1 — background_share_plan hard dependency 잠금.

콘티 스텝(apply_share_plan_prev)과 스틸 서비스(prev 상위 권위+groupbg 묶음
SOT)가 share_plan CP 를 직접 소비 — targeted rerun/force 후 stale 전파가
manifest 의존성으로 보장돼야 한다. flag OFF=not_applicable=satisfied.
"""
from app.core.step_catalog import get_depends_on


def test_shot_conti_light_depends_on_share_plan():
    assert "background_share_plan" in get_depends_on("shot_conti_light")


def test_scene_image_pipeline_depends_on_share_plan():
    assert "background_share_plan" in get_depends_on("scene_image_pipeline")


def test_share_plan_is_flag_gated_applicability():
    # OFF 시 not_applicable=satisfied 전제(정적 추가 안전)의 근거 잠금
    from app.core.step_catalog import get_entry

    assert get_entry("background_share_plan").applicability == (
        "if_background_share_plan"
    )
