{"service":"wever-agent-memory-checks-v1","category":"Agent Memory","family":"Agent Memory","page":"https://weverlabs.com/agent-memory/","tools":{"wever_memory-scope-check":{"path":"/api/memory-scope-check","kind":"check","receipt_type":"wever.memory-scope-check.v1","schema":{"type":"object","additionalProperties":false,"required":[],"properties":{"system":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The agent, such as the travel assistant."},"scope":{"type":"object","additionalProperties":false,"required":[],"properties":{"written":{"type":"boolean","description":"The memory scope is written down where the operator and the principal can read it, not only set in code or left to the model."},"keeps":{"type":"array","minItems":0,"maxItems":100,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"Categories the agent keeps, such as preferences, task history or facts the principal stated."},"excludes":{"type":"array","minItems":0,"maxItems":100,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"Categories excluded by rule, such as card numbers, health details or other people’s contact details."},"keyed_by":{"enum":["principal","global","mixed"],"description":"Whether memory is kept apart per principal, in one global store every principal shares, or a mix of the two."},"retention":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The retention headline, such as 12 months after the last task."},"decided_by":{"enum":["rule","model","both"],"description":"What decides that something is written to memory: a written rule, the model’s own judgment, or both."}}},"categories":{"type":"array","minItems":0,"maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The category, such as seat preference."},"kind":{"enum":["principal_facts","task_history","preferences","contacts","credentials","payment_details","health","location","inferences","other"],"description":"What it is: facts about the principal, task history, preferences, contacts, credentials, payment details, health details, location, inferences, or something else."},"kept":{"type":"boolean","description":"The category is kept; false when it is excluded by rule."},"decided_by":{"enum":["rule","model"],"description":"What decides a write in this category: a written rule or the model’s judgment."},"keyed_by":{"enum":["principal","global"],"description":"Whether this category is kept per principal or in the shared store."},"purpose":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Why it is kept, such as to book the seat the principal prefers."}}},"description":"Each category of memory, kept or excluded."},"memories":{"type":"array","minItems":0,"maxItems":1000,"items":{"type":"object","additionalProperties":false,"required":["id","category"],"properties":{"id":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"category":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The category the stored memory sits in, by name."},"principal":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Whose memory it is."}}},"description":"Stored memories seen, to find writes outside the scope."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["memory_scope","categories","memories","findings","fixes"],"verdicts":["keeps_too_much","scope_gaps","scope_unverified","scope_bounded"]},"wever_memory-provenance-check":{"path":"/api/memory-provenance-check","kind":"check","receipt_type":"wever.memory-provenance-check.v1","schema":{"type":"object","additionalProperties":false,"required":["memories"],"properties":{"system":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The agent, such as the travel assistant."},"design":{"type":"object","additionalProperties":false,"required":[],"properties":{"records_source":{"type":"boolean","description":"Every write to memory records where the memory came from."},"labels_inferences":{"type":"boolean","description":"Inferences are stored with a label the agent sees whenever it reads them."},"on_inference":{"enum":["confirms_first","acts","never_acts"],"description":"What the agent does before acting on an inference: confirms it with the principal first, acts on it, or never acts on inferences."}}},"memories":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","additionalProperties":false,"required":["id"],"properties":{"id":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"fact":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The memory as stored, such as prefers aisle seats."},"source":{"enum":["observed","stated","inferred","imported"],"description":"Where it came from: observed in a call, stated by the principal, inferred by the agent, or imported from another system."},"source_ref":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The call, message or record it came from, such as call 41 or the 3 March chat."},"basis":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"For an inference, what it was inferred from, such as three aisle bookings."},"from_system":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"For an import, the system it came from, such as the CRM."},"labeled":{"type":"boolean","description":"The memory is marked as an inference wherever the agent reads it."}}},"description":"Each stored memory, as supplied."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["design","memories","sources","findings","fixes"],"verdicts":["rumors_kept","provenance_gaps","provenance_unverified","memories_sourced"]},"wever_memory-consent-check":{"path":"/api/memory-consent-check","kind":"check","receipt_type":"wever.memory-consent-check.v1","schema":{"type":"object","additionalProperties":false,"required":[],"properties":{"system":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The agent, such as the travel assistant."},"principal":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Who is remembered, such as the traveler."},"consent":{"type":"object","additionalProperties":false,"required":[],"properties":{"asked":{"enum":["before_first_write","after_first_write","never"],"description":"When the principal is asked whether to be remembered: before anything is kept, only after memory has started, or never."},"form":{"enum":["opt_in","default_on","terms_only","none"],"description":"How agreement is given: an explicit opt-in, a default the principal can turn off, a line in the terms, or no agreement."},"covers":{"type":"array","minItems":0,"maxItems":100,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"The categories the agreement covers, such as preferences and task history."},"recorded":{"type":"boolean","description":"The agreement is recorded with when it was given and what it covered."}}},"controls":{"type":"object","additionalProperties":false,"required":[],"properties":{"see":{"enum":["self_serve","on_request","none"],"description":"How the principal sees what is kept: on their own, by asking, or not at all."},"correct":{"enum":["self_serve","on_request","none"],"description":"How the principal corrects what is kept: on their own, by asking, or not at all."},"switch_off":{"enum":["self_serve","on_request","none"],"description":"How the principal switches memory off: on their own, by asking, or not at all."},"stops_writes":{"type":"boolean","description":"Switching memory off stops new writes at once."},"on_switch_off":{"enum":["cleared","principal_chooses","kept"],"description":"What happens to what is already kept when memory is switched off: it is cleared, the principal chooses, or it is kept."}}},"kept":{"type":"array","minItems":0,"maxItems":100,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"The categories actually kept, to compare with what the agreement covers."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["consent","controls","coverage","findings","fixes"],"verdicts":["remembered_without_consent","consent_gaps","consent_unverified","principal_in_control"]},"wever_memory-deletion-check":{"path":"/api/memory-deletion-check","kind":"check","receipt_type":"wever.memory-deletion-check.v1","schema":{"type":"object","additionalProperties":false,"required":["places"],"properties":{"flow":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The deletion flow, such as forget-me requests."},"target":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"How long deletion may take in all, such as 30 days."},"places":{"type":"array","minItems":1,"maxItems":50,"items":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Where the memory lives, such as the memory store or the weekly backup."},"kind":{"enum":["primary_store","backup","summary","profile","embedding_index","cache","log","shared_copy","other"],"description":"What it is: the primary store, a backup, a summary, a profile, an embedding index, a cache, a log, a copy shared elsewhere, or something else."},"on_request":{"enum":["deleted","marked_deleted","left"],"description":"What a removal request does here: deletes the memory, marks it deleted but keeps it, or leaves it."},"within":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"How long after the request it is gone here, such as 30 days."},"restore_brings_back":{"type":"boolean","description":"A restore from a backup can bring the deleted memory back here."}}},"description":"Every place the memory lives, including backups and anything derived from it."},"confirmation":{"type":"object","additionalProperties":false,"required":[],"properties":{"sent":{"type":"boolean","description":"The principal gets a confirmation when deletion is done."},"names_places":{"type":"boolean","description":"The confirmation names each place the memory was cleared from."},"checkable":{"enum":["receipt","export","account_view","none"],"description":"How the principal can check it: a deletion receipt with an id, an export showing nothing remains, a view of what is kept, or no way."}}},"requests":{"type":"array","minItems":0,"maxItems":1000,"items":{"type":"object","additionalProperties":false,"required":["id"],"properties":{"id":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"requested_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"When removal was requested."},"confirmed_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"When the principal was told it was done."},"found_after":{"type":"boolean","description":"The memory was found again after the confirmation, such as in a summary or after a restore."}}},"description":"Removal requests seen, with when each was confirmed."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["places","confirmation","requests","findings","fixes"],"verdicts":["deletion_incomplete","deletion_gaps","deletion_unverified","deleted_everywhere"]},"wever_memory-conflict-check":{"path":"/api/memory-conflict-check","kind":"check","receipt_type":"wever.memory-conflict-check.v1","schema":{"type":"object","additionalProperties":false,"required":[],"properties":{"flow":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The memory update flow, such as preference updates."},"rule":{"type":"object","additionalProperties":false,"required":[],"properties":{"detects":{"enum":["on_write","on_read","never"],"description":"When a contradiction is noticed: when the new fact is written, only when both are read, or never."},"winner":{"enum":["principal_stated","principal_decides","newest","oldest","both_kept"],"description":"Which fact wins: what the principal stated over what was observed, inferred or imported, then the newest; the principal decides; the newest always; the oldest; or both stay."},"surfaced":{"enum":["asks_principal","tells_principal","logs_only","silent"],"description":"Whether the principal hears of it: asked which is right, told of the change, only logged, or nothing."},"stale":{"enum":["retired_with_date","kept_marked","deleted","kept_unmarked"],"description":"What happens to the old fact: retired with the date it was replaced, kept and marked superseded, deleted, or kept as if still current."}}},"conflicts":{"type":"array","minItems":0,"maxItems":1000,"items":{"type":"object","additionalProperties":false,"required":["id"],"properties":{"id":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"subject":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"What the facts are about, such as seat preference."},"old_fact":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The remembered fact, such as aisle."},"new_fact":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The new fact, such as window."},"old_source":{"enum":["observed","stated","inferred","imported"],"description":"Where the remembered fact came from."},"new_source":{"enum":["observed","stated","inferred","imported"],"description":"Where the new fact came from."},"kept":{"enum":["new","old","both"],"description":"Which fact the agent now acts on: the new one, the old one, or both."},"principal_told":{"type":"boolean","description":"The principal heard of the contradiction."},"old_retired":{"type":"boolean","description":"The old fact was retired, so the agent no longer reads it as current."}}},"description":"Contradictions seen, with which fact won."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["rule","conflicts","findings","fixes"],"verdicts":["stale_facts_win","conflict_gaps","conflict_unverified","conflicts_resolved"]},"wever_memory-sharing-check":{"path":"/api/memory-sharing-check","kind":"check","receipt_type":"wever.memory-sharing-check.v1","schema":{"type":"object","additionalProperties":false,"required":[],"properties":{"flow":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The memory-sharing flow, such as handoffs to the booking agent."},"principal":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Whose memory it is, such as the traveler."},"crossings":{"type":"array","minItems":0,"maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The crossing, such as preferences to the booking agent."},"what":{"type":"array","minItems":0,"maxItems":100,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"The stored memory that crosses, by category."},"to":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Who receives it."},"to_kind":{"enum":["agent","tool","other_principal","operator","external_system"],"description":"What receives it: another agent, a tool, another principal, an operator, or an external system."},"instructed_by":{"enum":["principal","principal_rule","operator","agent","none"],"description":"Under whose instruction it crosses: the principal each time, a standing rule the principal set, an operator, the agent on its own, or no one."},"logged":{"enum":["full","partial","none"],"description":"Whether the crossing is logged with what crossed, to whom, when and under whose instruction; logged without some of those; or not logged."},"only_named":{"type":"boolean","description":"Only the memory the instruction names crosses, not the whole store."},"recipient_use":{"enum":["task_only","keeps"],"description":"What the recipient may do with it: use it for the task only, or keep it."}}},"description":"Each way stored memory can cross to another agent, tool or principal."},"events":{"type":"array","minItems":0,"maxItems":1000,"items":{"type":"object","additionalProperties":false,"required":["id","crossing"],"properties":{"id":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"crossing":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The crossing, by name."},"at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"instructed_by":{"enum":["principal","principal_rule","operator","agent","none"],"description":"Under whose instruction this crossing happened."},"logged":{"type":"boolean","description":"This crossing is in the log."}}},"description":"Crossings seen, to find any nobody instructed or logged."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["crossings","events","findings","fixes"],"verdicts":["memory_wanders","sharing_gaps","sharing_unverified","sharing_instructed"]},"wever_memory-export-check":{"path":"/api/memory-export-check","kind":"check","receipt_type":"wever.memory-export-check.v1","schema":{"type":"object","additionalProperties":false,"required":["export"],"properties":{"flow":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The export flow, such as download my data."},"target":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"How soon an export should arrive, such as 7 days."},"export":{"type":"object","additionalProperties":false,"required":[],"properties":{"available":{"enum":["self_serve","on_request","none"],"description":"How the principal gets an export: on their own, by asking, or not at all."},"format":{"enum":["json","csv","markdown","text","html","pdf","proprietary","other"],"description":"The export format: JSON, CSV, Markdown, plain text, HTML, PDF, a proprietary format only the agent reads, or another."},"covers":{"type":"array","minItems":0,"maxItems":100,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"The categories the export includes, such as preferences, task history and inferred traits."},"includes_inferences":{"type":"boolean","description":"The export includes what the agent inferred about the principal, marked as inferences."},"includes_sources":{"type":"boolean","description":"Each item comes with where it came from."},"within":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"How long an export takes to arrive, such as 2 days."}}},"held":{"type":"array","minItems":0,"maxItems":100,"items":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"description":"Every category kept about the principal, to compare with what the export covers."},"withheld":{"type":"array","minItems":0,"maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"What is left out of the export, by category."},"reason":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Why it is left out."},"principal_told":{"type":"boolean","description":"The export tells the principal it is left out and why."}}},"description":"What the export leaves out."},"requests":{"type":"array","minItems":0,"maxItems":1000,"items":{"type":"object","additionalProperties":false,"required":["id"],"properties":{"id":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"requested_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"delivered_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"complete":{"type":"boolean","description":"The export delivered held everything kept about the principal."}}},"description":"Export requests seen, with when each arrived."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["export","coverage","withheld","requests","findings","fixes"],"verdicts":["memory_locked","export_gaps","export_unverified","principal_can_take_it"]},"wever_memory-retention-check":{"path":"/api/memory-retention-check","kind":"check","receipt_type":"wever.memory-retention-check.v1","schema":{"type":"object","additionalProperties":false,"required":["retention"],"properties":{"system":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The agent, such as the travel assistant."},"as_of":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The date the memories are read at, such as today."},"retention":{"type":"object","additionalProperties":false,"required":[],"properties":{"period":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"How long a memory is kept, such as 12 months, or forever."},"counts_from":{"enum":["written","last_used","relationship_end"],"description":"What the period counts from: when the memory was written, when it was last used, or when the relationship ended."},"written":{"type":"boolean","description":"The period is written where the principal can read it."},"applied":{"enum":["automatic_purge","scheduled_review","manual","none"],"description":"How the period is applied: old memories are purged automatically, reviewed on a schedule, cleaned up by hand, or not at all."},"review_every":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"How often old memories are reviewed, such as 30 days."},"on_end":{"enum":["deleted","anonymized","kept"],"description":"What happens to memory when the relationship ends: it is deleted, it is kept in anonymized form, or it is kept."},"end_within":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"How long after the relationship ends memory is gone, such as 30 days."}}},"categories":{"type":"array","minItems":0,"maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["name","period"],"properties":{"name":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The category, such as task history."},"period":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"Its own retention period, such as 90 days, or forever."}}},"description":"Categories with a retention period of their own."},"memories":{"type":"array","minItems":0,"maxItems":1000,"items":{"type":"object","additionalProperties":false,"required":["id"],"properties":{"id":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"category":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The category, by name."},"written_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"last_used_at":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"}}},"description":"Stored memories seen, with their dates, to find any kept past their period."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name recorded in the report."}}},"reads":"material in the call","elements":["retention","categories","expired","findings","fixes"],"verdicts":["kept_forever","retention_gaps","retention_unverified","retention_enforced"]}},"free_tools":{"endpoint":"https://weverlabs.com/mcp-free","output":"unsigned; the final line names the main /mcp tools","tools":{"wever_memory-snapshot":{"reads":"what is recorded about one subject as supplied","returns":"the facts as stored, where each came from and how old each is, as one plain record"},"wever_memory-scope-sample":{"samples":"wever_memory-scope-check","reads":"one memory scope’s headline as supplied","returns":"whether a stated memory scope exists, with the categories kept, the categories excluded and the retention headline"}}},"limits":{"all_supplied_text":"512 KB per call","report":"1 MB","max_request_bytes":3211264,"categories":100,"memories":1000,"places":50,"requests":1000,"conflicts":1000,"crossings":100,"events":1000,"withheld":100,"names":100},"material":"Each tool reads only the material in the call: an agent’s memory design with its categories and the memories stored, stored memories with where each came from, a memory setup’s consent and the principal’s controls, a deletion flow with every place memory lives, a memory update flow with the contradictions seen, a memory-sharing flow with the crossings seen, an export flow with what is kept and withheld, or a memory setup’s retention with the memories seen. Every status, match and verdict is decided from that material; the report makes no network request or fetch, reads or writes no memory store, deletes, exports or shares nothing and contacts no principal, and moves no money, writes nothing outside the report, contacts no agent or counterparty and changes no configuration.","basis":"This report reads only the memory scopes, stored memories, consents, deletion flows, updates, sharing flows, exports and retention rules in the material in the call, and decides every status, match and verdict from them.","related":{"memory_design":"wever_memory-design-check","memory_separation":"wever_memory-separation-check","context_sharing":"wever_context-sharing-check","context_transfer":"wever_context-transfer-check","data_retention":"wever_data-retention-check","dpa_evidence":"wever_dpa-evidence-check","cache_staleness":"wever_cache-staleness-check","state_reconciliation":"wever_state-reconciliation-check","export_evidence":"wever_export-evidence-check","identity_portability":"wever_identity-portability-check"},"pricing":{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pricesAtomic":{"/api/memory-scope-check":"100000","/api/memory-provenance-check":"100000","/api/memory-consent-check":"100000","/api/memory-deletion-check":"100000","/api/memory-conflict-check":"100000","/api/memory-sharing-check":"100000","/api/memory-export-check":"100000","/api/memory-retention-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-memory-contract","key_id":"wever-trust-20261001","public_jwk":{"crv":"Ed25519","x":"PG6bYTJfqh-Y7YEMzxNVhMsFkrO1XnX7djPUvNi9g_U","kty":"OKP"},"algorithm":"Ed25519","receipt_types":{"memory-scope-check":"wever.memory-scope-check.v1","memory-provenance-check":"wever.memory-provenance-check.v1","memory-consent-check":"wever.memory-consent-check.v1","memory-deletion-check":"wever.memory-deletion-check.v1","memory-conflict-check":"wever.memory-conflict-check.v1","memory-sharing-check":"wever.memory-sharing-check.v1","memory-export-check":"wever.memory-export-check.v1","memory-retention-check":"wever.memory-retention-check.v1"},"jwt_type":"wever-agent-memory+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."}}