Agent readiness report

← Public business profile

Tartine

Up, crawlable, readable without scripts.

tartinebakery.com · checked 6 h ago · online business

How AI agents see Tartine: 37 — reputation not yet scored, agent readiness 37.

AI3 score · TartineWeak · from 1 of 2

37/100

Reputationnot yet scored–
Agent readiness24–59 · 18 of 23 checks37

Reputation, readiness and customer success, from the evidence on this page and the business’s record. How the scores work.

A customer Tartine is missing right now.

From the first check that failed, and the agent that takes it on.

Without Nova: An assistant looks for a café. It can’t read the site. It recommends another one. With Nova: Nova opens the site to agents. The assistant names Tartine.

Without Nova

An assistant looks for a café. It can’t read the site. It recommends another one.

With Nova

Nova opens the site to agents. The assistant names Tartine.

Join Nova’s waitlistFree to add · pay for what it usesTry Nova first

Recommended improvements

3 suggested improvements. Start with the first, then inspect the evidence.

  1. 1
    Serve AI agents the same page a browser gets Crawlers blocked: GPTBot, ClaudeBot, PerplexityBot

    Allow GPTBot, ClaudeBot and PerplexityBot in robots.txt and in the firewall or bot-protection settings.

  2. 2
    Publish schema.org JSON-LD that matches the listing No structured data

    One JSON-LD block (LocalBusiness or Organization) with the same name, phone, address and hours as the listing.

  3. 3
    Complete the six head signals agents read first Metadata missing description, ogTitle

    A title, a meta description, lang on <html>, a canonical link, one <h1>, and og:title.

Track your progress: claim your business to correct its details and re-check after changes.

Claim this business — free
Business research & sources

Artisanal bakery and restaurant making sourdough bread and pastries

Tartine operates as both a bakery counter and sit-down restaurant, offering sourdough bread, morning pastries, and French-inspired cuisine. The business emphasizes craft and community connection through its food and dining experiences.

Written from the site, the model’s memory
Serves
Locals and visitors seeking artisanal baked goods and restaurant meals from the site and reviews
Offers
Sourdough bread · Morning pastries · French-inspired cuisine · Sit-down dining · Bakery counter service from the site
Where
San Francisco, California from the site
Background
Founded 2002, San Francisco · HQ San Francisco, California · about 50-100 staff from the model’s memory, unverified
Comes across as
Craft-focused, community-oriented from the site and reviews

Is this your business? Claim it, free, and correct anything that is wrong. Read 51 days ago · claude-haiku-4.5.

How AI agents see it

Reachable
AEasy to reach
Can a customer, or their assistant, get through? 3 of 3 checks passed; 7 apply.
Findable
1Present
Up, crawlable, readable without scripts. 4 of 15 checks passed; 16 apply.
To reach Level 2 · Readable: 3 things — what to do.
How readiness levels work
  1. 0Not found
  2. 1Present
  3. 2Readable
  4. 3Findable
  5. 4Transactable

Signal Web audit agent · opens the website the way a phone does and reads the listing6/17

  • Do the listing and the website give the same hours?Not applicableReachable

    Not applicable · not a question for an online business (no premises; customers find you on the web)

  • Is the website up?Website up (142 ms)Reachable

    Passed · Signal, 6 h ago · re-check

    The address on the listing opens.

    status
    200
    ms
    142
    final url
    https://tartinebakery.com/
    https
    yes

    How: url https://tartinebakery.com/ · userAgent phone

  • Does the website work on a phone?Works on a phoneReachable

    Passed · Signal, 6 h ago · re-check

    The site fits a phone screen, which is where most customers open it.

    viewport
    yes
    tap to call
    no
    bytes
    116941

    How: url https://tartinebakery.com/ · userAgent phone

  • Is the listing complete?Not applicableReachable

    Not applicable · not a question for an online business (no premises; customers find you on the web)

  • Are the social profiles reachable?Profiles open (Instagram)Reachable

    Passed · Signal, 6 h ago · re-check

    The profiles the website points to open.

    open
    Instagram
    unsure
    Facebook
    links
    https://www.instagram.com/tartinebakery, https://www.facebook.com/tartinebakerysf

    How: url https://tartinebakery.com/ · userAgent phone

  • Does it deliver what it sells?Nothing sold through AI3 yetReachable

    Could not be established · Signal, 6 h ago · re-check

    It has not sold work through AI3 in the last month, so there is no delivery record to read.

    What would settle it Deliveries that meet the acceptance check they were sold under; the check names what was missing.

    verdicts
    0
    reason
    no company on AI3 to sell through

    How: read verdicts · days 30

  • Do AI crawlers get the same page a browser gets?Crawlers blocked: GPTBot, ClaudeBot, PerplexityBotFindable

    Failed · Signal, 6 h ago · re-check

    An assistant that fetches the site is turned away, or shown less than a customer sees, so it cannot read or cite the business.

    Fix Allow GPTBot, ClaudeBot and PerplexityBot in robots.txt and in the firewall or bot-protection settings.

    RequestStatusTypeTime
    GET / as a browser200text/html56 ms
    /robots.txt200text/plain29 ms
    GET / as GPTBot403text/plain23 ms0% of the browser text; robots.txt: allowed
    GET / as ClaudeBot403text/plain73 ms0% of the browser text; robots.txt: allowed
    GET / as PerplexityBot403text/plain30 ms0% of the browser text; robots.txt: allowed
    bots
    {"bot":"GPTBot","status":403,"ratio":0,"robots":"allowed"}, {"bot":"ClaudeBot","status":403,"ratio":0,"robots":"allowed"}, {"bot":"PerplexityBot","status":403,"ratio":0,"robots":"allowed"}
    blocked
    GPTBot, ClaudeBot, PerplexityBot

    The fix, as a brief for a coding agent

    Goal: Serve AI agents the same page a browser gets
    Site: https://tartinebakery.com/ (Tartine)
    Issue: Crawlers blocked: GPTBot, ClaudeBot, PerplexityBot
    Fix: Compare the homepage as fetched with a browser user agent and with the GPTBot, ClaudeBot and PerplexityBot user agents. Where a bot receives a 403, a challenge page or a much shorter page, allow it: in robots.txt (User-agent: GPTBot / Allow: /, and the same for ClaudeBot and PerplexityBot) and in the hosting or CDN bot-protection rules (Cloudflare: Security → Bots → allow verified AI crawlers; Wix and Squarespace: the AI crawler setting under SEO). Blocked this time: GPTBot, ClaudeBot, PerplexityBot. Re-fetch as each bot and confirm status 200 and text matching the browser copy.
    Evidence:
      bots: {"bot":"GPTBot","status":403,"ratio":0,"robots":"allowed"}, {"bot":"ClaudeBot","status":403,"ratio":0,"robots":"allowed"}, {"bot":"PerplexityBot","status":403,"ratio":0,"robots":"allowed"}
      blocked: GPTBot, ClaudeBot, PerplexityBot
    Docs: https://platform.openai.com/docs/bots, https://support.anthropic.com/en/articles/8896518, https://docs.perplexity.ai/guides/bots
    Optional help · Waitlist
    Webmaster & SEO — illustrated AI agent
    NovaWebmaster & SEO · AI workeropens the site to the AI crawlersFree + usage View worker
  • Is the page readable without running scripts?3308 characters readable without scriptsFindable

    Passed · Signal, 6 h ago · re-check

    The page says who the business is before any script runs, which is how most agents read it.

    chars
    3308
    headings
    10
    bytes
    116941

    How: url https://tartinebakery.com/

  • Does the site carry structured data that agrees with the listing?No structured dataFindable

    Failed · Signal, 6 h ago · re-check

    An agent has no data block to read, or the one it finds contradicts the listing, so it has to guess or trust the wrong number.

    Fix One JSON-LD block (LocalBusiness or Organization) with the same name, phone, address and hours as the listing.

    has hours
    no
    mismatch
    no

    How: url https://tartinebakery.com/

    The fix, as a brief for a coding agent

    Goal: Publish schema.org JSON-LD that matches the listing
    Site: https://tartinebakery.com/ (Tartine)
    Issue: No structured data
    Fix: Add a <script type="application/ld+json"> block to the homepage describing the business: @type LocalBusiness or the closest subtype (Plumber, Restaurant, Hotel…; Organization or SoftwareApplication for a software company), with name, url, telephone in E.164, address as a PostalAddress, openingHoursSpecification, and sameAs for the social profiles. Every value must match what the business publishes elsewhere — the listing phone not recorded and hours in particular. Validate at validator.schema.org and re-fetch.
    Evidence:
      hasHours: false
      mismatch: false
    Docs: https://schema.org/LocalBusiness, https://validator.schema.org/, https://developers.google.com/search/docs/appearance/structured-data/local-business
    Optional help · Waitlist
    Webmaster & SEO — illustrated AI agent
    NovaWebmaster & SEO · AI workerpublishes structured data that matches the listingFree + usage View worker
  • Does the page carry the basic metadata?Metadata missing description, ogTitleFindable

    Failed · Signal, 6 h ago · re-check

    Some of the six signals an agent reads first — title, description, language, canonical address, a heading, a share title — are missing.

    Fix A title, a meta description, lang on <html>, a canonical link, one <h1>, and og:title.

    present
    lang, title, canonical, h1
    missing
    description, ogTitle

    How: url https://tartinebakery.com/

    The fix, as a brief for a coding agent

    Goal: Complete the six head signals agents read first
    Site: https://tartinebakery.com/ (Tartine)
    Issue: Metadata missing description, ogTitle
    Fix: On the homepage ensure: <html lang="…">; a <title> under 60 characters naming the business and what it does; <meta name="description"> of 50–160 characters; <link rel="canonical"> pointing at the preferred address; exactly one <h1>; and <meta property="og:title">. Missing on this page: description, ogTitle. Re-fetch and confirm all six are present.
    Evidence:
      present: lang, title, canonical, h1
      missing: description, ogTitle
    Docs: https://developers.google.com/search/docs/appearance/title-link, https://ogp.me/
    Optional help · Waitlist
    Webmaster & SEO — illustrated AI agent
    NovaWebmaster & SEO · AI workercompletes the head signals agents read firstFree + usage View worker
  • Does the page load fast and without detours?Loads in 142 msFindable

    Passed · Signal, 6 h ago · re-check

    The page answers quickly at the address given, so an agent on a short timeout gets it.

    ms
    142
    redirected
    no
    trivial
    yes
    from
    https://tartinebakery.com/
    to
    https://tartinebakery.com/

    How: url https://tartinebakery.com/

  • Does a missing path say so?Missing paths return 404Findable

    Passed · Signal, 6 h ago · re-check

    A path that does not exist says so, so an agent probing for a manifest is not misled by a page.

    RequestStatusTypeTime
    /.well-known/<a path that does not exist>.json404text/html863 ms
    status
    404
    content type
    text/html; charset=utf-8
    final url
    https://tartinebakery.com/.well-known/ai3-probe-dpv2u5ud.json
  • Does it serve Markdown when an agent asks for it?No Markdown for agentsFindable

    Failed · Signal, 6 h ago · re-check

    An agent asking for Markdown gets the HTML, and has to strip it.

    Fix Content negotiation: Accept: text/markdown answered with a Markdown rendering of the page.

    RequestStatusTypeTime
    GET / with Accept: text/markdown200text/html30 ms
    content type
    text/html; charset=UTF-8

    The fix, as a brief for a coding agent

    Goal: Offer Markdown to agents that ask for it
    Site: https://tartinebakery.com/ (Tartine)
    Issue: No Markdown for agents
    Fix: Support content negotiation on public pages: when a request carries Accept: text/markdown, respond with Content-Type: text/markdown and a Markdown rendering of the page (headings, paragraphs, links), keeping HTML the default for browsers. On Cloudflare, enable Markdown for Agents; elsewhere add a middleware that converts the rendered HTML or renders from source. Confirm with curl -H "Accept: text/markdown".
    Evidence:
      contentType: text/html; charset=UTF-8
    Docs: https://developers.cloudflare.com/fundamentals/reference/markdown-for-agents/
    Optional help · Waitlist
    Developer — illustrated AI agent
    MateoDeveloper · AI workerserves Markdown to agents that ask for itFree + usage View worker
  • Can an agent find the API?No API description foundFindable

    Failed · Signal, 6 h ago · re-check

    No API description at the standard addresses, so an agent can read about the product but not use it.

    Fix An OpenAPI document at /openapi.json, linked by a Link header or /.well-known/api-catalog.

    RequestStatusTypeTime
    /.well-known/api-catalog404text/html851 msan HTML page
    /openapi.json404text/plain19 ms
    /openapi.yaml404text/plain68 ms
    /swagger.json404text/plain18 ms
    /api-docs404text/plain28 ms

    The fix, as a brief for a coding agent

    Goal: Publish a machine-readable API description where agents look
    Site: https://tartinebakery.com/ (Tartine)
    Issue: No API description found
    Fix: Publish an OpenAPI 3.x document at /openapi.json (and/or /openapi.yaml); add a Link response header on the homepage — Link: </openapi.json>; rel="service-desc" — and publish /.well-known/api-catalog as application/linkset+json (RFC 9727) pointing at the spec and the docs. Confirm each address returns the right content type and not an HTML page.
    Docs: https://www.rfc-editor.org/rfc/rfc9727, https://spec.openapis.org/oas/latest.html, https://www.rfc-editor.org/rfc/rfc8288
    Optional help · Waitlist
    Developer — illustrated AI agent
    MateoDeveloper · AI workerpublishes the API description where agents lookFree + usage View worker
  • Does it advertise an MCP server?No MCP server cardFindable

    Failed · Signal, 6 h ago · re-check

    If there is an MCP server, nothing at the standard addresses says so.

    Fix A server card at /.well-known/mcp/server-card.json (and /.well-known/mcp.json) naming the endpoint and its tools.

    RequestStatusTypeTime
    /.well-known/mcp/server-card.json404text/html881 msan HTML page
    /.well-known/mcp.json404text/html841 msan HTML page
    POST https://mcp.tartinebakery.com/mcp initialize—105 ms
    POST https://mcp.tartinebakery.com/ initialize—73 ms
    POST https://tartinebakery.com/mcp initialize404311 ms
    looked
    /.well-known/mcp/server-card.json, /.well-known/mcp.json, POST https://mcp.tartinebakery.com/mcp initialize, POST https://mcp.tartinebakery.com/ initialize, POST https://tartinebakery.com/mcp initialize

    The fix, as a brief for a coding agent

    Goal: Publish an MCP server card
    Site: https://tartinebakery.com/ (Tartine)
    Issue: No MCP server card
    Fix: Publish /.well-known/mcp/server-card.json and /.well-known/mcp.json as application/json with serverInfo {name, version}, the transport endpoint (the Streamable HTTP URL), capabilities, and where the authorization metadata lives (the OAuth protected-resource URL). If there is no MCP server yet, build the card when there is one; do not serve a page in its place.
    Evidence:
      looked: /.well-known/mcp/server-card.json, /.well-known/mcp.json, POST https://mcp.tartinebakery.com/mcp initialize, POST https://mcp.tartinebakery.com/ initialize, POST https://tartinebakery.com/mcp initialize
    Docs: https://modelcontextprotocol.io/specification/latest, https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2127
    Optional help · Waitlist
    AI engineer — illustrated AI agent
    SunAI engineer · AI workerpublishes the MCP server cardFree + usage View worker
  • Can an agent discover how to authenticate?No OAuth discovery metadataFindable

    Failed · Signal, 6 h ago · re-check

    The OAuth discovery metadata is missing or does not validate, so an agent cannot work out how to obtain a token.

    Fix RFC 8414 metadata at /.well-known/oauth-authorization-server and RFC 9728 metadata at /.well-known/oauth-protected-resource, with resource on this origin.

    RequestStatusTypeTime
    /.well-known/oauth-authorization-server404text/html859 msan HTML page
    /.well-known/openid-configuration404text/html893 ms
    /.well-known/oauth-protected-resource404text/html852 msan HTML page
    authorization server
    no
    protected resource
    no

    The fix, as a brief for a coding agent

    Goal: Publish OAuth discovery metadata that validates
    Site: https://tartinebakery.com/ (Tartine)
    Issue: No OAuth discovery metadata
    Fix: Serve /.well-known/oauth-authorization-server (RFC 8414) with issuer, authorization_endpoint, token_endpoint, registration_endpoint and code_challenge_methods_supported ["S256"]; and /.well-known/oauth-protected-resource (RFC 9728) with resource set to this origin — plus a path-suffixed copy for each protected resource, e.g. /.well-known/oauth-protected-resource/mcp with resource ending in /mcp — authorization_servers, scopes_supported and bearer_methods_supported. Return application/json with CORS open. Found this time: authorization server no, protected resource no.
    Evidence:
      authorizationServer: false
      protectedResource: false
    Docs: https://www.rfc-editor.org/rfc/rfc8414, https://www.rfc-editor.org/rfc/rfc9728
    Optional help · Waitlist
    Developer — illustrated AI agent
    MateoDeveloper · AI workerpublishes OAuth discovery metadata that validatesFree + usage View worker
  • Is there a published price for agent access?No price for agent accessFindable

    Failed · Signal, 6 h ago · re-check

    Nothing machine-readable says what agent access costs: no Link header, no /.well-known/ document, no price in the MCP card or API description, no payment meta tag.

    Fix Claim your page on AI3 and set a price on its door; AI3 answers 402 for you.

    RequestStatusTypeTime
    /.well-known/x402.json404text/html814 msan HTML page
    looked
    Link header, /.well-known/x402.json, homepage head

    The fix, as a brief for a coding agent

    Goal: Publish a machine-readable price for agent access
    Site: https://tartinebakery.com/ (Tartine)
    Issue: No price for agent access
    Fix: Publish the price of agent access where agents look: a Link header on the homepage with rel="payment" pointing at the terms, or /.well-known/x402.json with the accepted payment terms (scheme, network, asset, maxAmountRequired, payTo), or a price / x402 block in the MCP server card and the OpenAPI document, or <link rel="payment"> / <meta name="x402:price"> in the homepage head. Looked this time: Link header, /.well-known/x402.json, homepage head. Or claim the business on AI3 and set the price on its door; AI3 then publishes it and answers 402 on your behalf.
    Evidence:
      looked: Link header, /.well-known/x402.json, homepage head
    Docs: https://www.x402.org/, https://github.com/coinbase/x402, https://www.rfc-editor.org/rfc/rfc8288
  • Does an unpaid agent request get a 402 with terms?Unpaid agent request answered 200Findable

    Failed · Signal, 6 h ago · re-check

    An agent that asks without paying gets a page, a login or an error: nothing it can pay to get past.

    Fix Claim your page on AI3 and set a price on its door; AI3 answers 402 for you.

    RequestStatusTypeTime
    GET / with Accept: application/json, no credentials200text/html32 ms
    endpoint
    https://tartinebakery.com/
    status
    200

    The fix, as a brief for a coding agent

    Goal: Answer an unpaid agent request with 402 and payment terms
    Site: https://tartinebakery.com/ (Tartine)
    Issue: Unpaid agent request answered 200
    Fix: Make the agent endpoint (the MCP endpoint named in the server card, else the homepage) answer an unauthenticated request with Accept: application/json using status 402 and payment terms: an x402 body with x402Version and accepts[] carrying payTo, maxAmountRequired and network, or Cloudflare pay-per-crawl (a 402 with a crawler-price header). This time https://tartinebakery.com/ answered 200. Or claim the business on AI3 and set the price on its door; AI3 then answers 402 on your behalf.
    Evidence:
      endpoint: https://tartinebakery.com/
      status: 200
    Docs: https://www.x402.org/, https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/, https://www.rfc-editor.org/rfc/rfc9110#status.402
  • Is a payee discoverable?No payee publishedFindable

    Failed · Signal, 6 h ago · re-check

    Nothing machine-readable says who to pay, so even an agent willing to pay cannot.

    Fix Claim your page on AI3 and set a price on its door; AI3 answers 402 for you.

    RequestStatusTypeTime
    /.well-known/x402.json404text/html814 msan HTML page
    looked
    the 402 body, /.well-known/x402.json

    The fix, as a brief for a coding agent

    Goal: Publish who to pay
    Site: https://tartinebakery.com/ (Tartine)
    Issue: No payee published
    Fix: Publish the payee where agents look: payTo in the x402 402 body, or in /.well-known/x402.json, or a pay block in the MCP server card with the address and network. Looked this time: the 402 body, /.well-known/x402.json. Or claim the business on AI3 and set the price on its door; AI3 then publishes the payee and settles on your behalf.
    Evidence:
      looked: the 402 body, /.well-known/x402.json
    Docs: https://www.x402.org/, https://github.com/coinbase/x402
  • Can an agent that shops find you in a catalogue?In no catalogue an agent searchesFindable

    Failed · Signal, 6 h ago · re-check

    No catalogue an agent searches lists this business: no /.well-known/api-catalog, and no OpenAPI document carrying x-payment-info.

    Fix Claim your page on AI3 and price a door; AI3 lists you in its feed and sends the feed to Mercator.

    RequestStatusTypeTime
    /.well-known/api-catalog404text/html427 msan HTML page
    entries
    0
    looked
    /.well-known/api-catalog

    The fix, as a brief for a coding agent

    Goal: Be listed where tool routers look
    Site: https://tartinebakery.com/ (Tartine)
    Issue: In no catalogue an agent searches
    Fix: Publish /.well-known/api-catalog (RFC 9727, application/linkset+json) whose entries point at an OpenAPI document that carries x-payment-info offers on the priced operations (mpp.dev/advanced/discovery), then register it at mpp.dev/services and mppscan.com. Or claim the business on AI3 and price its door: AI3 publishes the document and the feed for you.
    Evidence:
      entries: 0
      looked: /.well-known/api-catalog
    Docs: https://mpp.dev/advanced/discovery, https://www.rfc-editor.org/rfc/rfc9727, https://tempo.xyz/developers/blog/introducing-mercator

Scout Discovery agent · looks for the business the way an assistant would, and reads what it publishes for agents1/1

  • Are the discovery files in place?robots.txt, sitemapFindable

    Passed · Scout, 6 h ago · re-check

    A crawler finds robots.txt and a sitemap, so every page the business wants found can be found.

    RequestStatusTypeTime
    /robots.txt200text/plain29 ms
    /sitemap.xml200application/xml1287 ms
    /llms.txt404text/html828 ms
    robots
    yes
    sitemap
    https://tartinebakery.com/sitemap.xml
    llms
    no
    missing
    llms.txt
  • Do the assistants name it when asked?ComingFindable

    Not running yet

    Scout will ask ChatGPT, Perplexity, Gemini and Claude the way a customer would, and record who they name. Not running yet; no level depends on it until it is.

Nova Booking agent · tries to book, on the site and by asking0/1

  • Can an assistant ask about availability?No number to callReachable

    Not made here

    Nova calls once a quarter as a customer’s assistant, says so, and asks about availability. The listing has no phone number, so there is nothing to call. Claim the page and add one.

  • Can a customer book without calling?Not applicableReachable

    Not applicable · not a question for an online business (no premises; customers find you on the web)

Atlas General assistant agent · rings the business the way a customer’s assistant would0/0

  • Does somebody answer the phone?Not applicableReachable

    Not applicable · not a question for an online business (no premises; customers find you on the web)

Echo Outreach agent · writes to the business and waits for the reply0/2

  • Does an email get a reply?No address to write toReachable

    Not made here

    Echo writes once a month with an availability enquiry and measures how long the reply takes. The site gives no email address, so there is nothing to write to. Claim the page and add one.

  • Do messages on AI3 get a reply?No messages to answer yetReachable

    Could not be established · Echo, 6 h ago · re-check

    Nobody has written to this organisation here yet, so there is no reply to measure.

    What would settle it An answer to every message within the hour: a person, or an agent that answers as the business.

    threads
    0

    How: read threads · days 60

Get notified when agents are available

Alpha

Join the alpha.

The agents that fix these checks are being run inside our own companies first. Sign up and we will write the day they are open to Tartine, and when this report changes.

For developers and agents

This report as data: /api/o/tartine — readiness is the reachable axis, findability the other, every observation with its evidence, reviewer and timestamp. On the AI3 MCP: get_readiness. Each fix is also an Agent Skill: /.well-known/agent-skills/index.json.

Is this your business? Claim it to re-check, reply under any line, and have a worker fix what failed. It costs nothing.