22 Commits
Author SHA1 Message Date
ciregenz 784b33c15a [eric] web: bing + brave join the keyless race behind ddg; bing went 50/50 on the burst that tripped both ddg and brave 2026-08-10 14:02:42 -07:00
ciregenz ce7939b94d [eric] web: race the free search engines so a dead one costs the hedge delay once, not 8s on every launch 2026-07-30 17:20:41 -07:00
ciregenz dfa5dbd636 [eric] web: send a bot wall to our own Chromium instead of handing the model a challenge screen 2026-07-30 16:52:27 -07:00
ciregenz 108ef03451 [eric] web: let Startpage say 'nothing matched' and 'I refuse' differently so a closed engine stops costing its budget 2026-07-30 16:35:51 -07:00
ciregenz 119e4a916e [eric] web: stop paying a dead search engine its full tier budget on every query, and let a 403 still try the lite frontend 2026-07-30 16:24:58 -07:00
ciregenz b8cfaff690 [eric] web: stop the fetch cascade on a body with no text layer instead of buying a paid summary of nothing 2026-07-30 14:55:56 -07:00
ciregenz 65430e1234 [eric] web: fall back to the Wayback Machine when the live page is dead or walled 2026-07-30 14:40:48 -07:00
ciregenz d84f2d5301 [eric] web: add Startpage as a second independent search engine so one bot challenge cannot close free search 2026-07-30 14:34:29 -07:00
ciregenz 3ea74d67a5 [eric] web: bound the search/fetch cascade with one wall-clock deadline so the later tiers are reachable 2026-07-30 14:21:27 -07:00
ciregenz 0c74183600 [eric] web: offscreen-browser fetch/search tier (renders JS pages httpx can't; real fingerprint dodges the DDG throttle) 2026-07-07 15:04:31 -07:00
ciregenz e0f5414cda [eric] web-search: gate the browser-fallback nudge on browser-delegation availability 2026-07-05 16:19:12 -07:00
ciregenz e0311d6bd9 [eric] merge #114: web-search browser fallback nudge on backend failure 2026-07-05 16:14:57 -07:00
ciregenz 77ff2b79e9 [eric] debugger: swap vendored debugger/ for PyPI swarm-debug in app workspaces 2026-07-02 00:16:53 -07:00
abccodes a8de20482f [aidan] fix/web-search: nudge model to browser fallback when search backends fail 2026-06-30 14:14:33 -07:00
ciregenz 0d093cc5f8 [eric] backend: one-line every comment + collapse 3+ blank runs across apps/ (AST-verified identical, -lines); CLAUDE.md one-line-comment rule 2026-06-25 02:29:04 -07:00
ciregenz 1bcc78567b [eric] backend: leading-_ -> p_/P_/public for class methods + module conditional-block vars + _ReadyServer class + _pending_oauth import; promote cross-file (search_ddg) 2026-06-23 21:50:08 -07:00
ciregenz 82e3db979d [eric] web: leading-_ -> p_/P_ across web.py (module fns/consts + locals/args via AST renamer), fix test refs 2026-06-23 21:01:55 -07:00
ciregenz cf8e1f25f7 [eric] websearch: fast-first bounded search/fetch cascade for human-speed 2026-06-03 18:23:08 -07:00
eric 0b35b70d0b [eric] sec: wire ssrf guard into webfetch (per-redirect) and /api/web/fetch (initial) 2026-05-31 18:05:34 -07:00
ciregenz 5b0c6e1df3 defluff: strip em-dashes + shorten docstrings across backend (cosmetic only, no logic change) 2026-05-20 05:25:23 -07:00
ciregenz d310f9e031 [eric] thinking pill works on GPT/Gemini (clickable bubble with duration + token count + honest "provider does not expose
reasoning text" note instead of vanishing); friendlier MCP tool names (Gmail/Slack/etc with verb-derived actions); auto-collapse Anthropic
  thinking pill on turn end so the answer comes first; header timer matches per-turn pill (sums in ms, rounds once); thinking pill rolls 251s
  to 4m 11s; parallel tool count chips do not jitter as N grows; drop Gemini 2.5 from picker (Gemini 3 family only); aux-LLM calls route
  per-model so cheap-tier auxiliary calls do not 401 on cc/ subscription routes
2026-05-02 23:46:13 -07:00
ciregenz f5cc3a36fb [eric] remove vendored 9router (now fetched from npm at build), remove Copilot, and fix subs + tools 2026-04-25 02:26:08 -07:00