fix(ops): deploys on an unchanged snapshot tag are code-only
chooseRefreshMode now returns snapshot/skip/crawl: an unchanged tag skips the corpus refresh entirely (pull → render → rebuild → cutover → smoke), GH-query failures skip too, and a failed pull-snapshot keeps serving the existing corpus instead of falling into a crawl. On-host crawls only happen with explicit USE_CRAWL=1 (legacy USE_SNAPSHOT=0 kept) — the implicit fallback twice turned code pushes into multi-hour syncs. Docs: runbook semantics, Linux host-package matrix (librsvg/harfbuzz/fonttools) in self-hosting + installing pointers.
G
Gigi committed
63455a88c3f5a8c9465b9c17a9f7e154dfdf599d
Parent: f8dac62