Skip to main content
Welcome. This site supports keyboard navigation and screen readers. Press ? at any time for keyboard shortcuts. Press [ to focus the sidebar, ] to focus the content. High-contrast themes are available via the toolbar.
serard@dev00:~/cv

SOLID s'applique aussi au langage

La responsabilité unique interdit à Evidence de porter une conclusion juridique. L'ouverture/fermeture permet d'ajouter un nouveau projecteur via IDslProjector. L'inversion des dépendances place IDslSourceLoader et IEvidenceCatalog dans le Core ; YAML et le disque restent des adapters.

Diagram
Le domaine ne dépend ni de YAML, ni des pièces locales, ni de l'interface qui le présente.

DRY n'efface pas les bounded contexts

DRY signifie ici qu'une règle possède une source de vérité à l'intérieur de son contexte. La provenance est définie une fois dans Citizen. En revanche, deux contextes autonomes peuvent employer des structures semblables sans partager leur sens. Forcer un Status universel entre preuve, contrat et procédure créerait un couplage plus grave que la duplication de quelques valeurs.

Invariants testés

La suite exécutable vérifie notamment :

  • l'auto-description de M2 ;
  • la composition des trois langages M1 ;
  • le statut M0 de Qwant ;
  • les imports, types, cardinalités, cycles et références ;
  • la provenance obligatoire de chaque pièce ;
  • la séparation entre P31, l'assertion de dissimulation et le motif de 2022 ;
  • le chargement du module IDE seulement sur son langage cible ;
  • le caractère déterministe des projections Mermaid.

Limites juridiques

Le modèle sait dire « cette assertion dispose de telles pièces et a reçu telle appréciation ». Il ne sait pas déterminer la force persuasive d'un témoignage, reconstituer le contradictoire absent ou garantir une décision contrefactuelle.

Les simulations futures devront donc rester des Hypothesis, fournir leurs suppositions et produire un rapport reproductible. Un éventuel agent IA recevrait ce contexte sourcé par un port dédié ; il ne deviendrait ni source de droit ni juge.

Exécuter l'exemple

cd content/blog/ddd-dsl/assets
dotnet test DddDsl.slnx
dotnet run --project src/DddDsl.Cli -- validate examples/qwant.dsl

La série se termine ainsi sur son point de départ : le DSL devient un domaine d'ingénierie à part entière, tandis que Qwant reste exactement ce qu'il doit être — un cas concret, contestable et traçable.

⬇ Download