Story
- ID : PD-283
- Titre : Assemblage local ZIP dossier plainte (Zero-Knowledge)
- Gate : 3 — CONFORMITY_CHECK
- Date : 2026-03-09
Résumé exécutif
La spécification PD-283 et les tests associés présentent une couverture fonctionnelle solide (13 invariants, 16 CA, 36 tests). Cependant, 3 écarts bloquants et 8 écarts majeurs ont été identifiés par les deux reviewers (ChatGPT + Claude). Les bloquants portent sur des contradictions internes dans la machine à états et les conditions de reprise.
Écarts identifiés
BLOQUANTS
| ID | Type | Description | Source |
| E-01 | Contradiction | DELETED déclaré état terminal (toutes sorties interdites) mais la spec décrit « READY -> DELETED : retour implicite IDLE ». TC-NOM-06 reproduit cette contradiction. | Review ChatGPT + Confrontation Claude |
| E-02 | Contradiction | ERR-08 impose blocage de nouvelle tentative tant que purge forcée non réussie, mais la machine à états autorise FAILED -> PREPARING sans condition de garde. | Review ChatGPT |
| E-03 | Hypothèse dangereuse | INV-283-04 (notification 24h) est « non négociable » mais H-04 admet que les permissions iOS sont hypothétiques. Contradiction entre invariant absolu et dépendance externe non contrôlable. | Review ChatGPT |
MAJEURS
| ID | Type | Description | Source |
| E-04 | Incohérence temporelle | INV-283-04 dit « exactement 24h », CA-12/TC-INV-04 admettent ±5min. Critère non univoque. | Review ChatGPT |
| E-05 | Traçabilité | Matrice tests rattache INV-283-12 (transitions) à CA-10 (progression UX) — objets contractuels distincts. | Review ChatGPT |
| E-06 | Non testable | P95 <30s/<60s sans protocole statistique (taille échantillon, variance). | Review ChatGPT |
| E-07 | Non testable | INV-283-01/05 (aucun clair hors .pvproof) non prouvable exhaustivement via scan sandbox (caches OS, crash artifacts). | Review ChatGPT |
| E-08 | Ambiguïté | INV-283-13-envelope-encryption annoté « domaine crypto-proof » alors que la story est iOS export. Applicabilité floue. | Review ChatGPT |
| E-09 | Non testable | exportId8 (dérivation non spécifiée) mais tests valident la regex du nom final. Oracle incomplet pour CA-09. | Review ChatGPT + Confrontation |
| E-10 | Ambiguïté | ERR-09 « si critique, abort export » — critère de criticité non défini. Suffixe collision non normé. | Review ChatGPT + Confrontation |
| E-11 | Risque sécu | Observabilité détaillée requise sans politique de minimisation/redaction des logs (RGPD). | Review ChatGPT |
Points de confrontation additionnels
| ID | Description | Source |
| C-01 | Warning 500-1024 MB spécifié mais non testé. | Confrontation Claude |
| C-02 | Annulation utilisateur en cours d'export : 4 transitions prévues dans la FSM, 0 test dédié. | Confrontation Claude |
| C-03 | guide_plainte_france.pdf et README_VERIFICATION.txt dans F-01 sans test de présence. | Confrontation Claude |
| C-04 | Reprise après refresh URL : pas de contrat d'équivalence d'ensemble entre versions d'URLs. | Review ChatGPT |
Recommandation
NON_CONFORME — 3 écarts bloquants nécessitent correction avant passage.
Corrections requises (priorité)
- E-01 : Clarifier
DELETED — soit terminal strict (supprimer « retour implicite IDLE »), soit non-terminal (ajouter DELETED -> IDLE explicitement). Mettre à jour TC-NOM-06. - E-02 : Ajouter garde conditionnelle à
FAILED -> PREPARING : « SI purge_ok ALORS PREPARING autorisé ». - E-03 : Dégrader INV-283-04 de « non négociable » à « best-effort si permission accordée » OU ajouter fallback UX contractuel si permission refusée.