Files
opus-orchestrator-ai/teams.py
T
mrhavens 452c3daec1 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
2026-03-13 18:14:11 +00:00

104 lines
3.8 KiB
Python

#!/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}")