Rune caught this via a Release build (build.sh). The onWillStart
closure used [weak self] while its enclosing Task closure already
captures self strongly (matching generateAIResponseWithTools's
existing convention, which uses no weak self anywhere) — mixing
capture strength between nested closures over the same self is
exactly what Swift 6's new #ImplicitStrongCapture diagnostic flags.
Not a functional bug (self was already kept alive for the Task's
whole duration regardless), just inconsistent with this file's own
pattern. Removed the pointless weak capture.