b58a943a8e
- read now derives its image behavior from actual tool availability (session.isToolActive) with the mode computation as fallback, so restricted sessions whose explicit slate omits inspect_image (e.g. subagents) never get metadata-only reads pointing at an absent tool - reconcile passes the post-change availability into the read description sync, keeping the advertised prompt correct across flips in both directions and when tool construction fails - flat quoted-dotted inspect_image.mode is normalized into the nested target during migration instead of being silently dropped when a legacy flat enabled key is present - regression tests for all three: availability-driven read behavior, flat+flat migration, description advertising