Shelfgrade

Spec watch

Spec Watch #001: the ten load-bearing rules, verified

Aug 29, 2026 · Shelfgrade research · produced with automated spec-verification, human-reviewed

Every Shelfgrade audit rule cites the vendor document it derives from, and an automated agent re-verifies the load-bearing claims against the live primary sources weekly. When a vendor changes their spec, that becomes a Spec Watch entry with the verbatim before/after language. This entry is the baseline: what we check, and where it stands.

The ten claims, as verified against the live documents (initial full verification 2026-08-27, re-confirmed by the weekly run):

  1. OpenAI’s native feed schema lists gtin as optional; twelve fields including item_id, price (“79.99 USD” format) and target_countries are required.
  2. A Google-compatible parser profile exists, requiring id, title, description, link, image_link, availability, price, brand per row — and a valid gtin or mpn unless identifier_exists is “no.”
  3. Parser selection is file-level, OpenAI-schema-first, never per-row.
  4. Accepted formats are parquet/jsonl.gz/csv.gz/tsv.gz (SFTP path) or delimited .txt/.tsv/.csv; XML, RSS and Atom are not accepted in either mode.
  5. The availability enum is in_stock / out_of_stock / pre_order / backorder / unknown, with availability_date required for pre-orders.
  6. OpenAI documents four crawlers; opting out of OAI-SearchBot removes a site from ChatGPT search answers, while GPTBot is training-only.
  7. Perplexity documents exactly two agents: PerplexityBot (gates search inclusion) and Perplexity-User (“generally ignores robots.txt rules”).
  8. Google-Extended “does not impact a site’s inclusion in Google Search nor is it used as a ranking signal” — AI features in Search are controlled via Googlebot.
  9. Google Merchant Center requires id/title/description/link/image_link/availability/price; gtin is “It Depends (strongly recommended if available)” with disapproval for wrong values.
  10. Google’s merchant-listing structured data requires Product name, image, and an Offer with price and priceCurrency — and an Offer, not AggregateOffer.

Status: all ten holding as of the latest weekly run. When any of them drifts, the change appears here with the exact old and new language, dated. That is the entire editorial policy of this page: primary sources, verbatim quotes, no speculation.

Primary sources

Want these rules checked against your own store? The free scan takes 30 seconds.

Scan your store →

← All research · The AEO Quickstart →