- Convert recursive async function to synchronous with return values - Collect all status changes first, then process them asynchronously - Resolves Rust compiler error E0733 for recursive async functions - Maintains same functionality without boxing requirement - Verified with full workspace build matching NixOS configuration