Expand description
Le registre des invariants légaux, exécutable.
Le RFC-0002 recense les obligations computables du chapitre « copropriété »
du Code civil et dit, pour chacune, si le domaine la porte. Tant qu’il
restait en prose, il se périmait exactement comme
docs/AUDIT_CONFORMITE_JURIDIQUE.md s’était périmé : rien ne le reliait au
code.
Ce module est ce lien. Il déclare chaque invariant avec l’article qui le fonde, le module qui le porte et le test qui le nomme, et un test d’intégrité vérifie que ces trois choses existent encore. Le jour où quelqu’un supprime un test ou renomme un module, le registre ne se contente pas de mentir : il échoue.
§Ce que ce registre ne fait pas
Il ne prouve pas qu’un invariant est correctement implémenté — c’est le travail des tests eux-mêmes, qui citent leur article et vérifient les bords. Il prouve qu’il est encore là. La distinction compte : une couverture qui se mesure elle-même n’est pas une garantie de justesse, et le dire ici évite de la lire comme telle.
Il ne couvre pas non plus tout le chapitre. Les articles hors périmètre applicatif — dissolution (3.97), liquidation (3.98), transcription des actes (3.99) — n’y figurent pas, et l’ADR-0010 diffère les associations partielles en v0.2.0.
§Citer un test n’est pas l’attester (#847)
Le registre a longtemps confondu deux choses : qu’un test EXISTE, et qu’il
ATTESTE l’obligation qu’on lui fait porter. L’Art. 3.89 § 1er citait un
test qui vérifie qu’un mandat de trente jours est en cours — rien sur le
plafond de trois ans que l’article impose, et le plafond n’existait pas
non plus. Le test existait, passait, et n’avait aucun rapport avec la
règle. Corrigé : voir syndic_mandate.rs.
La relecture des trente invariants qui a suivi a trouvé un second cas —
l’Art. 3.87 § 6 — sans plafond légal à implémenter cette fois, mais sans
test qui vérifie la CORRESPONDANCE que l’article exige. Plutôt que de le
laisser attesté par un test adjacent, atteste_par porte None et
non_couverte dit pourquoi. Une obligation sans test véritable est une
obligation non couverte, jamais une obligation attestée par approximation.
Le sixième contrôle, security_une_obligation_est_attestee_ou_dit_pourquoi_elle_ne_lest_pas,
rend ce choix obligatoire : un invariant ne peut plus citer un test ET
rester silencieux sur ce que ce test ne couvre pas.
Il ne juge toujours pas si un test attesté ATTESTE bien — ce jugement reste humain — mais il borne l’écart : le registre ne peut plus prétendre une couverture qu’il n’a pas, ni la laisser dans un commentaire que le rapport ignore.
§Comment il sert
Le rapport de conformité se génère depuis cette liste et s’adresse à un juriste, pas à un développeur : il répond à « que dit la loi, et où le code y répond ? », dans l’ordre des articles. Une obligation non couverte y apparaît comme telle, jamais comme une ligne ordinaire.
Voir RFC-0002 et le lot J8 du WBS.
Structs§
- Invariant
Legal - Un invariant légal porté par le domaine.
Constants§
- OBLIGATIONS_
RECENSEES - Le nombre d’obligations computables recensées par le RFC-0002.
- REGISTRE
- Le registre, dans l’ordre des articles.
Functions§
- rapport_
de_ conformite - Rend le registre lisible par un juriste, dans l’ordre des articles.