05f90f1682
The label and cluster-only commands did not pass the viz node limit to to_html, so a graph over the node limit raised and the except branch silently unlinked the graph.html that update had produced. Always pass the limit (the aggregated community meta-graph renders instead of raising), preserve the existing file on a failed render via an atomic publish plus a stale marker, and regenerate a missing graph.html on the no-topology-change fast path without reclustering.