amplegest / agent /reliability.py
Viney's picture
feat: multi-provider LLM support, prominent chat, design pass, and new analytics
7880373
Raw
History Blame Contribute Delete
1.34 kB
from typing import Optional
def reliability_for(
source: str,
section: Optional[str] = None,
age_days: Optional[int] = None,
corroborated: bool = False,
verification_status: Optional[str] = None,
) -> str:
"""Compute reliability level for a sourced fact.
Args:
source: "10-K", "10-Q", "transcript", or "news"
section: e.g. "MD&A", "Risk Factors", "transcript"
age_days: how many days old the source is (None = unknown)
corroborated: True if the same claim appears in ≥2 independent sources
Returns:
"HIGH", "MEDIUM", or "LOW"
"""
# Fail closed: absence of deterministic verification is never promotable.
if verification_status != "VERIFIED":
return "LOW"
if source in ("10-K", "10-Q"):
if section == "Risk Factors":
return "MEDIUM"
return "HIGH"
if source == "transcript":
return "MEDIUM"
# The metrics tool emits only rows with verified SEC period lineage. Analyst
# data still lacks a licensed historical point-in-time snapshot.
if source == "metrics":
return "HIGH"
if source == "analyst":
return "LOW"
if source == "news":
if age_days is not None and age_days > 30:
return "LOW"
return "LOW"
return "LOW" # unknown source