Mike's must-fix. Diagnosed from RAW output of failing queries (not guessed): - grok xsearch = TIMEOUT: grok-4.20-multi-agent web_search runs past budget on multi-part queries (286s/280s, rc=124, still searching - 183 thoughts, only progress-noise text); buffered json => total loss. - gemini search = INTERMITTENT empty turn (a clean re-run gave a real 2.6KB answer in 122s); the wrapper retried only once, so two empties in a row failed spuriously. Fixes: - ask-gemini.sh emit_or_fail: retry up to 3x with 3s/6s backoff (was 1). - ask-grok.sh xsearch: --output-format streaming-json (salvage partials) + AUTO-FALLBACK to ask-gemini.sh search when grok doesn't finish (rc!=0 or empty). Validated e2e: grok timed out (rc=124) -> fell back -> gemini returned a real sourced answer (UniFi Teleport invite-link API). grok's own multi-agent timeout is an xAI-side limitation; the fallback makes xsearch reliable regardless. Docs: grok SKILL.md xsearch row + CT_THOUGHTS Thought 2 Resolution. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
22 KiB
22 KiB