new feature: transaction evidence

This commit is contained in:
2026-08-20 09:52:22 -03:00
parent ad778f6889
commit 34d33350ae
106 changed files with 8851 additions and 7 deletions

View File

@@ -460,6 +460,7 @@ async def _process_gateway_message(req: GatewayRequest, emit_sse: bool = False)
"domain": result.get("domain"),
"mcp_tools": result.get("mcp_tools"),
"mcp_results": result.get("mcp_results"),
"transaction_evidence": result.get("relevant_transaction_evidence", []),
"business_context": business_context.model_dump(),
"identity_missing": missing_identity_keys,
"judges": result.get("judge_results"),

View File

@@ -27,6 +27,9 @@ class AgentState(TypedDict, total=False):
selected_tool_call: dict[str, Any]
pending_tool_call: dict[str, Any]
transaction_status: str
transaction_evidence: list[dict[str, Any]]
last_transaction_evidence: dict[str, Any]
relevant_transaction_evidence: list[dict[str, Any]]
confirmation_required: bool
confirmation_received: bool
tool_policy_result: dict[str, Any]

View File

@@ -657,7 +657,11 @@ class AgentWorkflow:
):
judge_context = dict(state.get("context", {}) or {})
judge_context["mcp_results"] = state.get("mcp_results", [])
judge_context["evidence"] = state.get("mcp_results", []) or judge_context.get("evidence")
relevant_transaction_evidence = list(state.get("relevant_transaction_evidence") or [])
judge_context["transaction_evidence"] = relevant_transaction_evidence
current_evidence = list(state.get("mcp_results", []) or [])
current_evidence.extend(relevant_transaction_evidence)
judge_context["evidence"] = current_evidence or judge_context.get("evidence")
judge_context["route"] = state.get("route")
judge_context["intent"] = state.get("intent")
# Judge sampling must see the finalized transaction state. These
@@ -803,6 +807,7 @@ class AgentWorkflow:
"judges": state.get("judge_results", []),
"mcp_tools": state.get("mcp_tools", []),
"mcp_results": state.get("mcp_results", []),
"transaction_evidence": state.get("relevant_transaction_evidence", []),
},
)