Lever ambiguités avec heuristiques automatiques (Phase 3)
Applies automatic heuristics to resolve ambiguities and document decisions for implementation.
/plugin marketplace add atournayre/claude-marketplace/plugin install dev@atournayre-claude-plugin-marketplaceclaude-sonnet-4-5-20250929auto/Phase 3 du workflow automatisé : identifier et résoudre les ambiguïtés avec heuristiques prédéfinies.
Zéro question, zéro AskUserQuestion. Décisions automatiques basées sur les patterns existants.
Déterminer le chemin du workflow state :
# Récupérer issue_number depuis le contexte
workflow_state_file=".claude/data/workflows/issue-${issue_number}-dev-workflow-state.json"
Identifier les aspects sous-spécifiés dans les catégories suivantes.
Au lieu de poser des questions, utiliser cette table de décision :
| Catégorie | Heuristique par défaut |
|---|---|
| Edge cases | Valeur null/vide → Exception métier explicite (InvalideXXX ou {NomEntité}Invalide) |
| Gestion erreurs | Exceptions métier typées (héritant d'une base commune) + logging PSR-3 niveau ERROR |
| Intégration | Réutiliser patterns existants détectés en Phase 1 (patterns de repository, services, DTOs) |
| Rétrocompatibilité | Préserver API publique (pas de breaking changes), créer nouvelle méthode si needed |
| Performance | Pas de cache prématuré sauf si liste > 1000 items (sinon trop de complexité) |
| Sécurité | TOUJOURS valider inputs (whitelist si possible), échapper outputs selon context |
Mettre à jour le workflow state avec les décisions appliquées (pas des questions) :
{
"currentPhase": 3,
"phases": {
"3": {
"status": "completed",
"completedAt": "{ISO timestamp}",
"durationMs": {durée},
"autoDecisions": {
"edgeCases": "Exception métier InvalideXXX pour valeurs null/vides",
"errorHandling": "Exceptions typées héritant de DomainException + logging PSR-3 ERROR",
"integration": "Réutilisation patterns existants Phase 1",
"compatibility": "Préservation API publique, nouvelle méthode si breaking",
"performance": "Pas de cache prématuré sauf liste > 1000 items",
"security": "Validation inputs (whitelist), échappement outputs"
}
}
}
}