priceCents; the synthesizedSummary still
comes from the paid publication-post route.
MCP: list_top_selling_posts, list_top_selling_publications.
limit is 1-100 on both routes (default 10).
Posts
GET /api/v1/posts/top-selling ranks posts by purchase count, then earnings.
{title} ({publicationSlug}, YYYY-MM-DD) — $X.XX when
priceCents is known. Keep publicationSlug + slug for the paid fetch.
Publications
GET /api/v1/publications/top-selling ranks publications by creator
earnings, then purchase count.
articlePurchaseCount is completed purchases; purchasedArticleCount is
distinct posts purchased. After the user chooses a publication, call
GET /api/v1/publications/ then unlock selected posts
as usual.
