From Replay to Snapshot: Retiring Our Self-Hosted Subgraph (part 3)