Improve serve recipe JSON validation

The CLI now waits for valid recipe JSON output from the serve process, skipping over startup status messages and invalid JSON. This hardens the launch mechanism to handle edge cases like split UTF-8 buffers and JSON appearing without trailing newlines, while preventing sensitive data from leaking in error output.