scripts/publish_social.py verifies that each post URL is live before publishing the matching social snippets. Right now, if the page title does not match after the verification attempts, the script raises and aborts the whole run. That stalls the queue on one bad or still-propagating page.
Change the publisher so failed live-page verification logs a skip and continues to later snippet files without marking the skipped snippet as published.
wait_for_live_post() should stop throwing SystemExit for verification failure. Instead, it should return a simple success/failure result plus the latest verification message. The main publishing loop should inspect that result, log the skip, and continue to the next snippet file.
This keeps the retry behavior intact, but changes the failure shape from “abort the whole run” to “skip this one file and move on.” The skipped snippet must not reach the platform publishing calls and must not hit mark_as_published().
scripts/publish_social.pytests/test_publish_social.pypublished: true.