Skip to content

feat: agent readiness: Markdown negotiation, OpenAPI, OAuth metadata, JSON API 404s, MCP discovery - #26

Merged
implemented.stream (thanabartbb) merged 6 commits into
mainfrom
cursor/agentic-readiness-7c8d
Oct 15, 2026
Merged

implemented.stream (thanabartbb) merged 6 commits into
mainfrom
cursor/agentic-readiness-7c8d

Conversation

@thanabartbb

Copy link
Copy Markdown
Member

Agent readiness (Is Agentic / Ora audit), from a Cursor agent (d260c0d), with current main (687ec63) merged in.

What it adds

  • Markdown negotiation: / and unknown paths return Markdown for Accept: text/markdown, with Vary: Accept
  • /openapi.json, which is static and contains no secrets or env values, plus /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource
  • Unknown /api/* returns a JSON 404; MCP returns structured errors
  • GET /mcp discovery and a richer /.well-known/mcp
  • /agent-instructions.txt and an expanded llms.txt
  • /about and /contact pages; homepage JSON-LD, canonical and og:image
  • Footer "Developers" links: OpenAPI, llms.txt, MCP settings

Merge resolution

  • src/app/privacy/page.tsx: kept main's feat(footer): footer menu, cookie preferences and placeholder pages #17 page. Cursor's duplicate was dropped.
  • Footer (header.tsx): kept main's feat(footer): footer menu, cookie preferences and placeholder pages #17 legal row, Cookie Preferences and copyright. Added About and Contact to it. Restored the Agents link that the Cursor branch had removed.
  • sitemap.ts: union of both lists, no duplicates.
  • CHANGELOG.md: kept both sets of entries.
  • i18n.ts: removed the duplicate footer.legal key (a TS1117 error) and the now-unused nav.privacy key.
  • Middleware allow-lists were based on the old main. Added /api/cli, /api/connections, /api/deployments and /api/projects, and the site paths /support, /status, /careers, /terms, /security, /settings/cli, /settings/connections, /projects, /projects/:id, /setup.sh and /design/chat-stream. A new test checks that every page.tsx and route.ts is known to the middleware, so future routes can't silently return 404.

Verification (Node 20)

npm ci, lint, typecheck and next build all pass; 350/350 tests pass. Local next start curl checks: / returns 200 Markdown for Accept: text/markdown; an unknown path returns 404 Markdown; /api/not-a-route returns a JSON 404; /openapi.json and all three /.well-known/* return 200 JSON; GET /mcp returns 200 JSON; /setup.sh returns 200 shellscript, including with Accept: text/markdown; /api/auth/github returns 302; /api/cli/whoami and /api/projects return 401 JSON from the real handlers.

Not deployed. Re-run the Ora probes on production after deploy.

Add Markdown negotiation (homepage + 404), OpenAPI, OAuth metadata,
structured JSON API errors, MCP GET discovery, trust pages, JSON-LD,
llms/agent instructions, and footer discoverability links.
@codesandbox-ci

codesandbox-ci Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 27f22f4:

Sandbox Source
devstack-my-button Configuration

@thanabartbb
implemented.stream (thanabartbb) merged commit 94eae83 into main Oct 15, 2026
5 checks passed
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