Spaces:
Sleeping
Sleeping
Commit History
-
feat: SPEC_15 Advanced Mode Performance Optimization (#101)
Unverified signatureSPEC_15 Advanced Mode Performance Optimization + CodeRabbit fixes3cb2e43 -
fix(SPEC_11): address CodeRabbit review feedback (#92)
Unverified signature* fix(SPEC_11): address CodeRabbit review feedback - Update run_full.py docstring to reference sexual health pipeline (not drug repurposing) - Update run_full.py help text to use sexual health query example - Fix app.py domain display to show "Sexual Health" (not "Sexual_Health") - Update test_nodes.py mock data to use sexual health terms (Testosterone, Androgen Receptor) - Add @pytest.mark.unit markers to test_judges.py test classes - Add specific assertion for next_search_queries in test_judges.py - Add missing @pytest.mark.asyncio marker to test_mcp_tools.py - Update test_mcp_tools.py and test_clinicaltrials.py to use sexual health queries - Fix SPEC_12 markdown bare code fence (MD040) * fix(SPEC_11): comprehensive domain alignment audit Second pass of CodeRabbit review fixes - found additional domain mismatches: - examples/search_demo/run_search.py: Update docstring from "drug repurposing" to "sexual health" - examples/orchestrator_demo/run_agent.py: Update help text from "metf…89f1173 -
feat(SPEC_11): finalize transition to Sexual Health Research Specialist
This commit completes the transition of DeepBoner to a dedicated Sexual Health Research Agent by removing all references to "general" and "drug repurposing" domains. Key changes include: - Updated domain defaults to exclusively use "sexual_health". - Replaced all example queries and documentation to reflect a focus on sexual health topics. - Removed any lingering references to non-sexual health concepts in code and tests. - Ensured all tests are aligned with the new domain focus, passing successfully. This change reinforces the project's identity and simplifies the codebase, enhancing clarity and usability for users focused on sexual health research. Closes #89.fa696e8
-
refactor: Organize orchestrators into dedicated package
Claude- Create src/orchestrators/ package with proper module structure - base.py: Shared protocols (SearchHandlerProtocol, JudgeHandlerProtocol) - simple.py: Basic search-judge loop orchestrator (was orchestrator.py) - advanced.py: Multi-agent MS Agent Framework orchestrator (was orchestrator_magentic.py) - hierarchical.py: Sub-iteration middleware orchestrator - factory.py: Factory pattern for orchestrator creation - __init__.py: Clean public API with facade pattern Design principles applied: - Single Responsibility (SRP): Each file has one clear job - Interface Segregation (ISP): Protocols in base.py - Factory Pattern (GoF): Centralized creation logic - Facade Pattern: Clean public imports via __init__.py All imports updated across: - src/app.py, src/agents/ - tests/unit/, tests/e2e/, tests/integration/ - examples/orchestrator_demo/ All 147 tests pass, linting and typecheck clean.e82d9c9
-
rebrand: DeepCritical → DeepBoner (sexual health research agent)
🍆 AI-Native Sexual Health Research Agent - Package renamed: deepcritical → deepboner - New focus: sexual wellness, ED, hormone therapy, libido, reproductive health - Exception class: DeepCriticalError → DeepBonerError (with backwards compat) - UI examples updated for sexual health queries - Modal app renamed: deepboner-code-execution - Fixed pre-existing mypy issue (Modal API: uv_pip_install → pip_install) 46 files updated across: - Core: pyproject.toml, README.md, CLAUDE.md, AGENTS.md, GEMINI.md - Source: app.py, mcp_tools.py, exceptions.py, code_execution.py - Docs: ~25 markdown files - Examples: 8 demo scripts - Tests: exception tests updated All tests passing (102 passed, 6 skipped)5d12635
-
feat: implement async-safe rate limiting (Phase 17) (#40)
Unverified signature- Add 'limits' library dependency - Implement async RateLimiter with finer-grained polling (0.01s) - Refactor PubMedTool to use shared singleton limiter - Add comprehensive unit tests and demo script316dc7d -
fix: update remaining bioRxiv references to Europe PMC in examples
- examples/orchestrator_demo/run_agent.py: Update comments (3 places) - examples/README.md: Update documentation (4 places) All examples now consistently reference Europe PMC instead of bioRxiv.1515e72 -
fix: update references to Europe PMC in examples and documentation
Replaced mentions of bioRxiv with Europe PMC in the full stack and hypothesis demo scripts to reflect the current data sources. Updated the pyproject.toml to exclude specific directories from mypy checks using regex patterns for better clarity.9d21bf8 -
refactor(tools): replace BioRxiv with Europe PMC (Phase 01)
Replaced broken BioRxivTool with EuropePMCTool which supports keyword search. Updated all agents, MCP tools, and examples to use the new tool. Deleted legacy BioRxiv implementation.2f8ae1f -
fix: exclude reference_repos from mypy and cleanup
- Add mypy exclude for reference_repos/ and examples/ to prevent scanning of local reference code that isn't part of the project - Fix string concatenation in orchestrator_magentic.py - Fix formatting in examples (spaces around operators) - Remove resolved bug documentation (001, 002, 003)0a480cb
-
docs: sync AI agent context files and fix final nitpicks
- Update GEMINI.md, CLAUDE.md, AGENTS.md to Phase 13 status - Add HuggingFace Spaces collaboration guidelines - Remove redundant evidence[:10] slice (method handles internally) - Add CodeExecutionError handling to verify_sandbox.py demo8bac750 -
refactor: address CodeRabbit nitpick suggestions
- Use Literal type for verdict field (type safety) - Use lru_cache for thread-safe singleton pattern - Fix ellipsis only appended when content is truncated - Clarify docstrings for enable_modal_analysis vs modal_available - Surface execution failures in verify_sandbox.py demo - Gate StatisticalAnalyzer integration test on LLM keys901acc3 -
feat: implement phase 13 modal pipeline integration
7cc8b69 -
docs: update demos to use all 3 search sources
- Remove stale DuckDuckGo references from README - Update all demos to use PubMed + ClinicalTrials + bioRxiv - Update docstrings and summary messages - All 76 tests passing Files updated: - examples/README.md - examples/full_stack_demo/run_full.py - examples/hypothesis_demo/run_hypothesis.py - examples/orchestrator_demo/run_agent.py - examples/orchestrator_demo/run_magentic.py8625ded -
feat: Phase 11 bioRxiv Preprint Integration (#19)
Unverified signature* feat: Implement Phase 11 (bioRxiv Preprint Integration) * chore: add .mypy_cache to .gitignore * fix: address CodeRabbit review feedback for bioRxiv tool - Catch httpx.RequestError for network failures (major issue) - Use SourceName type alias in Citation model (DRY) - Only add '...' suffix when abstract is truncated - Add test for network error handlinge67c99f -
refactor: address final CodeRabbit feedback
- Fix Windows path escaping in verify_sandbox.py using .as_posix() - Improve verdict detection with robust regex matching (avoid false positives) - Wire allow_network parameter to Modal sandbox block_network - Add finally block for sandbox resource cleanup - Use lru_cache for thread-safe singleton pattern - Add OpenAI-only note to LlamaIndexRAGService docstringb50fffd -
refactor: address CodeRabbit review feedback for Mario integration
CRITICAL fix: - Centralize sandbox library versions (SANDBOX_LIBRARIES constant) - Use shared config for both Modal image and LLM prompts - Prevent version mismatch between generated code and execution MAJOR fixes: - Use run_in_executor() for blocking Modal calls in async context - Lazy initialize code executor to avoid failing on import - Remove redundant hypothesis check (unreachable code) - Simplify semantic search placeholder (dead code paths) Minor fixes: - Update docs: Docker → Modal Sandbox terminology - Fix docstring claiming ConfigurationError (only warns)cbd94a4 -
feat: Integrate Mario's Modal code execution + LlamaIndex RAG
Cherry-picked from mario-dev branch: - src/tools/code_execution.py: Modal sandbox for LLM-generated code - src/services/llamaindex_rag.py: LlamaIndex + ChromaDB RAG service - src/agents/analysis_agent.py: Statistical analysis agent - examples/modal_demo/: Demo scripts for code execution - docs/workflow-diagrams.md: Architecture documentation Dependencies added as optional [modal] group: - modal>=0.63.0, llama-index, chromadb Config additions: - MODAL_TOKEN_ID, MODAL_TOKEN_SECRET, CHROMA_DB_PATH Co-authored-by: Mario <mario@contributor>3aa91e9 -
refactor: address CodeRabbit nitpicks for Phase 10
- Centralize SourceName type alias in models.py - Update search_handler.py to use SourceName (reduces cast brittleness) - Update app.py intro text to mention ClinicalTrials.gov - Update run_search.py docstring for multi-source search - DRY test setup with mock_requests_get fixture - Speed up error test by patching tenacity retry stop condition1bc9785 -
feat: Implement Phase 10 (ClinicalTrials.gov) with requests
4e2ccbf -
feat: Complete Phase 9 Source Cleanup (Remove WebTool) (#14)
* feat: complete Phase 9 source cleanup - Removed WebTool (src/tools/websearch.py) and related tests - Updated SearchHandler and models to support only PubMed - Refactored all examples and tests to remove web search dependencies - Added verification tests to ensure no WebTool references remain - Fixed all unit tests to align with strict 'pubmed' source typing * fix: address CodeRabbit review feedback - Deduplicate tenacity dependency in pyproject.toml - Remove 'and web' from search agent description - Normalize Citation source to 'pubmed' in search agent - Update app.py markdown to remove web search references - Update embeddings demo with realistic PubMed URL/author - Enhance SearchHandler tests to verify multi-tool aggregation * refactor: replace mock data with real PubMed data in embeddings demo * fix: address CodeRabbit review feedback - Fix nested test_search_handler_pubmed_only (was inside another test, never ran) - Improve test_no_webtool_references to catch `from src.tool…cd004e1
-
refactor(examples): apply CodeRabbit feedback (validations, complexity, formatting)
cd11dad -
refactor(examples): purge all mocks - real API calls only
NO MOCKS. NO FAKE DATA. REAL SCIENCE. Changes: - hypothesis_demo: Now does REAL search before hypothesis generation - full_stack_demo: Removed run_mock_demo(), create_mock_*() functions - orchestrator_demo: Removed --mock flag and MockJudgeHandler - README: Updated to reflect "Real or Nothing" philosophy All examples now require API keys and make real API calls. Mocks belong in tests/unit/, not in demos.cfb473d -
feat(examples): add Phase 6-8 demos for full stack demonstration
- Add embeddings_demo: semantic search & deduplication (no API keys) - Add hypothesis_demo: mechanistic reasoning (requires LLM) - Add full_stack_demo: complete pipeline with mock and real modes - Update examples README with comprehensive documentation Examples demonstrate: - Text embedding with sentence-transformers - ChromaDB vector storage and similarity search - Semantic deduplication by meaning - Drug -> Target -> Pathway -> Effect hypothesis generation - Structured scientific report generation0efdc2f -
fix: linting and types for phase 5
1922dbd -
fix: pydantic-ai v1 compatibility and Anthropic model update
- Use result.output instead of deprecated result.data (pydantic-ai v1) - Update Anthropic model to claude-sonnet-4-5 - Remove redundant cast in judges.py - Add orchestrator_demo example for end-to-end testing - Fix NCBI_API_KEY placeholder handling in pubmed.py - Update tests to use .output instead of .data4732667 -
fix(phase2): address CodeRabbit review feedback + add examples
CodeRabbit fixes: - Fix deprecated asyncio.get_event_loop() → get_running_loop() - Remove dead flatten() function from search_handler.py - Remove redundant getattr() in pubmed.py - Add truncation rationale comments New: - Add examples/search_demo/ with run_search.py demo script - Add examples/README.md32e3b61