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>
294 lines
10 KiB
Markdown
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.
|