Hardening on top of @Soju06's forwarding fix: v2 providers written against the original docs example (def on_pre_compress(self, messages)) must not TypeError when the host forwards require_checkpoint — inspect the signature and fall back to the legacy call shape. Docs example updated to advertise the keyword.