Repository navigation
Add TinyFish Search backend - #74
Conversation
Triage summaryWhat it is: Adds TinyFish as a new keyed Why this needs human review rather than auto-fix:
CI status: No check runs reported yet on this head SHA at triage time ( Proposed disposition: Maintainer resolves the admission question on #73 first (unversioned endpoint, evidence of established use). If accepted, this implementation looks mechanically sound (key-pool support, error taxonomy, health probe, regenerated goldens) and can be reviewed on its merits; if declined, close both together. No code changed, nothing merged. Generated by Claude Code |
1broseidon
left a comment
There was a problem hiding this comment.
Hey @alexkarpandrus, I ran some benchmarks against the other backends. Result quality is solid, so I'm happy to bring TinyFish in.
One blocker: on some queries the API returns Google redirect stubs instead of real URLs, e.g. /url?opi=…&q=https://www.postgresql.org/docs/…&sa=U&ved=…. It's consistent per query: postgres JSON_TABLE function and latest Go release notes come back with all 10 results like that. Since the URL passes straight through, these would break --scrape, tags and dedup.
Could you:
- Unwrap
/url?q=redirects and drop any result that still isn't an absolute http(s) URL, with a test using a real stubbed response - Wrap the response decode in an
io.LimitReaderlike the other backends
I'll approve the CI run so you get checks on the next push. Thanks for the clean implementation!
|
Thanks for checking the result quality. Both requests are addressed in d7d3bea:
Live TinyFish checks for Local verification passed: |
d7d3bea to
545fd66
Compare
|
Rebased onto current main and resolved the README/CHANGELOG conflicts while preserving both sets of additions. The redirect/response-limit fix is now 545fd66; the TinyFish code and tests are unchanged by the rebase. Rechecked the rebased revision: build, lint, the full suite with |
Triage update (re-triaged: new activity since last pass)What changed since the prior triage comment:
Why this still needs your call rather than an auto-merge or auto-fix:
Current state: #73 closed (accepted). CI green on No code changed, nothing merged, by this pass. Generated by Claude Code |
1broseidon
left a comment
There was a problem hiding this comment.
Thanks @alexkarpandrus, nice fix, and good call covering the javascript: case in the test. CI is green across the board. Merging!
What
Add TinyFish Search as a keyed web-search backend with configuration, a health probe, offline tests, and documentation.
Why
Make TinyFish results available through Ketch's existing search paths. Refs #73. This draft seeks guidance on provider fit: the documented endpoint is unversioned, and evidence of established use remains under discussion. Affiliation: None with TinyFish. TinyFish Fetch is out of scope.
Test plan
make buildandmake lintpassed.GOFLAGS=-p=1 make test,GOMAXPROCS=2 make test, andgo test -race ./search -run TinyFish -count=1passed.make testfailed in the unchangedcode/TestGitHubBuildRunsGHOncetest at its two-second mocked-ghtimeout.Security & data impact
Security impact: The API key is sent in a header, not the URL; search queries are sent to TinyFish when selected.
Data classification affected: User-supplied search queries; no new storage.
Audit log updated: n/a