new feature: transaction evidence

This commit is contained in:
2026-08-20 09:50:53 -03:00
parent 9df2467deb
commit 13948af461
111 changed files with 8870 additions and 9 deletions

View File

@@ -463,6 +463,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

@@ -30,6 +30,9 @@ class AgentState(TypedDict, total=False):
pending_domain_workflow: dict[str, Any]
business_workflows_executed: list[str]
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

@@ -733,7 +733,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
@@ -879,6 +883,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", []),
},
)