c69ba70a4f
Completes the injectable-fetch transport wiring (15.10.8) that the feature left half-done, fixing the deterministic CI test failures: - compaction.compact() rebuilt summaryOptions field-by-field but dropped `fetch`, so the injected transport never reached requestOpenAiRemoteCompaction / generateSummary's remote path. Thread it. - Read-tool URL pipeline had no fetch seam: renderHtmlToText gained a fetchOverride param but renderUrl/ToolSession never carried one, so the jina/parallel reader backends always used global fetch. Add ToolSession.fetch -> renderUrl -> renderHtmlToText (defaults to global). - searchWithParallel mirrored extractWithParallel but missed the fetch option; add it. - Repair tests whose deleted hookFetch interceptors were never replaced with a FetchImpl seam (fetch-kagi-toggle, web-search-parallel, issue-970 discovery). - Update issue-1746 POSIX case to the #2154 preserved-scrollback contract: unknown-viewport streaming deferral is now platform-independent.