- Added Request parameter to all endpoint functions in agents.py, ai.py, alerts.py, auth.py, and consensus.py - Added @rate_limit decorator to all endpoints with appropriate limits: - Write operations (POST/PUT/DELETE): 50 requests per 60 seconds - Read operations (GET): 200 requests per 60 seconds - High-frequency operations (heartbeat, token refresh): 100 requests per 60 seconds - Renamed conflicting request parameters (request -> request_http, request_status)
9.4 KiB
Domain Refactoring Plan for Coordinator-API Decomposition
Current State
Phase 1 (Modular Monolith Restructuring): COMPLETED
- 4 contexts created: marketplace, payments, blockchain, agent_identity
- 8 routers moved, 8 services moved, 5 domain models moved
- Database schema separation with table prefixes completed
- All imports updated and compilation verified
Remaining Work: 45 routers and 115 services still in monolithic structure
Identified Bounded Contexts
Existing Contexts (Phase 1)
- marketplace - GPU marketplace functionality
- payments - Payment processing and escrow
- blockchain - Blockchain interactions and contracts
- agent_identity - Agent identity management and verification
Additional Bounded Contexts to Create
1. Governance Context
Routers: governance.py, governance_enhanced.py Services: dao_governance_service.py, governance_service.py Responsibilities:
- DAO governance mechanisms
- Voting and proposal management
- Governance rules enforcement
2. Staking Context
Routers: staking.py Services: staking_service.py Responsibilities:
- Staking operations
- Reward distribution
- Stake management
3. Reputation Context
Routers: reputation.py Services: reputation_service.py Responsibilities:
- Agent reputation scoring
- Trust management
- Reputation-based access control
4. Rewards Context
Routers: rewards.py Services: reward_service.py Responsibilities:
- Reward distribution
- Incentive management
- Reward tracking
5. Trading Context
Routers: trading.py Services: trading_marketplace/ Responsibilities:
- Trading operations
- Order management
- Trade execution
6. Analytics Context
Routers: analytics.py Services: advanced_analytics.py, performance_monitoring.py Responsibilities:
- Data analytics
- Performance monitoring
- Metrics collection
7. Certification Context
Routers: certification.py Services: certification/ Responsibilities:
- Agent certification
- Badge management
- Partnership management
8. Hermes Context
Routers: hermes_enhanced.py, hermes_enhanced_simple.py, hermes_enhanced_app.py, hermes_enhanced_health.py Services: hermes_enhanced.py, hermes_enhanced_simple.py Responsibilities:
- Hermes agent orchestration
- Agent coordination
- Edge computing integration
9. Multi-modal Context
Routers: multi_modal_rl.py, multimodal_health.py, modality_optimization_health.py Services: multimodal_agent.py, modality_optimization.py, multi_modal_fusion/ Responsibilities:
- Multi-modal AI operations
- Modality optimization
- Fusion engine management
10. Advanced RL Context
Routers: (none at router level) Services: advanced_rl/ Responsibilities:
- Advanced reinforcement learning
- RL agent training
- RL model management
11. AI Analytics Context
Routers: (none at router level) Services: ai_analytics/ Responsibilities:
- AI-powered analytics
- ML model analytics
- AI-driven insights
12. Cross-chain Context
Routers: cross_chain_integration.py Services: cross_chain/, multi_chain_transaction_manager.py Responsibilities:
- Cross-chain operations
- Multi-chain transaction management
- Cross-chain bridge management
13. Developer Platform Context
Routers: developer_platform.py Services: developer_platform_service.py Responsibilities:
- Developer tools
- API platform
- Developer resources
14. Community Context
Routers: community.py Services: community_service.py Responsibilities:
- Community management
- Social features
- Community governance
15. Bounty Context
Routers: bounty.py Services: bounty_service.py Responsibilities:
- Bounty management
- Task bounties
- Reward bounties
16. Confidential Context
Routers: confidential.py Services: confidential_service.py, fhe_service.py Responsibilities:
- Confidential transactions
- FHE operations
- Privacy-preserving computations
17. ZK Applications Context
Routers: zk_applications.py, ml_zk_proofs.py Services: zk_proofs.py, zk_memory_verification.py Responsibilities:
- Zero-knowledge proof operations
- ZK application management
- ZK verification
18. Agent Coordination Context
Routers: (none at router level) Services: agent_coordination/ Responsibilities:
- Agent coordination logic
- Agent communication
- Agent orchestration
19. Enterprise Integration Context
Routers: (none at router level) Services: enterprise_integration/ Responsibilities:
- Enterprise API gateway
- Multi-tenant support
- Enterprise features
20. Advanced AI Context
Routers: (none at router level) Services: advanced_ai_service.py, distributed_framework.py, task_decomposition.py Responsibilities:
- Advanced AI operations
- Distributed AI
- Task decomposition
21. Ecosystem Context
Routers: ecosystem_dashboard.py Services: ecosystem_service.py Responsibilities:
- Ecosystem management
- Ecosystem monitoring
- Ecosystem analytics
22. GPU Multimodal Context
Routers: gpu_multimodal_health.py Services: gpu_multimodal.py, gpu_multimodal_app.py Responsibilities:
- GPU multimodal operations
- GPU optimization
- Multimodal health monitoring
23. Edge GPU Context
Routers: edge_gpu.py Services: edge_gpu_service.py Responsibilities:
- Edge GPU management
- Edge computing
- GPU resource allocation
24. Infrastructure Context
Routers: cache_management.py, web_vitals.py, monitor.py, monitoring_dashboard.py Services: global_cdn.py, memory_manager.py, performance_monitoring.py, websocket_stream_manager.py Responsibilities:
- Caching infrastructure
- Performance monitoring
- CDN management
- Memory management
- WebSocket management
25. Security Context
Routers: agent_security_router.py, adaptive_learning_health.py, gpu_multimodal_health.py, modality_optimization_health.py Services: access_control.py, compliance_security/, encryption.py, hsm_key_manager.py, key_management.py, kyc_aml_providers.py, quota_enforcement.py, trading_surveillance.py Responsibilities:
- Access control
- Encryption
- Key management
- KYC/AML
- Compliance
- Security monitoring
26. Storage Context
Routers: (none at router level) Services: ipfs_storage_adapter.py, ipfs_storage_service.py Responsibilities:
- IPFS storage
- Decentralized storage
- Storage management
27. Wallet Context
Routers: (none at router level) Services: bitcoin_wallet.py, wallet_crypto.py, wallet_service.py, secure_wallet_service.py Responsibilities:
- Wallet management
- Cryptocurrency operations
- Secure wallet operations
28. Language Context
Routers: (none at router level) Services: multi_language/ Responsibilities:
- Multi-language support
- Translation services
- Language detection
29. Settlement Context
Routers: settlement.py Services: receipts.py Responsibilities:
- Settlement operations
- Receipt management
- Transaction settlement
Refactoring Strategy
Phase 2: Context Creation (Weeks 5-8)
Create the remaining 25 bounded contexts with proper directory structure:
- contexts/governance/
- contexts/staking/
- contexts/reputation/
- contexts/rewards/
- contexts/trading/
- contexts/analytics/
- contexts/certification/
- contexts/hermes/
- contexts/multimodal/
- contexts/advanced_rl/
- contexts/ai_analytics/
- contexts/cross_chain/
- contexts/developer_platform/
- contexts/community/
- contexts/bounty/
- contexts/confidential/
- contexts/zk_applications/
- contexts/agent_coordination/
- contexts/enterprise_integration/
- contexts/advanced_ai/
- contexts/ecosystem/
- contexts/gpu_multimodal/
- contexts/edge_gpu/
- contexts/infrastructure/
- contexts/security/
- contexts/storage/
- contexts/wallet/
- contexts/language/
- contexts/settlement/
Phase 3: Component Migration (Weeks 9-12)
Move routers, services, and domain models to appropriate contexts:
- Update import paths
- Create context-specific schemas
- Update database table prefixes
- Verify compilation
Phase 4: Dependency Resolution (Weeks 13-16)
- Identify and document cross-context dependencies
- Create shared libraries for common functionality
- Define communication patterns between contexts
- Implement event-driven communication where appropriate
Phase 5: Microservice Extraction (Weeks 17-20)
- Extract high-value contexts as independent microservices
- Implement service discovery
- Add inter-service communication
- Update deployment configurations
Priority Order
High Priority (Core Business Logic):
- Governance
- Staking
- Reputation
- Rewards
- Trading
- Hermes
- Security
Medium Priority (Supporting Services): 8. Analytics 9. Certification 10. Cross-chain 11. Developer Platform 12. Community 13. Confidential 14. ZK Applications 15. Enterprise Integration
Low Priority (Infrastructure/Utilities): 16. Infrastructure 17. Storage 18. Wallet 19. Language 20. Settlement 21. Multi-modal 22. Advanced RL 23. AI Analytics 24. Advanced AI 25. Ecosystem 26. GPU Multimodal 27. Edge GPU 28. Agent Coordination 29. Bounty
Success Metrics
- All routers and services organized into bounded contexts
- Clear domain boundaries defined
- Cross-context dependencies documented
- Shared libraries created for common functionality
- Communication patterns established
- Compilation verified after each phase
- Test coverage maintained throughout refactoring