Aller au contenu

PD-252 — Acceptabilité

1. Références

  • Spécification : PD-252-specification.md
  • Tests contractuels : PD-252-tests.md
  • Plan d'implémentation : PD-252-plan.md
  • Livrable C1 évalué : docs/sae-manual/preservation-format-policy.md (statut FINAL, version 1.0, 2026-03-11)
  • Livrable C2 évalué : docs/sae-manual/ch08-conformite.md (§8.1 art. 10.1.1, §8.4 GAP-FINAL-004, §8.5 plan de remédiation, §8.5 Q3 2026)
  • Date de la revue : 2026-03-11
  • Mécanisme de validation : Revue documentaire structurée (checklist ISO 14641) — aucun outil automatisé applicable (story documentaire pure)

2. Synthèse exécutive

PD-252 est une story documentaire pure visant à produire la politique des formats de préservation SAE (preservation-format-policy.md) et à amender le chapitre ch08 pour référencer ce document et clôturer le gap GAP-FINAL-004.

Les deux livrables sont présents et conformes au contrat. La revue documentaire structurée couvre l'intégralité des 12 critères d'acceptation (CA-01 à CA-12), des 9 invariants (INV-252-01 à INV-252-09), des 11 tests nominaux, 8 tests d'erreur, 1 test de mécanisme, 1 test d'invariant, 4 tests de non-régression et 6 tests adversariaux — soit 31 tests ID distincts.

Tous les tests sont à l'état PASS. Deux anomalies mineures de forme sont relevées (artefact de formatage Markdown, écart de casse sur une valeur de statut) sans impact sur la conformité normative ni sur les invariants.

Verdict : ✅ ACCEPTÉ


3. Résultats des tests contractuels

3.1 Tests nominaux

Test ID Statut Preuve d'exécution Commentaire
TC-NOM-01 PASS Fichier docs/sae-manual/preservation-format-policy.md présent. ch08 §8.1 art. 10.1.1 (ligne 57) + §8.4 GAP-FINAL-004 (ligne 319) + §8.5 Q3 2026 (ligne 419) contiennent [preservation-format-policy.md](./preservation-format-policy.md) — lien relatif correct (même dossier docs/sae-manual/). CA-01 et CA-08 satisfaits.
TC-NOM-02 PASS §3.2 contient 5 catégories : Documents textuels (4 formats), Images (3), Données structurées (2), Texte brut (2), Audio/Vidéo (3). §3.3 liste canonique : PDF/A-1B, PDF/A-2B, PDF/A-3B, JPEG, PNG, TIFF, JSON, XML, FACTUR-X, TXT, CSV, MP4, WAV, MOV — 14 formats exacts de §5.4b. mimeType et preservationLevel présents pour chaque format. CA-02 satisfait. Catégories backend DEFAULT/B2C_EVIDENCE_MINOR non redéfinies (§3.3 explicite).
TC-NOM-03 PASS §3.1 : définitions textuelles de COMPLETE et BITSTREAM présentes. Chaque ligne du tableau §3.2 a exactement 1 valeur preservationLevel. Contrôle d'unicité mentionné §3.3. CA-03 satisfait. Aucune double affectation.
TC-NOM-04 PASS §4 : tableau 5 lignes avec Format source, Format cible, conversionPriority (P1 ou P2), Statut PLANIFIÉ (PD-NEW), colonne Story avec note backlog. Mention explicite "non bloquant v1" dans §4. CA-04 satisfait. INV-252-04 respecté.
TC-NOM-05 PASS §5 : 5 validations présentes (MIME, PDF/A, SHA3-384, taille, malware). integrityHashAlgorithm = SHA3-384 explicite. Statuts IMPLANTÉ/PLANIFIÉ (PD-NEW). Clause de non-conformité technique intégralement copiée de la spec §5.6. CA-05 satisfait. Note E-01 : voir §4.
TC-NOM-06 PASS §1 centralise les 7 champs contractuels. §3 ligne d'en-tête : « Les champs formatName, mimeType et preservationLevel sont soumis aux contraintes définies en §1. » §4 : « Le champ conversionPriority suit l'enum P1|P2|P3 défini en §1. » §5 : référence §1 pour integrityHashAlgorithm. §6 : référence §1 et §2. Aucune redéfinition de regex ou contrainte en dehors de §1. CA-10 satisfait. INV-252-06 respecté.
TC-NOM-07 PASS §7.1 : 4 états définis. §7.2 : 3 transitions autorisées depuis UNCLASSIFIED. §7.3 : 9 transitions interdites (dont COMPLETE→BITSTREAM, BITSTREAM→COMPLETE, tous les retours vers UNCLASSIFIED, toutes les transitions depuis REJECTED). §7.4 : synthèse explicite des 4 inverses interdites. Mention hors périmètre PD-252 explicite. CA-11 satisfait. INV-252-07 respecté.
TC-NOM-08 PASS §6 : 7 lignes avec valeurs exactes de spec §5.7 : P10Y/contrats (PDF/A-1B, -2B, -3B/COMPLETE/NF Z42-013 §6.2.4), P10Y/factures (PDF/A-1B, -2B, -3B, FACTUR-X/COMPLETE/NF Z42-013 §6.2.4), P30Y/prob. textuels (PDF/A-1B, -2B/COMPLETE/ISO 14641 §10.1.1), P30Y/prob. images (TIFF/BITSTREAM/ISO 14641 §10.1.1), P30Y/mineurs (JPEG, PNG, TIFF, MP4, WAV, MOV/BITSTREAM/ISO 14641 §10.1.1), P5Y/données tech. structurées (JSON, XML/COMPLETE/NF Z42-013 §6.2.4), P5Y/données tech. texte brut (CSV, TXT/BITSTREAM/NF Z42-013 §6.2.4). Chaque ligne cite une référence normative. CA-06 satisfait. Valeurs exactes de la spec §5.7 confirmées ligne par ligne.
TC-NOM-09 PASS §8.1 : ISO 14641 §10.1.1 et NF Z42-013 §6.2.4 conformes regex ^[A-Z0-9 .:_-]+ §[0-9.]+$. §8.2 : ISO 19005-1, ISO 19005-2, ISO 19005-3, RFC-PV-PACK présents textuellement (citations documentaires, pas de regex). §8.3 : GAP-FINAL-004 présent + lien de tracabilité explicite (story PD-252, statut DONE). Distinction normativeReference/citations documentaires documentée en §1.2 et §8.2. CA-07, CA-09, INV-252-08 satisfaits.
TC-NOM-10 PASS §2 : 6 paramètres avec Valeur par défaut/Min/Max/Unité/Contexte/Hors bornes. Ligne taille DEFAULT : 100/0/100/MB. Durées légales : 10/10/10 ans (contrats, factures), 30/30/30 ans (probatoires, mineurs), 5/5/5 ans (techniques). Mention SLA temporels : Aucune transition temporelle identifiée présente. CA-12 satisfait.
TC-MEC-01 PASS §10 (fin) : « La conformité de la policy est vérifiée par revue documentaire structurée (checklist) lors de l'audit ISO 14641. Aucun moteur applicatif de validation n'est introduit par PD-252. » — texte exact conforme à la spec §5.9. Mécanisme de validation documenté.

3.2 Tests de cas d'erreur

Test ID Statut Preuve Commentaire
TC-ERR-01 PASS §10 : ERR-252-01 présent avec règle de réponse. Référence §3 explicite.
TC-ERR-02 PASS §10 : ERR-252-02 présent. §1.2 : normalisation lowercase documentée.
TC-ERR-03 PASS §10 : ERR-252-03 présent avec enum COMPLETE|BITSTREAM.
TC-ERR-04 PASS §10 : ERR-252-04 présent avec regex mono-composant et mention « aucune interprétation implicite ».
TC-ERR-05 PASS §10 : ERR-252-05 présent.
TC-ERR-06 PASS §10 : ERR-252-06 présent avec renvoi §1.
TC-ERR-07 PASS §10 : ERR-252-07 présent.
TC-ERR-08 PASS §10 : ERR-252-08 présent : « aucun verdict GO ne peut être prononcé ».

3.3 Test d'invariant

Test ID Statut Preuve Commentaire
TC-INV-09 PASS §9 : Q-252-05 marquée NON TESTABLE avec raison (forme de tracabilité non figée) et impact (Mineur). INV-252-09 satisfait.

3.4 Tests de non-régression

Test ID Statut Preuve Commentaire
TC-NR-01 PASS §3.3 : liste canonique 14 formats / 5 catégories immuable, mention « référence normative immuable pour PD-252 v1 ».
TC-NR-02 PASS Aucun format ne change de niveau vs §5.4b de la spec. Niveaux identiques dans §3.2.
TC-NR-03 PASS §6 : 7 lignes, valeurs P10Y/P30Y/P5Y conformes spec §5.7. Pas de valeur aberrante.
TC-NR-04 PASS §8.1 et §8.2 : ISO/NF/ISO 19005-½/3/RFC-PV-PACK/GAP-FINAL-004 présents.

3.5 Tests adversariaux

Test ID Statut Preuve Commentaire
TC-NEG-01 PASS §1 : regex ^[A-Z0-9/+.-]{1,32}$ documentée pour formatName. Comportement si invalide : « Rejet de l'entrée de policy ».
TC-NEG-02 PASS §1 : normalisation lowercase obligatoire avant validation documentée. §1.2 : exemple Application/PDF → application/pdf explicite.
TC-NEG-03 PASS §1 : regex ^P(\d+Y|\d+M|\d+D)$ pour retentionDuration. §1.2 : durées combinées hors scope explicite.
TC-NEG-04 PASS §1 : enum P1|P2|P3 pour conversionPriority. Comportement si invalide : « Rejet ».
TC-NEG-05 PASS §1 : regex ^[A-Z0-9 .:_-]+ §[0-9.]+$ pour normativeReference. §1.2 : distinction vs citations documentaires.
TC-NEG-06 PASS §7.3 : BITSTREAM → COMPLETE INTERDITE. §7.4 : transition inverse explicitement listée.

3.6 Outils automatisés

Outil Résultat Motif
ESLint N/A Story documentaire — aucun code TypeScript produit
Prettier N/A Story documentaire
TypeScript N/A Story documentaire
Tests unitaires N/A Story documentaire
SonarQube N/A Story documentaire — aucun module backend/app modifié

4. Écarts identifiés

Classification des écarts

Niveau Définition
BLOQUANT Violation d'invariant, faille de sécurité, non-conformité majeure
MAJEUR Fonction incomplète ou non conforme sans rupture de sécurité
MINEUR Détail ou dette non critique

Détail des écarts

ID Description Référence Gravité Statut
E-01 Valeur de statut IMPLANTÉ (avec accent, §5) au lieu de IMPLEMENTE (sans accent, spec §5.6). Les trois lignes de validation à statut « implémenté » utilisent IMPLANTÉ alors que la spec contractualise IMPLEMENTE. Aucun test ne porte sur l'exacte casse/accentuation de ce libellé — la sémantique est identique et la clause de non-conformité technique est correctement reproduite. Spec §5.6 vs policy §5 MINEUR OUVERT
E-02 Artefact de formatage Markdown à la ligne 324 du fichier preservation-format-policy.md : une clôture de bloc de code (```) apparaît seule entre la section Hypothèses et la Matrice de couverture. Dans certains rendus Markdown, cela peut ouvrir un bloc de code non intentionnel pour la matrice finale. Aucun contenu normatif n'est affecté. preservation-format-policy.md ligne 324 MINEUR OUVERT

Aucun écart BLOQUANT ni MAJEUR identifié.


5. Hypothèses et TODO recensés

Hypothèses actives

ID Hypothèse Statut
H-01 Les 5 catégories et 14 formats de §3.3 sont stables pour v1 Actif — stable pour la durée de PD-252
H-02 L'algorithme d'intégrité de référence reste SHA3-384 Actif — confirmé par INV-252-05
H-03 Les durées légales du §6 sont validées juridiquement Actif — validation juridique externe non vérifiable dans le cadre de cette revue
H-04 ch08-conformite.md modifiable sans blocage de merge Levée — le fichier a effectivement été modifié (DONE)
H-05 La policy ne constitue pas une déclaration de conformité technique Levée — clause de non-conformité technique présente en §5
H-06 La mention textuelle GAP-FINAL-004 est suffisante pour l'audit en v1 Actif — Q-252-05 marquée NON TESTABLE, risque résiduel mineur

TODO résiduels

ID Description Impact Décision
TODO-01 E-02 : Supprimer la clôture de bloc de code parasite (```) ligne 324 MINEUR — présentation uniquement Non bloquant Gate 8. Corrigeable en maintenance.
TODO-02 E-01 : Harmoniser IMPLANTÉIMPLEMENTE (ou accepter l'alias accentué) MINEUR — typographie Non bloquant Gate 8.
TODO-03 Q-252-05 : Figer la modalité exacte du lien tracable vers GAP-FINAL-004 (URL d'audit, identifiant structuré) lors d'un futur audit ISO 14641 externe MINEUR — impact conditionnel Report post-PD-252 ; documenté NON TESTABLE v1

6. Traçabilité

Spec → Tests → Document

INV/CA TC associé(s) Statut
INV-252-01 / CA-01 / CA-08 TC-NOM-01 ✅ PASS
INV-252-02 / CA-02 TC-NOM-02, TC-ERR-01 ✅ PASS
INV-252-03 / CA-03 TC-NOM-03, TC-ERR-03 ✅ PASS
INV-252-04 / CA-04 TC-NOM-04, TC-ERR-06 ✅ PASS
INV-252-05 / CA-05 TC-NOM-05 ✅ PASS (E-01 mineur)
INV-252-06 / CA-10 TC-NOM-06, TC-ERR-02, TC-ERR-04, TC-ERR-05 ✅ PASS
INV-252-07 / CA-11 TC-NOM-07, TC-ERR-07 ✅ PASS
INV-252-08 / CA-07 / CA-09 TC-NOM-09, TC-ERR-08 ✅ PASS
INV-252-09 TC-INV-09 ✅ PASS
CA-06 TC-NOM-08 ✅ PASS
CA-12 TC-NOM-10 ✅ PASS
§5.9 TC-MEC-01 ✅ PASS

Couverture : 12/12 critères d'acceptation satisfaits (100%). 9/9 invariants respectés (100%).


7. Verdict d'acceptabilité (unique)

Verdict : ✅ ACCEPTÉ

Date : 2026-03-11

Motif synthétique :

Les deux livrables de PD-252 (preservation-format-policy.md et amendement ch08-conformite.md) satisfont intégralement les 12 critères d'acceptation, les 9 invariants et les 31 tests contractuels (nominaux, erreur, mécanisme, non-régression, adversariaux). Le gap GAP-FINAL-004 est documentairement clos : le fichier normatif est présent à l'emplacement contractuel (docs/sae-manual/preservation-format-policy.md), référencé depuis ch08 par un lien Markdown résolvable, avec tracabilité explicite vers GAP-FINAL-004 et ISO 14641 §10.1.1.

Les deux écarts relevés (E-01 : casse IMPLANTÉ vs IMPLEMENTE, E-02 : artefact backtick) sont MINEURS et sans impact sur les invariants contractuels ni sur la valeur normative du document.

Il n'existe aucun motif de blocage pour la soumission à la Gate 8 (review CLOSURE).


Produit dans le cadre du workflow de gouvernance ProbatioVault — Étape 7 (Acceptabilité) — PD-252 — 2026-03-11