defmodule HiiveRisk.Policy do @moduledoc "Research routing policy, not a calibrated production threshold." def decision(record, scores) do eligible = scores["p_review"] < 0.02 and scores["answer_mass"] >= 0.95 and not record.signals["unusual_input"] and not record.signals["conflicting_evidence"] audit = eligible and record.audit_sample if eligible and not audit do %{ status: "completed", disposition: "auto_clear", decision: scores, audit: false, assessed_at: DateTime.utc_now(), last_error: nil } else %{status: "pending_sft", decision: scores, audit: audit, last_error: nil} end end def sft(record, verdict) do disagreement = record.decision["p_review"] >= 0.5 != verdict["risk_level"] >= 3 escalated = record.signals["conflicting_evidence"] or disagreement %{ status: "completed", disposition: if(escalated, do: "escalate", else: "human_review"), verdict: verdict, risk_level: verdict["risk_level"], reasons: verdict["reasons"], assessed_at: DateTime.utc_now(), last_error: nil } end end