La chaîne d'exécution
Le projet .NET 9 sépare le modèle pur des adapters. DddDsl.Core ne connaît ni YAML ni système de fichiers. DddDsl.Yaml transforme la syntaxe en objets. DddDsl.Compiler résout les imports et porte les règles. MetaIde ne charge qu'un module dont le langage cible a compilé.
Commandes
dotnet run --project src/DddDsl.Cli -- validate examples/qwant.dsl
dotnet run --project src/DddDsl.Cli -- diagram examples/qwant.dsl --kind m0
dotnet run --project src/DddDsl.Cli -- diagram examples/qwant.dsl --kind chain
dotnet run --project src/DddDsl.Cli -- verify-evidence examples/qwant.dsl `
--source-root C:\Users\serard\Documents\AttaQwant\__POINAT_MEDdotnet run --project src/DddDsl.Cli -- validate examples/qwant.dsl
dotnet run --project src/DddDsl.Cli -- diagram examples/qwant.dsl --kind m0
dotnet run --project src/DddDsl.Cli -- diagram examples/qwant.dsl --kind chain
dotnet run --project src/DddDsl.Cli -- verify-evidence examples/qwant.dsl `
--source-root C:\Users\serard\Documents\AttaQwant\__POINAT_MEDverify-evidence résout chaque input sous la racine autorisée, refuse toute sortie par .., contrôle l'existence et compare le SHA-256 lorsqu'il est déclaré. Cette vérification est optionnelle : le build du blog ne dépend pas du dossier privé.
Contributions IDE
CitizenLabor.Ide déclare quatre projections : graphe des faits et assertions, chronologie bitemporelle, matrice des prétentions et registre de provenance. Le host généraliste dépend du contrat IIdeModule, jamais de ce module concret.
L'IDE ne décide pas. Il rend visibles les trous structurels : une pièce orpheline, un claim sans fondement, une assertion sans auteur ou une appréciation judiciaire sans objet relié.