Parent
Part of #172
What to build
End-to-end: published GitHub-bound projects with null snapshot_image and no usable live_url can receive a cover from the GitHub repository page social preview (og:image / twitter:image), persisted into snapshot_image. Secret-guarded endpoint, dry-run by default, apply:true to persist, fail-soft per project, revalidate on successful applies. Pure eligibility helpers are unit-tested; HTTP contract matches live-url fill style. Wire into cron or document operator trigger alongside screenshot workflow.
Acceptance criteria
Blocked by
None - can start immediately (independent of D1)
Parent
Part of #172
What to build
End-to-end: published GitHub-bound projects with null
snapshot_imageand no usablelive_urlcan receive a cover from the GitHub repository page social preview (og:image/twitter:image), persisted intosnapshot_image. Secret-guarded endpoint, dry-run by default,apply:trueto persist, fail-soft per project, revalidate on successful applies. Pure eligibility helpers are unit-tested; HTTP contract matches live-url fill style. Wire into cron or document operator trigger alongside screenshot workflow.Acceptance criteria
snapshot_imageBlocked by
None - can start immediately (independent of D1)