PERSUASIVE_MARKERS = [
    "should", "must", "need to",
    "recommend", "strongly recommend",
    "suggest", "urge", "encourage",
    "it is better to", "you should",
    "we should", "i advise"
]

INFORMATIVE_MARKERS = [
    "explains", "describes", "reports",
    "according to", "is defined as",
    "refers to", "consists of"
]
PERSUASIVE_INTENT_VERBS = [
    "recommend", "suggest", "advise",
    "encourage", "urge"
]


def persuasive_rule(text: str) -> int:
    """
    Returns:
        1 -> Persuasive
        0 -> Informative
    """
    t = text.lower()

    # Strong persuasive intent
    for m in PERSUASIVE_MARKERS:
        if m in t:
            return 1

    # Strong informative framing
    for m in INFORMATIVE_MARKERS:
        if m in t:
            return 0

    # No strong signal
    return 0
