feat: lint_audit.py calibre + TYPES_CANONIQUES source unique

- lint_audit.py : moteur d'audit groupe par data quality dimensions
  (completeness, accuracy, consistency, validity, uniqueness, freshness)
- charger() : passe #type globale (voit tous les types reels, dont les intrus)
- VAL-type : valide le label type contre la liste canonique (ignore container)
- dependDe elargi (domaine +service, portee +outil) : faux positif supprime
- TYPES_CANONIQUES dans trilium_api.py : source unique partagee Lint + create_entite
- create_entite aligne sur TYPES_CANONIQUES, couvre les 10 types connaissance/technique
Etage 1 lecture seule : 348 notes, 29 anomalies reelles, 0 faux positif.
This commit is contained in:
2026-07-03 13:05:27 +02:00
parent f883af4dcc
commit ced9b37d4a
5 changed files with 836 additions and 2 deletions
+12
View File
@@ -191,6 +191,18 @@ RELATIONS_ONTOLOGIE = [
"reference", "illustre", "provient",
]
# Types d'entites canoniques de l'ontologie (source unique cote code).
# NE contient PAS 'container' (= dossiers structurels, hors couche connaissance).
# Cible a terme : lire cette liste depuis les notes d'ontologie (dossier
# Modeles & Ontologie) plutot que la maintenir ici. En attendant, source unique
# partagee par le Lint (VAL-type) et create_entite.
TYPES_CANONIQUES = [
"projet", "conversation", "backlogItem", "decision", "historiqueItem",
"concept", "contexteReprise", "skill", "documentation",
"composantLogiciel", "service", "infrastructure", "outil",
"contrainte", "principe", "convention", "methode", "version",
]
def add_relation_safe(source_id, nom, cible_id):
"""Cree une relation (object property) entre deux notes.
Garde-fou Option B : nom dans l ontologie + source/cible existent.