Ctrl K
ComunidadGuías…

butler/eval_integration/suites/agent_weekly_suite.py

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
"""Agent weekly KPI suite (TCR + Pass@3)."""

from __future__ import annotations

from butler.contracts.eval_ports import SuiteRunResult


class AgentWeeklySuite:
    suite_id = "agent_weekly"
    layer = "L-D"

    def run(
        self,
        *,
        warn_only: bool = False,
        sync_dataset: bool = False,
        push_langfuse: bool | None = None,
    ) -> SuiteRunResult:
        from butler.ops.agent_eval_weekly import build_weekly_report

        report = build_weekly_report()
        dims = report.get("dimensions") or {}
        rel = dims.get("reliability") or {}
        ok = True
        tcr = rel.get("tcr")
        if tcr is not None and float(tcr) < 0.98 and not warn_only:
            ok = False
        return SuiteRunResult(
            suite_id=self.suite_id,
            ok=ok,
            layer=self.layer,
            metrics={
                "tcr": rel.get("tcr"),
                "pass_at_3": rel.get("pass_at_3"),
                "cup_strict": (dims.get("safety") or {}).get("cup_strict"),
            },
        )