Fix async mirror-create review findings from #2207
Commit
Drives the placement poll off the 202 body's requestId instead of the Location header, which removes three problems at once: an optional header no longer fails a create whose body already reports success, no server-named host can become a poll target for the control-plane bearer, and the poll keeps 421ing to the home core so the transport's bare-401 re-exchange stays recoverable past the 4m token cache. The Location canonicalization in the cross-juris transport existed only to make that override safe and goes with it.
Restores parity between the two routes: MirrorRequestResult carries no
suspended field, so an async create against a suspended placement
reported plain success and exited 0 where the sync route warns and exits
non-zero. One status read fills it in for every caller.
Also: --wait-timeout now bounds the sync route's create call (it wrapped only the clone poll, so a hanging CreateMirror ignored the flag); an accepted request's id survives a placement timeout so the user has a handle on in-flight work; the wizard labels a placement timeout "timed out" rather than "error"; one relabelled spinner replaces three per-phase spinners that each stamped their own โ; and the route can be selected with ENTIRE_ASYNC_MIRROR_REQUESTS, since this command usually runs outside the repo whose settings.json held the only switch.
Restores the poll-budget and createAndAwaitMirror rationale comments dropped in #2207, documents the new functions and the unreachable unknown-status branch, and records why the session-store FD test is deliberately not parallel.
Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com Entire-Checkpoint: 01M1HB3GAF8F3WH510Q3PGJSQQ