Skip to content

docs(conformance): versions de normes, identifiants d'exigence et clauses vérifiées (D-3) - #61

Open
PhilippeVienne wants to merge 1 commit into
docs/align-docs-with-codefrom
docs/matrix-versions-ids
Open

PhilippeVienne wants to merge 1 commit into
docs/align-docs-with-codefrom
docs/matrix-versions-ids

Conversation

@PhilippeVienne

Copy link
Copy Markdown
Contributor

Objet

Constat D-3 de l'audit du 2026-09-25, tranche b du découpage D validé (a : #60 → b : cette PR → c : D-2). Empilée sur #60 (docs/align-docs-with-code, tête 1eb46c1 à l'ouverture) : merger #60 d'abord, puis git rebase --onto origin/dev 1eb46c1 et rebrancher sur dev.

Sources relues : chaque clause et identifiant a été vérifié dans le texte officiel, dernière version publiée sur etsi.org — EN 319 401 V3.2.1 (2026-01), EN 319 411-1 V1.5.1 (2025-04), EN 319 421 V1.3.1 (2025-07), EN 319 422 V1.1.1 (2016-03), TS 119 312 V2.1.1 (2026-06), EN 319 403-1 V2.3.1 (2020-06). Le tableau de l'audit est confirmé ; quatre renvois qu'il n'avait pas relus sont aussi faux et corrigés :

  • EN 319 412-1 §4 et §4.1 ne portent ni « structures communes du profil » ni le numéro de série → 411-1 §6.6.1 GEN-6.6.1-02 et §6.3.3 GEN-6.3.3-02A (412-1 sort de la matrice) ;
  • TS 119 312 V2.1.1 a renuméroté : longueur de clé §6.2 → §8.4 (RSA ≥ 3000 bits, le code impose 3072), suites §6.1 → §7.3 ; hachage §5.1 inchangé.

Changements

Vérifications

  • make conformance-doc (régénéré, jamais édité à la main) ; cargo fmt --check, cargo clippy --workspace --all-targets -- -D warnings (1.97 et 1.98.1), cargo test --workspace avec PostgreSQL, cargo audit --ignore RUSTSEC-2023-0071 : verts.
  • Nouveau test detects_missing_versions_ids_and_mismatched_clauses ; mutation des 4 nouveaux contrôles de validate() : tous tués.

Revue humaine obligatoire

Voir PROVENANCE.md. Chaque case est cochée par le
contributeur humain qui valide la PR, après l'avoir fait lui-même.

  • Revue d'architecture validée par l'humain
  • Code relu et tests unitaires/intégration vérifiés localement
  • Absence de dépendances tierces incompatibles avec la double licence EUPL-1.2 / AGPL-3.0 (make licenses)
  • Validation de l'apport intellectuel et de la paternité humaine sur la modification

Assistance par IA

  • Cette PR a été produite avec l'assistance de Claude Code : les commits concernés portent la remorque Co-authored-by: Claude <noreply@anthropic.com>, auteur et committer restent humains, et scripts/provenance.py archive a été lancé
  • Cette PR a été écrite sans assistance par IA

…uses vérifiées (D-3)

Constat D-3 de l'audit du 2026-09-25 : la matrice ne citait aucune
version de norme ni identifiant d'exigence, et plusieurs lignes citaient
une clause qui ne porte pas l'exigence annoncée.

Chaque clause et identifiant a été relu dans le texte officiel, dernière
version publiée sur etsi.org : EN 319 401 V3.2.1, EN 319 411-1 V1.5.1,
EN 319 421 V1.3.1, EN 319 422 V1.1.1, TS 119 312 V2.1.1,
EN 319 403-1 V2.3.1.

- Requirement gagne `version` et `ids` ; validate() échoue si la version
  d'une norme ETSI manque, si une ligne de 401/411-1/421 n'a pas
  d'identifiant, si un identifiant ne relève pas de la clause citée, ou si
  une norme est citée en deux versions.
- Les 10 clauses signalées sont corrigées, plus 4 non relues par l'audit :
  EN 319 412-1 §4 et §4.1 ne portent pas les exigences citées (→ 411-1
  GEN-6.6.1-02, GEN-6.3.3-02A), TS 119 312 V2.1.1 a renuméroté (§6.2 →
  §8.4, §6.1 → §7.3).
- Nouvelles lignes, en écart avec leur cible (PR ouvertes ou constats) :
  ARL (C-1), OCSP non émis (O-1), MFA (R-1/R-2), exactitude (T-1),
  horloge (T-2), secondes intercalaires (T-4), expiration de la clé TSU
  (T-3), jetons affectés (J-3). Une ligne visée par une NC ouverte n'est
  plus déclarée couverte. 36 exigences : 17 couvertes, 17 écarts, 2 hors
  périmètre.
- Rendu : version dans le titre de section, identifiants dans la colonne
  Clause ; /api/v1/conformance expose `version` et `identifiants`.
- Renvois de clauses corrigés dans les commentaires et la doc (la
  migration 0001 n'est pas touchée : sqlx en contrôle la somme).

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant