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>
6.6 KiB
Implementation Plan: RPA System Unification
Overview
Ce plan unifie définitivement le système RPA Vision V3 en créant une architecture centralisée qui élimine les incohérences et problèmes récurrents.
Tasks
-
1. Créer le Configuration Manager centralisé
- Implémenter la classe SystemConfig avec tous les paramètres unifiés
- Créer le ConfigurationManager pour charger/valider la configuration
- Ajouter la gestion des variables d'environnement et fichiers de config
- Requirements: 1.1, 1.2, 1.4, 1.5
-
* 1.1 Écrire les tests de propriété pour la configuration
- Property 1: Configuration Consistency
- Property 10: Configuration Validation Completeness
- Validates: Requirements 1.1, 1.2, 1.4, 1.5
-
2. Implémenter le Data Manager unifié
- Créer la classe DataManager pour gérer tous les chemins de données
- Unifier les chemins sessions, workflows, embeddings, logs
- Ajouter la création automatique des répertoires avec permissions
- Implémenter la validation d'intégrité des données
- Requirements: 2.1, 2.2, 2.3, 2.4, 2.5
-
* 2.1 Écrire les tests de propriété pour les chemins de données
- Property 2: Data Path Unification
- Property 8: Data Consistency Validation
- Validates: Requirements 2.1, 2.2, 2.3, 7.1, 7.2
-
3. Créer le Service Registry
- Implémenter la classe ServiceRegistry pour tracker tous les services
- Ajouter l'enregistrement/désenregistrement automatique des services
- Créer les modèles ServiceInfo et ServiceStatus
- Implémenter la synchronisation entre services
- Requirements: 3.1, 3.2, 3.3, 3.4, 3.5
-
* 3.1 Écrire les tests de propriété pour le Service Registry
- Property 3: Service Registration Completeness
- Validates: Requirements 3.1, 3.2, 3.3
-
4. Implémenter le Health Monitor
- Créer la classe HealthMonitor pour surveiller tous les composants
- Ajouter les vérifications de santé périodiques
- Implémenter la détection de pannes et récupération automatique
- Créer l'endpoint de santé système unifié
- Requirements: 4.1, 4.2, 4.3, 4.4, 4.5
-
* 4.1 Écrire les tests de propriété pour le Health Monitor
- Property 4: Health Check Responsiveness
- Validates: Requirements 4.1, 4.2
-
5. Créer le System Controller
- Implémenter la classe SystemController pour coordonner les services
- Ajouter les commandes start/stop/restart unifiées
- Gérer les dépendances entre services au démarrage
- Implémenter l'arrêt gracieux en ordre inverse
- Requirements: 5.1, 5.2, 5.3, 5.4, 5.5
-
* 5.1 Écrire les tests de propriété pour le System Controller
- Property 5: Startup Order Correctness
- Property 6: Shutdown Graceful Completion
- Validates: Requirements 5.1, 5.2, 5.3, 5.4
-
6. Checkpoint - Vérifier l'architecture de base
- Ensure all tests pass, ask the user if questions arise.
-
7. Implémenter la gestion d'erreurs centralisée
- Créer le format de log unifié pour tous les composants
- Ajouter la corrélation d'erreurs entre composants
- Implémenter l'agrégation centralisée des logs
- Créer les procédures de récupération automatique
- Requirements: 6.1, 6.2, 6.3, 6.4, 6.5
-
* 7.1 Écrire les tests de propriété pour la gestion d'erreurs
- Property 7: Error Correlation Consistency
- Validates: Requirements 6.1, 6.2, 6.3
-
8. Créer le système de migration
- Implémenter la détection automatique des versions de schéma
- Créer le framework de migration avec backup automatique
- Ajouter la validation d'intégrité post-migration
- Implémenter la restauration automatique en cas d'échec
- Requirements: 8.1, 8.2, 8.3, 8.4, 8.5
-
* 8.1 Écrire les tests de propriété pour les migrations
- Property 9: Migration Safety
- Validates: Requirements 8.1, 8.3, 8.5
-
9. Migrer le Dashboard Service
- Modifier web_dashboard/app.py pour utiliser le Configuration Manager
- Remplacer les chemins hardcodés par le Data Manager
- Intégrer avec le Service Registry et Health Monitor
- Corriger le problème des sessions non trouvées
- Requirements: 1.2, 2.1, 2.2, 3.1
-
10. Migrer l'API Service
- Modifier server/api_upload.py pour utiliser la configuration centralisée
- Intégrer avec le Service Registry
- Unifier les chemins de données avec le Data Manager
- Requirements: 1.2, 2.1, 2.2, 3.1
-
11. Migrer le Worker Service
- Modifier server/worker_daemon.py pour la configuration centralisée
- Intégrer avec le Service Registry et Health Monitor
- Unifier les chemins de traitement des données
- Requirements: 1.2, 2.1, 2.2, 3.1
-
12. Migrer l'Agent Service
- Modifier agent_v0/ pour utiliser la configuration centralisée
- Intégrer avec le Service Registry
- Unifier les chemins d'upload et de stockage
- Requirements: 1.2, 2.1, 2.2, 3.1
-
13. Créer les scripts de gestion système
- Créer rpa-system start/stop/restart/status
- Ajouter les commandes de vérification de cohérence
- Implémenter les outils de diagnostic et réparation
- Créer les scripts de migration manuelle
- Requirements: 5.1, 5.2, 7.3, 7.5
-
* 13.1 Écrire les tests d'intégration système
- Tester les cycles complets start/stop
- Tester la récupération après panne
- Tester les migrations de données
- Requirements: 5.1, 5.2, 8.1, 8.2
-
14. Mettre à jour la configuration systemd
- Modifier les services systemd pour utiliser le nouveau système
- Ajouter les dépendances correctes entre services
- Mettre à jour les variables d'environnement
- Tester le démarrage automatique au boot
- Requirements: 3.5, 5.3, 5.4
-
15. Checkpoint final - Validation complète
- Ensure all tests pass, ask the user if questions arise.
- Vérifier que tous les services utilisent la configuration centralisée
- Valider que les chemins de données sont unifiés
- Tester les scénarios de panne et récupération
- Valider les migrations de données
-
* 15.1 Tests de performance système
- Mesurer les temps de démarrage/arrêt
- Tester la performance des health checks
- Valider les performances de migration
- Requirements: 4.1, 5.5, 8.4
Notes
- Tasks marked with
*are optional and can be skipped for faster MVP - Each task references specific requirements for traceability
- Checkpoints ensure incremental validation
- Property tests validate universal correctness properties
- Integration tests validate cross-component behavior
- Cette unification résoudra définitivement les problèmes récurrents de configuration et de synchronisation