Skip to content

Commit a41da32

Browse files
rachaelrenkoz-agent
andcommitted
docs: add content-negotiation to known exceptions (Vercel platform limitation)
Vercel serves static files before evaluating rewrites, so Accept: text/markdown header-conditional rewrites never fire for pre-rendered pages. The practical agent experience is already good — llms.txt directive, <link rel=alternate>, and .md URLs all provide agents with clear paths to markdown content. Co-Authored-By: Oz <oz-agent@warp.dev>
1 parent 1dcb01a commit a41da32

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

.agents/skills/afdocs-audit/references/known-exceptions.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22

33
This file lists checks from the afdocs-audit skill that may flag as warnings or failures but are expected and intentional. When reporting audit results, classify these as "Allowlisted" rather than "Remaining."
44

5+
## content-negotiation
6+
7+
**Expected status**: fail
8+
**Reason**: Vercel serves static files before evaluating rewrites. Since all doc pages are pre-rendered as static HTML, header-conditional rewrites (`Accept: text/markdown`) never fire — the CDN matches the static file first and returns HTML. Astro's `middlewareMode: 'edge'` also doesn't work because the edge function's `next()` forwards to `/_render`, which doesn't exist for static pages.
9+
**Mitigation**: The practical agent experience is already good despite this check failing:
10+
- The llms.txt directive on every page tells agents that `.md` URLs are available
11+
- `<link rel="alternate" type="text/markdown">` in `<head>` provides a machine-readable signal
12+
- Agents that read either of these (Claude Code, Cursor, OpenCode) get clean markdown
13+
- The `.md` URL convention works for 92%+ of pages
14+
**Action**: No fix available on Vercel's static hosting. Would require migrating to a platform where middleware runs before static file serving (e.g., Cloudflare Pages). Accept as a platform limitation.
15+
516
## content-start-position
617

718
**Expected status**: fail or warn

0 commit comments

Comments
 (0)