{"record":{"id":"be9a4a9cdb640a9d","repo":"affaan-m/ECC","slug":"trust-gate-rejected-verdict-did-verdict-verdic","errorCode":null,"errorMessage":"trust gate rejected {verdict.did}: {verdict.verdict} — {verdict.reason}","messagePattern":"trust gate rejected (.+?): (.+?) — (.+?)","errorType":"exception","errorClass":"AuraUntrusted","httpStatus":null,"severity":"error","filePath":"integrations/aura/adapter.py","lineNumber":209,"sourceCode":"            settle_payment(counterparty_did, amount)\n        except AuraUntrusted as e:\n            abort(str(e))\n\n    Explicitly allow brand-new agents in an onboarding flow:\n        before_settle(did, allow=(\"trusted\", \"caution\", \"new\"))\n\n    fail_open=True makes an *unreachable* AURA pass through (transport failure\n    only — a reachable AURA that returns `unknown` is still rejected). Off by\n    default — absence of evidence is not evidence of trust.\n    \"\"\"\n    v = aura_verdict(did, base_url=base_url, timeout=timeout, _fetch=_fetch)\n\n    if v.verdict in allow:\n        return v\n    # fail_open only excuses a transport failure, never a reachable `unknown`.\n    if fail_open and not v.reachable:\n        return v\n    raise AuraUntrusted(v)\n\n\n# Alias — same gate, name that reads better at non-payment call sites.\nrequire_trust = before_settle\n","sourceCodeStart":191,"sourceCodeEnd":214,"githubUrl":"https://github.com/affaan-m/ECC/blob/01e15490f04e29cfefe3896951f43db46994d8ee/integrations/aura/adapter.py#L191-L214","documentation":"Error \"trust gate rejected {verdict.did}: {verdict.verdict} — {verdict.reason}\" thrown in affaan-m/ECC.","triggerScenarios":"Thrown at integrations/aura/adapter.py:209 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["The AURA trust verdict was not in the allow list. Check verdict.reason to see why the DID scored as untrusted and resolve the underlying reputation issue before settling.","If the failure was a transport error and your policy permits it, call before_settle(..., fail_open=True); a reachable 'unknown' verdict is never excused.","Add the expected verdict to the allow list only if your risk policy explicitly accepts it."],"exampleFix":"v = aura_verdict(did)\nif not v.reachable:\n    before_settle(did, fail_open=True)  # only transport failures may fail open","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"01e15490f04e29cfefe3896951f43db46994d8ee","analyzedAt":"2026-08-13T00:31:08.655Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}