{"service":"wever-agent-roles-checks-v1","category":"Agent Roles","family":"Agent Roles","page":"https://weverlabs.com/agent-roles/","tools":{"wever_role-definition-check":{"path":"/api/role-definition-check","kind":"check","receipt_type":"wever.role-definition-check.v1","schema":{"type":"object","additionalProperties":false,"required":["role"],"properties":{"role":{"type":"object","additionalProperties":false,"required":[],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"title":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"version":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"purpose":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Why the role exists."},"tasks":{"type":"array","minItems":0,"maxItems":200,"items":{"type":"object","additionalProperties":false,"required":["task"],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"task":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"outcome":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"What the task delivers."}}},"description":"Tasks in scope."},"exclusions":{"type":"array","minItems":0,"maxItems":200,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"Tasks out of scope."},"measures":{"type":"array","minItems":0,"maxItems":50,"items":{"type":"object","additionalProperties":false,"required":["measure"],"properties":{"measure":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"target":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Such as under 4 hours or 98%."}}},"description":"Success measures."},"decisions":{"type":"array","minItems":0,"maxItems":50,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"Decisions the role may make alone."},"text":{"type":"string","minLength":1,"maxLength":20000,"pattern":"\\S","description":"The role description as written, read for wording such as other duties as assigned, as needed or help with anything."}}},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["purpose","tasks","exclusions","success","wording","counts","findings","fixes","would_change"],"verdicts":["role_definition_vague","role_definition_partial","role_definition_unverified","role_definition_clear"]},"wever_role-owner-check":{"path":"/api/role-owner-check","kind":"check","receipt_type":"wever.role-owner-check.v1","schema":{"type":"object","additionalProperties":false,"required":["role"],"properties":{"role":{"type":"object","additionalProperties":false,"required":[],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"title":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"changed_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"When the role last changed hands or was rewritten, such as 2026-11-20."},"text":{"type":"string","minLength":1,"maxLength":20000,"pattern":"\\S","description":"The description as written; its first line is read for the owner."}}},"owner":{"type":"object","additionalProperties":false,"required":[],"properties":{"name":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"kind":{"enum":["person","team","agent","placeholder"]},"at_top":{"type":"boolean","description":"Whether the description names the owner at the top."},"authority":{"type":"array","minItems":0,"maxItems":5,"items":{"enum":["scope","permissions","delegation","handoff","retirement"]},"description":"What the owner decides for the role."},"assigned_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"When the owner took the role, such as 2026-11-20."},"confirmed_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"When the owner last confirmed it, such as 2026-11-20."},"active":{"type":"boolean","description":"Whether the owner is still in post."}}},"backup":{"type":"object","additionalProperties":false,"required":[],"properties":{"name":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"kind":{"enum":["person","team","agent","placeholder"]}}},"read_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The date ownership is read at, such as 2026-11-20."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["owner","authority","backup","currency","counts","findings","fixes","would_change"],"verdicts":["role_owner_missing","role_owner_partial","role_owner_unverified","role_owner_named"]},"wever_role-permission-match-check":{"path":"/api/role-permission-match-check","kind":"check","receipt_type":"wever.role-permission-match-check.v1","schema":{"type":"object","additionalProperties":false,"required":["role"],"properties":{"role":{"type":"object","additionalProperties":false,"required":[],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"title":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"version":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"effective_from":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"When this version of the role took effect, such as 2026-11-20."}}},"needs":{"type":"array","minItems":0,"maxItems":500,"items":{"type":"object","additionalProperties":false,"required":["system","level"],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"system":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"level":{"enum":["read","write","admin","owner"]},"why":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"}}},"description":"Permissions the written role calls for."},"held":{"type":"array","minItems":0,"maxItems":500,"items":{"type":"object","additionalProperties":false,"required":["id","system"],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"system":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"level":{"enum":["read","write","admin","owner"]},"granted_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"A date, such as 2026-11-20."},"last_used":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"A date, such as 2026-11-20."},"source":{"enum":["role","direct","inherited","copied"],"description":"How it was granted."}}},"description":"Permissions the agent holds now."},"read_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The date access is read at, such as 2026-11-20."},"unused_days":{"type":"integer","minimum":1,"maximum":3650,"description":"Days without use after which a permission counts as unused; 90 when left out."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["role","permissions","needs","counts","findings","fixes","would_change"],"verdicts":["role_permissions_mismatched","role_permissions_partial","role_permissions_unverified","role_permissions_matched"]},"wever_role-scope-boundary-check":{"path":"/api/role-scope-boundary-check","kind":"check","receipt_type":"wever.role-scope-boundary-check.v1","schema":{"type":"object","additionalProperties":false,"required":["role"],"properties":{"role":{"type":"object","additionalProperties":false,"required":[],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"title":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"scope":{"type":"array","minItems":0,"maxItems":200,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"Work the role covers."},"exclusions":{"type":"array","minItems":0,"maxItems":200,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"Work the role excludes."}}},"work":{"type":"array","minItems":0,"maxItems":1000,"items":{"type":"object","additionalProperties":false,"required":["id","match"],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"task":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"match":{"enum":["in_scope","out_of_scope","unlisted"],"description":"How the task sits against the role."},"route":{"enum":["done","escalated","refused","handed_off"]},"approved_by":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"}}},"description":"Work the agent took on."},"escalation":{"type":"object","additionalProperties":false,"required":[],"properties":{"triggers":{"type":"array","minItems":0,"maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["trigger"],"properties":{"trigger":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"to":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"within_hours":{"type":"integer","minimum":0,"maximum":8760}}}},"text":{"type":"string","minLength":1,"maxLength":20000,"pattern":"\\S","description":"Read for judgment wording such as when appropriate or if needed."}}},"refusal":{"type":"object","additionalProperties":false,"required":[],"properties":{"path":{"enum":["refuse_and_tell","hand_off","escalate","none"],"description":"What happens to excluded work."},"to":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"}}},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["boundaries","work","escalation","refusal","counts","findings","fixes","would_change"],"verdicts":["role_scope_open","role_scope_partial","role_scope_unverified","role_scope_bounded"]},"wever_role-handoff-check":{"path":"/api/role-handoff-check","kind":"check","receipt_type":"wever.role-handoff-check.v1","schema":{"type":"object","additionalProperties":false,"required":["handoff"],"properties":{"handoff":{"type":"object","additionalProperties":false,"required":[],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"role":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"from":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"to":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"When the role changed hands, such as 2026-11-20."}}},"description":{"type":"object","additionalProperties":false,"required":[],"properties":{"before_version":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"after_version":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"rewritten_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"A date, such as 2026-11-20."},"rewritten_by":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"changes":{"type":"array","minItems":0,"maxItems":200,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"What the rewrite changed."},"text":{"type":"string","minLength":1,"maxLength":20000,"pattern":"\\S","description":"The handoff note, read for wording such as as is, unchanged or same as before."}}},"revocation":{"type":"object","additionalProperties":false,"required":[],"properties":{"revoked_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"A date, such as 2026-11-20."},"items":{"type":"array","minItems":0,"maxItems":500,"items":{"type":"object","additionalProperties":false,"required":["permission","revoked"],"properties":{"permission":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"revoked":{"type":"boolean"}}},"description":"The prior holder’s permissions."}}},"acceptance":{"type":"object","additionalProperties":false,"required":[],"properties":{"accepted":{"type":"boolean"},"accepted_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"A date, such as 2026-11-20."},"recorded_in":{"enum":["role_record","ticket","message","none"]}}},"open_work":{"type":"object","additionalProperties":false,"required":[],"properties":{"listed":{"type":"boolean","description":"Whether open work was listed at the handoff."},"items":{"type":"array","minItems":0,"maxItems":500,"items":{"type":"object","additionalProperties":false,"required":["id","item"],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"item":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"assigned_to":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"}}}}}},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["handoff","description","revocation","acceptance","open_work","counts","findings","fixes","would_change"],"verdicts":["role_handoff_inherited","role_handoff_partial","role_handoff_unverified","role_handoff_rewritten"]},"wever_role-review-check":{"path":"/api/role-review-check","kind":"check","receipt_type":"wever.role-review-check.v1","schema":{"type":"object","additionalProperties":false,"required":["role"],"properties":{"role":{"type":"object","additionalProperties":false,"required":[],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"title":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"version":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"holder":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"}}},"schedule":{"type":"object","additionalProperties":false,"required":[],"properties":{"cadence":{"enum":["monthly","quarterly","semiannual","yearly","none"]},"next_due":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"A date, such as 2026-11-20."},"reviewer":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"}}},"history":{"type":"array","minItems":0,"maxItems":500,"items":{"type":"object","additionalProperties":false,"required":["id","date"],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"date":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"A date, such as 2026-11-20."},"reviewer":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"outcome":{"enum":["confirmed","changed","retired"]}}},"description":"Reviews on record."},"changes":{"type":"array","minItems":0,"maxItems":200,"items":{"type":"object","additionalProperties":false,"required":["id","date"],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"date":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"A date, such as 2026-11-20."},"change":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Such as a new task, system or tool."}}},"description":"Changes to the role’s work."},"read_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The date the review is read at, such as 2026-11-20."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["schedule","reviews","changes","counts","findings","fixes","would_change"],"verdicts":["role_review_stale","role_review_partial","role_review_unverified","role_review_current"]},"wever_role-separation-check":{"path":"/api/role-separation-check","kind":"check","receipt_type":"wever.role-separation-check.v1","schema":{"type":"object","additionalProperties":false,"required":["roles"],"properties":{"agent":{"type":"object","additionalProperties":false,"required":[],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"name":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"}}},"roles":{"type":"array","minItems":1,"maxItems":50,"items":{"type":"object","additionalProperties":false,"required":["id"],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"title":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"duties":{"type":"array","minItems":0,"maxItems":8,"items":{"enum":["initiate","approve","execute","record","reconcile","review","pay","custody"]}}}},"description":"The roles one agent holds."},"conflicts":{"type":"array","minItems":0,"maxItems":50,"items":{"type":"object","additionalProperties":false,"required":["a","b"],"properties":{"a":{"enum":["initiate","approve","execute","record","reconcile","review","pay","custody"]},"b":{"enum":["initiate","approve","execute","record","reconcile","review","pay","custody"]}}},"description":"Duty pairs that must sit apart; six house pairs when left out."},"approvals":{"type":"array","minItems":0,"maxItems":2000,"items":{"type":"object","additionalProperties":false,"required":["id"],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"item":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"made_by":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"approved_by":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"}}},"description":"Work and who approved it."},"declared":{"type":"array","minItems":0,"maxItems":50,"items":{"type":"object","additionalProperties":false,"required":["a","b"],"properties":{"a":{"enum":["initiate","approve","execute","record","reconcile","review","pay","custody"]},"b":{"enum":["initiate","approve","execute","record","reconcile","review","pay","custody"]},"mitigation":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"}}},"description":"Conflicts declared."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["roles","conflicts","approvals","declared","counts","findings","fixes","would_change"],"verdicts":["role_separation_conflicted","role_separation_partial","role_separation_unverified","role_separation_clean"]},"wever_role-delegation-check":{"path":"/api/role-delegation-check","kind":"check","receipt_type":"wever.role-delegation-check.v1","schema":{"type":"object","additionalProperties":false,"required":["role"],"properties":{"role":{"type":"object","additionalProperties":false,"required":[],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"title":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"owner":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"register":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Where delegations must be recorded."},"delegable":{"type":"array","minItems":0,"maxItems":200,"items":{"type":"object","additionalProperties":false,"required":["duty","allowed"],"properties":{"duty":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"allowed":{"type":"boolean"},"max_days":{"type":"integer","minimum":0,"maximum":3650},"max_amount":{"type":"number","minimum":0,"maximum":1000000000000},"unit":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"}}},"description":"What the role lets be delegated, as written."}}},"delegations":{"type":"array","minItems":0,"maxItems":500,"items":{"type":"object","additionalProperties":false,"required":["id","duty"],"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"duty":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"delegate":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"by":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"amount":{"type":"number","minimum":0,"maximum":1000000000000},"unit":{"type":"string","minLength":1,"maxLength":80,"pattern":"\\S"},"starts":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"A date, such as 2026-11-20."},"expires":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"A date, such as 2026-11-20."},"accountable":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"recorded_in":{"enum":["role_register","delegation_record","message","none"]}}},"description":"Delegations of the role in effect."},"read_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The date delegations are read at, such as 2026-11-20."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["role","delegations","counts","findings","fixes","would_change"],"verdicts":["role_delegation_unbounded","role_delegation_partial","role_delegation_unverified","role_delegation_bounded"]}},"free_tools":{"endpoint":"https://weverlabs.com/mcp-free","output":"unsigned; the final line names the main /mcp tools","tools":{"wever_role-snapshot":{"reads":"optionally the situation in hand and the names of the records in hand","returns":"the eight role checks, what each reads, its four verdicts and when each fits, with the checks that fit the situation first"},"wever_role-definition-sample":{"samples":"wever_role-definition-check","reads":"an optional synthetic role","returns":"one synthetic role written clearly beside the same role written vaguely, both read by the definition check’s own reading, with the purpose, tasks, exclusions, success measures, wording and decisions annotated"}}},"limits":{"all_supplied_text":"512 KB per call","report":"1 MB","max_request_bytes":3211264,"tasks":200,"exclusions":200,"measures":50,"decisions":50,"authority":5,"permissions":500,"work":1000,"triggers":100,"revocations":500,"changes":200,"open_work":500,"history":500,"roles":50,"duties":8,"conflicts":50,"approvals":2000,"declared":50,"delegable":200,"delegations":500},"material":"Each tool reads only the role’s own records in the call: the role description, the role’s owner and backup with the date it last changed hands, the permissions held against the permissions the written role calls for, the work taken on against the role’s scope with its escalation triggers and refusal path, a change of holder with the rewrite, revocation, acceptance and open work, the review schedule with its record and the changes to the work, the duties across the roles one agent holds with its approvals and declarations, or the delegations of the role against what the role lets be delegated. Every status and verdict is decided from that material, and each report names the evidence read, the findings, the fixes and what would change the verdict; the report makes no network request or fetch, contacts no agent, owner, delegate or counterparty, moves no money and writes nothing outside the report.","basis":"This report reads only the role’s own records in the call, and decides every status and verdict from them.","related":{"onboarding_permissions":"wever_onboarding-permissions-check","onboarding_readiness":"wever_onboarding-readiness-check","authority_scope":"wever_authority-scope-check","delegation_scope":"wever_delegation-scope-check","delegation_expiry":"wever_delegation-expiry-check","delegation_record":"wever_delegation-record-check","handoff_acceptance":"wever_handoff-acceptance-check","incident_ownership":"wever_incident-ownership-check","goal_statement":"wever_goal-statement-check","approval_chain":"wever_approval-chain-check"},"pricing":{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pricesAtomic":{"/api/role-definition-check":"100000","/api/role-owner-check":"100000","/api/role-permission-match-check":"100000","/api/role-scope-boundary-check":"100000","/api/role-handoff-check":"100000","/api/role-review-check":"100000","/api/role-separation-check":"100000","/api/role-delegation-check":"100000"},"x402Version":2,"scheme":"exact","freeTier":{"calls":10,"windowDays":30,"scope":"all_paid_endpoints","walletProofMaxAgeSeconds":300}},"wallet_proof":"Sign the exact JSON arguments and the tool route with X-Wever-Wallet-Proof. Retry an unchanged payment or wallet-proof request to recover its stored report.","signing":{"issuer":"https://weverlabs.com/api/agent-roles-contract","key_id":"wever-trust-20261001","public_jwk":{"crv":"Ed25519","x":"PG6bYTJfqh-Y7YEMzxNVhMsFkrO1XnX7djPUvNi9g_U","kty":"OKP"},"algorithm":"Ed25519","receipt_types":{"role-definition-check":"wever.role-definition-check.v1","role-owner-check":"wever.role-owner-check.v1","role-permission-match-check":"wever.role-permission-match-check.v1","role-scope-boundary-check":"wever.role-scope-boundary-check.v1","role-handoff-check":"wever.role-handoff-check.v1","role-review-check":"wever.role-review-check.v1","role-separation-check":"wever.role-separation-check.v1","role-delegation-check":"wever.role-delegation-check.v1"},"jwt_type":"wever-agent-roles+jwt","digest":"SHA-256 of UTF-8 JSON.stringify(report), preserving returned property order. Verify the JWS signature and the report_sha256 and subject_sha256 claims."}}