Aller au contenu

PD-284-CONFRONTATION-STEP3-V3



build · gpt-5.3-codex 

E-01 — CONFIRMÉ — Gravité: Majeur

Justification: Les extraits fournis montrent un mauvais alignement matrice ↔ CA: SEALED est contractualisé par CA-284-12 (pas CA-284-08), FAILED_TIMEOUT par CA-284-13 (pas CA-284-09), et le badge Hors ligne par CA-284-10 (pas CA-284-06). C’est un écart de traçabilité significatif.

E-02 — INFIRMÉ — Gravité: Mineur

Justification: Dans les extraits de matrice fournis, TC-INV-09 est bien rattaché à INV-284-10 (| INV-284-10 | N/A | TC-INV-09 | Stockage sécurisé |). L’écart P1 n’est pas corroboré par les éléments visibles.

E-03 — CONFIRMÉ — Gravité: Majeur

Justification: §5.1 impose un GET /status après POST et avant SSE, mais aucun comportement explicite n’est donné en cas d’échec de ce GET (alors que le POST a réussi). C’est un trou fonctionnel/UX réel.

E-04 — CONFIRMÉ — Gravité: Bloquant

Justification: §5.6 fixe has_active_urgent_seal invalide -> false, et INV-284-03 active le bouton si has_active_urgent_seal=false. En cas de donnée invalide, le système devient fail-open sur une condition de contrôle d’éligibilité. Le défaut devrait être fail-closed (true ou désactivation explicite).

E-05 — INFIRMÉ — Gravité: Mineur

Justification: Contradiction plausible, mais non démontrable avec les seuls extraits fournis: on voit INV-284-01 (account_type != minor), mais pas la règle source complète “account_type invalide -> non éligible” dans les sections citées.

E-06 — INFIRMÉ — Gravité: Mineur

Justification: Les extraits montrent l’existence de TC-INV-11 dans la matrice, mais pas son contenu détaillé (GIVEN/WHEN/THEN). Écart non vérifiable à ce stade.

E-07 — INFIRMÉ — Gravité: Mineur

Justification: Les CA listés ici sont des extraits, pas l’ensemble complet. L’absence de mention quota dans ces extraits ne suffit pas à prouver une absence dans la spec globale.

E-08 — CONFIRMÉ — Gravité: Mineur

Justification: §5.3 impose “valeur inconnue -> traiter comme none + telemetry”, alors que §3 (selon P1) impose un toast 5s pour “erreur contrôlée”. Sans règle de priorité claire, comportement ambigu (toast vs silencieux).

E-09 — INFIRMÉ — Gravité: Mineur

Justification: Le champ position_in_queue et son caractère “obligatoire” ne figurent pas dans les extraits cités ici. Écart potentiellement valide, mais non prouvé avec le corpus fourni.

E-10 — CONFIRMÉ — Gravité: Mineur

Justification: §5.2 point 8 impose une re-tentative SSE à chaque cycle polling, tandis que §5.8 ne donne qu’un plafond cumulé de backoff (30s). Le mécanisme de limitation côté “retour polling -> SSE” n’est pas spécifié clairement, avec risque de retries agressifs.

E-11 — CONFIRMÉ — Gravité: Mineur

Justification: §5.11 exige explicitement kSecAttrAccessibleWhenUnlockedThisDeviceOnly. La matrice ne montre qu’un test générique de stockage sécurisé (TC-INV-09), sans assertion explicite de cet attribut. Couverture sécurité incomplète.

Ecarts supplementaires non detectes par P1

  • Absence de CA explicite pour l’invariant sécurité INV-284-10 (matrice indique N/A) : pour une exigence sensible, l’absence de critère d’acceptation dédié fragilise la validation formelle.
  • Couverture fonctionnelle potentiellement incomplète sur FAILED_TIMEOUT: l’intitulé de test en matrice (“terminal”) ne garantit pas la vérification de la notification + deep-link attendue par CA-284-13.

Recommandation globale

REWORK.