Aller au contenu

PD-252 — Plan d'implémentation : Politique des formats de préservation SAE

Story : PD-252 Projet : ProbatioVault-doc Domaine : legal-compliance Étape : 4 — Plan d'implémentation Date : 2026-03-11 Statut : DRAFT


1. Découpage en composants

PD-252 est une story documentaire pure. Aucune implémentation logicielle n'est produite. Les deux livrables sont des fichiers Markdown dans le dépôt ProbatioVault-doc.

C1 — preservation-format-policy.md (nouveau document)

Propriété Valeur
Chemin cible docs/sae-manual/preservation-format-policy.md
Type Nouveau fichier Markdown normatif
Responsabilité Contenir l'intégralité de la politique des formats de préservation SAE
Agent owner agent-doc-writer

Ce document contient :

  • Catalogue des formats acceptés (5 catégories, 14 formats — §5.4b de la spec)
  • Définitions formelles des niveaux COMPLETE et BITSTREAM
  • Tableau des conversions à l'ingestion (documentaire, non bloquant v1)
  • Tableau des validations d'ingestion (5 validations minimales + statut implémentation)
  • Matrice formats × durées légales (7 types documentaires)
  • Modèle d'états et transitions (4 états : UNCLASSIFIED, COMPLETE, BITSTREAM, REJECTED)
  • Contrats de données centralisés (§5.1 : 7 champs avec format/regex/comportement si invalide)
  • Paramètres numériques avec bornes (§5.2)
  • Références normatives et tracabilité GAP-FINAL-004

C2 — Amendement ch08-conformite.md (fichier existant modifié)

Propriété Valeur
Chemin cible docs/sae-manual/ch08-conformite.md
Type Modification d'un fichier Markdown existant
Responsabilité Ajouter un lien explicite de ch08 vers preservation-format-policy.md
Agent owner agent-doc-amender

Modification minimale et ciblée : dans la section §8.4 (GAP-FINAL-004), mettre à jour le statut de Planifie (Q3 2026)DONE (PD-252) et ajouter un lien Markdown vers ../preservation-format-policy.md.


2. Flux techniques

Flux F1 — Rédaction de preservation-format-policy.md

1. Créer le fichier à l'emplacement contractuel
   docs/sae-manual/preservation-format-policy.md

2. Rédiger l'en-tête normatif
   - Titre, statut DRAFT → FINAL, date, lien GAP-FINAL-004, références ISO/NF

3. Rédiger §1 — Contrats de données (source de vérité unique)
   - 7 champs : formatName, mimeType, preservationLevel, retentionDuration,
     conversionPriority, normativeReference, integrityHashAlgorithm
   - Pour chaque champ : format, longueur, regex, comportement si invalide
   - Note de distinction normativeReference vs citations documentaires

4. Rédiger §2 — Paramètres numériques contractualisés
   - Taille fichier DEFAULT (100 MB)
   - 5 durées légales (P10Y, P30Y, P5Y)
   - Mention SLA : "Aucune transition temporelle identifiée"

5. Rédiger §3 — Catalogue des formats acceptés
   - 5 catégories (Documents textuels, Images, Données structurées, Texte brut, Audio/Video)
   - 14 formats avec formatName, mimeType, preservationLevel
   - Note de discrimination FACTUR-X / PDF/A-3B (détection XML embarqué)

6. Rédiger §4 — Règles de conversion à l'ingestion
   - Tableau source/cible/priorité/statut story séparée
   - Mention explicite "non bloquant v1"
   - Statuts PLANIFIÉ (PD-NEW) avec note backlog

7. Rédiger §5 — Validations à l'ingestion
   - 5 validations : MIME, PDF/A, SHA3-384, taille, malware
   - Tableau : validation / règle contractuelle / statut implémentation
   - Clause de non-conformité technique pour les validations PLANIFIÉ

8. Rédiger §6 — Matrice formats × durées légales
   - 7 types documentaires avec durée, formats acceptés, niveau
   - Note P30Y pour mineurs (hypothèse H-03)

9. Rédiger §7 — Modèle d'états et transitions
   - 4 états : UNCLASSIFIED, COMPLETE, BITSTREAM, REJECTED
   - Tableau des transitions autorisées et interdites
   - Transitions inverses explicitement interdites

10. Rédiger §8 — Références normatives et tracabilité
    - Références structurées (avec §section) : ISO 14641 §10.1.1, NF Z42-013 §6.2.4
    - Citations documentaires : ISO 19005-1/2/3, RFC-PV-PACK
    - Lien de tracabilité explicite vers GAP-FINAL-004

11. Marquer règles NON TESTABLE avec justification (Q-252-05)

Flux F2 — Amendement de ch08-conformite.md

1. Lire le fichier existant docs/sae-manual/ch08-conformite.md

2. Localiser la section §8.4 — Gaps identifiés,
   entrée GAP-FINAL-004 "Politique de formats de préservation non formalisée"

3. Mettre à jour :
   - Statut : "Planifié (Q3 2026)" → "DONE (PD-252, Q1 2026)"
   - Story : "PD-NEW-FORMAT-POLICY" → "PD-252"
   - Ajouter lien Markdown : [Voir preservation-format-policy.md](../preservation-format-policy.md)

4. Mettre à jour §8.5 Plan de remédiation :
   - Entrée GAP-FINAL-004 : statut "Planifié" → "DONE"
   - Ajouter colonne/note : "PD-252, Q1 2026"

5. Vérifier que le lien Markdown est syntaxiquement correct
   (chemin relatif depuis ch08-conformite.md vers preservation-format-policy.md)

Flux F3 — Validation documentaire (revue QA)

1. Vérifier présence du fichier à l'emplacement contractuel (CA-01)
2. Compter les catégories (5) et les formats (14) dans §3 (CA-02)
3. Vérifier niveau unique par format (CA-03)
4. Vérifier tableau conversions avec priorité et story séparée (CA-04)
5. Vérifier 5 validations + SHA3-384 explicite (CA-05)
6. Vérifier matrice 7 lignes avec valeurs exactes de la spec §5.7 (CA-06)
7. Vérifier références structurées (regex) + citations documentaires (CA-07)
8. Vérifier lien ch08 → policy (CA-08)
9. Vérifier mention GAP-FINAL-004 (CA-09)
10. Vérifier §5.1 source unique de vérité pour les contrats de données (CA-10)
11. Vérifier tableau transitions avec transitions inverses interdites (CA-11)
12. Vérifier §5.2 avec bornes/unités/hors bornes (CA-12)

2bis. Diagrammes Mermaid

Graphe de dépendances des composants

graph TD
    subgraph "Entrées documentaires"
        SPEC["PD-252-specification.md<br/>(§5.1–§5.9)"]
        CH08_IN["ch08-conformite.md<br/>(existant, §8.4–§8.5)"]
        GAP["GAP-FINAL-004<br/>(audit PD-244)"]
    end

    subgraph "Livrables PD-252"
        C1["C1 — preservation-format-policy.md<br/>(agent-doc-writer)"]
        C2["C2 — Amendement ch08-conformite.md<br/>(agent-doc-amender)"]
    end

    subgraph "Références normatives"
        ISO14641["ISO 14641:2018 §10.1.1"]
        NFZ42["NF Z42-013:2020 §6.2.4"]
        ISO19005["ISO 19005-1/2/3"]
        RFC["RFC-PV-PACK"]
    end

    SPEC -->|"§5.1 contrats données<br/>§5.4b catalogue 14 formats<br/>§5.7 matrice légale"| C1
    GAP -->|"tracabilité"| C1
    ISO14641 -->|"référence structurée"| C1
    NFZ42 -->|"référence structurée"| C1
    ISO19005 -->|"citation documentaire"| C1
    RFC -->|"citation documentaire"| C1

    C1 -->|"doit exister avant<br/>amendement ch08"| C2
    CH08_IN -->|"fichier modifié"| C2
    C2 -->|"lien Markdown vers"| C1

Séquence de production documentaire

sequenceDiagram
    participant O as Orchestrateur (Claude)
    participant W as agent-doc-writer
    participant A as agent-doc-amender
    participant QA as Validation QA (F3)

    O->>O: Charger spec §5.1–§5.9 + GAP-FINAL-004

    rect rgb(230, 245, 255)
        Note over O,W: Flux F1 — Rédaction C1
        O->>W: Prompt avec spec + références normatives
        W->>W: Rédiger §1 (contrats données, 7 champs)
        W->>W: Rédiger §2 (paramètres numériques)
        W->>W: Rédiger §3 (catalogue 5 catégories, 14 formats)
        W->>W: Rédiger §4 (conversions, non bloquant v1)
        W->>W: Rédiger §5 (5 validations ingestion)
        W->>W: Rédiger §6 (matrice formats × durées légales)
        W->>W: Rédiger §7 (modèle 4 états + transitions)
        W->>W: Rédiger §8 (références + GAP-FINAL-004)
        W-->>O: preservation-format-policy.md
    end

    rect rgb(255, 245, 230)
        Note over O,A: Flux F2 — Amendement C2
        O->>A: Prompt avec ch08 existant + lien C1
        A->>A: Mettre à jour §8.4 (DONE PD-252)
        A->>A: Mettre à jour §8.5 (DONE)
        A->>A: Ajouter lien Markdown vers C1
        A-->>O: ch08-conformite.md (modifié)
    end

    rect rgb(230, 255, 230)
        Note over O,QA: Flux F3 — Validation documentaire
        O->>QA: Checklist 12 points (CA-01 à CA-12)
        QA->>QA: Vérifier C1 (existence, catalogue, contrats)
        QA->>QA: Vérifier C2 (lien, GAP-FINAL-004)
        QA-->>O: Résultat checklist ISO 14641
    end

3. Mapping invariants → mécanismes

Invariant ID Exigence Mécanisme Composant Observable Risque
INV-252-01 Document existe + référencé depuis ch08 Création du fichier à docs/sae-manual/preservation-format-policy.md + amendement ch08 §8.4 et §8.5 avec lien Markdown C1 + C2 Fichier présent ; lien résolvable dans ch08 Bas — action directe
INV-252-02 Liste exhaustive des formats pour les catégories définies Section §3 du document C1 avec tableau 5 catégories × 14 formats ; contrôle d'unicité des noms C1 5 catégories + liste exacte 14 formats de §5.4b présents Bas — contenu figé dans spec
INV-252-03 Chaque format → niveau unique COMPLETE ou BITSTREAM Colonne preservationLevel avec enum strict dans le tableau §3 C1 Chaque ligne a exactement 1 valeur COMPLETE ou BITSTREAM Bas — enum à 2 valeurs
INV-252-04 Conversions documentées comme recommandations non bloquantes Section §4 avec tableau source/cible/priorité/statut + mention "non bloquant v1" C1 Tableau présent, mention explicite, statuts PD-NEW documentés Bas — contenu documentaire
INV-252-05 5 validations d'ingestion explicitement listées avec statut Section §5 avec tableau 5 validations + SHA3-384 + statuts IMPLÉMEMTÉ/PLANIFIÉ C1 5 lignes avec algorithme SHA3-384 explicite + clause non-conformité technique Bas
INV-252-06 Contrats de données définis une seule fois en §5.1 Section §1 du document C1 centralise les 7 champs ; les autres sections referencent sans redéfinir C1 §1 complet, aucune redéfinition dans §3-§6 Moyen — risque de copier-coller
INV-252-07 Modèle d'états explicite avec transitions autorisées/interdites/retours Section §7 avec tableau d'états-transitions + transitions inverses explicitement interdites C1 4 états, transitions autorisées depuis UNCLASSIFIED, toutes les transitions depuis COMPLETE/BITSTREAM/REJECTED marquées INTERDITES Bas
INV-252-08 Lien explicit vers GAP-FINAL-004 Mention textuelle dans section §8 du document C1 + mise à jour ch08 §8.4 C1 + C2 "GAP-FINAL-004" présent textuellement + lien de tracabilité Bas
INV-252-09 Règles non testables marquées NON TESTABLE avec justification Section dédiée dans C1 pour Q-252-05 (modalité de lien tracable) C1 Mention NON TESTABLE + raison + impact présents Bas

4. Mapping critères d'acceptation → mécanismes

Critère ID Mécanisme(s) Composant Observable Risque
CA-01 Création du fichier preservation-format-policy.md à l'emplacement contractuel C1 docs/sae-manual/preservation-format-policy.md présent Bas
CA-02 Section §3 avec tableau 5 catégories + liste canonique 14 formats (§5.4b) C1 5 catégories présentes ; 14 formats exacts listés avec mimeType et preservationLevel Bas
CA-03 Colonne preservationLevel enum strict + définitions formelles de COMPLETE/BITSTREAM C1 Définitions textuelles présentes ; mapping format→niveau exhaustif Bas
CA-04 Section §4 tableau conversions avec source/cible/priorité/statut story séparée C1 Tableau présent, mention "non bloquant v1", PD-NEW avec note backlog Bas
CA-05 Section §5 tableau validations avec 5 validations et statut implémentation C1 MIME + PDF/A + SHA3-384 + taille + malware présents, statuts documentés Bas
CA-06 Section §6 matrice légale avec valeurs exactes de spec §5.7 (7 lignes) C1 7 types documentaires avec P10Y/P30Y/P5Y, formats et niveaux exacts Moyen — précision des valeurs critique
CA-07 Section §8 avec références structurées (regex ^[A-Z0-9 .:_-]+ §[0-9.]+$) + citations documentaires textuelles C1 ISO 14641 §10.1.1, NF Z42-013 §6.2.4 conformes regex ; ISO 19005-½/3, RFC-PV-PACK présents textuellement Moyen — regex stricte
CA-08 Amendement ch08 §8.4 avec lien Markdown vers la policy C2 Lien [...](../preservation-format-policy.md) présent et syntaxiquement correct Bas
CA-09 Section §8 du document C1 + amendement ch08 C1 + C2 Mention textuelle "GAP-FINAL-004" dans C1 + lien de tracabilité Bas
CA-10 §1 (contrats de données) est l'unique source ; sections §3-§6 referencent C1 Aucune redéfinition de format/regex dans les autres sections Moyen — risque de duplication
CA-11 Section §7 tableau transitions avec transitions inverses interdites C1 Transitions inverses COMPLETE↔BITSTREAM et retours vers UNCLASSIFIED explicitement interdits Bas
CA-12 Section §2 paramètres numériques avec valeur/min/max/unité/contexte/hors bornes C1 Tableau §2 complet, mention "Aucune transition temporelle identifiée" Bas

5. Mapping tests (TC-*) → mécanismes + observables

Test ID Référence spec Mécanisme(s) Point(s) d'observation Niveau de test visé
TC-NOM-01 INV-252-01, CA-01, CA-08 Vérification existence du fichier + lien ch08 Présence docs/sae-manual/preservation-format-policy.md ; lien Markdown résolvable dans ch08 Revue documentaire
TC-NOM-02 INV-252-02, CA-02 Contrôle §3 : 5 catégories + 14 formats de §5.4b Comptage des catégories et formats ; correspondance exacte avec liste canonique Revue documentaire
TC-NOM-03 INV-252-03, CA-03 Contrôle colonne preservationLevel + définitions formelles Unicité du niveau par format ; définitions textuelles présentes Revue documentaire
TC-NOM-04 INV-252-04, CA-04 Contrôle §4 : tableau conversions source/cible/priorité/story Toutes les colonnes présentes, mention "non bloquant v1" Revue documentaire
TC-NOM-05 INV-252-05, CA-05 Contrôle §5 : 5 validations + SHA3-384 + statuts 5 validations listées, SHA3-384 explicite, clauses PLANIFIÉ complètes Revue documentaire
TC-NOM-06 INV-252-06, CA-10 Vérification unicité des définitions en §1 Scan de §3-§6 : aucune redéfinition de format/regex Revue documentaire
TC-NOM-07 INV-252-07, CA-11 Contrôle §7 : tableau transitions + interdictions Transitions inverses COMPLETE→BITSTREAM et retours vers UNCLASSIFIED marqués INTERDITES Revue documentaire
TC-NOM-08 CA-06 Contrôle §6 : matrice légale 7 lignes avec valeurs exactes Correspondance exacte avec §5.7 de la spec (P10Y/P30Y/P5Y, formats, niveaux) Revue documentaire
TC-NOM-09 INV-252-08, CA-07, CA-09 Contrôle §8 : références structurées + citations + GAP-FINAL-004 ISO 14641 §10.1.1 et NF Z42-013 §6.2.4 conformes regex ; ISO 19005-½/3 et RFC-PV-PACK textuellement présents ; GAP-FINAL-004 explicite Revue documentaire
TC-NOM-10 CA-12 Contrôle §2 : paramètres numériques complets Tableau §2 avec toutes les colonnes ; mention SLA "Aucune transition temporelle identifiée" Revue documentaire
TC-MEC-01 §5.9 Mécanisme de validation = revue documentaire structurée Checklist ISO 14641 applicable ; aucun moteur applicatif requis Revue documentaire
TC-ERR-01 ERR-252-01 Format hors liste → rejet documenté Règle de réponse ERR-252-01 présente dans C1 Revue documentaire
TC-ERR-02 ERR-252-02 mimeType non conforme RFC → rejet Règle ERR-252-02 + normalisation lowercase documentée Revue documentaire
TC-ERR-03 ERR-252-03 preservationLevel hors enum → rejet Règle ERR-252-03 + enum COMPLETE BITSTREAM strict
TC-ERR-04 ERR-252-04 retentionDuration non ISO 8601 mono-composant → rejet Regex ^P(\d+Y|\d+M|\d+D)$ documentée + règle ERR-252-04 Revue documentaire
TC-ERR-05 ERR-252-05 normativeReference mal formée → rejet Regex ^[A-Z0-9 .:_-]+ §[0-9.]+$ documentée + règle ERR-252-05 Revue documentaire
TC-ERR-06 ERR-252-06 Conversion sans priorité → rejet Règle ERR-252-06 + priorité obligatoire P1 P2
TC-ERR-07 ERR-252-07 Transition non documentée → rejet Règle ERR-252-07 + tableau §7 exhaustif Revue documentaire
TC-ERR-08 ERR-252-08 GAP-FINAL-004 absent → rejet Règle ERR-252-08 + vérification textuelle Revue documentaire
TC-INV-09 INV-252-09 Règles NON TESTABLE marquées avec justification Section dédiée dans C1 pour Q-252-05 Revue documentaire
TC-NR-01 Non-regression Stabilité catalogue 14 formats / 5 catégories Baseline = liste §5.4b de la spec (immuable) Revue documentaire
TC-NR-02 Non-regression Aucun changement de niveau sans versionnage Tableau §3 : niveaux conformes à §5.4b ; pas de reclassification Revue documentaire
TC-NR-03 Non-regression Stabilité matrice légale (7 lignes §5.7) Valeurs P10Y/P30Y/P5Y identiques à la spec Revue documentaire
TC-NR-04 Non-regression Stabilité des références normatives ISO/NF/GAP toujours présents après toute modification de forme Revue documentaire
TC-NEG-01 Adversarial formatName=pdf/a (minuscules) → rejet Règle regex ^[A-Z0-9/+.-]{1,32}$ documentée Revue documentaire
TC-NEG-02 Adversarial mimeType=Application/PDF → normalisation puis validation Contrat de normalisation lowercase documenté en §1 Revue documentaire
TC-NEG-03 Adversarial retentionDuration=P1Y2M → rejet Regex mono-composant documentée Revue documentaire
TC-NEG-04 Adversarial conversionPriority=P4 → rejet Enum P1 P2
TC-NEG-05 Adversarial normativeReference sans §section → rejet Regex §section obligatoire documentée Revue documentaire
TC-NEG-06 Adversarial Transition BITSTREAM→COMPLETE → rejet Transition inverse interdite explicitement dans §7 Revue documentaire

6. Gestion des erreurs

PD-252 est une story documentaire. La "gestion des erreurs" s'applique à la conformité du document produit, pas à un runtime applicatif.

Code erreur Cas Règle documentée Observable
ERR-252-01 Format hors liste Rejet de l'entrée + policy non conforme jusqu'à correction Section §cas d'erreur dans C1
ERR-252-02 mimeType non conforme RFC après normalisation Rejet Règle + regex présentes dans §1 et §cas d'erreur
ERR-252-03 preservationLevel hors enum Rejet Enum strict + règle présents
ERR-252-04 retentionDuration non ISO 8601 mono-composant Rejet sans interprétation implicite Regex + règle présents
ERR-252-05 normativeReference absente ou mal formée Rejet Regex §section obligatoire + règle présents
ERR-252-06 Conversion sans priorité Rejet Règle présente dans §conversions
ERR-252-07 Transition d'état non documentée Rejet Tableau §transitions exhaustif
ERR-252-08 GAP-FINAL-004 absent Rejet, aucun verdict GO possible Mention tracabilité obligatoire

Mécanisme de validation : revue documentaire structurée (checklist) appliquée lors de l'audit ISO 14641. Aucun moteur applicatif n'est introduit par PD-252. La granularité de rejet est au niveau de l'entrée concernée (ligne/format), la policy dans son ensemble est déclarée non conforme tant qu'au moins un cas d'erreur non résolu subsiste.


7. Impacts sécurité

Aspect Détail Statut
Pas de code implémenté PD-252 ne modifie aucun code backend, aucune API, aucune route Hors périmètre
Références normatives Garantir la présence de SHA3-384 comme algorithme d'intégrité (INV-252-05) — empêche une dérive vers un algorithme faible À vérifier à la rédaction
Confidentialité Le document est normatif et public dans le dépôt doc — aucune donnée sensible N/A
Tracabilité audit La mention GAP-FINAL-004 + les références ISO/NF permettent la traçabilité lors d'un audit externe Requis
PLANIFIÉ PD-NEW La clause de non-conformité technique (validations PLANIFIÉ) protège contre un claim de conformité prématuré — à rédiger avec soin Critique
trustedRoots Non applicable (story documentaire, pas de code de vérification de certificats) N/A

8. Hypothèses techniques

ID Hypothèse Impact si faux
H-01 Les 5 catégories de formats et les 14 formats de §5.4b sont stables pour v1 Révision de la policy, des CA et des tests TC-NOM-02, TC-NR-01
H-02 L'algorithme d'intégrité de référence reste SHA3-384 Mise à jour de §1 (integrityHashAlgorithm), §5 (validation hash), et tous les tests référençant SHA3-384
H-03 Les durées légales du §5.7 sont validées juridiquement (P30Y pour mineurs, P10Y pour factures/contrats, P5Y pour données techniques) Risque de non-conformité réglementaire — révision de §6 et TC-NOM-08, TC-NR-03
H-04 Le chapitre ch08-conformite.md est modifiable sans blocage de merge (pas de protection de branche empêchant la modification) Tracabilité documentaire incomplète — CA-08 non satisfait
H-05 La policy documente les validations attendues y compris celles non encore implémentées (PLANIFIÉ PD-NEW), et ne constitue pas une déclaration de conformité technique Si interprété comme déclaration de conformité → risque d'écart d'audit
H-06 La modalité exacte du lien vers GAP-FINAL-004 (mention textuelle) est suffisante pour l'audit (Q-252-05 est NON TESTABLE en v1) Si l'auditeur exige un URL ou un identifiant d'audit structuré → non-conformité partielle CA-09

9. Points de vigilance (risques, dette, pièges)

9.1 Unicité des définitions (INV-252-06)

Risque : En rédigeant les sections §3 (catalogue formats), §6 (matrice légale) et §7 (transitions), il est tentant de répéter les regex ou formats directement. INV-252-06 l'interdit formellement — les autres sections DOIVENT référencer §1 sans redéfinir.

Mitigation : Toute valeur de format, regex, enum dans §3-§7 doit être précédée d'un renvoi du type « (voir §1 — contrats de données) ».

9.2 Précision des valeurs de la matrice légale

Risque : Une erreur de valeur (ex: P15Y pour factures au lieu de P10Y) invalide TC-NOM-08 et TC-NR-03. Les valeurs sont fixées contractuellement dans §5.7 de la spec.

Mitigation : Copier-coller exact depuis §5.7 de la spec, puis relire ligne par ligne.

9.3 Conformité regex des références normatives

Risque : Écrire ISO 14641 10.1.1 (sans le §) échoue TC-NEG-05 et TC-ERR-05. La regex ^[A-Z0-9 .:_-]+ §[0-9.]+$ est stricte.

Mitigation : Vérifier systématiquement la présence du symbole § avant le numéro de section pour toutes les références structurées.

9.4 Distinction normativeReference vs citations documentaires

Risque : Appliquer la regex à ISO 19005-1 (citation documentaire sans section) produit un faux-positif. La distinction est contractuellement importante (spec §5.1, note).

Mitigation : Citations documentaires (ISO 19005-1/2/3, RFC-PV-PACK) n'ont PAS de regex — leur présence est vérifiée par existence textuelle uniquement.

9.5 Clause de non-conformité technique (validations PLANIFIÉ)

Risque : Omettre la clause ou la formuler de façon ambiguë peut amener un auditeur à interpréter PLANIFIÉ comme une déclaration de conformité imminente.

Mitigation : Inclure la clause exacte de la spec §5.6 : « Les validations en statut PLANIFIÉ (PD-NEW) sont des exigences cibles documentées, et non des déclarations de conformité technique. »

9.6 Chemin relatif du lien Markdown dans ch08

Risque : Si le lien est écrit ./preservation-format-policy.md depuis ch08-conformite.md (même dossier docs/sae-manual/), le lien est correct. Un chemin absolu ou erroné casse TC-NOM-01.

Mitigation : Lien relatif [Politique des formats de préservation](./preservation-format-policy.md) depuis ch08-conformite.md.

9.7 Absence de livrable de code

Ce plan ne produit aucun artefact de code. Toute tentative de générer du code TypeScript, SQL ou de modifier des fichiers backend serait hors périmètre et invalide.


10. Hors périmètre

Explicitement exclu de PD-252 :

Élément Justification
Implémentation logicielle des conversions de formats Story documentaire — hors scope PD-252 ; couvert par story PD-NEW future
Modification du code backend (NestJS, TypeORM, PostgreSQL) PD-252 ne touche que ProbatioVault-doc
Modification des règles MIME/taille dans DocumentCategoryConfig Hors périmètre explicite de la spec §2
Déploiement ou achat d'outils (VeraPDF, ClamAV) Hors périmètre explicite
Migration rétroactive des archives existantes Hors périmètre explicite
Toute évolution DDL Hors périmètre explicite
Redéfinition des catégories backend (DEFAULT, B2C_EVIDENCE_MINOR) Hors périmètre explicite spec §2
Bornes min/max de taille pour les catégories hors DEFAULT Hors périmètre explicite spec §2
Formalisation de la modalité exacte du lien tracable vers GAP-FINAL-004 (Q-252-05) NON TESTABLE v1 — clarification à documenter
Tests unitaires, d'intégration ou E2E de code applicatif Story documentaire — aucun code produit

Périmètre de test

Niveau de test In scope Hors scope (justification)
Revue documentaire structurée Tous les TC-NOM, TC-ERR, TC-INV, TC-NR, TC-NEG définis dans PD-252-tests.md
Unitaire (code) Hors scope Story documentaire — aucun code produit (spec §2 explicite)
Intégration (code) Hors scope Story documentaire — aucune modification de module applicatif
E2E Hors scope Story documentaire — aucun flux applicatif concerné

Tous les niveaux de test sont des revues documentaires (checklist ISO 14641). La couverture minimale de 80% s'applique au périmètre des CAs et invariants vérifiés par revue documentaire : 12 CA × 9 INV = 100% couverts par les tests définis.

Mécanismes cross-module

Aucune modification d'autres modules. PD-252 ne produit que des fichiers Markdown dans ProbatioVault-doc. Aucun guard, middleware, intercepteur, route ou schéma de base de données n'est ajouté ou modifié.


Références

  • Spec : PD-252-specification.md
  • Tests : PD-252-tests.md
  • Code contracts : PD-252-code-contracts.yaml
  • ch08 existant : docs/sae-manual/ch08-conformite.md
  • Norme ISO 14641:2018 §10.1.1 — tracabilité GAP-FINAL-004
  • NF Z42-013:2020 §6.2.4
  • RFC interne RFC-PV-PACK.md
  • Audit PD-244 (source de GAP-FINAL-004)