Estimate generation handles missing pipeline runs gracefully

Estimates no longer fail when old pipeline runs are cleaned up from the system.

Bug Fixes

When old estimate pipeline runs are superseded and cleaned up by the system, the cleanup process now silently handles the case where the run is no longer found in Trigger.dev. This prevents spurious failures during estimate generation and makes the pipeline more resilient.