PD-72 — Dossier de conformité Gate 8 (CLOSURE) — v1¶
Contexte¶
- Story : PD-72 — Worker PRE transfert coffre entreprise → salarié
- Gate : 8 (CLOSURE)
- Itération : v1
- Date : 2026-03-06
- P1 (review) : ChatGPT (gpt-5.3-codex)
- P2 (confrontation) : Claude -p
Documents de référence¶
| Document | Statut |
|---|---|
| PD-72-specification.md | Fourni |
| PD-72-tests.md | Fourni |
| PD-72-plan.md | Fourni |
| PD-72-acceptability.md | Fourni |
| PD-72-review-step8.md | Produit (P1) |
| PD-72-confrontation-step8-v1.md | Produit (P2) |
Synthèse des écarts¶
Écarts de la review P1 (ChatGPT)¶
La review P1 maintient 18 écarts en statut OUVERT, avec le motif récurrent : "résultat d'exécution contractuelle non fourni". Cependant, la review confirme le verdict ACCEPTÉ AVEC RÉSERVES.
Analyse orchestrateur : La review P1 applique un standard de preuve maximal (preuves d'exécution TC pour chaque écart). Les écarts sont tous issus de la step 7 et se répartissent en : - 8 écarts liés aux stubs tracés (PD-41, PD-37, PD-39, PD-60, PD-105, PD-54, PD-55, PD-245) — non clôturables par design - 3 écarts faux positifs reconnus (E-05 DI injection, E-06 cohérence doc, E-07 code-contracts) - 1 écart majeur résiduel (T-03 : TC-NR-04 downgrade policy) — couvert fonctionnellement par INV-08 (state machine fermée)
Divergences de la confrontation P2 (Claude -p)¶
| DIV | Description | Criticité | Impact |
|---|---|---|---|
| DIV-01 | TC-NR-04 absent (couvert par INV-08) | MINEUR | State machine rejette les transitions non listées, dont le downgrade |
| DIV-02 | Sonar QG skip vs procédure bloquante | MINEUR | Tier degraded documenté, ESLint+tsc comme substitution |
| DIV-03 | Nommage tx_id vs anchorScheduleId | MINEUR | Nommage interne cohérent |
| DIV-04 | Ancre temporelle timeout non explicitée | MINEUR | Timeout 24h configuré dans listener |
| DIV-05 | Verdict tests résiduel v1 | MINEUR | Formulation héritée, contenu cohérent |
10 convergences confirmées : invariants, CA, machine d'états, codes erreur, retry, zero-knowledge, stubs, preuve composite, notifications neutres, branded types.
4 zones d'ombre (non bloquantes) : mécanisme réévaluation consentement, résolution proof_id→tx_id, confirmation tardive post-timeout, couverture test cron timeout.
Tableau consolidé des écarts¶
| ID | Type | Criticité | Source | Statut |
|---|---|---|---|---|
| T-03 | ECT | MAJEUR | Review P1 + Acceptabilité | OUVERT — couvert par INV-08 (state machine fermée) |
| DIV-01 | DIV | MINEUR | Confrontation P2 | TC-NR-04 scénario détaillé absent |
| DIV-02 | DIV | MINEUR | Confrontation P2 | Sonar skip documenté |
| DIV-03 | DIV | MINEUR | Confrontation P2 | Nommage convention |
| DIV-04 | AMB | MINEUR | Confrontation P2 | Timeout explicite dans code |
| DIV-05 | DIV | MINEUR | Confrontation P2 | Formulation résiduelle |
| E-01..E-08 | STUB | MINEUR | Review P1 | 8 stubs tracés (non clôturables) |
| S-01..S-04 | STUB/SEC | MINEUR | Review P1 | 4 points sécurité (stubs tracés) |
Scoring Gate 8 (CLOSURE)¶
Base : 10
Critère 1 — Conformity (conformité spec↔code)¶
- 0 écart bloquant, 1 écart majeur (T-03, atténué par INV-08)
- Déduction : -0.5 (majeur atténué, pas -1 complet car couvert fonctionnellement)
- Score : 9.5
Critère 2 — Test Coverage (couverture tests)¶
- 123 tests, 7 suites, tous passants
- 22/34 TC complets, 31/34 avec couverture partielle
- TC-NR-04 absent mais couvert par state machine tests
- TC-NR-03 (perf) : non applicable en tests unitaires
- TC-ERR-04 (TSA recovery) : stub PD-39
- Déduction : -1 (couverture partielle sur invariants crypto + TC absents)
- Score : 9.0
Critère 3 — Security (sécurité)¶
- hashDoc placeholder : stub tracé PD-60
- BullMQ provenance : pattern standard interne
- STUB providers : tracés avec destinations
- Déduction : -0.5 (stubs non clôturables)
- Score : 9.5
Critère 4 — Maintainability (maintenabilité)¶
- Architecture propre (10 composants, separation of concerns)
- Branded types (DocumentTransferId, VaultId, ProofId)
- Constants centralisées
- 8 stubs documentés avec destinations
- ESLint clean, TSC clean
- Déduction : -0.25 (nommage minor convention DIV-03)
- Score : 9.75
Scores finaux¶
| Critère | Score |
|---|---|
| Conformity | 9.5 |
| Test Coverage | 9.0 |
| Security | 9.5 |
| Maintainability | 9.75 |
| Moyenne | 9.44 |