{"slug":"bearaby-ff89yq","companyName":"Bearaby","domain":"bearaby.com","url":"https://bearaby.com","headline":"A Shopify storefront with strong agent discovery but mismatched prices across feed, markup and page undermine confidence in what an agent would actually pay.","compositeScore":76,"humanScore":85,"agentScore":66,"doorGap":19,"humanMeasured":4,"agentMeasured":6,"percentile":null,"humanPercentile":null,"agentPercentile":null,"isPartial":false,"depth":"free","siteClass":"ecommerce","scannerVersion":12,"scannedAt":"2026-09-08T14:25:13.347Z","unlocked":false,"mission":{"steps":[{"url":"https://bearaby.com","outcome":"ok","purpose":"reach the site at all"},{"url":"https://bearaby.com/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://bearaby.com","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://bearaby.com/llms.txt","outcome":"ok","purpose":"read the site's own guide for language models"},{"url":"https://bearaby.com/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://bearaby.com/.well-known/security.txt","outcome":"missing","purpose":"find a contact route for machines"},{"url":"https://bearaby.com","outcome":"missing","purpose":"find a published agent interface"},{"url":"https://bearaby.com/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://bearaby.com","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://bearaby.com","outcome":"ok","purpose":"read the homepage as data rather than as a page"},{"url":"https://bearaby.com","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://bearaby.com","outcome":"missing","purpose":"read the developer documentation"},{"url":"https://bearaby.com","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://bearaby.com","outcome":"ok","purpose":"read the product catalogue as data"},{"url":"https://bearaby.com","outcome":"ok","purpose":"read a product page as data"},{"url":"https://bearaby.com","outcome":"ok","purpose":"read the returns and shipping terms"},{"url":"https://bearaby.com","outcome":"ok","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The agent got through 11 of 17 requests, but could not find a contact route for machines. It came up empty on 5 other checks too."},"observations":null,"dimensions":[{"key":"machine_discoverability","audience":"agent","score":100,"summary":"Robots.txt names 10 AI crawlers and allows them all. A real browser is served the page normally. No user agent rule refuses declared crawler names. The sitemap lists 74 URLs including products themselves.","evidence":{"locked":true,"count":4}},{"key":"programmatic_onboarding","audience":"agent","score":10,"summary":"No API documentation is linked from the homepage or published at standard paths. No OpenAPI spec, MCP manifest, or ai-plugin.json exists at any of the 6 standard paths checked.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":70,"summary":"8 prices appear in the homepage HTML. 58 prices across 3 product pages render without JavaScript. Product structured data publishes price and currency.","evidence":{"locked":true,"count":2}},{"key":"agent_aware_instrumentation","audience":"agent","score":61,"summary":"Robots.txt names 10 AI crawlers and allows them. A Universal Commerce Protocol manifest version 2026-08-25 is published with 8 capabilities and 3 payment handlers. A storefront MCP endpoint answers agent calls.","evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":77,"summary":"The returns policy and shipping policy both read as text at their published URLs. Return policy is in structured data with 365 merchant return days. Shipping terms are in structured data. The homepage answers automated requests.","evidence":{"locked":true,"count":3}},{"key":"commercial_rails","audience":"agent","score":79,"summary":"Product markup carries price, currency, availability, brand, aggregate rating (4.9 over 21 reviews), and return policy (365 days). The catalogue answers as data at /products.json with brand on each product.","evidence":{"locked":true,"count":4}},{"key":"steps_to_first_value","audience":"human","score":95,"summary":"A product with its price ($358) and an add-to-cart control is two steps from the homepage. The product page renders with 20 size or colour choosers, so a shopper can configure their choice before buying.","evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":80,"summary":"The product page does not demand an account before buying. Two express wallets, PayPal and Afterpay, skip the form entirely. The page carries 18 inputs with 2 constraints and 8 inline error containers, so validation is present but not.","evidence":{"locked":true,"count":1}},{"key":"verification_walls","audience":"human","score":75,"summary":"No sign-in requirement appears on the product page. The entry path walk shows accountRequired: false and guestCheckout: false, meaning a shopper can proceed without an account, though the checkout itself was not walked to completion.","evidence":{"locked":true,"count":1}},{"key":"error_recovery","audience":"human","score":90,"summary":"20 size or colour choosers on the product page let a shopper correct their selection before buying. 15 live regions and 8 inline error containers support error correction during form entry.","evidence":{"locked":true,"count":1}}],"issues":[{"rank":1,"title":"The structured price, feed price, and visible price for the same product are not consistent.","dimensionKey":"pricing_legibility","evidence":{"locked":true,"count":3},"fix":null},{"rank":2,"title":"No OpenAPI specification was found at the 6 standard paths checked, so a client must be written from prose instead of generated.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":2},"fix":null},{"rank":3,"title":"No developer documentation is linked from the homepage, in raw HTML or the rendered page, so integration starts with a search engine.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":1},"fix":null}],"fixArtifacts":{"locked":true,"count":6,"summaries":[{"id":"review_schema_vendor:notes","kind":"review_schema_vendor","title":"Put Okendo reviews in the page","path":"notes","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["Review text and ratings reach crawlers that do not run the review widget's script."]}},{"id":"catalog_identifiers:catalog-identifiers-csv","kind":"catalog_identifiers","title":"Variants missing a GTIN or a brand","path":"catalog-identifiers.csv","effort":{"minutes":5,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["Feed listings stop being rejected for a missing brand or GTIN."]}},{"id":"product_feed_openai:openai-product-feed-tsv","kind":"product_feed_openai","title":"OpenAI product feed","path":"openai-product-feed.tsv","effort":{"minutes":20,"role":"owner"},"outcome":{"dimension":"commercial_rails","external":["The catalogue can be submitted to the OpenAI product feed."]}},{"id":"organization_jsonld:homepage","kind":"organization_jsonld","title":"Organization structured data","path":"homepage","effort":{"minutes":15,"role":"developer"},"outcome":{"dimension":"machine_discoverability","external":["Search and assistant crawlers read the company entity from the homepage rather than inferring it."]}},{"id":"security_txt:well-known-security-txt","kind":"security_txt","title":"security.txt","path":"/.well-known/security.txt","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"machine_fetchable_trust","external":["Researchers and automated scanners find a disclosure address instead of guessing one."]}},{"id":"interfaces_note:notes","kind":"interfaces_note","title":"Machine interfaces: where you stand","path":"notes","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"agent_aware_instrumentation","external":["The developer surface is built in an order where every published pointer answers."]}}]},"feedback":{"endpoint":"/api/feedback","mcpTool":"rate_fix","targets":[{"type":"report","key":"report"},{"type":"dimension","dimensionKey":"machine_discoverability","key":"dimension:machine_discoverability"},{"type":"dimension","dimensionKey":"programmatic_onboarding","key":"dimension:programmatic_onboarding"},{"type":"dimension","dimensionKey":"pricing_legibility","key":"dimension:pricing_legibility"},{"type":"dimension","dimensionKey":"agent_aware_instrumentation","key":"dimension:agent_aware_instrumentation"},{"type":"dimension","dimensionKey":"machine_fetchable_trust","key":"dimension:machine_fetchable_trust"},{"type":"dimension","dimensionKey":"commercial_rails","key":"dimension:commercial_rails"},{"type":"dimension","dimensionKey":"steps_to_first_value","key":"dimension:steps_to_first_value"},{"type":"dimension","dimensionKey":"required_fields","key":"dimension:required_fields"},{"type":"dimension","dimensionKey":"verification_walls","key":"dimension:verification_walls"},{"type":"dimension","dimensionKey":"error_recovery","key":"dimension:error_recovery"},{"type":"issue","dimensionKey":"pricing_legibility","checkId":"product_pages","key":"issue:pricing_legibility:product_pages"},{"type":"issue","dimensionKey":"programmatic_onboarding","checkId":"openapi","key":"issue:programmatic_onboarding:openapi"},{"type":"issue","dimensionKey":"programmatic_onboarding","checkId":"api_surface","key":"issue:programmatic_onboarding:api_surface"}]}}