{"schema":"https://ard.dev/spec/v0","identity":{"name":"Ben McAdams","url":"https://benmcadams.info","description":"Field notes on agents, developer experience, and product."},"resources":[{"type":"index","url":"https://benmcadams.info/llms.txt","format":"text/markdown"},{"type":"index-full","url":"https://benmcadams.info/llms-full.txt","format":"text/markdown"},{"type":"feed","url":"https://benmcadams.info/feed.xml","format":"application/rss+xml"},{"type":"sitemap","url":"https://benmcadams.info/sitemap.xml","format":"application/xml"},{"type":"sitemap-markdown","url":"https://benmcadams.info/sitemap.md","format":"text/markdown"},{"type":"agent-guide","url":"https://benmcadams.info/AGENTS.md","format":"text/markdown"},{"type":"agent-manifest","url":"https://benmcadams.info/agents.json","format":"application/json"},{"type":"mcp-server-card","url":"https://benmcadams.info/.well-known/mcp.json","format":"application/json"}],"mcp":{"transport":"streamable-http","url":"https://benmcadams.info/api/mcp","description":"Personal MCP server. Tools: about, get_resume, download_resume, list_notes, get_post, search_notes, get_portfolio."},"notes":[{"title":"A rival worth learning from","description":"Tadej Pogačar's interview after Jonas Vingegaard crashed out of the Tour de France stuck with me as a small model of leadership.","date":"2026-07-19","html":"https://benmcadams.info/notes/pogacar-compassionate-rival","markdown":"https://benmcadams.info/notes/pogacar-compassionate-rival.md"},{"title":"Two agent auth specs, at once","description":"Two proposals for agent auth landed the same week — same name, same problem, different mechanisms.","date":"2026-07-14","html":"https://benmcadams.info/notes/two-agent-auth-specs","markdown":"https://benmcadams.info/notes/two-agent-auth-specs.md"},{"title":"MCP is a toolbox. A2A is a coworker.","description":"MCP and A2A get lumped together, but they solve different problems.","date":"2026-07-14","html":"https://benmcadams.info/notes/mcp-toolbox-a2a-coworker","markdown":"https://benmcadams.info/notes/mcp-toolbox-a2a-coworker.md"},{"title":"AI agents fetch pages differently","description":"A 308 redirect broke ChatGPT's retrieval but not Claude's. Same URL, different behavior.","date":"2026-07-14","html":"https://benmcadams.info/notes/agents-fetch-differently","markdown":"https://benmcadams.info/notes/agents-fetch-differently.md"},{"title":"Two kinds of AI crawler","description":"The split between training-style crawlers and user-side fetchers changes how I read a traffic spike.","date":"2026-07-13","html":"https://benmcadams.info/notes/two-kinds-of-ai-crawler","markdown":"https://benmcadams.info/notes/two-kinds-of-ai-crawler.md"},{"title":"Markdown mirrors","description":"Serving .md alongside HTML is cheap, and it makes agents parse your pages far more efficiently.","date":"2026-07-12","html":"https://benmcadams.info/notes/markdown-mirrors","markdown":"https://benmcadams.info/notes/markdown-mirrors.md"},{"title":"Hello, world","description":"A small home for field notes on the things I'm learning.","date":"2026-07-10","html":"https://benmcadams.info/notes/hello-world","markdown":"https://benmcadams.info/notes/hello-world.md"}]}