# Mnemom Agent-Readability Commitment # # Single source of truth. Read by: # - client/pages/ForAgents.tsx (renders this file as the public spec) # - scripts/verify/_runner.ts (executes ciScript per commitment in CI) # - .github/workflows/verify-agent-readiness-watchdog.yml (nightly verification) # # Editing this file is editing a public, versioned commitment. Bump `version` # semver-style: patch for clarifications, minor for new commitments, major # for breaking changes to existing commitments. Update `lastReviewed` on every # substantive edit and add a /changelog entry. # # Promoting `roadmap` → `commitments` requires a 7-consecutive-green-night # soak period against the candidate surface. See AGENTS.md § # "Agent-readability commitment" for the rationale (v1.4's trust subdomain # commitment shipped red because the soak step was skipped). version: "1.13.2" lastReviewed: "2026-06-11" nextReviewBy: "2026-09-08" reviewCadenceDays: 90 # A short description that gets surfaced both in the page header and in # JSON-LD as the document's `description`. summary: > Mnemom's public, versioned, machine-verifiable commitment to agent-readability. Each commitment below is enforced in CI and re-verified nightly against production. Last verification status lives in agent-readiness-status.json. commitments: - id: prerendered-content title: Every core marketing page returns prerendered HTML rationale: > Agents that render HTML — search crawlers, Anthropic Computer Use, Browserbase, and headless evaluators — see the full page content on every core marketing route without executing JavaScript. The prerender set is enumerated in STATIC_MARKETING_PATHS in react-router.config.ts and mirrored across the four EFIGS locales (fr / de / it / es). Two classes ship as shell-only by design and are named publicly here, not hidden: blog index pages, whose post lists hydrate via TanStack Query against api.mnemom.ai, and the legal triad (/privacy /terms /cookies), whose policy bodies render via Termly's third-party embed SDK. The prerendered <h1> and surrounding chrome are present on both — what this verifier asserts. Auth-gated SPA surfaces (/dashboard, /admin, /settings/*) are intentionally outside this commitment; they have no anonymous public view. verifyCli: | curl -s https://www.mnemom.ai/methodology/ | grep -c ' per non-excluded route ciScript: scripts/verify/prerender.ts - id: discovery-files title: agents.txt, llms.txt, and llms-full.txt are always available rationale: > Three discovery files at the site root: a hand-crafted second-person pitch (agents.txt), a curated index of every URL with descriptions (llms.txt), and the same with full descriptions (llms-full.txt). All three return 200 with text/plain content type. Always. verifyCli: | curl -sI https://www.mnemom.ai/agents.txt | head -2 curl -sI https://www.mnemom.ai/llms.txt | head -2 curl -sI https://www.mnemom.ai/llms-full.txt | head -2 expectation: All three return HTTP/2 200 with text/plain content-type ciScript: scripts/verify/discovery-files.ts - id: structured-data title: Every prerendered marketing page contains valid, locale-aware JSON-LD rationale: > JSON-LD gives agents a typed graph of who published what, when, and how the page relates to other entities. v1.3 expands coverage from /for-agents to every prerendered marketing route in every locale: a primary entity per page (Organization + WebSite + WebPage on the home page; Product on /pricing; WebApplication on /showcase and /arena; HowTo on /how-it-works; CollectionPage on /research, /directory, /teams/directory; Article / ScholarlyArticle / TechArticle across the rest), plus a BreadcrumbList companion on every page. Required keys per primary entity: "@context", "@type", "name", "description", "url", "inLanguage", and one of "dateModified" / "datePublished". Locale-aware fields (name, description, url, inLanguage) come from the active route's :lang? param; technical identifiers (publisher name, schema.org @type) stay English. verifyCli: | for r in / /pricing/ /showcase/ /arena/ /fr/showcase/ /de/pricing/; do printf "%-25s " "$r" curl -s "https://www.mnemom.ai$r" | \ grep -c '