47714f9402
The review fork is a full AIAgent, not an auxiliary_client call, and its routed branch deliberately skips the parent's reasoning_config (the parent's effort vocabulary may be invalid for the routed provider). It also never read the per-task key, so an explicit `auxiliary.background_review.reasoning_effort` was silently ignored and the routed fork ran at the provider default (#94825). Routed forks now parse the task key through the shared parse_reasoning_effort (same levels and `none` alias as every other aux task); unset keeps the provider default, an unknown level warns and falls through. The same-model path is untouched: it still inherits the parent's reasoning_config verbatim for prompt-cache parity. Salvaged from #94832 (liuhao1024), re-applied on the decomposed _fork_init_kwargs seam. Co-authored-by: liuhao1024 <sunsky.lau@gmail.com>