Aller au contenu

PD-244 — Plan d'implémentation (audit documentaire)

1. Nature de la story

PD-244 est une story documentaire : elle produit des matrices de conformité, pas du code. L'implémentation consiste à extraire, analyser et documenter les exigences normatives.

2. Sources normatives

Norme Version Fichier source Sections principales
ISO 14641 2018 docs/normes/ISO-14641-2018.txt 14 sections (§1-§14) + 3 annexes
NF Z42-013 2020 docs/normes/Z42-013.pdf À analyser

3. Tâches d'implémentation

TASK-1 : Extraction inventaire ISO 14641:2018

Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-01, CA-PD244-01

Description : Parcourir ISO 14641:2018.txt et extraire chaque exigence normative avec :

  • Identifiant de section (ex: 5.5.1, 10.1.2)
  • Texte de l'exigence (paraphrasé, pas de citation verbatim - INV-PD244-08)
  • Niveau d'exigence (SHALL/SHOULD/MAY → obligatoire/recommandé/optionnel)

Output : Section ISO de PD-244-inventaire-reference.yaml

Estimation : ~80-120 exigences

TASK-2 : Extraction inventaire NF Z42-013:2020

Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-01, CA-PD244-02

Description : Analyser NF Z42-013:2020.pdf (via extraction texte) et extraire les exigences. Structure attendue similaire à ISO 14641 (norme française dérivée).

Output : Section NF de PD-244-inventaire-reference.yaml

Dépendance : Aucune (parallélisable avec TASK-1)

TASK-3 : Filtrage d'applicabilité SAE B2C

Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-05, CA-PD244-08

Description : Pour chaque exigence de l'inventaire, qualifier :

  • applicable: true → exigence pertinente pour un SAE B2C
  • applicable: false → exigence hors périmètre (tiers archiveur, B2B, etc.)

Chaque exclusion DOIT porter une justification testable.

Output : Champ applicable + applicability_justification par exigence

Dépendance : TASK-1, TASK-2

TASK-4 : Mapping exigences → stories ProbatioVault

Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-04, CA-PD244-03, CA-PD244-04

Description : Pour chaque exigence applicable, identifier :

  • Les stories ProbatioVault qui la couvrent (PD-XX)
  • Le statut de couverture (CONFORME, PARTIEL, NON_IMPLEMENTE)

Stories à analyser (depuis le besoin) :

  • Backend : PD-37, PD-39, PD-40, PD-60, PD-31
  • Infra : PD-4, PD-5, PD-6, PD-44, PD-7
  • App : PD-33, PD-34, PD-42, PD-54
  • Blockchain : PD-52, PD-53, PD-245

Méthode :

  1. Lire les specs/REX de chaque story dans data/specs-index/
  2. Identifier les invariants/fonctionnalités correspondant à l'exigence
  3. Qualifier le niveau de couverture

Output : Champs stories, status, status_justification par exigence

Dépendance : TASK-3

TASK-5 : Collecte des preuves

Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-03, CA-PD244-03

Description : Pour chaque exigence CONFORME ou PARTIEL, documenter au moins une preuve :

  • type: code → chemin fichier + fonction/classe
  • type: test → chemin test + nom du test case
  • type: doc → chemin doc + section
  • type: architecture_decision → référence ADR
  • type: ticket → ID Jira

Règle : Aucune exigence CONFORME sans preuve verifiable.

Output : Champ evidence[] par exigence

Dépendance : TASK-4

TASK-6 : Identification et documentation des gaps

Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-04, CA-PD244-04, CA-PD244-07

Description : Pour chaque exigence PARTIEL ou NON_IMPLEMENTE :

  1. Créer un gap dans PD-244-gaps.yaml
  2. Attribuer une sévérité (CRITICAL/HIGH/MEDIUM/LOW) selon section 4.5
  3. Créer ou référencer une story Jira sous PD-217

Schéma gap :

- gap_id: "GAP-ISO-5.5.1-01"
  requirement_id: "ISO-14641-5.5.1"
  description: "..."
  severity: "HIGH"
  planned_story: "PD-XXX"
  epic_parent: "PD-217"
  owner: "TechLead"
  status: "PLANNED"
  target_date: "2026-06-30"

Output : PD-244-gaps.yaml

Dépendance : TASK-4, TASK-5

TASK-7 : Génération matrice ISO 14641:2018

Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-06, CA-PD244-01, CA-PD244-05

Description : Assembler PD-244-iso-14641-matrix.yaml selon le schéma canonique (section 4.2). Générer PD-244-iso-14641-matrix.md fidèlement depuis le YAML.

Output : PD-244-iso-14641-matrix.yaml, PD-244-iso-14641-matrix.md

Dépendance : TASK-5, TASK-6

TASK-8 : Génération matrice NF Z42-013:2020

Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-06, CA-PD244-02, CA-PD244-05

Description : Assembler PD-244-nf-z42-013-matrix.yaml et PD-244-nf-z42-013-matrix.md.

Output : PD-244-nf-z42-013-matrix.yaml, PD-244-nf-z42-013-matrix.md

Dépendance : TASK-5, TASK-6

TASK-9 : Génération gaps.md

Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-06, CA-PD244-07

Description : Générer PD-244-gaps.md depuis PD-244-gaps.yaml. Vue lisible avec priorisation et stories associées.

Output : PD-244-gaps.md

Dépendance : TASK-6

TASK-10 : Génération dashboard de conformité

Agent : Claude (orchestrateur) INV/CA couvert : CA-PD244-06

Description : Calculer les scores globaux selon la formule (section 4.4) : score = ((CONFORME * 100) + (PARTIEL * 50)) / (total - HORS_PERIMETRE) * 100

Produire PD-244-compliance-dashboard.md avec :

  • Score par norme
  • Répartition des statuts
  • Liste consolidée des stories de gap
  • Taux de traçabilité

Output : PD-244-compliance-dashboard.md

Dépendance : TASK-7, TASK-8, TASK-9

TASK-11 : Traçabilité claims doc 41/42/43

Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-07, CA-PD244-09

Description : Identifier les claims de conformité ISO/NF dans les docs corporate :

  • Doc 41 : Architecture TechLead v4.1
  • Doc 42 : Spécifications Techniques
  • Doc 43 : Specs Stockage

Pour chaque claim, documenter :

  • Exigence normative référencée
  • Preuve de couverture

Output : Section corporate_claims dans les matrices

Dépendance : TASK-7, TASK-8

4. Diagramme de dépendances

TASK-1 (ISO) ─────┐
                  ├──→ TASK-3 (Applicabilité) ──→ TASK-4 (Mapping) ──→ TASK-5 (Preuves) ──┐
TASK-2 (NF) ──────┘                                                                       │
                                                                                          ├──→ TASK-6 (Gaps)
                                                                                          ├──→ TASK-7 (Matrice ISO)
                                                                                          └──→ TASK-8 (Matrice NF)
                                                                                                    ├──→ TASK-9 (Gaps.md)
                                                                                                    ├──→ TASK-10 (Dashboard)
                                                                                                    └──→ TASK-11 (Claims)

5. Diagrammes Mermaid

5.1 Graphe de dépendances des tâches

graph TD
    TASK1["TASK-1<br/>Extraction ISO 14641"]
    TASK2["TASK-2<br/>Extraction NF Z42-013"]
    TASK3["TASK-3<br/>Filtrage applicabilité SAE B2C"]
    TASK4["TASK-4<br/>Mapping exigences → stories"]
    TASK5["TASK-5<br/>Collecte preuves"]
    TASK6["TASK-6<br/>Identification gaps"]
    TASK7["TASK-7<br/>Matrice ISO 14641"]
    TASK8["TASK-8<br/>Matrice NF Z42-013"]
    TASK9["TASK-9<br/>Gaps.md"]
    TASK10["TASK-10<br/>Dashboard conformité"]
    TASK11["TASK-11<br/>Traçabilité claims doc 41/42/43"]

    TASK1 --> TASK3
    TASK2 --> TASK3
    TASK3 --> TASK4
    TASK4 --> TASK5
    TASK5 --> TASK6
    TASK5 --> TASK7
    TASK5 --> TASK8
    TASK6 --> TASK7
    TASK6 --> TASK8
    TASK6 --> TASK9
    TASK7 --> TASK10
    TASK8 --> TASK10
    TASK9 --> TASK10
    TASK7 --> TASK11
    TASK8 --> TASK11

    classDef extraction fill:#e1f5fe,stroke:#0288d1
    classDef analysis fill:#fff3e0,stroke:#f57c00
    classDef output fill:#e8f5e9,stroke:#388e3c
    classDef synthesis fill:#f3e5f5,stroke:#7b1fa2

    class TASK1,TASK2 extraction
    class TASK3,TASK4,TASK5 analysis
    class TASK6,TASK7,TASK8,TASK9 output
    class TASK10,TASK11 synthesis

5.2 Diagramme de séquence — Pipeline d'audit documentaire

sequenceDiagram
    participant Orch as Claude (orchestrateur)
    participant ISO as ISO 14641:2018.txt
    participant NF as NF Z42-013:2020.pdf
    participant Specs as data/specs-index/
    participant Jira as Jira (PD-217)

    rect rgb(225, 245, 254)
        note over Orch,NF: Phase 1 — Extraction (TASK-1 & TASK-2, parallélisables)
        par Extraction parallèle
            Orch->>ISO: Parse 14 sections (§1-§14)
            ISO-->>Orch: ~80-120 exigences SHALL/SHOULD/MAY
        and
            Orch->>NF: Parse PDF (extraction texte)
            NF-->>Orch: Exigences NF Z42-013
        end
        Orch->>Orch: inventaire-reference.yaml
    end

    rect rgb(255, 243, 224)
        note over Orch,Specs: Phase 2 — Analyse (TASK-3 → TASK-5)
        Orch->>Orch: TASK-3 : Filtrage applicabilité SAE B2C
        Orch->>Specs: TASK-4 : Lecture specs/REX de 17 stories
        Specs-->>Orch: Mapping exigences → PD-XX (CONFORME/PARTIEL/NON_IMPLEMENTE)
        Orch->>Specs: TASK-5 : Collecte preuves (code, test, doc, ADR)
        Specs-->>Orch: evidence[] par exigence
    end

    rect rgb(232, 245, 233)
        note over Orch,Jira: Phase 3 — Sorties (TASK-6 → TASK-9)
        Orch->>Jira: TASK-6 : Création stories gap sous PD-217
        Jira-->>Orch: PD-XXX (stories gap créées)
        Orch->>Orch: TASK-7 : iso-14641-matrix.yaml + .md
        Orch->>Orch: TASK-8 : nf-z42-013-matrix.yaml + .md
        Orch->>Orch: TASK-9 : gaps.yaml + gaps.md
    end

    rect rgb(243, 229, 245)
        note over Orch,Jira: Phase 4 — Synthèse (TASK-10 & TASK-11)
        Orch->>Orch: TASK-10 : compliance-dashboard.md (scores globaux)
        Orch->>Orch: TASK-11 : Traçabilité claims doc 41/42/43
    end

6. Matrice de couverture INV/CA → Tâches

INV/CA Tâche couvrant
INV-PD244-01 TASK-1, TASK-2
INV-PD244-02 TASK-4
INV-PD244-03 TASK-5
INV-PD244-04 TASK-4, TASK-6
INV-PD244-05 TASK-3
INV-PD244-06 TASK-7, TASK-8, TASK-9
INV-PD244-07 TASK-11
INV-PD244-08 TASK-1, TASK-2 (paraphrase, pas de citation)
CA-PD244-01 TASK-1, TASK-7
CA-PD244-02 TASK-2, TASK-8
CA-PD244-03 TASK-5
CA-PD244-04 TASK-6
CA-PD244-05 TASK-7, TASK-8
CA-PD244-06 TASK-10
CA-PD244-07 TASK-6, TASK-9
CA-PD244-08 TASK-3
CA-PD244-09 TASK-11

7. Estimation

Tâche Complexité Temps estimé
TASK-1 Haute (parsing 14 sections) 2h
TASK-2 Haute (PDF à parser) 2h
TASK-3 Moyenne 1h
TASK-4 Haute (17 stories à analyser) 3h
TASK-5 Haute (collecte preuves) 2h
TASK-6 Moyenne 1h
TASK-7 Moyenne 1h
TASK-8 Moyenne 1h
TASK-9 Basse 0.5h
TASK-10 Basse 0.5h
TASK-11 Moyenne 1h
Total ~15h

8. Risques et mitigations

Risque Impact Mitigation
PDF NF Z42-013 difficile à parser Retard TASK-2 Extraction manuelle si OCR échoue
Nombreux gaps découverts Charge stories Prioriser par sévérité CRITICAL/HIGH
Stories ProbatioVault incomplètes Couverture faible Documenter clairement les NON_IMPLEMENTE
Interprétation subjective exigences Qualité audit Justifier chaque statut factuellement

9. Livrables finaux

  1. PD-244-inventaire-reference.yaml — baseline des exigences
  2. PD-244-iso-14641-matrix.yaml + .md
  3. PD-244-nf-z42-013-matrix.yaml + .md
  4. PD-244-gaps.yaml + .md
  5. PD-244-compliance-dashboard.md

Plan produit par Claude (orchestrateur) — 2026-02-20