Policies semantiques
Reflexion en cours.
Bascule intéressante : opa/Rego ne validerait plus un plan de test, mais la qualité de la formalisation. Genre :
SI une feature expose une collection
ET son ensemble attendu dépend d'un scope
ALORS elle doit définir : source du scope, relation scope/objets, règle d'inclusion,
règle d'exclusion, sémantique de l'état vide, observation de l'ensemble rendu,
un témoin positif, un témoin négatif.
Une compilation pauvre du style page_is_visible: true + empty_state_is_supported: true serait
refusée, avec un diagnostic précis : SEMANTIC_MODEL_INCOMPLETE, pas de définition du Project
accessible, pas de relation Project/Organisation active, pas de binding pour l’org active, condition
de vérité de l’empty-state indéfinie, pas d’observable pour l’ensemble visible.
Autrement dit, les policies jouent un linter sémantique et ontologique de la spec compilée. C’est exactement ce qui aurait attrapé le bug en amont : le modèle était incomplet, on aurait dû refuser de le compiler.
À creuser : où s’arrête le linter générique (vrai pour toute collection scopée) et où commence la règle spécifique à une feature ? Liés : opa, dsl-et-ir, monde-ferme-vs-owl, compiler-intention-en-preuve
Évoqué dans