@gurupanguji

Skip Live Verification Failures Design

Context

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.

Goal

Change the publisher so failed live-page verification logs a skip and continues to later snippet files without marking the skipped snippet as published.

Scope

Non-Goals

Design

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().

File Changes

Acceptance Criteria

  1. Title mismatch after all verification attempts logs a skip and continues to the next snippet.
  2. Non-200 and request failures after all verification attempts log a skip and continue to the next snippet.
  3. Skipped snippets are not marked published: true.
  4. Snippets later in the queue still publish normally after an earlier skip.