Spaces:
Running
Running
| # Phase 00: Implementation Order & Summary | |
| **Total Effort:** 5-8 hours | |
| **Parallelizable:** Yes (all 3 phases are independent) | |
| --- | |
| ## Executive Summary | |
| The DeepCritical drug repurposing agent produces garbage results because the search tools are broken: | |
| | Tool | Problem | Fix | | |
| |------|---------|-----| | |
| | BioRxiv | API doesn't support search | Replace with Europe PMC | | |
| | PubMed | Raw queries, no preprocessing | Add query cleaner | | |
| | ClinicalTrials | No filtering | Add status/type filters | | |
| **The Microsoft Agent Framework (Magentic) is working correctly.** The orchestration layer is fine. The data layer is broken. | |
| --- | |
| ## Phase Specs | |
| | Phase | Title | Effort | Priority | Dependencies | | |
| |-------|-------|--------|----------|--------------| | |
| | **01** | [Replace BioRxiv with Europe PMC](./PHASE_01_REPLACE_BIORXIV.md) | 2-3 hrs | P0 | None | | |
| | **02** | [PubMed Query Preprocessing](./PHASE_02_PUBMED_QUERY_PREPROCESSING.md) | 2-3 hrs | P0 | None | | |
| | **03** | [ClinicalTrials Filtering](./PHASE_03_CLINICALTRIALS_FILTERING.md) | 1-2 hrs | P1 | None | | |
| --- | |
| ## Recommended Execution Order | |
| Since all phases are independent, they can be done in parallel by different developers. | |
| **If doing sequentially, order by impact:** | |
| 1. **Phase 01** - BioRxiv is completely broken (returns random papers) | |
| 2. **Phase 02** - PubMed is partially broken (returns suboptimal results) | |
| 3. **Phase 03** - ClinicalTrials returns too much noise | |
| --- | |
| ## TDD Workflow (Per Phase) | |
| ``` | |
| 1. Write failing tests | |
| 2. Run tests (confirm they fail) | |
| 3. Implement fix | |
| 4. Run tests (confirm they pass) | |
| 5. Run ALL tests (confirm no regressions) | |
| 6. Manual verification | |
| 7. Commit | |
| ``` | |
| --- | |
| ## Verification After All Phases | |
| After completing all 3 phases, run this integration test: | |
| ```bash | |
| # Full system test | |
| uv run python -c " | |
| import asyncio | |
| from src.tools.europepmc import EuropePMCTool | |
| from src.tools.pubmed import PubMedTool | |
| from src.tools.clinicaltrials import ClinicalTrialsTool | |
| async def test_all(): | |
| query = 'long covid treatment' | |
| print('=== Europe PMC (Preprints) ===') | |
| epmc = EuropePMCTool() | |
| results = await epmc.search(query, 2) | |
| for r in results: | |
| print(f' - {r.citation.title[:60]}...') | |
| print() | |
| print('=== PubMed ===') | |
| pm = PubMedTool() | |
| results = await pm.search(query, 2) | |
| for r in results: | |
| print(f' - {r.citation.title[:60]}...') | |
| print() | |
| print('=== ClinicalTrials.gov ===') | |
| ct = ClinicalTrialsTool() | |
| results = await ct.search(query, 2) | |
| for r in results: | |
| print(f' - {r.citation.title[:60]}...') | |
| asyncio.run(test_all()) | |
| " | |
| ``` | |
| **Expected:** All results should be relevant to "long covid treatment" | |
| --- | |
| ## Test Magentic Integration | |
| After all phases are complete, test the full Magentic workflow: | |
| ```bash | |
| # Test Magentic mode (requires OPENAI_API_KEY) | |
| uv run python -c " | |
| import asyncio | |
| from src.orchestrator_magentic import MagenticOrchestrator | |
| async def test_magentic(): | |
| orchestrator = MagenticOrchestrator(max_rounds=3) | |
| print('Running Magentic workflow...') | |
| async for event in orchestrator.run('What drugs show promise for Long COVID?'): | |
| print(f'[{event.type}] {event.message[:100]}...') | |
| asyncio.run(test_magentic()) | |
| " | |
| ``` | |
| --- | |
| ## Files Changed (All Phases) | |
| | File | Phase | Action | | |
| |------|-------|--------| | |
| | `src/tools/europepmc.py` | 01 | CREATE | | |
| | `tests/unit/tools/test_europepmc.py` | 01 | CREATE | | |
| | `src/agents/tools.py` | 01 | MODIFY | | |
| | `src/tools/search_handler.py` | 01 | MODIFY | | |
| | `src/tools/biorxiv.py` | 01 | DELETE | | |
| | `tests/unit/tools/test_biorxiv.py` | 01 | DELETE | | |
| | `src/tools/query_utils.py` | 02 | CREATE | | |
| | `tests/unit/tools/test_query_utils.py` | 02 | CREATE | | |
| | `src/tools/pubmed.py` | 02 | MODIFY | | |
| | `src/tools/clinicaltrials.py` | 03 | MODIFY | | |
| | `tests/unit/tools/test_clinicaltrials.py` | 03 | MODIFY | | |
| --- | |
| ## Success Criteria (Overall) | |
| - [ ] All unit tests pass | |
| - [ ] All integration tests pass (real APIs) | |
| - [ ] Query "What drugs show promise for Long COVID?" returns relevant results from all 3 sources | |
| - [ ] Magentic workflow produces a coherent research report | |
| - [ ] No regressions in existing functionality | |
| --- | |
| ## Related Documentation | |
| - [P0 Critical Bugs](./P0_CRITICAL_BUGS.md) - Root cause analysis | |
| - [P0 Magentic Audit](./P0_MAGENTIC_AND_SEARCH_AUDIT.md) - Framework verification | |
| - [P0 Actionable Fixes](./P0_ACTIONABLE_FIXES.md) - Fix summaries | |