Skip to main content

Module registre_legal

Module registre_legal 

Source
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§

InvariantLegal
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.