Hound 10.0.0 — Internet Archive recovery + research-grade envelope
The web research tool that never gives up — and tells your agent what to do next.
🗄️ Automatic Internet Archive recovery (new)
When a live site hard-blocks your agent (404 / 451 / 500 / bot wall / auth wall), Hound silently pulls the page from the Wayback Machine's closest snapshot and returns it — dated and honestly marked (source=archive.org, archived_at). Fetched via the Wayback id_ marker so the content is clean (no toolbar, original links intact). The only free, keyless, zero-setup fetch tool that does this. Opt out with archive_fallback=false or HOUND_ARCHIVE_FALLBACK=0.
🧠 Research-grade response envelope (major upgrade)
Every smart_fetch response now carries:
page_type— article / docs / list / forum / qa / pdf / js_shell / auth_wall / paywall / redirect / …content_age_days+is_stale— from the page's own published/modified datessource_type+is_official— gov / edu / github / docs / forum / news / … (conservative official flag)- A smart
next_action: a list page points to its top links, a stale article suggests a dated search, an auth wall suggests the archive, a redirect points to the canonical URL. ~26µs per response.
🔧 Professional internals
- Truncation can no longer silently drop fields (
model_copyrefactor — kills the vanish-on-truncation bug class). - Cache hits now return the full response (metadata / links / quality / envelope) — fixes a silent field-loss bug.
pytest pythonpath=[src]kills the stale-built-wheel test trap that shipped untested code 4+ times.- New modules
envelope.py+archive.py(stdlib-only, fully annotated, httpx lazy-imported).
Compatibility
MAJOR bump: archive fallback is default-on (behavior change on the failure path). All new ResponseModel fields are additive with defaults. The 6 tools, their schemas, and all existing fields are unchanged. Opt-out exists for the one behavior change.
687 tests (+52 v10). Live check recovers a real page from archive.org end-to-end. Profiled: envelope adds ~26µs/response.
Full notes: https://github.com/dondai1234/master-fetch/blob/master/CHANGELOG.md