code editor: Agent Studio improvement iteration 3 for quote-judge-studio-v1. Goal:

This commit is contained in:
a2a-code-editor
2026-07-18 06:25:57 +00:00
parent 920c290db7
commit 9a72ee38fe

View File

@@ -1,6 +1,7 @@
"""QuoteJudge Studio v1: deterministic quote comparison with durable per-user state.""" """QuoteJudge Studio v1: deterministic quote comparison with durable per-user state."""
from __future__ import annotations from __future__ import annotations
import asyncio
import base64 import base64
import csv import csv
import hashlib import hashlib
@@ -127,7 +128,7 @@ class QuoteJudgeStudioV1(A2AAgent[QuoteJudgeStudioV1Config, PlatformUserAuth]):
"scoring, persists per-user comparisons, supports browser uploads, and serves " "scoring, persists per-user comparisons, supports browser uploads, and serves "
"a polished packed product UI." "a polished packed product UI."
) )
version = "0.1.2" version = "0.1.3"
config_model = QuoteJudgeStudioV1Config config_model = QuoteJudgeStudioV1Config
auth_model = PlatformUserAuth auth_model = PlatformUserAuth
@@ -189,10 +190,21 @@ class QuoteJudgeStudioV1(A2AAgent[QuoteJudgeStudioV1Config, PlatformUserAuth]):
}, },
result=result, result=result,
) )
persisted = _persist_comparison(tenant, comparison_id, result, receipt) persisted = await asyncio.to_thread(_persist_comparison, tenant, comparison_id, result, receipt)
if not persisted["ok"]:
return {
"ok": False,
"code": persisted["code"],
"comparison_id": comparison_id,
"receipt": {
"receipt_id": receipt["receipt_id"],
"persisted": False,
"created_at": receipt["created_at"],
},
}
result["receipt"] = { result["receipt"] = {
"receipt_id": receipt["receipt_id"], "receipt_id": receipt["receipt_id"],
"persisted": persisted["ok"], "persisted": True,
"created_at": receipt["created_at"], "created_at": receipt["created_at"],
} }
if persisted.get("warning"): if persisted.get("warning"):
@@ -214,7 +226,7 @@ class QuoteJudgeStudioV1(A2AAgent[QuoteJudgeStudioV1Config, PlatformUserAuth]):
tenant = _tenant_key(ctx) tenant = _tenant_key(ctx)
if not _valid_comparison_id(comparison_id): if not _valid_comparison_id(comparison_id):
return {"ok": False, "code": "invalid_comparison_id", "comparison_id": comparison_id} return {"ok": False, "code": "invalid_comparison_id", "comparison_id": comparison_id}
record = _load_comparison(tenant, comparison_id) record = await asyncio.to_thread(_load_comparison, tenant, comparison_id)
if record is None: if record is None:
return {"ok": False, "code": "comparison_not_found", "comparison_id": comparison_id} return {"ok": False, "code": "comparison_not_found", "comparison_id": comparison_id}
result = dict(record["result"]) result = dict(record["result"])