230ca004a7
data:image/... entries were treated as local paths and silently skipped as "unreadable". They now ride as image_url parts only (never pasted into the text hint, never appended to a text-mode goal). Skips and forwarding failures log at warning since the caller explicitly asked for the images; decide_image_input_mode gets the child's requested_provider like the CLI and gateway callers. Tests collapse to five invariants, including one that drives _ChildRun and asserts the multimodal content list reaches run_conversation as the first user turn. Docs mention data: URLs and the read guard.