Skip to content

v0.3.8

Choose a tag to compare

@dbowm91 dbowm91 released this 04 Sep 04:36
· 321 commits to main since this release

[0.3.8] - 2026-09-04

Added

  • Tavily search provider and workstream closure (phase 5). Opt-in tavily engine (POST https://api.tavily.com/search, Authorization: Bearer TAVILY_API_KEY) using the provider-neutral request/evidence model. Stable search_depth=basic with chunks_per_source 1-3 derived from excerpt_count; native topic news routing, time_range/start_date/end_date, strict include_domains/exclude_domains (include_domains_mode=filter), country (ISO-to-name mapping, general topic only), language with filter_by_language=true, and boolean safe_search (Off -> false, Moderate|Strict -> true with Strict documented as approximate). Source content split on [...] into bounded ProviderSnippet excerpts with first chunk as snippet; include_answer, include_raw_content, include_images, and auto_parameters always false. No result timestamps claimed. Missing credentials stay provider-local; defaults/keyless baseline and MCP tool count unchanged. New tests/tavily.rs and tests/phase5_closure.rs suites (constraint matrix, determinism/budget, trust, CodeGG compatibility); docs, architecture/ deep dives, skills, and provider inventories updated. Deferred extensions recorded as insufficient demonstrated need (no site_map tool, no Firecrawl Research Index integration).
  • Exa semantic search provider (phase 4). Opt-in exa engine (POST https://api.exa.ai/search, x-api-key: EXA_API_KEY) for semantic/neural discovery alongside the HTML/SERP sources. Native freshness/exact date-range mapping to startPublishedDate/endPublishedDate (UTC day boundaries for exact ranges; UTC lower bound with omitted end for relative windows), native includeDomains/excludeDomains, and parseable publishedDate timestamps feeding freshness reranking. contents: { highlights: true } is sent only on excerpt_count demand; highlights/highlightScores become bounded ProviderHighlight excerpts with provider-local scores. Summaries, output schemas, system prompts, full text, subpages, and live crawl are never requested. Missing/invalid credentials stay provider-local; defaults/keyless baseline unchanged. New tests/exa.rs suite; docs (provider-setup, config, agent-workflows, tool-matrix, safety), architecture/ deep dives, skills, and provider inventories updated.
  • Extractive evidence and fetch controls (phase 2). web_search accepts opt-in excerpt_count (0-3); cards carry bounded source-derived excerpts (3 per card, 500 chars each, 1,200 total) merged deterministically across providers and sanitized through the trust pipeline, plus a generic published_at timestamp that feeds freshness reranking. Brave Search API sends extra_snippets=true only on excerpt demand and preserves parseable age timestamps. web_fetch gains deterministic query-focused focus reads (lexical chunk ranking, no extra traversal, additive output) and agent-visible cache controls (cache_policy, per-item on batch_fetch, plus tightening-only max_cache_age_seconds). HTTP 304 is now handled as revalidation rather than a redirect error in conditional fetches, and batch cache stores record fetched_at so batch hits work. New tests/phase2_extract_fetch.rs suite; docs (tool-matrix, safety, provider-setup, agent-workflows), architecture/ deep dives, skills, and the CodeGG contract updated.

Changed

  • Architecture docs consolidated into a single location. All deep dives now live in architecture/; the seven unique cross-cutting documents (codegg-contract.md, config.md, evidence-workflow.md, hardening.md, local-workspace.md, research.md, security.md) moved from docs/architecture/, and eight stale duplicate copies (overview, core, meta, engines, fetch, mcp, testing, commands) were removed. docs/architecture/ no longer exists. README and in-doc links updated; tests/docs_keyless_contract.rs reads the new path; Cargo.toml ships architecture/**/*.md.
  • AGENTS.md restructured as an index into the architecture/ deep dives with a topic-to-file table; provider-model wording corrected (33 vendored engine structs covering 34 registered provider IDs); exact verified test counts recorded (4,774 passed / 21 ignored with --all-features; 4,545 with --features mock).
  • Skills refreshed (skills/ canonical): architecture skill provider/profile lists corrected and deep-dive index added; dev skill gains make bench-check, non-exhaustive-test-table note, and fuzz-target count; release skill Makefile table gains bench-check; MCP skill points at the stable response contract.
  • plans/ removed. All ~100 phase/milestone/closure planning documents described work shipped through 0.3.7; history preserves them.
  • Docs accuracy fixes. docs/test-inventory.md refreshed against a clean --all-features run (per-suite counts corrected, suite-group headers fixed); docs/provider-setup.md category count corrected to eight; stale docs/architecture/ link targets repointed at architecture/.