From 1b426a082df5b9190115a9d67c72d801f08ec125 Mon Sep 17 00:00:00 2001 From: a2a-cloud Date: Mon, 13 Jul 2026 11:05:30 +0000 Subject: [PATCH] a2a-source-edit: write agent.py --- agent.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/agent.py b/agent.py index 0ab31d6..dcd9485 100644 --- a/agent.py +++ b/agent.py @@ -760,9 +760,16 @@ def _analyze_snapshots(tenant_id: str, snapshots: SnapshotBundle, policy: Policy if duplicate_invoices: unknowns.append(f"Duplicate invoices suppressed from amount totals: {len(duplicate_invoices)}") - findings = [item for item in findings if item.recoverable_amount >= 0] - findings.sort(key=lambda item: (-item.recoverable_amount, item.customer_token, item.leakage_type.value)) - return findings, sorted(set(unknowns)) + nonnegative_findings: list[LeakageFinding] = [] + for finding in findings: + if finding.recoverable_amount >= 0: + nonnegative_findings.append(finding) + nonnegative_findings.sort(key=_finding_sort_key) + return nonnegative_findings, sorted(set(unknowns)) + + +def _finding_sort_key(finding: LeakageFinding) -> tuple[float, str, str]: + return (-finding.recoverable_amount, finding.customer_token, finding.leakage_type.value) def _finding(tenant_id: str, customer_id: str, leakage_type: LeakageType, amount: float, currency: str, confidence: float, confidence_level: float, evidence: list[str], blockers: list[str], action: RecoveryAction) -> LeakageFinding: