Aller au contenu

PD-295 — Rapport de confrontation (Étape 3)

Ce rapport est produit par l'orchestrateur Claude avant chaque gate PMO.
Il confronte les documents produits pour identifier convergences, divergences et zones d'ombre.

1. Sources confrontées

  • PD-295-specification-v2 (document d'entrée SPECIFICATION, étape spécification)
  • PD-295-tests-v2 (document d'entrée TESTS, étape validation/QA)

2. Convergences

  • Référentiel commun aligné : Epic tooling, JIRA PD-295, même périmètre B1..B5.
  • Invariants INV-295-01 à INV-295-22 repris et couverts dans la matrice de tests (§2 et §5 du document Tests).
  • B2 aligné : persistance des 4 clarifications en verbatim, en local et Ringbearer, avant reprise de rédaction (INV-295-04, INV-295-05, CA-295-04/05, TC-NOM-04/05).
  • B3 aligné : score reuse_score = tanh(reuse_score_brut/10), fichier parallèle learnings-scores.jsonl, non-mutation de learnings.jsonl (INV-295-06/07, CA-295-07/08, TC-NOM-07).
  • B4 aligné : migration scope, promotions/éviction et FSM fermée (INV-295-08..11, CA-295-09..11, TC-NOM-10/11/12, TC-ERR-13).
  • B5 aligné : 3 sections, section “aucun résultat” si count=0, injection partielle si source indisponible, blocage si 3 indisponibles (INV-295-12, ERR-295-05/06, TC-NOM-13, TC-ERR-05/06).
  • Concurrence/résilience alignées : rwlock, idempotence, rate-limit, réconciliation, clearing (INV-295-18, CA-295-16, TC-NOM-17..20, TC-ERR-09/10).
  • Auditabilité alignée : événements B1..B5 signés/horodatés HMAC (INV-295-20, CA-295-22, TC-NOM-14/26, TC-ERR-14).
  • /morning aligné : publication obligatoire des 3 learnings les plus réutilisés (INV-295-22, CA-295-21, TC-NOM-08).
  • Clarifications alignées : rétention 18 mois, purge step 10, pas d’anonymisation (INV-295-21, CA-295-23, TC-NOM-27).

3. Divergences

⚠️ Les conflits ne doivent JAMAIS être lissés. Chaque divergence est rendue visible.

  • DIV-01 : Limite de taille de query définie dans les tests mais absente de la spec.
    Source A (SPECIFICATION) : §5.1.6, §5.2, §6 ne fixent pas de borne maximale de longueur pour query.
    Source B (TESTS) : TC-NEG-04 impose un rejet explicite si query > 500 chars.
    Impact : une implémentation conforme spec peut échouer QA (et inversement).

  • DIV-02 : Cohérence count vs result_ids[] exigée par les tests sans règle contractuelle explicite dans la spec.
    Source A (SPECIFICATION) : §5.1.6 décrit le format d’événement mais ne formalise pas count>0 => result_ids non vide ni le comportement associé.
    Source B (TESTS) : TC-NEG-03 impose “ligne ignorée + journal explicite” si count>0 et result_ids[] vide.
    Impact : ambiguïté d’implémentation sur la validité des traces et risque d’écart de conformité.

4. Zones d'ombre

  • Q-295-02 (SPECIFICATION §10.2) : cardinalité exacte des clarifications injectées en B5 non figée.
  • Q-295-03 (SPECIFICATION §10.2) : politique de démotion manuelle global/domain -> story hors restauration d’archive non définie.
  • Q-295-07 (SPECIFICATION §10.2) : seuil/protocole d’escalade humaine en cas de MEMORY_DEGRADED prolongé non définis.

5. Recommandation

  • Procéder — convergence confirmée, aucun conflit bloquant
  • Rework nécessaire — divergences à résoudre avant de continuer
  • Escalade — décision humaine requise sur un point structurant