"description":"Les tests E2E ne peuvent pas démarrer car le setup global échoue avec 'API login failed: Failed to fetch'. Le Backend API est UP (health, register, login fonctionnent), mais le setup E2E a un problème de connexion.",
"fix_suggestion":"Vérifier la configuration de l'URL API dans global-setup.ts, les timeouts, CORS, et la logique de connexion. Le Backend API fonctionne, donc le problème est dans le setup.",
"title":"Corriger les dépendances Rust - Conflit sqlite",
"description":"Le Chat Server ne compile pas à cause d'un conflit de dépendances libsqlite3-sys entre sqlx v0.7.0 (veza-common) et sqlx v0.8.6 (chat-server). Unifier les versions de sqlx dans tous les projets Rust.",
"fix_suggestion":"Unifier les versions de sqlx dans veza-common et veza-chat-server, ou utiliser des features pour éviter le conflit",
"estimated_hours":8,
"dependencies":[]
},
{
"id":"PROD-002",
"priority":"P0",
"category":"backend",
"title":"Installer protoc pour Stream Server",
"description":"Le Stream Server ne compile pas car protoc (protobuf compiler) est manquant. Installer protoc ou configurer la variable d'environnement PROTOC.",
"title":"Corriger les imports use-toast → useToast",
"description":"Le build frontend échoue car les fichiers importent 'use-toast' au lieu de 'useToast'. Le hook existe sous le nom useToast.ts mais est importé avec un tiret.",
"title":"Corriger les tests de transactions Backend",
"description":"17 tests de transactions échouent car les conteneurs de test PostgreSQL ne démarrent pas. Erreur: 'failed to start postgres container after 3 attempts: start container: started hook: wait until ready: container exited with code 3'",
"status":"open",
"blocking":true,
"test_command":"cd veza-backend-api && go test ./tests/transactions/... -v",
"expected_result":"Tous les tests passent",
"actual_result":"17 tests échouent avec erreur de conteneur",
"fix_suggestion":"Ajouter des tests unitaires pour les modules non couverts, notamment les handlers, services, et middleware",
"estimated_hours":40,
"dependencies":[]
},
{
"id":"PROD-006",
"priority":"P1",
"category":"frontend",
"title":"Corriger les tests Frontend - Contexte React Router",
"description":"585 tests frontend échouent avec l'erreur 'Cannot destructure property 'basename' of 'React__namespace.useContext(...)' as it is null'. Problème de contexte Router manquant dans les tests.",
"status":"open",
"blocking":false,
"test_command":"cd apps/web && npm test -- --run",
"expected_result":"Tous les tests passent",
"actual_result":"585 tests échouent avec erreur de contexte Router",
"fix_suggestion":"Ajouter MemoryRouter ou BrowserRouter dans les setup de tests, ou créer un wrapper de test avec Router",
"estimated_hours":16,
"dependencies":[]
},
{
"id":"PROD-007",
"priority":"P1",
"category":"frontend",
"title":"Corriger le type check Frontend",
"description":"12 erreurs TypeScript empêchent le type check de passer. Problèmes dans stateVersioning.ts, undoRedo.ts, et stateVersioning.example.ts",
"status":"open",
"blocking":false,
"test_command":"cd apps/web && npm run typecheck",
"fix_suggestion":"Corriger les types dans les migrations, les mutators Zustand, et les LogContext",
"estimated_hours":8,
"dependencies":[]
},
{
"id":"PROD-008",
"priority":"P1",
"category":"security",
"title":"Corriger le secret filtering dans les logs",
"description":"Les tests TestSecretFilterCore_FiltersSecrets échouent. Les secrets (password, api_key, token, authorization) ne sont pas filtrés correctement dans les logs.",
"status":"open",
"blocking":false,
"test_command":"cd veza-backend-api && go test ./internal/logging -v -run TestSecretFilterCore",
"expected_result":"Tous les tests passent",
"actual_result":"4 sous-tests échouent - secrets non filtrés",
"fix_suggestion":"Vérifier la configuration du filtre de secrets, ajouter les patterns manquants (password, api_key, token, authorization)",
"estimated_hours":4,
"dependencies":[]
},
{
"id":"PROD-009",
"priority":"P1",
"category":"backend",
"title":"Corriger la validation de mot de passe",
"description":"La validation de mot de passe rejette tous les mots de passe valides avec le message 'Password contains common words or patterns'. 7 tests échouent.",
"fix_suggestion":"Vérifier la validation des tokens, les permissions, et les routes",
"estimated_hours":12,
"dependencies":[]
},
{
"id":"PROD-011",
"priority":"P2",
"category":"frontend",
"title":"Nettoyer le lint Frontend",
"description":"2095 problèmes de lint (422 erreurs, 1673 warnings). Principalement utilisation excessive de 'any' et variables non utilisées.",
"status":"open",
"blocking":false,
"test_command":"cd apps/web && npm run lint",
"expected_result":"0 erreurs, <100 warnings",
"actual_result":"422 erreurs, 1673 warnings",
"files_to_check":["apps/web/src/"],
"fix_suggestion":"Remplacer 'any' par des types appropriés, supprimer les variables non utilisées, corriger les problèmes de types",
"estimated_hours":24,
"dependencies":[]
},
{
"id":"PROD-012",
"priority":"P2",
"category":"backend",
"title":"Mettre à jour les tests CORS",
"description":"Les tests CORS échouent car les headers attendus ne correspondent pas à la configuration réelle (PATCH ajouté, X-Requested-With ajouté).",
"status":"open",
"blocking":false,
"test_command":"cd veza-backend-api && go test ./internal/middleware -v -run TestCORS",
"fix_suggestion":"Vérifier que le Request n'est pas nil avant d'appeler Context(), ou corriger le setup du test",
"estimated_hours":2,
"dependencies":[]
},
{
"id":"PROD-014",
"priority":"P2",
"category":"backend",
"title":"Corriger les messages d'erreur dans les tests RBAC",
"description":"Les tests TestRequirePermission_WithInvalidUserIDType et TestRequireRole_WithInvalidUserIDType échouent car le message d'erreur est 'invalid user id format' au lieu de 'invalid user id type'.",
"status":"open",
"blocking":false,
"test_command":"cd veza-backend-api && go test ./internal/middleware -v -run TestRequirePermission_WithInvalidUserIDType",