Skip to content

Add machine-readable agent discovery - #149

Merged
3mdistal merged 3 commits into
mainfrom
codex/agent-readiness
Aug 24, 2026
Merged

3mdistal merged 3 commits into
mainfrom
codex/agent-readiness

Conversation

@3mdistal

@3mdistal 3mdistal commented Aug 24, 2026 •

Copy link
Copy Markdown
Owner

Problem

Public web agents can reach Tempo Immaterial, but the homepage only serves HTML and the site does not publish an XML sitemap or agent-specific orientation file. That makes it harder for source-blind clients to identify Alice, discover canonical public content, and consume a concise representation without application markup.

The original readiness audit also suggested adding more homepage prose and trust pages. Those changes are deliberately excluded: this PR does not alter the ordinary human-facing homepage or 404 experience.

Approach

Add a machine-only discovery layer around the existing SvelteKit site. Browsers continue receiving the existing homepage HTML, while clients that explicitly prefer Markdown can receive a concise representation of that same canonical resource. Build-time endpoints expose an agent guide and a content-derived sitemap, and invisible head metadata makes the site's personal identity explicit.

The negotiation boundary is intentionally limited to the homepage. Expanding Markdown representations across prerendered writing and interactive studio routes remains a separate product and architecture decision.

What changed

  • Parse Accept preferences with q-values, specificity, wildcards, and explicit exclusions, then serve homepage HTML, Markdown, or 406 Not Acceptable as appropriate.
  • Preserve SvelteKit's normal method handling by negotiating only GET and HEAD; non-GET requests still reach the existing route behavior.
  • Add Vary: Accept to both homepage representations so downstream caches can distinguish them.
  • Publish /llms.txt with specific when-to-use guidance, canonical links, and explicit capability limits.
  • Generate /sitemap.xml from public static routes and authored content metadata, excluding owner, authentication, API, unsubscribe, legacy-alias, and experimental arcade surfaces.
  • Validate sitemap dates strictly before emitting lastmod, omitting missing or invalid evidence rather than normalizing impossible dates.
  • Add a canonical homepage URL and Person JSON-LD for Alice Alexandra Moore / Tempo Immaterial, using only already-public identity information.

Safety and operations

This is an additive, reversible HTTP/content change with no data writes, credentials, migrations, tracking, or new visible interface. The primary operational risk is cache variation at Vercel's edge. The exact protected preview demonstrates that HTML and Markdown remain separated regardless of which representation primes the cache.

Verification

  • pnpm check, pnpm lint, pnpm build, and all 36 unit tests pass. Together they validate the Svelte/TypeScript boundary, formatting, production build, Accept selection, and strict sitemap-date behavior.
  • Playwright passes all 8 browser/request tests. This proves default HTML remains visually and textually unchanged at the asserted surface, Markdown/HEAD/406 behavior works, Markdown-preferred POST / remains 405, metadata is parseable, machine files resolve, and existing keyboard/reduced-motion/navigation behavior does not regress.
  • GitHub CI and the Vercel deployment pass at bbc1661.
  • The exact protected Vercel preview passes HTML→Markdown and Markdown→HTML cache-order checks with correct content types and Vary: Accept; Markdown HEAD returns no body; unsupported GET/HEAD return 406; and Markdown-preferred POST remains 405.
  • /llms.txt and /sitemap.xml resolve on the preview. The sitemap contains 53 intended public URLs, leaks no excluded routes, and every listed URL resolves successfully.
  • Preview canonical metadata and Person JSON-LD parse with the canonical production host. The preview's visible homepage text exactly matches production, and the existing HTML 404 remains unchanged.
  • Independent technical review found two correctness issues (non-GET negotiation and impossible-date normalization); both were repaired. The same reviewer confirmed that the final bbc1661 head changes no reviewed implementation or test bytes after 94e1411 and introduces no technical blocker.

Review focus

  • Confirm the Accept preference ordering and Vary behavior are appropriate for the Vercel cache boundary.
  • Check that sitemap inclusion/exclusion choices match the site's intended public discovery surface.
  • Verify the Markdown and llms.txt descriptions are accurate without implying an API or authority to act for Alice.

Follow-ups

  • Optional later product decision: whether prerendered public content should also negotiate Markdown.
  • External follow-up: improve Tempo Immaterial brand-search visibility outside this repository.

@vercel

vercel Bot commented Aug 24, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
alicealexandra.com Ready Ready Preview, v0 Aug 24, 2026 5:31pm

@3mdistal
3mdistal marked this pull request as ready for review August 24, 2026 18:02
@3mdistal
3mdistal merged commit 15b8b94 into main Aug 24, 2026
3 checks passed
@3mdistal
3mdistal deleted the codex/agent-readiness branch August 24, 2026 18:04

This branch was successfully deployed

1 active deployment
Preview — bbc16611 Deployed Aug 24, 2026 by vercel[bot]
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.

1 participant