Référence
Validation
grace_validate : checks structurels typés des talents enforceable, en live et en CI.
grace_validate vérifie que le code respecte les règles structurelles des talents
enforceable activés. Source de vérité : structure/constraints.yml +
conventions/<langage>.yml.
Deux familles de règles
Chaque règle porte une sévérité (blocking | warning | info) :
- Imports externes interdits par couche (
forbidden_imports) — ex.@prisma/*interdit endomain, autorisé eninfrastructure→severity: blocking. - Dépendances inter-couches dirigées (
dependency_rule) — ex.domain → infrastructureinterdit (blocking),interface → domain(warning). Les couches (layers) sont lues du fichier, jamais codées en dur.
Sortie
{
ok: boolean, // aucune violation bloquante
blocking: number,
warnings: number,
violations: Array<{
file: string,
layer: string,
module: string,
targetLayer?: string,
rule: string,
severity: "blocking" | "warning" | "info"
}>
}Sortie B — config CI
GET /web/projects/:id/validator-config génère un .dependency-cruiser.js depuis le
même constraints.yml / conventions. Une seule source alimente donc le validate live
(agent) et la CI. La config est aussi disponible dans le dashboard, section
« Validation CI ».
C'est le cœur de la distinction Builder vs Validator : le validator-en-CI est objectivement mesurable.