-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
core-logicBusiness logic implementationBusiness logic implementationcritical-pathBlocking other ticketsBlocking other ticketsmvpPhase 1 MVP scopePhase 1 MVP scope
Milestone
Description
👤 User Story
As the orchestrator, I need the end-to-end analysis workflow that integrates all core components with error handling, data collection, and notifications.
🎯 Rationale
Ensures cohesive workflow from webhook reception to notification delivery.
✅ Acceptance Criteria
Implement run_analysis() in aira/core/workflow_integration.py with stages:
- Webhook reception & validation
- Deduplication (Redis)
- State transition (new → processing)
- Multi-source data collection (parallel, timeout
DATA_COLLECTION_TIMEOUT)- Implement multi-source data collection in parallel using Python’s asyncio.gather (or equivalent), ensuring that all connector fetches (PagerDuty, GitHub, Datadog, etc.) are awaited concurrently within the run_analysis() method.
- On individual connector timeout or error, log the failure, omit that data source, and continue workflow execution.
- LLM analysis (
OpenAIProvider.generate_hypothesis()) - Persist
AnalysisResult; update state → analyzed - Notification delivery to Slack
- Final state update → closed; metrics (
workflow_duration_seconds,workflow_executions_total)- Stage-specific retries (max 3)
- Circuit breaker integration
- Dead-letter logging
- Overall timeout (
WORKFLOW_TIMEOUT) - Audit logging with correlation IDs
- Integration tests covering success & failure
📋 Metadata
-
Status: MVP
-
Category: Core Workflow
-
Week: Week 5
-
Complexity: High
-
Critical Path: Yes
-
Dependencies: AIRA-43, AIRA-53, AIRA-28
Original Ticket: #59
Phase 1 MVP Tracking Issue
Metadata
Metadata
Assignees
Labels
core-logicBusiness logic implementationBusiness logic implementationcritical-pathBlocking other ticketsBlocking other ticketsmvpPhase 1 MVP scopePhase 1 MVP scope
Projects
Status
No status