Dossier de conformité — Gate 3 CONFORMITY_CHECK (v1)¶
Story : PD-251 — Job vérification intégrité périodique Gate : 3 — CONFORMITY_CHECK Itération : v1 Date : 2026-02-25
1. Documents analysés¶
| Document | Producteur | Version |
|---|---|---|
| PD-251-specification.md | ChatGPT (gpt-5.3-codex) | v1 |
| PD-251-tests.md | ChatGPT (gpt-5.3-codex) | v1 |
| PD-251-specification-review-v1.md | Claude (orchestrateur) | v1 |
| PD-251-confrontation-step3-v1.md | ChatGPT (gpt-5.3-codex) | v1 |
2. Scoring par axe¶
| Axe | Score | Justification |
|---|---|---|
| Complétude | 8 | 17 INV + 16 CA, 8 entités, 6 états, 5 API, 11 events, 5 queues. Formule priorityScore non contractualisée (AMB-02). |
| Cohérence | 7 | Gap CA sur Phase 2 snapshot (CTR-01), 3 mappings TC↔CA incorrects (CTR-02, INC-01, INC-06), unités SLA mixtes (AMB-03). |
| Testabilité | 7 | 20 TC + 6 NR. 3 CA sans test dédié : métriques Prometheus (INC-02), suppression refusée (INC-03), opérations investigation. |
| Sécurité | 8 | HSM, append-only, canonicalisation RFC 8785, rate limiting contractualisé. "Opérations investigation" non définies (SEC-01). Batch HSM non contractualisé (HYP-01). |
| Conformité | 9 | ISO 14641 §6.2/§9, NF Z42-013 §11.1, RFC 3161/8785 — couverture complète. |
| Clarté | 8 | Structure lisible, paramètres bornés avec comportement hors bornes, machine à états formalisée. |
Moyenne : (8 + 7 + 7 + 8 + 9 + 8) / 6 = 7.83
3. Verdict constitutionnel (Article I)¶
- Moyenne >= 7 : OUI (7.83)
- Tous les scores >= 8 : NON (Cohérence=7, Testabilité=7)
- Au moins un score < 6 : NON
- Verdict : RESERVE
4. Points de réserve¶
R1 — Cohérence Spec↔Tests : mappings TC incorrects (Cohérence=7)¶
Constats convergents (review + confrontation) : - TC-251-04 mappé sur CA-251-03 alors qu'il teste le cas inverse (DVG-05) - CA-251-05 mappé sur TC-251-06 au lieu de TC-251-08 (DVG-06) - CA-251-14 (suppression refusée) sans test dédié (DVG-08) - CA-251-15 (métriques Prometheus) sans test dédié (DVG-07)
Nature : Erreurs de mapping dans la matrice de couverture + tests manquants.
R2 — Testabilité : 3 CA insuffisamment couverts (Testabilité=7)¶
Constats convergents : - CA-251-14 : suppression archive corrompue refusée — aucun TC ne teste explicitement une tentative de suppression + rejet - CA-251-15 : métriques Prometheus — aucun TC ne vérifie l'exposition des métriques - Gap Phase 2 : INV-251-07 impose snapshot avant restauration mais aucun CA ne couvre cette exigence de séquencement comme critère de passage d'état
5. Points mineurs notés (non bloquants)¶
- AMB-01 : "archive sélectionnée" vs "archive du scope" — sémantique claire en contexte
- AMB-03 : unités mixtes SLA — note présente dans la spec
- NT-01 : INV-251-01 partiellement non testable (politique cron libre)
- SEC-02 : rate limiting non décliné par endpoint — endpoint ops-only
- DVG-09 : INV-251-01 couverture déclarée vs testabilité partielle
6. Recommandation¶
Option A — Lever les réserves : - ChatGPT corrige les tests (mappings + 2 TC manquants pour CA-251-14 et CA-251-15) - Ajout d'un CA explicite pour la Phase 2 snapshot dans le parcours incident - Re-gate v2
Option B — Accepter les réserves : - Justification : les erreurs de mapping sont mineures, les tests manquants seront ajoutés au plan d'implémentation (étape 4), le gap CA sera couvert par INV-251-07 qui est strict - Les réserves R1/R2 sont des problèmes de documentation, pas de fond contractuel