Skip to content

Add Markdown negotiation and agent-readable recovery for Is Agentic - #23

Merged
0thernet merged 2 commits into
mainfrom
cursor/is-agentic-audit-e490
Aug 21, 2026
Merged

Add Markdown negotiation and agent-readable recovery for Is Agentic#23
0thernet merged 2 commits into
mainfrom
cursor/is-agentic-audit-e490

Conversation

@0thernet

@0thernet 0thernet commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Report

Completed Is Agentic scan of aicharts.io on 2026-08-21T21:57:02.344Z.

This PR does not claim a new live score. A post-deploy rescan is required.

Local bun run check passed (generated files, typecheck, lint, 160 tests, production build).

Findings and changes

Essential

markdown-negotiation-vary / Markdown content negotiation (acceptmarkdown.com) — failed
Evidence: Accept: text/markdown returned text/html; charset=utf-8; Vary was missing Accept.

Change: Next.js middleware now parses Accept by q-value and specificity, rewrites Markdown requests to a route handler, returns 406 when no produced type matches, and appends Vary: Accept. Next.js RSC/prefetch requests and the JSON snapshot are left alone.

content-no-js / Content without JavaScript — partial
Evidence: "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 — partial
Evidence: 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/markdown with status 404.

Recommended (existing capabilities only)

agent-instruction / Agent instruction / when-to-use — failed
Change: /llms.txt describes 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 — partial
The 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 — failed
A 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 — failed
No public contact email, phone, or postal address exists. Do not invent those fields.

trust-anchors / Trust anchor pages — failed
There are no existing /about, /contact, or /privacy pages with 500+ characters. Publishing them is a product decision.

Verification

After deploy, verify with:

curl -sI -H "Accept: text/markdown" https://aicharts.io/
# Content-Type: text/markdown; charset=utf-8
# Vary: Accept

curl -s -H "Accept: text/markdown" https://aicharts.io/ | head

curl -sI -H "Accept: application/pdf" https://aicharts.io/
# HTTP 406

curl -s -o /dev/null -w "%{http_code}\n" https://aicharts.io/some-path-that-does-not-exist
# 404

curl -s -H "Accept: text/markdown" -o /dev/null -w "%{http_code}\n" https://aicharts.io/some-path-that-does-not-exist
# 404

curl -s https://aicharts.io/llms.txt | head
curl -sI https://aicharts.io/sitemap.xml
curl -sI https://aicharts.io/robots.txt

Do not treat a new Is Agentic number as live until those URLs are rescanned on production.

Open in Web Open in Cursor 

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>
@vercel

vercel Bot commented Aug 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
aicharts Ready Ready Preview Aug 21, 2026 10:09pm

Request Review

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>
@0thernet
0thernet marked this pull request as ready for review August 21, 2026 22:10
@0thernet
0thernet merged commit e028d61 into main Aug 21, 2026
4 checks passed
@0thernet
0thernet deleted the cursor/is-agentic-audit-e490 branch August 21, 2026 22:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants