PD-241-PLAN-REVIEW
Type : Non-conformité Spec Référence : Plan §2.1 AuthController Description : Le plan indique l’usage de @HttpCode(401) pour ERR-241-UNAUTHENTICATED au niveau du contrôleur, ce qui impose un statut 401 pour la route et contredit le succès nominal (200) attendu. Impact : Comportement nominal impossible ou incohérent avec la spec (success explicite). Gravité : BLOQUANT
Type : Non-conformité Spec Référence : Plan §5 Flux d’implémentation / §8 Points de vigilance Description : Le plan stipule que si invalidateSession réussit mais revokeRefreshToken échoue, le logout est considéré comme réussi. Ceci contredit INV-241-03 (refresh token DOIT être invalidé s’il est présent). Impact : Violation d’invariant contractuel, risque de session réutilisable. Gravité : BLOQUANT
Type : Hypothèse implicite Référence : Plan §8 Points de vigilance (Idempotence) Description : Le plan affirme « logout idempotent par nature » sans fondement dans la spec et sans exigences contractuelles correspondantes. Impact : Peut conduire à des décisions d’implémentation/test non contractuelles. Gravité : Mineur
Type : Code Contract Référence : PD-241-code-contracts.yaml / module keycloak-admin-logout Description : La règle « Timeout supérieur à 5s interdit » n’est pas dérivée de la spec et ajoute une contrainte non contractuelle. Impact : Non-conformité des code contracts (invariants non strictement sous-ensemble de la spec). Gravité : Majeur