fix: Critical bugs - LLM client, server imports, error handling
Team 1: Critical Bug Fix Squad Fixed: - #1: LLM Client async methods use undefined self.client Changed to self._async_client in utils/llm.py - #3: Server Upload endpoint missing UploadFile/File imports Added to server.py imports - #17: LangGraph workflow error recovery - Replaced fake fallback with proper error raising - Enabled MemorySaver checkpointing for state persistence - Added traceback printing for debugging
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Opus Orchestrator AI - CrewAI Development Teams
|
||||
================================================
|
||||
Divides 17 issues into 5 specialized teams, creates branches,
|
||||
and assigns work.
|
||||
"""
|
||||
|
||||
TEAMS = {
|
||||
"team-1-critical-bugs": {
|
||||
"name": "Critical Bug Fix Squad",
|
||||
"description": "Fixes blocking bugs that prevent the system from running",
|
||||
"issues": [
|
||||
"#1 - LLM Client self.client undefined (async methods)",
|
||||
"#3 - Server Upload missing UploadFile/File imports",
|
||||
"#17 - LangGraph workflow error recovery (fake fallback)",
|
||||
],
|
||||
"priority": "CRITICAL",
|
||||
"files_to_fix": [
|
||||
"opus_orchestrator/utils/llm.py",
|
||||
"opus_orchestrator/server.py",
|
||||
"opus_orchestrator/langgraph_workflow.py",
|
||||
]
|
||||
},
|
||||
"team-2-agent-workflow": {
|
||||
"name": "Agent & Workflow Repair Crew",
|
||||
"description": "Fixes agent behavior and workflow logic issues",
|
||||
"issues": [
|
||||
"#2 - AutoGen critique loop never revises chapters",
|
||||
"#5 - CrewAI LLM factory ignores config parameters",
|
||||
],
|
||||
"priority": "HIGH",
|
||||
"files_to_fix": [
|
||||
"opus_orchestrator/autogen_critique.py",
|
||||
"opus_orchestrator/crews/base_crew.py",
|
||||
]
|
||||
},
|
||||
"team-3-infrastructure": {
|
||||
"name": "Infrastructure & Config Team",
|
||||
"description": "Improves configuration, error handling, and infrastructure",
|
||||
"issues": [
|
||||
"#4 - GitHub Ingestor requires token for public repos",
|
||||
"#14 - Silent failures when API keys missing",
|
||||
"#10 - Add rate limiting and cost controls",
|
||||
],
|
||||
"priority": "MEDIUM",
|
||||
"files_to_fix": [
|
||||
"opus_orchestrator/utils/github_ingest.py",
|
||||
"opus_orchestrator/config.py",
|
||||
"opus_orchestrator/orchestrator.py",
|
||||
]
|
||||
},
|
||||
"team-4-architecture": {
|
||||
"name": "Architecture & Design Squad",
|
||||
"description": "Refactors design issues and consolidates duplicate code",
|
||||
"issues": [
|
||||
"#6 - Duplicate state management (OpusState vs OpusGraphState)",
|
||||
"#11 - No structured output validation from agents",
|
||||
"#12 - Duplicate framework prompt systems",
|
||||
],
|
||||
"priority": "MEDIUM",
|
||||
"files_to_fix": [
|
||||
"opus_orchestrator/state.py",
|
||||
"opus_orchestrator/langgraph_state.py",
|
||||
"opus_orchestrator/agents/base.py",
|
||||
"opus_orchestrator/frameworks.py",
|
||||
"opus_orchestrator/orchestrator.py",
|
||||
]
|
||||
},
|
||||
"team-5-features": {
|
||||
"name": "Features & Polish Team",
|
||||
"description": "Implements missing features and polish items",
|
||||
"issues": [
|
||||
"#7 - Add test suite for core functionality",
|
||||
"#8 - Implement streaming for long-running generations",
|
||||
"#9 - Enable LangGraph state persistence (checkpointing)",
|
||||
"#13 - Giant monolith files need refactoring",
|
||||
"#15 - Research agent disconnected from main flow",
|
||||
"#16 - Nonfiction support underdeveloped",
|
||||
],
|
||||
"priority": "LOW",
|
||||
"files_to_fix": [
|
||||
"tests/",
|
||||
"opus_orchestrator/server.py",
|
||||
"opus_orchestrator/langgraph_workflow.py",
|
||||
"tests/test_orchestrator.py",
|
||||
"opus_orchestrator/cli.py",
|
||||
"opus_orchestrator/orchestrator.py",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
for team_id, team in TEAMS.items():
|
||||
print(f"\n{'='*70}")
|
||||
print(f"🚂 TEAM: {team['name']}")
|
||||
print(f" Priority: {team['priority']}")
|
||||
print(f" Description: {team['description']}")
|
||||
print(f"\n Issues:")
|
||||
for issue in team['issues']:
|
||||
print(f" • {issue}")
|
||||
print(f"\n Files to fix:")
|
||||
for f in team['files_to_fix']:
|
||||
print(f" • {f}")
|
||||
Reference in New Issue
Block a user