feat: pluggable research provider abstraction#1
Open
kirbyremix wants to merge 13 commits intodbmcco:mainfrom
Open
feat: pluggable research provider abstraction#1kirbyremix wants to merge 13 commits intodbmcco:mainfrom
kirbyremix wants to merge 13 commits intodbmcco:mainfrom
Conversation
Design doc covers the pluggable provider architecture (two-tier: WebSearch for fast, Gemini Deep Research for deep). Implementation plan has 10 incremental tasks with commit-per-task approach. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Provides a drop-in replacement for pp-cli research mode using Google's Gemini Deep Research API. Returns JSON in the same format as pp-cli for compatibility. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Supports three providers: perplexity (original), websearch (Claude built-in), and gemini-deep-research. Provider selection is config-driven to support upstream contribution. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace Perplexity pp-cli instructions with Claude WebSearch tool guidance in all 7 domain/quality specialist prompts. Expert query formulation guidance preserved. Critical evaluation guidance unchanged. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dr. Anya Petrov now uses .claude/lib/gemini-research.py for comprehensive multi-source analysis. Expert query formulation and critical evaluation guidance preserved. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace pp-cli references with WebSearch (domain specialists) and Gemini Deep Research (research specialist) throughout Dr. Wells' moderator instructions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Documents the two-tier model (WebSearch fast + Gemini Deep Research deep), provider configuration, backward compatibility with Perplexity, and updated workflow examples. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Users can now choose between Gemini Deep Research (recommended), Perplexity (original), or Claude WebSearch only. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Documents available providers, configuration options, output format, and how to add new providers. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Updated CODEX.md, context_packet template, discovery_transcript template, and phase-0 implementation notes. Only intentional backward-compatibility references remain (config.json, provider docs, Option B in prerequisites). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
I-1: Standardize confidence vocabulary to high/moderate/low
I-2: Restore domain-specific "When to use" examples in all
6 specialist prompts (were over-genericized)
I-3: Restore contrarian "Challenge the sources themselves"
instruction
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The script now automatically detects a project-level .venv and re-execs itself with the correct Python, so google-genai is found without manual PATH changes. Also adds .venv/ to .gitignore. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Key changes
.claude/lib/gemini-research.py— async Gemini Deep Research CLI wrapper with polling, JSON output, and citation extraction.claude/config.jsonresearchblock — defines provider types, commands, and tier assignmentsprompts/moderator.mdupdated with new research flow.claude/RESEARCH_INTEGRATION.mdfully rewritten for multi-provider architectureREADME.md,QUICKSTART.md,CLAUDE.md) updated with new prerequisitesWhy this approach
Rather than swapping one vendor lock-in for another, this makes the research layer a first-class abstraction. New providers can be added by defining them in
config.json— no prompt surgery needed. The design doc is atdocs/plans/2026-02-21-research-provider-abstraction-design.md.Test plan
gemini-research.py(deep tier) instead of pp-cligemini-research.pysuccessfully called Gemini Deep Research API, polled for ~7 minutes, and returned structured JSON with 31k-character answer and 31 citations🤖 Generated with Claude Code