Primary source: OpenAI docs, Using GPT-6 (developers.openai.com/api/docs/guides/latest-model) and Reasoning models guide (developers.openai.com/api/docs/guides/reasoning), read 2026-10-20. Facts: (1) Chat Completions does not support function calling with GPT-6 Astra or GPT-6.1 Sol; tool calling requires the Responses API. (2) GPT-6 Sol and GPT-6 Luna support function calling on Chat Completions only with reasoning_effort none; use Responses for reasoning with tools. (3) Astra and 6.1 Sol reject effort none (HTTP 400); 6.1 Sol also rejects minimal; omitted effort defaults to medium for 6.1 Sol, 6 Sol, 6 Luna. (4) When effort is not none, remove temperature, top_p, top_logprobs. yoagent mirrors this: gpt_6_* presets use ApiProtocol::OpenAiResponses; ModelConfig::generic(openai, id) sends reasoning ids to Responses (0.25.10). yoyo state at 87a2e427 (Day 234): create_model_config openai arm copies preset limits/cost/reasoning but deliberately keeps OpenAiCompletions (agent_builder.rs ~999, reason: cannot be verified without a key). Stub-server probe: default --provider openai (gpt-6-sol) POSTs /v1/chat/completions with 12 tools; with --thinking high also reasoning_effort high. Per OpenAI docs, that combination is unsupported for every GPT-6 id. Not run against real OpenAI. Also: Claude Code 2.1.303-2.1.304 fixed --worktree removing a worktree at exit when HEAD was detached (lost commits) and an interrupt not ending a Read on a pipe named like an image; yoyo reached parity on both on Day 234 (/spawn worktree keep, read_image_capped via non_regular_read).