GitHub Tier & Deep Audit
v0.13.0 — GitHub Tier & Deep Audit
GitHub-specialized extraction plus closure of a MAJOR finding from an independent QA audit.
Added
- GitHub extraction tier (the last feature borrowed from pi-web-access):
github.com/{owner}/{repo}/(pull|issues)/{N}and repository roots are served through theghAPI instead of scraping — prioritized markdown for PRs (title/status/author/body/files/reviews/checks/comments), issues, and repos (description/root tree/README, 8k chars).Page.tier = "github"; a missinggh, a failure or a 15 s timeout — any of these falls back silently to the HTTP tier; older gh versions retry with a reduced field set. Live: PR searxng#1 → 2,290 characters of a structured document; the bathys repo → README + tree. The tier is independent ofBATHYS_BROWSER(API vs scraping is a source choice, not browser policy; documented indocs/contracts/config.md). library_docsdisambiguation (closing the QA audit's MAJOR finding): search resolution of ambiguous names scores candidates against query terms + host match (the library's own domain) + a software-dictionary prior (python/async/api/readthedocs…). The live audit case is closed:trio+ "structured concurrency" →trio.readthedocs.io(python-trio), not the medical app triodocs.org.
QA audit (independent, pre-release)
14 live checks through the real pipeline: 11 PASS / 3 PARTIAL / 0 FAIL; verdict — ready for release. Findings: (1) MAJOR disambiguation — closed in this release; (2) MINOR: junk fuzzy hits from engines on nonsense queries mask the No-results branch (accepted: engine behavior, not our defect; junk-gate queued for the backlog); (3) MINOR: source_check is conservative on "X is a Y" patterns (markers did not include definitional copulas — accepted as an honest no-LLM-scoring boundary, documented).
Tests
+33 (192 OK): 30 GitHub tier (URL detection / renderers / fallbacks / retries / timeouts, with subprocess mocks), 3 for disambiguation.
Install: pip install bathys==0.13.0
Changelog: CHANGELOG.md