# Exemples de task brief - avant / après

Ces exemples montrent comment transformer une demande vague en tâche exploitable par Codex.

## Exemple 1 - Checkout

### Demande vague

```text
Améliore le checkout flow.
```

### Task exploitable

```text
Objectif :
Corriger le bug de validation du checkout qui permet de soumettre une adresse de facturation vide après un changement de pays.

Contexte :
Le bug apparaît quand l'utilisateur change de pays après avoir déjà rempli une adresse. La validation doit être réinitialisée.

Scope:
- `frontend/src/checkout`
- Helpers de validation associés
- Tests de validation du checkout

Non-goals:
- Ne pas changer les payloads de l'API de paiement.
- Ne pas changer l'ordre des étapes du checkout.
- Ne pas refactorer le checkout flow complet.

Comportement attendu :
- Quand le pays change, la validation de l'adresse de facturation est réinitialisée.
- Une adresse de facturation vide ne peut pas être soumise.
- Les checkout flows valides existants restent inchangés.

Validation:
- Exécuter les tests de validation du checkout.
- Ajouter ou mettre à jour un test de régression.
- Exécuter le lint frontend.
```

## Exemple 2 - Composant UI

### Demande vague

```text
Peux-tu nettoyer ce composant ?
```

### Task exploitable

```text
Objectif :
Réduire la duplication dans `UserProfileCard` sans changer le comportement.

Contexte :
Le composant duplique la logique d'affichage du statut utilisateur et du type de compte.

Scope:
- `frontend/src/components/UserProfileCard.tsx`
- Tests unitaires associés uniquement

Non-goals:
- Ne pas changer le layout visuel.
- Ne pas changer les libellés.
- Ne pas changer les types API.
- Ne pas ajouter de dépendances.

Comportement attendu :
Le composant rend le même résultat pour tous les cas de test existants.

Validation:
- Exécuter `npm test -- UserProfileCard`.
- Exécuter `npm run lint`.

Focus de review :
Vérifier que le comportement reste inchangé et que le helper extrait ne rend pas le composant plus difficile à lire.
```

## Exemple 3 - Tests cassés

### Demande vague

```text
Corrige les tests.
```

### Task exploitable

```text
Objectif :
Corriger les tests de `InvoiceService` qui échouent depuis le changement de calcul de TVA.

Contexte :
Les tests doivent confirmer le nouveau comportement attendu, pas masquer une régression produit.

Scope:
- `backend/billing/invoice_service.py`
- `backend/billing/tests/test_invoice_service.py`

Non-goals:
- Ne pas changer le schéma de base de données.
- Ne pas modifier les endpoints publics.
- Ne pas supprimer de tests sans expliquer pourquoi.

Comportement attendu :
- Le calcul de TVA utilise le nouveau taux configuré.
- Les anciens cas valides restent couverts.
- Les erreurs de configuration restent explicites.

Validation:
- Exécuter `pytest backend/billing/tests/test_invoice_service.py`.
- Expliquer tout échec non lié au changement.
```
