Files
rpa_vision_v3/.kiro/specs/rpa-analytics/tasks.md
Dom a7de6a488b feat: replay E2E fonctionnel — 25/25 actions, 0 retries, SomEngine via serveur
Validé sur PC Windows (DESKTOP-58D5CAC, 2560x1600) :
- 8 clics résolus visuellement (1 anchor_template, 1 som_text_match, 6 som_vlm)
- Score moyen 0.75, temps moyen 1.6s
- Texte tapé correctement (bonjour, test word, date, email)
- 0 retries, 2 actions non vérifiées (OK)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 14:04:41 +02:00

294 lines
10 KiB
Markdown

# Implementation Plan: RPA Analytics & Insights
- [x] 1. Set up analytics module structure
- Create `core/analytics/` directory with subdirectories
- Define base interfaces and data models
- _Requirements: All_
- [ ] 2. Implement data models and storage schema
- [x] 2.1 Create ExecutionMetrics and StepMetrics dataclasses
- Define all required fields with proper types
- Add serialization methods
- _Requirements: 1.1, 1.2_
- [x] 2.2 Create ResourceMetrics dataclass
- Define resource tracking fields
- Add timestamp and context fields
- _Requirements: 5.1_
- [x] 2.3 Create database schema for time-series storage
- Define tables for execution, step, and resource metrics
- Add indexes for efficient queries
- _Requirements: 1.4_
- [ ]* 2.4 Write property test for metrics completeness
- **Property 1: Metrics completeness**
- **Validates: Requirements 1.1, 1.4**
- [ ] 3. Implement metrics collection system
- [ ] 3.1 Create MetricsCollector class
- Implement buffering mechanism
- Add async flush to storage
- Thread-safe operations
- _Requirements: 1.1, 1.2, 1.5_
- [ ] 3.2 Create ResourceCollector class
- Implement periodic sampling
- Track CPU, memory, GPU metrics
- _Requirements: 5.1_
- [ ] 3.3 Implement execution lifecycle tracking
- Hook into execution start/complete events
- Record step-level metrics
- Handle failures gracefully
- _Requirements: 1.1, 1.2, 1.3_
- [ ]* 3.4 Write property test for async persistence
- **Property 4: Async persistence guarantee**
- **Validates: Requirements 1.5**
- [ ]* 3.5 Write property test for failure recording
- **Property 3: Failure recording completeness**
- **Validates: Requirements 1.3**
- [ ] 4. Implement time-series storage
- [ ] 4.1 Create TimeSeriesStore class
- Implement SQLite-based storage
- Add write_metrics method with batching
- _Requirements: 1.4_
- [ ] 4.2 Implement query_range method
- Support time-based queries
- Add filtering by workflow_id
- _Requirements: 7.1_
- [ ] 4.3 Implement aggregate method
- Support avg, sum, count, min, max
- Add group_by functionality
- _Requirements: 2.1, 2.5_
- [ ]* 4.4 Write property test for filter correctness
- **Property 15: Filter application correctness**
- **Validates: Requirements 7.1**
- [ ] 5. Implement performance analyzer
- [x] 5.1 Create PerformanceAnalyzer class
- Calculate statistical metrics (avg, median, p95, p99)
- Generate PerformanceStats objects
- _Requirements: 2.1_
- [x] 5.2 Implement bottleneck identification
- Identify slowest steps per workflow
- Calculate percentile thresholds
- _Requirements: 2.3_
- [x] 5.3 Implement performance degradation detection
- Compare current vs baseline periods
- Calculate percentage changes
- Generate alerts when threshold exceeded
- _Requirements: 2.4_
- [ ]* 5.4 Write property test for statistical accuracy
- **Property 5: Statistical accuracy**
- **Validates: Requirements 2.1**
- [ ]* 5.5 Write property test for bottleneck identification
- **Property 6: Bottleneck identification correctness**
- **Validates: Requirements 2.3**
- [ ] 6. Implement anomaly detection
- [x] 6.1 Create AnomalyDetector class
- Implement baseline calculation
- Detect deviations using statistical methods
- _Requirements: 4.1_
- [x] 6.2 Implement severity scoring
- Calculate severity based on deviation magnitude
- Normalize scores to 0.0-1.0 range
- _Requirements: 4.2_
- [x] 6.3 Implement anomaly correlation
- Group related anomalies by time window
- Identify systemic issues
- _Requirements: 4.3_
- [x] 6.4 Implement baseline auto-update
- Detect stable periods
- Update baselines automatically
- _Requirements: 4.5_
- [ ]* 6.5 Write property test for anomaly detection
- **Property 10: Anomaly detection sensitivity**
- **Validates: Requirements 4.1**
- [ ]* 6.6 Write property test for severity scores
- **Property 11: Severity score validity**
- **Validates: Requirements 4.2**
- [ ] 7. Implement insight generator
- [x] 7.1 Create InsightGenerator class
- Analyze performance data
- Generate actionable insights
- _Requirements: 6.1_
- [x] 7.2 Implement insight prioritization
- Score insights by impact and ease
- Sort by priority_score
- _Requirements: 6.4_
- [x] 7.3 Implement best practice suggestions
- Compare similar workflows
- Extract patterns from high performers
- _Requirements: 6.3_
- [x] 7.4 Implement impact tracking
- Track insight implementations
- Measure actual vs expected impact
- _Requirements: 6.5_
- [ ]* 7.5 Write property test for insight generation
- **Property 13: Insight generation consistency**
- **Validates: Requirements 6.1**
- [ ]* 7.6 Write property test for prioritization
- **Property 14: Insight prioritization correctness**
- **Validates: Requirements 6.4**
- [ ] 8. Implement query engine
- [x] 8.1 Create QueryEngine class
- Implement query method with caching
- Support complex filters
- _Requirements: 7.1_
- [x] 8.2 Implement aggregation queries
- Support multiple aggregation functions
- Add group_by with multiple dimensions
- _Requirements: 2.1, 2.5_
- [x] 8.3 Implement comparison queries
- Compare workflows side-by-side
- Calculate differences and changes
- _Requirements: 8.1, 8.2_
- [x] 8.4 Add query caching
- Implement LRU cache
- Cache invalidation on new data
- _Requirements: Performance_
- [ ]* 8.5 Write property test for comparison accuracy
- **Property 17: Comparison calculation accuracy**
- **Validates: Requirements 8.1**
- [x] 9. Implement real-time analytics
- [x] 9.1 Create RealtimeAnalytics class
- Track active executions
- Calculate live progress
- _Requirements: 9.1, 9.2_
- [x] 9.2 Implement subscription system
- WebSocket-based updates
- Pub/sub for real-time events
- _Requirements: 9.4_
- [x] 9.3 Implement real-time alerting
- Detect issues during execution
- Send immediate notifications
- _Requirements: 9.3_
- [x] 9.4 Optimize for low latency
- In-memory tracking for active workflows
- Prioritize real-time over historical
- _Requirements: 9.1, 9.5_
- [ ]* 9.5 Write property test for real-time latency
- **Property 18: Real-time latency guarantee**
- **Validates: Requirements 9.1**
- [x] 10. Implement success rate analytics
- [x] 10.1 Create success rate calculator
- Calculate per-workflow success rates
- Support time-windowed calculations
- _Requirements: 3.1, 3.5_
- [x] 10.2 Implement failure categorization
- Categorize failures by type
- Calculate frequency per category
- _Requirements: 3.2_
- [x] 10.3 Implement reliability ranking
- Rank workflows by reliability score
- Consider success rate and stability
- _Requirements: 3.3_
- [ ]* 10.4 Write property test for success rate accuracy
- **Property 8: Success rate calculation accuracy**
- **Validates: Requirements 3.1**
- [x] 11. Implement archive and retention
- [x] 11.1 Create ArchiveStorage class
- Implement compression for old data
- Support efficient archive queries
- _Requirements: 10.2, 10.3_
- [x] 11.2 Implement retention policy engine
- Support different policies per metric type
- Automatic archival/deletion
- _Requirements: 10.1, 10.2_
- [x] 11.3 Implement policy application
- Apply policies to existing data
- Ensure no data loss on policy changes
- _Requirements: 10.5_
- [ ]* 11.4 Write property test for retention enforcement
- **Property 19: Retention policy enforcement**
- **Validates: Requirements 10.2**
- [ ]* 11.5 Write property test for archive integrity
- **Property 20: Archive data integrity**
- **Validates: Requirements 10.3**
- [x] 12. Implement report generator
- [x] 12.1 Create ReportGenerator class
- Support multiple output formats
- Template-based report generation
- _Requirements: 7.3_
- [x] 12.2 Implement PDF export
- Generate formatted PDF reports
- Include charts and tables
- _Requirements: 7.3_
- [x] 12.3 Implement CSV/JSON export
- Export raw data in structured formats
- Support large datasets
- _Requirements: 7.3_
- [x] 12.4 Implement scheduled reports
- Cron-based scheduling
- Email/webhook delivery
- _Requirements: 7.4_
- [ ]* 12.5 Write property test for export validity
- **Property 16: Export format validity**
- **Validates: Requirements 7.3**
- [x] 13. Implement dashboard manager
- [x] 13.1 Create DashboardManager class
- Store dashboard configurations
- Support custom layouts
- _Requirements: 7.2_
- [x] 13.2 Implement access control
- Role-based permissions
- Public sharing links
- _Requirements: 7.5_
- [x] 13.3 Implement dashboard templates
- Pre-built dashboard templates
- Customizable widgets
- _Requirements: 7.2_
- [x] 14. Implement analytics API
- [x] 14.1 Create REST API endpoints
- GET /analytics/metrics
- GET /analytics/performance
- GET /analytics/anomalies
- GET /analytics/insights
- _Requirements: All_
- [ ] 14.2 Implement WebSocket endpoints
- Real-time metric streaming
- Live execution monitoring
- _Requirements: 9.1, 9.4_
- [ ] 14.3 Add API documentation
- OpenAPI/Swagger specs
- Example requests/responses
- _Requirements: Documentation_
- [x] 15. Integration with execution loop
- [x] 15.1 Add metrics collection hooks
- Hook into execution start/complete
- Collect step metrics automatically
- _Requirements: 1.1, 1.2_
- [x] 15.2 Integrate with self-healing system
- Track recovery metrics
- Correlate failures with recoveries
- _Requirements: Integration_
- [x] 15.3 Add resource monitoring
- Track resources during execution
- Associate with workflow executions
- _Requirements: 5.1_
- [ ] 16. Create web dashboard integration
- [ ] 16.1 Add analytics views to dashboard
- Performance overview page
- Anomaly detection page
- Insights page
- _Requirements: 7.2_
- [ ] 16.2 Implement real-time charts
- Live execution monitoring
- Auto-refreshing metrics
- _Requirements: 9.4_
- [ ] 16.3 Add export and sharing features
- Export buttons for reports
- Share dashboard links
- _Requirements: 7.3, 7.5_
- [ ] 17. Final checkpoint - Ensure all tests pass
- Ensure all tests pass, ask the user if questions arise.