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:
+15
-2
@@ -504,14 +504,27 @@ def tool_create_entite(type, projet, titre, contenu=None, definition=None):
|
||||
via trilium_ids.json. Garde-fou anti-doublon sur le titre dans le dossier cible.
|
||||
La permission projet est comportementale (le tool accepte tout projet)."""
|
||||
import json, os
|
||||
from trilium_api import create_note, get_note_id, set_label, find_note_by_title
|
||||
from trilium_api import create_note, get_note_id, set_label, find_note_by_title, TYPES_CANONIQUES
|
||||
# Routage dossier : uniquement la couche connaissance/technique.
|
||||
# Les types de pilotage (backlogItem, decision...) ont leurs tools dedies.
|
||||
MAPPING = {
|
||||
"concept": "Concepts",
|
||||
"composantLogiciel": "EnvironnementTechnique",
|
||||
"service": "EnvironnementTechnique",
|
||||
"infrastructure": "EnvironnementTechnique",
|
||||
"outil": "EnvironnementTechnique",
|
||||
"contrainte": "EnvironnementTechnique",
|
||||
"principe": "EnvironnementTechnique",
|
||||
"convention": "EnvironnementTechnique",
|
||||
"methode": "Methodes",
|
||||
"version": "EnvironnementTechnique",
|
||||
}
|
||||
# 1. Validite du type (source unique : ontologie via TYPES_CANONIQUES)
|
||||
if type not in TYPES_CANONIQUES:
|
||||
return {"error": "Type inconnu : %s. Types canoniques : %s" % (type, ", ".join(TYPES_CANONIQUES))}
|
||||
# 2. Ce tool ne cree que la couche connaissance/technique
|
||||
if type not in MAPPING:
|
||||
return {"error": "Type non supporte : %s. Types valides : %s" % (type, ", ".join(MAPPING.keys()))}
|
||||
return {"error": "Type '%s' valide mais non creable ici (type de pilotage : utiliser son tool dedie add_*)." % type}
|
||||
with open(os.path.expanduser("~/App/Context_continuity/trilium_ids.json")) as f:
|
||||
ids = json.load(f)
|
||||
dossier_cle = MAPPING[type]
|
||||
|
||||
Reference in New Issue
Block a user