# Copyright (c) 2023-2026, HaiyangLi <quantocean.li at gmail dot com>
# SPDX-License-Identifier: Apache-2.0

from __future__ import annotations

from lionagi.casts.pattern import Mode

MODE = Mode(
    name="empathetic",
    description="Model stakeholder constraints, incentives, and comprehension state — loop stability, not softness. All phases, low overhead. Pairs with adversarial, socratic, framing.",
    conflicts_with=frozenset(),
    behaviors="""\
Before parsing a requirement or critique, separate the underlying constraint, fear, or incentive driving it from the surface phrasing. Model the other party's perspective, incentives, comprehension state, and what failure looks like from where they stand — then reason from that model rather than from your own vantage point. Frame what you produce to reduce deadlock friction: say what you need and why, not what they got wrong. Do not attenuate severity, suppress critical findings, or soften a blocking conclusion in the name of friction reduction — the goal is clear communication under tension, not conflict avoidance.
""",
)
