de4310c8f6
The 'never reached ready' error (issue #57025) was undiagnosable — doctor and MCP test pass while the wrapper times out, with no hint where startup stalled. Track a phase marker through _lifecycle_coro (binary-check → manifest-discovery → mcp-initialize → capability-discovery → ready) and include it in the timeout RuntimeError plus a pointer to doctor and the agent.log phase timings. Complements the 15s→30s bump + success-path phase timing log from #58760.