fix(api-tools): isolate processor audit deduplication and validate builder inputs

LANG-230

Co-authored-by: multica-agent <[email protected]>
This commit is contained in:
RockChinQ
2026-10-31 19:00:00 +08:00
co-authored by multica-agent
parent 0f7ee5775e
commit a7ef3104ec
3 changed files with 22 additions and 13 deletions
+3
View File
@@ -265,12 +265,14 @@ class ApplicationAPI:
resource_id = next(iter(identity.values()))
detail = {'operation': spec.operation_id, 'version': spec.version}
actor_name = None
dedupe_actor = None
if context.principal.principal_type == PrincipalType.PROCESSOR:
actor_name = (
f'{context.principal.processor_kind}:{context.principal.processor_uuid}'
if context.principal.processor_kind
else context.principal.processor_uuid
)
dedupe_actor = f'processor:{context.principal.processor_uuid}:{context.principal.run_id}'
detail.update(
{
'processor_kind': context.principal.processor_kind,
@@ -297,6 +299,7 @@ class ApplicationAPI:
status_code=status,
detail=detail,
duration_ms=int((time.monotonic() - observed_at) * 1000),
dedupe_actor=dedupe_actor,
)
except Exception:
# Audit failures must preserve the original operation result or error.