Skip to content

AIRA-59: Complete Analysis Workflow Integration #68

@learn-design-develop

Description

@learn-design-develop

👤 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

Labels

core-logicBusiness logic implementationcritical-pathBlocking other ticketsmvpPhase 1 MVP scope

Projects

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions