Add Markdown negotiation and agent-readable recovery for Is Agentic - #23
Merged
Conversation
Serve existing chart, data, and blog pages as Markdown when Accept prefers text/markdown, keep real 404s with recovery links, and publish a truthful agent guide for the surfaces this product already has. Co-authored-by: ben <0thernet@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Next.js rejects extra named exports from App Router route modules during the production type check. Co-authored-by: ben <0thernet@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Report
Completed Is Agentic scan of
aicharts.ioon 2026-08-21T21:57:02.344Z.This PR does not claim a new live score. A post-deploy rescan is required.
Local
bun run checkpassed (generated files, typecheck, lint, 160 tests, production build).Findings and changes
Essential
markdown-negotiation-vary/ Markdown content negotiation (acceptmarkdown.com) — failedEvidence:
Accept: text/markdownreturnedtext/html; charset=utf-8;Varywas missingAccept.Change: Next.js middleware now parses
Acceptby q-value and specificity, rewrites Markdown requests to a route handler, returns 406 when no produced type matches, and appendsVary: Accept. Next.js RSC/prefetch requests and the JSON snapshot are left alone.content-no-js/ Content without JavaScript — partialEvidence: "Only 2479 chars of text content, no H1 tag."
Change: The homepage now server-renders a document with the product H1 and more than 500 characters of existing product copy, plus links to
/data, the JSON snapshot,/blog,/llms.txt, and the sitemap. The visible chart chrome is unchanged; the top-bar title stays styled as before.agent-friendly-404/ Agent-friendly 404s — partialEvidence: nonexistent paths already returned HTTP 404; full credit needs a short Markdown recovery body.
Change: HTML 404s keep status 404 and now list recovery links. Markdown 404s return the same links as
text/markdownwith status 404.Recommended (existing capabilities only)
agent-instruction/ Agent instruction / when-to-use — failedChange:
/llms.txtdescribes when to use the existing chart,/data, JSON snapshot, and blog. It does not invent API, OAuth, GraphQL, MCP, or commerce surfaces.content-efficiency/ Content efficiency — partialThe chart SVG remains markup-heavy. Markdown negotiation is the matching fix for agents. No visual redesign to chase the 5% HTML-text ratio.
Left as product decisions
brand-search-accuracy/ Brand name discoverability — failedA search for "AI Charts" did not return
aicharts.io. That needs indexing, press, or naming work, not a new invented page.org-schema-completeness/ Organization schema completeness — failedNo public contact email, phone, or postal address exists. Do not invent those fields.
trust-anchors/ Trust anchor pages — failedThere are no existing
/about,/contact, or/privacypages with 500+ characters. Publishing them is a product decision.Verification
After deploy, verify with:
Do not treat a new Is Agentic number as live until those URLs are rescanned on production.