Replayer: filter blocks at hard fork boundary using slot_chain_end from --stop-slot-config-file. When the boundary is reached, the replayer stops gracefully instead of failing with ledger hash mismatch errors. If --hard-fork-output-file is provided, the replayer produces the post-fork migration output; otherwise it stops with an informational message.