Aller au contenu

PD-276 — Dossier de conformité Gate 3 (v2)

Gate : CONFORMITY_CHECK | Story : PD-276 | Itération : v2

1. Documents de référence

Document Source Version
PD-276-specification.md ChatGPT gpt-5.3-codex v2 (corrigée)
PD-276-tests.md ChatGPT gpt-5.3-codex v2 (corrigée)
PD-276-review-step3-v2.md Claude (claude -p) v2
PD-276-confrontation-step3-v2.md ChatGPT gpt-5.3-codex v2

2. Écarts v1 résolus (7/11)

ID v1 Résolution
ECT-01 (BLOQUANT) INV-276-08 qualifié "exigence probatoire partielle" avec modalités de preuve
ECT-02 deriveKeyvalidateParams dans spec, tests et faits Prolog
ECT-03 E-06 aligné sur HTTP 422, Q-276-03 fermé
ECT-06 CA-276-12 aligné sur "probatoire" dans spec et tests
ECT-08 TC-INV-04 ajouté : vérification consommation checks 10/19/22
ECT-10 Référence épique alignée sur PD-189
ECT-11 Baseline OK/KO instrumentée pour triggers

3. Écarts résiduels

MAJEUR (3)

ID Type Référence Description Source
AMB-04r Ambiguïté INV-276-07 vs politique LEGACY phase 1 INV-276-07 exige vérification tag obligatoire, mais la politique phase 1 autorise lecture sans tag. Pas de distinction contractuelle "tag absent" vs "tag invalide". Review v2 #1
ECT-05r Non testable LEGACY→TAMPERED (TC-NOM-13) Transition repose sur "incohérence détectée" sans observable déterministe (enveloppe LEGACY n'a pas de tag par définition). Review v2 #2
SEC-07r Dépendance externe Journaux d'audit Prérequis d'observabilité présupposé (couvert par autres stories) mais existence non démontrée dans ce lot. Review v2 #4 + ZO-2

MINEUR (3)

ID Type Référence Description Source
AMB-09r Imprécision Borne < 100ms Périmètre de mesure non normalisé (t_req vs t_decision, environnement). Review v2 #3 + ZO-3
ECT-DIV02 Traçabilité TC-NOM-04 vs CA-276-08 TC-NOM-04 teste création/persistance tag mais rattaché à CA-276-08 (contrôle d'accès). Review v2 #5 + DIV-02
ECT-DIV03 Risque Q-276-01 vs bornes figées Q-276-01 (bornes max Argon2) reste ouvert mais tests figent les maxima comme oracles. Review v2 #6 + DIV-03

4. Convergences confirmées (v2)

  • Objectif 24/24 checks Prolog sans modification des règles
  • Contrat Argon2id zero-knowledge : validation seule, fait Prolog validateParams
  • Configuration centralisée avec valeurs exactes du contrat
  • Metadata binding : tag 32 bytes, HTTP 422 sur invalidité, borne < 100ms
  • Migration 2 phases avec rollback + politique LEGACY lecture seule
  • Machine à états complète (y compris LEGACY→TAMPERED via TC-NOM-13)
  • Faits Prolog ciblés sur checks 10/19/22 avec vérification de consommation
  • INV-276-08 qualifié probatoire (consensus spec + tests)

5. Scoring

Critère Score v1 Score v2 Delta Justification v2
completeness 6.0 7.5 +1.5 Bloquant résolu, politique LEGACY définie mais ambiguïté INV-276-07, Q-276-01 ouvert
testability 5.5 7.0 +1.5 TC-INV-04 ajouté, INV-276-08 probatoire clarifié, mais LEGACY→TAMPERED non déterministe
clarity 6.5 8.0 +1.5 deriveKey→validateParams, 422 fixé, Q-276-03 fermé, épique PD-189
traceability 7.0 7.5 +0.5 PD-189 aligné, mais mapping TC-NOM-04/CA-276-08 imprécis, journaux audit externes

Score moyen v2 : 7.50 (v1 : 6.25, delta : +1.25)

6. Verdict préliminaire

Avec un score moyen de 7.50 (>= 7) et tous les scores >= 7.0 mais testability et traceability < 8, le verdict attendu est RESERVE.


Dossier assemblé par l'orchestrateur Claude le 2026-02-28.