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>
10 KiB
10 KiB
Implementation Plan: RPA Analytics & Insights
-
1. Set up analytics module structure
- Create
core/analytics/directory with subdirectories - Define base interfaces and data models
- Requirements: All
- Create
-
2. Implement data models and storage schema
- 2.1 Create ExecutionMetrics and StepMetrics dataclasses
- Define all required fields with proper types
- Add serialization methods
- Requirements: 1.1, 1.2
- 2.2 Create ResourceMetrics dataclass
- Define resource tracking fields
- Add timestamp and context fields
- Requirements: 5.1
- 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
- 2.1 Create ExecutionMetrics and StepMetrics dataclasses
-
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
- 3.1 Create MetricsCollector class
-
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
- 4.1 Create TimeSeriesStore class
-
5. Implement performance analyzer
- 5.1 Create PerformanceAnalyzer class
- Calculate statistical metrics (avg, median, p95, p99)
- Generate PerformanceStats objects
- Requirements: 2.1
- 5.2 Implement bottleneck identification
- Identify slowest steps per workflow
- Calculate percentile thresholds
- Requirements: 2.3
- 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
- 5.1 Create PerformanceAnalyzer class
-
6. Implement anomaly detection
- 6.1 Create AnomalyDetector class
- Implement baseline calculation
- Detect deviations using statistical methods
- Requirements: 4.1
- 6.2 Implement severity scoring
- Calculate severity based on deviation magnitude
- Normalize scores to 0.0-1.0 range
- Requirements: 4.2
- 6.3 Implement anomaly correlation
- Group related anomalies by time window
- Identify systemic issues
- Requirements: 4.3
- 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
- 6.1 Create AnomalyDetector class
-
7. Implement insight generator
- 7.1 Create InsightGenerator class
- Analyze performance data
- Generate actionable insights
- Requirements: 6.1
- 7.2 Implement insight prioritization
- Score insights by impact and ease
- Sort by priority_score
- Requirements: 6.4
- 7.3 Implement best practice suggestions
- Compare similar workflows
- Extract patterns from high performers
- Requirements: 6.3
- 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
- 7.1 Create InsightGenerator class
-
8. Implement query engine
- 8.1 Create QueryEngine class
- Implement query method with caching
- Support complex filters
- Requirements: 7.1
- 8.2 Implement aggregation queries
- Support multiple aggregation functions
- Add group_by with multiple dimensions
- Requirements: 2.1, 2.5
- 8.3 Implement comparison queries
- Compare workflows side-by-side
- Calculate differences and changes
- Requirements: 8.1, 8.2
- 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
- 8.1 Create QueryEngine class
-
9. Implement real-time analytics
- 9.1 Create RealtimeAnalytics class
- Track active executions
- Calculate live progress
- Requirements: 9.1, 9.2
- 9.2 Implement subscription system
- WebSocket-based updates
- Pub/sub for real-time events
- Requirements: 9.4
- 9.3 Implement real-time alerting
- Detect issues during execution
- Send immediate notifications
- Requirements: 9.3
- 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
- 9.1 Create RealtimeAnalytics class
-
10. Implement success rate analytics
- 10.1 Create success rate calculator
- Calculate per-workflow success rates
- Support time-windowed calculations
- Requirements: 3.1, 3.5
- 10.2 Implement failure categorization
- Categorize failures by type
- Calculate frequency per category
- Requirements: 3.2
- 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
- 10.1 Create success rate calculator
-
11. Implement archive and retention
- 11.1 Create ArchiveStorage class
- Implement compression for old data
- Support efficient archive queries
- Requirements: 10.2, 10.3
- 11.2 Implement retention policy engine
- Support different policies per metric type
- Automatic archival/deletion
- Requirements: 10.1, 10.2
- 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
- 11.1 Create ArchiveStorage class
-
12. Implement report generator
- 12.1 Create ReportGenerator class
- Support multiple output formats
- Template-based report generation
- Requirements: 7.3
- 12.2 Implement PDF export
- Generate formatted PDF reports
- Include charts and tables
- Requirements: 7.3
- 12.3 Implement CSV/JSON export
- Export raw data in structured formats
- Support large datasets
- Requirements: 7.3
- 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
- 12.1 Create ReportGenerator class
-
13. Implement dashboard manager
- 13.1 Create DashboardManager class
- Store dashboard configurations
- Support custom layouts
- Requirements: 7.2
- 13.2 Implement access control
- Role-based permissions
- Public sharing links
- Requirements: 7.5
- 13.3 Implement dashboard templates
- Pre-built dashboard templates
- Customizable widgets
- Requirements: 7.2
- 13.1 Create DashboardManager class
-
14. Implement analytics API
- 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
- 14.1 Create REST API endpoints
-
15. Integration with execution loop
- 15.1 Add metrics collection hooks
- Hook into execution start/complete
- Collect step metrics automatically
- Requirements: 1.1, 1.2
- 15.2 Integrate with self-healing system
- Track recovery metrics
- Correlate failures with recoveries
- Requirements: Integration
- 15.3 Add resource monitoring
- Track resources during execution
- Associate with workflow executions
- Requirements: 5.1
- 15.1 Add metrics collection hooks
-
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
- 16.1 Add analytics views to dashboard
-
17. Final checkpoint - Ensure all tests pass
- Ensure all tests pass, ask the user if questions arise.