# eBay Cache Diagnosis Use this when the manuals/parts experience looks empty or stale and you want to know whether the problem is env, Convex, cache data, or the browser UI. ## What It Checks - Public pages: `/`, `/contact-us`, `/products`, `/manuals` - eBay cache routes: - `GET /api/ebay/search?keywords=vending machine part` - `POST /api/ebay/manual-parts` - Notification validation: - `GET /api/ebay/notifications?challenge_code=...` - Admin refresh: - `POST /api/admin/ebay/refresh` when an admin token is provided - Browser smoke: - Loads `/manuals` - Opens the AP parts manual viewer - Confirms the viewer or fallback state is visible ## How To Run Local: ```bash pnpm diagnose:ebay ``` Staging: ```bash pnpm diagnose:ebay --base-url https://rmv.abundancepartners.app --admin-token "$ADMIN_API_TOKEN" ``` You can skip browser checks if Playwright browsers are unavailable: ```bash SMOKE_SKIP_BROWSER=1 pnpm diagnose:ebay ``` ## How To Read The Output - `NEXT_PUBLIC_CONVEX_URL missing` - The cache routes should return `status: disabled` and no listings. - `cache.message` mentions bundled/fallback cache - This is not revenue-ready. The app is not using Convex cached inventory. - `cache.status=success` with `listingCount=0` - Treat this as backend cache failure or empty cache; not revenue-ready. - `synthetic placeholder listings` failure - Listings are fake data and should not be shown in affiliate cards. - `trusted listings missing affiliate tracking` failure - Listings may be real but links are not monetized yet. - Notification challenge returns `200` - The eBay validation endpoint is wired correctly. - Admin refresh returns `2xx` - The cache seeding path is available and the admin token is accepted.