• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Djarvur / ddg-search / 33882384674
60%

Build:
DEFAULT BRANCH: main
Ran 04 Sep 2026 02:13PM UTC
Jobs 1
Files 10
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

04 Sep 2026 02:12PM UTC coverage: 59.577% (+9.5%) from 50.06%
33882384674

push

github

web-flow
Fix review findings: perplexity transport, URL corruption, version injection, docs (#23)

* docs: add CLAUDE.md with repo guidance for Claude Code

* fix(ci): unbreak lint by bumping golangci-lint to v2.13.2

golangci-lint v2.9.0 is built with Go 1.25 and panics when type-checking
against the Go 1.27 standard library, so the Lint job has been failing on
main since 2026-08-24 and `mise lint` fails locally the same way.

v2.13 renames two linters the config already disabled by their old names,
so exhaustruct_v5 and gomodguard_v2 started firing; disable them the way
wsl/wsl_v5 is already handled. Keep .mise.toml and ci.yml pins in sync.
The remaining changes are what the new version reports: perfsprint's
autofix in search.go, and goconst constants in two test files.

* fix(perplexity): send a real request and read the real answer

perplexity-search has never worked. Search built a resty request with no
method and no path and dispatched it with Send(), which resolves to
Execute("", ""): resty joined the empty path onto the base URL and Go
defaulted the empty method to GET, so every search fired
GET https://api.perplexity.ai/ instead of POST /chat/completions.
checkAPIError has no 404 case, so the wrong response parsed as valid and
the tool printed a blank answer and exited 0.

Do now takes an explicit method and path. Independently, the answer was
read from a top-level "answer" field that the API does not return; it
comes from choices[0].message.content, with ErrNoChoices when the slice
is empty. Sources now come from search_results (title + URL), falling
back to the deprecated citations field.

--max-results was accepted, passed to Search and discarded into `_ int`;
it now caps the source list. The default model sonar-medium-online was
retired by Perplexity and returns 400 — the default is now sonar. The
CLI also searched only the first argument, so unquoted multi-word
queries silently lost every word but the first.

Drops the dead apiKey field, the unus... (continued)

40 of 45 new or added lines in 7 files covered. (88.89%)

423 of 710 relevant lines covered (59.58%)

5.22 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
0.0
0.0% cmd/perplexity-search/main.go
1
0.0
0.0% cmd/ddg-search/main.go
1
65.32
20.14% internal/search/search.go
Jobs
ID Job ID Ran Files Coverage
1 33882384674.1 04 Sep 2026 02:13PM UTC 10
59.58
GitHub Action Run
Source Files on build 33882384674
  • Tree
  • List 10
  • Changed 10
  • Source Changed 8
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33882384674
  • 497e2f98 on github
  • Prev Build on main (#28722282724)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc