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

Trois propriétaires sémantiques

Citizen répond à une question générale : comment un citoyen constitue-t-il un dossier sourcé ? Il possède Fact, Assertion, Evidence et Provenance.

FrenchLabor2026 répond à une autre question : comment représenter une relation de travail française ? Il possède Employee, Company, EmploymentContract, la classification, les mesures disciplinaires et la rupture.

CitizenLabor ne recopie pas ces définitions. Il importe les deux langages et possède leur articulation : CitizenLaborCase, LaborClaim et PrudhomalProceeding.

Diagram
La composition remplace le grand modèle juridique universel : chaque contexte conserve son vocabulaire et ses invariants.

Le shared kernel minimal

Le partage porte sur les mécanismes qui doivent signifier exactement la même chose partout : identifiants, date valide, date de connaissance, chemin de pièce, empreinte et provenance. Il ne contient pas Dismissal, BingDataTransfer ou SyntecClassification.

Cette retenue évite deux erreurs opposées :

  • tout placer dans un gigantesque « droit français » couplé à chaque modification ;
  • recopier Evidence dans chaque contexte et perdre la traçabilité entre eux.

Composition textuelle

language:
  id: CitizenLabor
  level: M1
  imports:
    - { id: Citizen, path: citizen.dsl }
    - { id: FrenchLabor2026, path: french-labor-2026.dsl }
  concepts:
    CitizenLaborCase:
      kind: aggregate
      extends: Citizen.CitizenCase
      relationships:
        employment:
          target: FrenchLabor2026.EmploymentRelationship
          cardinality: one

Les préfixes sont des frontières, pas du bruit. Citizen.Fact et FrenchLabor2026.EmploymentRelationship montrent immédiatement qui peut changer leur définition.

Les trois sources M1 sont citizen.dsl, french-labor-2026.dsl et citizen-labor.dsl. Elles rendent maintenant possible la description du cas Qwant en M0.

⬇ Download