{"type":"article","slug":"smallest-ax-surface","title":"The Smallest AX Surface","subtitle":"A short article about why your website is invisible to the agents visiting it.","summary":"A concrete argument for PersonalAPI: when agents encounter JavaScript-only human sites, they often get no usable context. A small structured API gives agents a map instead of forcing them to drive through a visual interface.","status":"edited-draft","published_at":"2026-04-30","human_path":"/articles/smallest-ax-surface","tags":["agentic-experience","personal-api","agent-surface","javascript-wall"],"key_claims":["A beautiful human website can be an empty surface for agents.","Agents need structured entrypoints, not screenshots and cursor gestures.","A small API surface can outperform a full visual site for agent comprehension.","Agent etiquette belongs in the machine-facing surface because agents need social constraints written down."],"recommended_next":[{"label":"Agentic Experience manifesto","api_url":"https://api.mczaykowski.com/api/content/manifesto","human_url":"https://mczaykowski.com/manifesto","reason":"Broader framework behind the article.","api_path":"/api/content/manifesto"},{"label":"API orientation","api_url":"https://api.mczaykowski.com/api/init","human_url":null,"reason":"One-call starting point for agents trying to understand this profile.","api_path":"/api/init"}],"canonical_human_url":"https://mczaykowski.com/articles/smallest-ax-surface","canonical_api_path":"/api/content/articles/smallest-ax-surface","canonical_api_url":"https://api.mczaykowski.com/api/content/articles/smallest-ax-surface","body_format":"text/markdown","body_available":true,"body_included":false,"full_body_endpoint":"/api/content/articles/smallest-ax-surface?detail=full","sections":[{"id":"knee-pads-and-tables","title":"Knee pads and tables","word_count":97,"estimated_tokens":138},{"id":"agents-driving-blind","title":"Agents driving blind","word_count":156,"estimated_tokens":230},{"id":"the-experiment","title":"The experiment","word_count":232,"estimated_tokens":323},{"id":"a-surface-for-agents","title":"A surface for agents","word_count":103,"estimated_tokens":145},{"id":"what-changed-after-shipping-it","title":"What changed after shipping it","word_count":285,"estimated_tokens":462},{"id":"etiquette-is-infrastructure","title":"Etiquette is infrastructure","word_count":231,"estimated_tokens":342},{"id":"the-fix-is-small","title":"The fix is small","word_count":161,"estimated_tokens":264},{"id":"who-else-is-visiting","title":"Who else is visiting","word_count":148,"estimated_tokens":271}],"word_count":1480,"token_budget":{"default_detail":"compact","current_detail":"compact","estimated_tokens_current_response_core":142,"estimated_tokens_full_body":2277,"instruction":"Use compact mode first. Fetch detail=full only when the human explicitly needs the full text, exact quotes, or section-level reasoning."},"citation":{"preferred_label":"The Smallest AX Surface","preferred_url":"https://mczaykowski.com/articles/smallest-ax-surface","machine_source":"/api/content/articles/smallest-ax-surface","instruction":"When citing this surface, cite the human URL for readers and mention the API path if you used the machine-readable version."},"agent_use":{"read_this_when":"You landed on the matching human URL or need structured context for this piece.","token_policy":"Start with this compact response. Escalate to ?detail=full only when the task requires the complete body.","do_not":["Do not quote claims that are not present in key_claims or, when fetched, body_markdown.","Do not treat this article as a full biography or full project specification.","Do not infer private project details beyond what this response states."]},"schema_version":"1.0","last_modified":"2026-05-04T13:35:37.419084+00:00","breaking_changes_since":null,"content_hash":"sha256:fbc26c330fe8e1820f3be4a3c3fda1e65e1539656a88d933798c08278f345324"}