How to use this site — for AI, robots & fellow nerds
This site is built for machines as much as for people. Every page has machine-readable equivalents, reachable by content negotiation or explicit URL, and the whole knowledge graph is queryable. The recipes below are copy-paste ready.
Verifiable identity and publication history
Each version of the did:webvh 1.0 identity is preserved in a signed, append-only log, allowing historical resolution and verification of authorized key changes. A separate three-version rotation demonstration shows the original key authorizing its replacement, followed by an update signed by the new key. Builds verify the logs with TypeScript and an independent Python implementation.
The publication statement receives an inclusion receipt from the SCITT transparency service operated by Blackcat Informatics. The publisher and log share an operator. Receipts establish registration and byte integrity; they do not establish factual truth or independent endorsement. The service publishes its registration policy, trust anchors, signed tree roots, inclusion proofs and consistency proofs. Architecture: RFC 9943. Receipts: RFC 9942. The SCRAPI interface follows draft-11, which remains a draft.
Choose “Verify this publication” in the evidence browser to verify identity history and the receipt. Scheduled check status reports the last attempt, last success and staleness: identity, receipts and history continuity hourly; MCP, A2A, skills, owner isolation, three languages and exact passages daily.
Content negotiation
The site homepages negotiate on the Accept header — same URL, the representation you ask for:
curl -H "Accept: application/ld+json" https://patrickaudley.com/
curl -H "Accept: text/turtle" https://patrickaudley.com/
curl -H "Accept: application/n-triples" https://patrickaudley.com/
curl -H "Accept: text/markdown" https://patrickaudley.com/
Every page — not just the homepage — is also addressable by explicit URL:
curl https://patrickaudley.com/index.jsonld
curl https://patrickaudley.com/index.ttl
curl https://patrickaudley.com/index.md
curl https://patrickaudley.com/llms.txt
/index.jsonld→ JSON-LD ·/index.ttl→ RDF Turtle ·/index.nt→ N-Triples/index.md→ Markdown ·/llms.txt,/llms-full.txt→ LLM context (text/plain)
Homepages negotiate transparently at the edge (Vary: Accept); the explicit per-page URLs always work.
The knowledge graph
This dataset currently exposes 33 SKOS concepts, 3 publications and 2 patents, most grounded with Wikidata QIDs. Primary entities are linked from the root JSON-LD document. The root person node is #paudley.
Vocabularies: Schema.org · FOAF · SKOS · DOAP · BIBO · vCard · PROV-O · OWL · Dublin Core · Wikidata.
SPARQL
The knowledge graph is queryable through a SPARQL endpoint, with dataset metadata in VoID. Example — every concept with its Wikidata grounding:
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT ?concept ?label ?wikidata WHERE {
?concept a skos:Concept ; skos:prefLabel ?label .
OPTIONAL { ?concept owl:sameAs ?wikidata }
}
curl -G https://patrickaudley.com/sparql \
--data-urlencode query@query.rq \
-H "Accept: application/sparql-results+json"
/sparql— SPARQL endpoint/.well-known/void.ttl— VoID dataset description
See the RDF 1.2 claim example for source, attribution, date, status, an executable SPARQL 1.2 query, and its computed result.
MCP
This site exposes public retrieval and durable evidence tasks over MCP (Model Context Protocol). The descriptor lists the tools; private task access requires an owner token:
https://patrickaudley.com/.well-known/mcp.json
/.well-known/mcp.json— MCP server descriptor/webmcp.js— in-page WebMCP bridge/.well-known/agent-policy.json— agent usage policy/.well-known/agent-skills/— published agent skills
The MCP Skills extension exposes workflows through skills/list, skills/get, and resources/read. Each skill includes all authored YAML metadata, a complete file manifest, raw-byte SHA-256 digests and sizes, and five-minute public cache hints.
Runtime model
| Mode | Status |
|---|---|
| Static descriptor discovery | ✓ /.well-known/mcp.json |
| Browser-mediated WebMCP | ✓ /webmcp.js |
Public Streamable-HTTP MCP (/mcp) | ✓ public retrieval and owner tasks |
| Owner token for private tasks | ✓ |
| Search/answer via Workers AI + Vectorize | ✓ |
Tools
This table lists the tools from mcp.json and their effects:
| Tool | Purpose |
|---|---|
get_identityRead-only | Return canonical site identity, policy, and source links. |
get_cvRead-only | Return the published JSON Resume and canonical CV resources; unavailable when this site has no CV. |
get_servicesRead-only | Return published service records and contact policy. |
get_publicationsRead-only | Return publication records, authored dates, identifiers, and source links. |
get_projectsRead-only | Return project records, versions, status, and source links. |
search_siteRead-only | Search the canonical site and assistant corpus using embeddings and reranking. |
answer_questionRead-only | Answer site questions using retrieved canonical context and citations. |
cite_claimRead-only | Find relevant public source passages for a claim. Evidence candidates are not a verdict; the caller assesses support. Omit claim to list canonical sources. |
prepare_contactRead-only | Return published contact policy and sources for preparing a contact brief. |
site_healthRead-only | Return deployment and active retrieval-index diagnostics. |
create_evidence_dossierCreates an owner task | Create a durable public-evidence dossier. Requires an owner bearer token and the io.modelcontextprotocol/tasks client capability. Poll tasks/get, then inspect with browse_evidence. Use the browser URL when your client cannot supply these. |
browse_evidenceRead-only | Open the evidence browser. With task_id, read your dossier, exact passages and verification artifacts; requires the task owner bearer token. Without task_id, return the public browser and history links. |
Worked example
/mcp uses stateless Streamable HTTP and supports MCP 2026-07-28. Each request carries its version in the headers and _meta; optional server/discover reports capabilities. Older clients can still use initialize.
# Discover the current protocol and capabilities:
curl -s https://patrickaudley.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2026-07-28" \
-H "Mcp-Method: server/discover" \
-d '{"jsonrpc":"2.0","id":1,"method":"server/discover","params":{"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientInfo":{"name":"curl","version":"1"},"io.modelcontextprotocol/clientCapabilities":{}}}}'
# Call a read-only tool directly; no session or initialize required:
curl -s https://patrickaudley.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2026-07-28" \
-H "Mcp-Method: tools/call" \
-H "Mcp-Name: get_identity" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_identity","arguments":{},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientInfo":{"name":"curl","version":"1"},"io.modelcontextprotocol/clientCapabilities":{}}}}'
Machine-readable endpoints
/index.jsonld— linked-data graph/llms.txt·/llms-full.txt— LLM context (full-corpus pull:curl https://patrickaudley.com/llms-full.txt)did:web:patrickaudley.com— decentralized identifier (/.well-known/did.json)/.well-known/webfinger— WebFinger/foaf.rdf— FOAF profile/.well-known/api-catalog— API catalog · discovery catalog/sitemap.xml— sitemap (freshness vialastmod)
Licensing & AI use
-
AI/LLM training is explicitly permitted. The crawl policy is open, with no
Disallowrules./robots.txtand the HTTPContent-Usagefield publish the experimental AIPREF preferencetrain-ai=y, ai-use=y, search=y; citation and licensing terms remain in the agent policy. - Content is licensed Creative Commons BY-NC-SA CAv2.5; attribution to “Patrick Colm Audley” appreciated.
- The family genealogy data is dedicated to the public domain under CC0 1.0 Universal (Public Domain Dedication) (CC0) and is freely reusable.
A2A evidence tasks
Delegate public research through A2A 1.0 JSON-RPC: submit a topic or questions and receive a JSON and Markdown dossier with exact passages, public records, source versions, and explicit retrieval gaps. The calling agent assesses what conclusions the evidence supports.
- Signed Agent Card · Public verification keys
- Durable tasks, streamed progress, reconnection, owner-scoped listing, and cancellation. No account is required; bearer tokens expire after 30 days of inactivity. Task inputs and results expire seven days after creation.
- Original public sources are retained indefinitely at SHA-256 addresses; private dossier downloads require the owner's token. An Ed25519 signature binds the artifact and source byte digests.
Evidence browser and version history
MCP Apps embeds the evidence browser in compatible assistants; the standalone page supports keyboard navigation and JSON and Markdown downloads. The interface distinguishes signature integrity, source freshness, and the reader’s assessment of claim support. The MCP Tasks extension uses the same durable jobs and owner tokens as A2A.
LDES 1.0 and TREE publish an append-only history of public service, project, publication and CV records. Versions are added after deployment and index activation; updates and deletions preserve earlier records. History begins at the first capture, without reconstructing earlier publications. LDES is a SEMIC technical specification and TREE is a Community Group specification.
Provenance & verification
What you fetch here can be independently verified as authentic:
- Pages pin their assets with SRI (Subresource Integrity) hashes.
- Signed resources have detached OpenPGP signatures (
.asc); the artifact key is at/pgp/github-signing.asc. - The provenance manifest is signed with an Ed25519 key; HTTP responses are not currently signed. The key directory is at
/.well-known/http-message-signatures-directory. - Build provenance (who, what, when generated each artifact) is in the PROV-O graph and
/.well-known/content-provenance.json.
Each locale's JSON-LD, Turtle, and N-Triples exports are checked using PurRDF's native RDF 1.2 canonicalization: purrdf-rdfc12 v2, overlay v1, SHA-256, over the full dataset. The receipt identifies the implementation version, commit, helper, and reference corpus. Canonical bytes are stored as opaque data; this profile does not claim an RDFC-1.0 or Data Integrity proof.
A separate RDF 1.1 projection signs the full home JSON-LD graph with an eddsa-rdfc-2022 Data Integrity proof and a verification method in the site's DID document. This proof does not cover arbitrary RDF 1.2 triple terms.
Signed RDF 1.1 graph · RDF identity receipt · Signed public source inventory
Verification recipes
Inspect the discovery layer (tools, agent policy, skills):
curl -s https://patrickaudley.com/.well-known/mcp.json | jq '.tools[].name'
curl -s https://patrickaudley.com/.well-known/agent-policy.json | jq '.agent_use, .citation_required'
curl -s https://patrickaudley.com/.well-known/agent-skills/index.json | jq '.skills[].name'
Verify a signed artifact, then inspect build provenance:
# import the published key, then verify any signed source
curl -s https://patrickaudley.com/pgp/github-signing.asc | gpg --import
curl -sO https://patrickaudley.com/llms.txt
curl -sO https://patrickaudley.com/llms.txt.asc
gpg --verify llms.txt.asc llms.txt
curl -s https://patrickaudley.com/.well-known/content-provenance.json | jq '.'
Full identity, keys, signatures, privacy and mail-security details — with live in-browser verification — are on the Trust & Provenance page.
Build & technology
The generator is badged BespokeIdentityHub_v2.5. Under the hood, the site is rendered to static HTML and linked data by a bespoke Go html/template pipeline; assets are content-addressed and integrity-pinned with SRI, and images are optimized at build time with jampack. Typefaces are Inter and Source Serif 4. The site sets no cookies, reads with no JavaScript required, and embeds no third-party trackers; hosted behind Cloudflare and Apache, with machine-readable resources signed using OpenPGP.
Build: e7289c0