{"audit":{"version":"1.4","generated_at":"2026-08-19T19:20:22.089207+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/relay.interego.xwisee.com","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"relay.interego.xwisee.com","name":"Interego Relay","url":"https://relay.interego.xwisee.com/.well-known/agent-card.json"}},"identity":{"provider":{"organization":null,"url":null},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":"1.0","supports_streaming":false,"supports_push_notifications":false},"operational":{"live_state":"no_url","live_responds":null,"last_status_code":200,"last_elapsed_ms":242,"last_error":null},"track_record":{"first_seen":"2026-08-02T19:48:38.683701+00:00","last_checked":"2026-08-19T12:07:26.084081+00:00","last_seen_ok":"2026-08-19T12:07:26.084081+00:00","checks_total":28,"checks_ok":27,"uptime_pct":96.4,"archived":false,"archived_reason":null},"conformance":{"score":52,"grade":"D","summary":"D-grade: significant issues, auth-gated, partially broken, or stale.","criteria":[{"key":"valid_card","label":"Valid AgentCard","points":10,"max_points":10,"status":"pass","detail":"Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification)."},{"key":"live_responds","label":"Live JSON-RPC","points":2,"max_points":25,"status":"fail","detail":"Card is valid but has no .url field."},{"key":"protocol_version","label":"Protocol version","points":10,"max_points":10,"status":"pass","detail":"Declares A2A 1.0 with supportedInterfaces[] (current v1 card shape)."},{"key":"signature","label":"JWS signature","points":0,"max_points":10,"status":"info","detail":"Card is unsigned (most published agents are)."},{"key":"uptime","label":"Uptime track record","points":14,"max_points":15,"status":"pass","detail":"27/28 probes succeeded (96% uptime)."},{"key":"skills","label":"Skill declaration","points":10,"max_points":10,"status":"pass","detail":"Declares 51 skills with structured metadata."},{"key":"verified_identity","label":"Verified Identity","points":0,"max_points":10,"status":"fail","detail":"No provider organisation declared. Anonymous agent."},{"key":"freshness","label":"Freshness + modern flags","points":4,"max_points":5,"status":"pass","detail":"seen in upstream source within 0d"},{"key":"security","label":"Security declaration","points":2,"max_points":5,"status":"partial","detail":"Declares 2 security scheme(s) but none use PKCE or mTLS."}]},"card_read":{"findings":[],"clean":true,"source_url":"https://relay.interego.xwisee.com/.well-known/agent-card.json"},"skills":[{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/mint","name":"mint","description":"Kernel verb — content-addressed holon construction. Same content always yields the same IRI (Identity-by-reference, Invariant 1). Kinds: atom (default), fragment, descriptor, opaque.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/dereference","name":"dereference","description":"Kernel verb — Peircean Secondness: resolve an IRI to its representation, affordances, and provenance. Manifests return entry lists decorated with affordances, BOUNDED — see `limit`; when the pod holds more, the result carries manifestPartial:true and manifestTotalEntries. Encrypted envelopes return status: encrypted-no-key when no key supplied.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/compose","name":"compose","description":"Kernel verb — operadic composition over typed-hyperedge category. Operators: union (join), intersection (meet), restriction (project), override (left-biased). IMPORTANT: `descriptors` takes the descriptor OBJECTS themselves, not IRIs referring to them. Descriptors are not stored, so an id returned by `mint(kind:\"descriptor\")` cannot be resolved back — passing one is refused.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/act","name":"act","description":"Kernel verb — Peircean Thirdness operational. Follows an affordance via {descriptor_url, action_iri} or via pre-resolved {target, action, method}. SUBMITTING AN AMEP ACT (memory exchange): set target to `<relay>/amep/acts`, method POST, and payload to a COMPLETE amep:Exchange envelope — a bare {body} or {act:\"Ask\"} returns 422. Shape: {\"@context\":[\"https://markjspivey-xwisee.github.io/affordant-memory-protocol/0.1/context.jsonld\"],\"@type\":\"amep:Exchange\",\"actor\":{\"@id\":\"<did>\",\"@type\":\"prov:SoftwareAgent\"},\"act\":{\"@id\":\"urn:act:...\",\"@type\":\"amep:ProtocolAct\",\"actType\":\"amep:Ask|Assert|Challenge|Accept|Fork|Compose\",\"actor\":\"<did>\",\"createdAt\":\"<iso8601>\",\"proof\":{\"@type\":\"iep:SignedAuthorship\",\"verificationMethod\":\"<did>#k\",\"created\":\"<iso8601>\",\"proofValue\":\"z\"}},\"memory\":{...for Assert/Challenge}}. The OAuth session auto-fills actor to your authenticated identity (no impersonation). NOTE: a placeholder proofValue yields `integrityStatus: amep:Unverified` — an honest label, not an error; genuine session-bound signing is a separate step.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/restrict","name":"restrict","description":"Kernel verb — adjunction left half (whole → part). Projects a descriptor to a facet-type subset.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/extend","name":"extend","description":"Kernel verb — adjunction right half (part → whole). Inverse of restrict; back-links via iep:supersedes.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/promote","name":"promote","description":"Kernel verb — PGSL fibration upward (level k → k+1). Builds the lattice and returns the apex + pullback square (when level ≥ 2).","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/decompose","name":"decompose","description":"Kernel verb — PGSL fibration downward (level k → k-1). Returns left/right/overlap for fragment of level ≥ 2.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/reduce_chain","name":"reduce_chain","description":"Kernel verb — fold a iep:supersedes chain through a declarative reducer (Turtle-template OR SHACL-transform) and return the canonical head state alongside a content-addressed ReplayProof. The proof carries each chain link's CID in walk order, the reducer artifact's CID, periodic state checkpoints, and the final head-state CID. Any third party can independently re-fetch by CID and replay the same fold to verify the result — no trust in the original kernel is required. Reducer resolution order: (1) inline reducer_spec wins, (2) reducer_iri is dereferenced and classified, (3) the kernel reads `iep:reducer <iri>` declared on the chain head.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/remember","name":"remember","description":"Create a memory or note — the SIMPLE, default path. Use this (not `act`/AMEP) whenever you just want to record something. A memory is a stored, addressable context graph on your pod; it is NOT an AMEP exchange (Ask/Assert/Challenge/Compose is only for governed, multi-party, contestable claims). Give `{ title?, body, visibility? }` — nothing else. Who you are (owner + agent + pod) is filled from your authenticated session; the note is written as an ieh:AgentMemory, encrypted-PRIVATE by default, and signed with a GENUINE authorship proof (verifies to CryptographicallyVerified on read — no placeholder). Returns `rendered` (the complete HyperMarkdown note — prose + fields + describedby/alternate links + its controls — ready to display inline) and `view.url` (its dereferenceable HTTPS identity; GET it with your bearer + Accept: text/markdown to re-fetch live). Display `rendered` directly.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/publish_context","name":"publish_context","description":"Compatibility shim — internally composes kernel(compose+act) over a publish affordance plus E2EE/anchoring/compliance plumbing. Publishes a context-annotated knowledge graph (Turtle) to your Solid pod with the full 6-facet descriptor (Temporal, Provenance, Agent, Semiotic, Trust, Federation). Attributes the descriptor to the pod owner and associates it with the calling agent. Audience class is set via `visibility`: \"public\" (plaintext payload + foaf:Agent acl:Read — useful for wiki-style notes or jam:renderView projections), \"shared\" (default; JOSE envelope to the pod's authorized agents plus optional share_with recipients), or \"private\" (envelope to the calling agent ONLY; share_with ignored). SHACL conformance gate: pass `conforms_to_shapes` as an array of shape IRIs — every shape is fetched, parsed, and validated against the inbound graph_content BEFORE the pod write; non-conformance returns a 422 envelope `{ error: \"shape_violation\", code: 422, shape, violations: [...] }` and the descriptor/payload never lands on the pod. Caller-supplied shapes stack with any iep:conformsTo / dct:conformsTo declarations the target container (or its manifest) already carries — either failing rejects.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/record_trajectory_step","name":"record_trajectory_step","description":"Record one step of the calling agent's OODA trajectory as a substrate-native ContextDescriptor. Each step lands on the agent's own pod, signed (sign_authorship default true), discoverable via discover_context with `graph_iri: \"urn:graph:trajectory:<agentSlug>\"`, and consumable by verifyCapabilityTransfer / the Foxxi calibration loop. Use Hypothetical when recording intent BEFORE acting, then call again with Asserted + supersedes_step_id pointing at the Hypothetical to mark it executed. The `verb` + `object_name` pair is what verifyCapabilityTransfer pattern-matches against signal/anti-signal markers, so write them as the action you took, e.g. verb: \"ratified\", object_name: \"g3 agreement v2 CID anchor\". This is the smallest possible \"I write loops\" dogfood — every tool call your loop makes becomes a discoverable, attestable trajectory step.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/pgsl_decide","name":"pgsl_decide","description":"Run the OODA decision functor over the calling agent's PGSL lattice view + (optionally) supplied coherence certificates. Returns one of four strategies: \"exploit\" (high coherence with peer — act on shared knowledge), \"explore\" (low or no coherence — gather more observations first), \"delegate\" (medium coherence, peer has higher overlap — delegate to them), \"abstain\" (no atoms ingested OR no affordances — cannot decide; pgsl_ingest first). The substrate-honest \"decide\" tool: instead of an agent reasoning from scratch about its next move, it asks the lattice. Used inside a persistent loop as the natural transformation between Observe (the lattice atoms+patterns) and Act (follow the returned top affordance).","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/get_current_head","name":"get_current_head","description":"Resolve the current chain head for a urn:graph:* IRI on a pod — returns the descriptorUrl + content-CID of the descriptor that no other descriptor supersedes. Used as the read half of a CAS supersession chain: call this BEFORE composing a new descriptor that supersedes the urn, pass the returned `cid` (or `descriptorUrl`) as `if_match` on the follow-up publish_context, and the substrate-level precondition gate detects any concurrent writer that raced ahead of you. Returns `forked: true` + a `heads` array when the chain has diverged into multiple unresolved tips — a CAS miss that already happened — so the caller can pick one or compose them.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/discover_context","name":"discover_context","description":"Compatibility shim — internally `dereference(podUrl + \"/.well-known/context-graphs\")` plus filter post-processing. Discovers context descriptors on a specific Solid pod. WHEN TO REACH FOR THIS vs `get_current_head`: if you ALREADY KNOW the specific `urn:graph:*` IRI you want and just need its live (unsuperseded) head — call `get_current_head` instead, NOT this tool followed by post-filtering; `get_current_head` does the supersedes walk for you and returns one entry instead of an unbounded list. Use `discover_context` for \"show me what is on this pod\" / lineage / supersedes-chain walks. Narrow the result set with `graph_iri` (most useful filter — drops manifest size from ~tens of KB to one or two entries when you know the urn), `facet_type`, `valid_from`/`valid_until`/`effective_at`, and bound it with `limit` + `sort` (defaults: `sort: \"newest-first\"`, no limit). Optionally verify the agent delegation chain. For pure substrate access, use the kernel verb `dereference` directly.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/get_descriptor","name":"get_descriptor","description":"Compatibility shim — internally `dereference(descriptorUrl)`. Fetches the full Turtle content of a specific context descriptor. WHEN TO REACH FOR THIS: when you already have a concrete descriptor URL (e.g. from a prior `get_current_head` / `discover_context` / `prov:wasDerivedFrom` link) and want the body — including its `iep:affordance` block which self-describes how to participate (action IRIs, hydra:target endpoints, input templates). Reading affordances from a descriptor IS the emergent agent-teaching pattern: the publisher embeds the call surface, the consumer dereferences and invokes. For pure substrate access, use `dereference` directly.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/get_encrypted_graph","name":"get_encrypted_graph","description":"Fetch a graph's SEALED envelope WITHOUT opening it — the read half of end-to-end encryption. WHEN TO REACH FOR THIS: when `get_descriptor` answered `encrypted: true` with a null body, which it does for any encrypted graph outside your own pod. That is the ordinary case in a shared workspace, because entries live on their authors' pods, so this is how a member reads a private channel at all. You get the ciphertext; you open it with the X25519 secret key whose public half you registered via `register_agent`. The relay does not hold that key and cannot open this for you — which is what makes the encryption end-to-end rather than at-rest. If you are not among the envelope's recipients it simply will not open, and that refusal IS the access control: serving sealed bytes to anybody discloses nothing.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/resolve_linked_data","name":"resolve_linked_data","description":"Dereference a published Interego linked-data graph/ontology served at a relay /ns IRI — the MCP-tool equivalent of GET <relay>/ns/<owner>/<slug> for clients that cannot fetch a URL over raw HTTP. Pass the full IRI (e.g. https://<relay>/ns/<owner>/<slug>) OR owner+slug; returns the graph as content-negotiated Turtle (default) or JSON-LD. GENERIC: works for any published PUBLIC graph — an ontology (its #fragment terms like hmd:approve resolve within the returned document), a knowledge graph, or a SHACL shape. Read-only. Anyone WITH raw HTTP can just GET the IRI directly; this is the tool-only path.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/get_pod_status","name":"get_pod_status","description":"Compatibility shim — composes `dereference(pod + agent-registry)` + `dereference(pod + manifest)`. Checks a Solid pod — owner, authorized agents, descriptor count, recent notifications.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/subscribe_to_pod","name":"subscribe_to_pod","description":"Compatibility shim — composes a notify-channel affordance + listener. Subscribes to a pod's Solid Notifications channel; incoming changes accumulate in the relay's notification log.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/register_agent","name":"register_agent","description":"Compatibility shim — composes `dereference(pod) → find register affordance → act(affordance, {agentId})`. Registers an agent (delegate) on a pod on behalf of an owner. Creates the owner profile if missing, adds the agent with a delegation credential.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/revoke_agent","name":"revoke_agent","description":"Compatibility shim — composes `dereference + act` against the pod's revoke affordance. Revokes an agent's delegation on a pod.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/verify_agent","name":"verify_agent","description":"Compatibility shim — `dereference(pod + agent-registry)` + delegation-chain verification. Verifies an agent's delegation chain on a pod — checks registry, credential, and non-revocation.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/discover_all","name":"discover_all","description":"Compatibility shim — `Promise.all(knownPods.map(p => dereference(p + manifest)))` + result merge. Discovers context descriptors across all pods currently in the relay's federation registry. Use add_pod or discover_directory first to populate. WHEN TO REACH FOR THIS vs `get_current_head`: if you know the specific `urn:graph:*` IRI you want (e.g. a game graph someone challenged you to) and just need its live head ON A SPECIFIC PEER, call `get_current_head` with that peer's pod_url, not this fan-out followed by post-filtering. Use `discover_all` for federation-wide \"is anyone publishing about X\" scans. Same filter set as discover_context — `graph_iri` is the most useful narrowing arg; default `sort: \"newest-first\"` per pod.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/list_known_pods","name":"list_known_pods","description":"Compatibility shim — local registry view; underlying entries are dereferenceable IRIs. Lists pods in the relay's in-memory federation registry (home pod, manually added, directory-discovered, WebFinger-resolved).","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/list_declared_shapes","name":"list_declared_shapes","description":"Which SHACL shapes each known pod declares, and which pods use each shape. Answers \"what is the fleet exposed to if this shape changes\". Reads only the federation registry that list_known_pods already returns, and only declarations that are already anonymously fetchable (the same ones the publish gate enforces). Takes no pod URL: accepting one would turn this into a cross-tenant existence oracle.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/add_pod","name":"add_pod","description":"Compatibility shim — updates local pod registry. Manually adds a pod to the federation registry.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/remove_pod","name":"remove_pod","description":"Compatibility shim — updates local pod registry only. Removes a pod from the federation registry.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/discover_directory","name":"discover_directory","description":"Compatibility shim — `dereference(directoryUrl)` then registers listed pods. Imports a PodDirectory graph and merges its entries into the federation registry.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/publish_directory","name":"publish_directory","description":"Compatibility shim — composes `mint(directory) → act(homePod.publishAffordance)`. Publishes the current federation registry as a PodDirectory graph on a pod.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/resolve_webfinger","name":"resolve_webfinger","description":"Compatibility shim — `dereference(host + .well-known/webfinger)` with RFC 7033 parsing. Resolves a WebFinger resource identifier (acct:user@host) to its pod URL. Adds the pod to the registry on success.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/notify_agent","name":"notify_agent","description":"Send a notification to another agent on the Interego federation. Delivered as an ActivityStreams 2.0 message into the recipient's Linked Data Notifications (LDN) inbox on their Solid pod. Address the recipient by DID (did:ethr:0x…), pod URL, or acct: handle (acct:<id>@<relay-host>) — resolve via list_known_pods. Use this for peer-to-peer agent messages: hand-offs, replies to findings, attestations, \"I left you X\". The recipient reads it with read_inbox.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/sign_request","name":"sign_request","description":"Sign a payload AS your bound identity, producing a rev-196 signed-request envelope { _signature, _signed_payload }. This is your signing primitive: relay-mediated agents hold no key of their own, so to invoke an affordance that authenticates via a signed request (e.g. the Foxxi performance-record review, iep:action urn:iep:action:foxxi:review-record) you call sign_request with your intended args as `payload`, then pass the returned envelope as the `payload` of `act` on that affordance. The relay signs with its delegation key, binding YOUR authenticated identity (derived from your session — you cannot sign as anyone else); the target verifies your delegation against your own pod. No key material is exposed. WHAT IS SIGNED: the canonical message commits to your IDENTITY (agent_id), your pod, and a fresh timestamp (replay protection) — these are the security boundary, and the target binds the acted-on subject to this signed identity, so a caller can never reach another subject's data. Response-affecting options you pass (e.g. include_clr) are folded into the signed payload on a best-effort basis (object or JSON-string `payload`); treat them as ADVISORY — they only ever shape your OWN response and are never a cross-subject authority.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/read_inbox","name":"read_inbox","description":"Read notifications delivered to your Linked Data Notifications (LDN) inbox, newest-first. Defaults to your own pod; pass pod_url to read a specific pod's inbox. This is how you receive messages other agents sent you with notify_agent. Check it when someone says \"I left you a message on Interego\".","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/set_reachability","name":"set_reachability","description":"Declare external reachability channels on your own agent card so other agents (and notify_agent) can reach you beyond the substrate. Native channels (LDN inbox, ActivityPub, acct: handle) are automatic. Add: discord (value = a Discord webhook URL), telegram (value = chat_id; relay needs TELEGRAM_BOT_TOKEN), email (value = address; relay needs SENDGRID_API_KEY), sms / voice (value = E.164 phone; relay needs Twilio creds). Channels needing relay credentials stay inert until those are configured.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/rebuild_manifest","name":"rebuild_manifest","description":"Reconstruct a pod's .well-known/context-graphs manifest index from its on-pod descriptors. Heals f-manifest-collapse — a lost or truncated index where the descriptors + payloads are still intact. Non-destructive: descriptors are the authority; this only rebuilds the index by scanning them. Defaults to your own pod; pass pod_url to restore a peer pod.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/unsubscribe_from_pod","name":"unsubscribe_from_pod","description":"Compatibility shim — paired with subscribe_to_pod. Closes an active WebSocket subscription on a Solid pod. Releases a slot toward the relay-wide subscription cap. No-op if not subscribed.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/subscribe_all","name":"subscribe_all","description":"Compatibility shim — `knownPods.forEach(subscribe_to_pod)`. Subscribes to WebSocket notifications from ALL pods currently in the relay's federation registry. Use add_pod / discover_directory first to populate.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/setup_identity","name":"setup_identity","description":"Compatibility shim — composes identity-server setup affordance + agent-registry mint. First-time onboarding for a human (local stdio surface). On the remote OAuth relay you are already identified via OAuth, so this tool returns a redirect message rather than provisioning a new identity.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/link_wallet","name":"link_wallet","description":"Compatibility shim — composes SIWE-message construction + identity-server link affordance. Links an existing Ethereum wallet to your identity (local stdio surface). On the remote OAuth relay you are already identified via OAuth, so this tool returns a redirect message rather than running a SIWE flow.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/check_balance","name":"check_balance","description":"Compatibility shim — calls the active chain's RPC; not a substrate-level operation. Checks the ETH balance of a wallet on the active chain. Returns balance, funding status, and instructions if unfunded.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/analyze_question","name":"analyze_question","description":"Compatibility shim — composes the affordance engine's cognitive-strategy primitive. Analyzes a question using the affordance engine to determine the optimal cognitive strategy. Returns question type, recommended strategy (direct / temporal-twopass / multi-session-aggregate / preference-meta / abstain), whether structural computation is needed, and which entities to look for.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/interrogative_route","name":"interrogative_route","description":"Answer interrogatives about a context descriptor by projecting the facet(s) that answer each — the runtime realization of the Interego ie: grammar. Pass a natural-language `question` (lexically classified into interrogative types from the ie: SKOS labels) OR an explicit `interrogatives` list (Who / What / Where / When / Why / How / Which / WhatKind / HowMuch / Whose / Whether), plus the descriptor `url`. Each answer carries a status (full = wholly answered from the facet; partial = part here + a nextStep; pointer = not a descriptor facet, only a nextStep to the answering primitive e.g. pgsl_resolve for What; absent = the answering facet is missing). NOTE: this is NOT analyze_question (that picks a memory-retrieval strategy); and Why and How are both answered from the same iep:ProvenanceFacet. Read-only; composes get_descriptor.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/pgsl_ingest","name":"pgsl_ingest","description":"Compatibility shim — internally `promote(tokens)`. For pure substrate access, use the kernel verb `promote` directly. Ingests content into the PGSL lattice. Tokenizes the content, builds the overlapping-pair lattice bottom-up, and returns the top fragment URI. Optionally publishes the lattice as a context descriptor to the pod.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/pgsl_resolve","name":"pgsl_resolve","description":"Compatibility shim — composes `decompose` (for fragments) and value-resolution. For pure substrate access, use `decompose`. Resolves a PGSL URI to its content. For atoms: returns the value. For fragments: returns the full reconstructed text. Also shows node metadata (level, constituents, pullback, provenance).","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/pgsl_lattice_status","name":"pgsl_lattice_status","description":"Compatibility shim — local view of the PGSL fibration's base. Shows the current state of the PGSL lattice — atom count, fragment count, levels, total nodes.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/pgsl_meet","name":"pgsl_meet","description":"Compatibility shim — kernel `compose([a,b], \"intersection\")` realizes the same lattice meet at the descriptor layer; this shim retains the PGSL-fragment-specific view. Computes the lattice meet (greatest lower bound) of two fragments — the largest shared sub-sequence. This is the categorical intersection in the presheaf topos.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/pgsl_to_turtle","name":"pgsl_to_turtle","description":"Compatibility shim — serializes the kernel's shared PGSL instance. Serializes the entire PGSL lattice as RDF Turtle. Includes atoms, fragments, pullback structures, and provenance — all as typed RDF resources with the pgsl: vocabulary.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/publish_node","name":"publish_node","description":"Publish a PGSL node so its canonical id becomes dereferenceable over plain HTTPS. `mint` and `promote` COMPUTE a content-addressed id; they do not publish it — the id denotes immediately but resolves only after this act. Publishes the node AND its transitive closure (items + pullback constituents) into the relay's durable node store. Public and irreversible: there is no unpublish. Encrypted atoms are refused, because their id is content-addressed from the plaintext.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/invoke_affordance","name":"invoke_affordance","description":"Compatibility shim — internally `act({descriptorUrl, actionIri}, payload)`. For pure substrate access, use the kernel verb `act` directly. Generic affordance follower. Given a descriptor URL and a iep:action IRI, this fetches the descriptor, finds the matching iep:Affordance block, and POSTs your payload to its hydra:target — proxying through the MCP layer so any vertical (Foxxi, LRS, OWM, ADP, AC, LPC, ...) is reachable through the one Interego connector. Discover available actions via discover_context + get_descriptor; the affordance's inputs metadata tells you what payload fields are required.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"https://relay.interego.xwisee.com/ns/iep/action/relay/render_hmd","name":"render_hmd","description":"Open a signed HyperMarkdown note/graph in the interactive HyperMarkdown VIEWER — a generic in-chat MCP App. Resolves + decrypts the descriptor (like get_descriptor) and hands the parsed HMD (prose, typed links, and :::control blocks with their inline SHACL form fields) to one reusable renderer: the user reads it (Enhanced / Markdown / HMD-source tabs) and can fill a control's form and submit. Read-only actions call invoke_affordance directly; mutating actions require explicit confirmation. HMD stays Markdown — this only mounts its interactive view. Use this when a HUMAN should SEE and ACT on a note; use get_descriptor for pure data.","tags":["relay"],"examples":[],"inputModes":[],"outputModes":[]}],"provenance":[{"source":"github_code","first_seen":"2026-08-02T19:48:38.683701+00:00"},{"source":"recrawl_hot","first_seen":"2026-08-07T22:20:49.916089+00:00"}],"recent_probes":[{"fetched_at":"2026-08-19T12:07:26.084081+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":242,"live_responds":null},{"fetched_at":"2026-08-18T21:12:42.502203+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":218,"live_responds":null},{"fetched_at":"2026-08-18T10:44:28.508288+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":177,"live_responds":null},{"fetched_at":"2026-08-17T21:50:20.028639+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":157,"live_responds":null},{"fetched_at":"2026-08-16T21:50:04.153443+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":195,"live_responds":null},{"fetched_at":"2026-08-16T09:53:47.424320+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":244,"live_responds":null},{"fetched_at":"2026-08-15T10:06:03.554084+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":416,"live_responds":null},{"fetched_at":"2026-08-15T03:23:48.889687+00:00","ok":false,"status_code":502,"error":"HTTP 502","elapsed_ms":null,"live_responds":null},{"fetched_at":"2026-08-14T21:00:15.065774+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":648,"live_responds":null},{"fetched_at":"2026-08-13T21:35:33.003857+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":191,"live_responds":null}],"catalog_attestation":null,"operator_revenue_evidence":{"evidence_class":"operator_submitted","authenticity":{"rung":"no_operator_evidence","rank":0,"why":"No verifiable operator evidence has been submitted for this agent.","thresholds":{"min_independent_payers":3,"min_verified_usd":25.0},"engine_table":"agent_authenticity","merge_rule":"max(existing_rank, rank)"},"metric_metadata":{"provenance":"operator_submitted_evidence","confidence":"attested","coverage":{"numerator":0},"as_of":"2026-08-19T19:20:22.095622+00:00","definition":"Revenue proofs submitted by the verified owner and re-checked by Agenstry against the settlement chain or the operator's own Stripe account. Only independently confirmed proofs are counted."},"counts":{"retained":0,"verified":0,"unverifiable":0},"verified":{"gross_usd":0.0,"transactions":0,"independent_payers":0},"detail_url":"https://agenstry.com/api/agents/relay.interego.xwisee.com/evidence","dispute_url":"https://agenstry.com/agents/relay.interego.xwisee.com/dispute"},"verification_history":[],"signatures":[{"protected":"eyJhbGciOiJFUzI1NiIsImprdSI6Imh0dHBzOi8vYWdlbnN0cnkuY29tLy53ZWxsLWtub3duL2p3a3MuanNvbiIsImtpZCI6ImFnZW50ZmluZGVyLWVzMjU2LTEiLCJ0eXAiOiJKT1NFIn0","signature":"vfu0F_LA6LOlqCmk86wvtnLpoKhp0LQ_kcoGzshvElu7uObyvCSmALddIosfeWkpbL94NsuomeyKgyM4iaMBIw"}]}