Aller au contenu

Spécification OSL

La spécification OSL est le contrat normatif (RFC 2119). Elle définit chaque primitive, chaque champ et chaque code d’erreur. La page Concepts enseigne le modèle ; la spec le scelle.

Apache-2.0

apiVersion: osl.opendome.eu/v1 couvre toute la ligne v1.x. Les versions mineures sont additives et compatibles en lecture ; les changements incompatibles attendent v2.

v1.0Socle

La fondation : superset MetricFlow (plan structuré) + UnstructuredFacet (plan non structuré) + le pont JointEntity, et les quatre niveaux de conformité.

RFC 0002 · semantic_match · Accepted

v1.1Conception

Le modèle de relations & résolution : structuré↔structuré via entités partagées, N-N via bridges, joins structuré↔non structuré honnêtes sur clés autoritatives, multi-hop, et résolution rapide.

RFC 0003 · Relationships & resolution

v1.22026-06Actuelle · brouillon

Opérationnalise la RFC 0003 : traversée L2, échantillonnage de contenu gouverné (ACL + caviardage server-side) et le domain-map unifié (tout est une Entity ; les bridges se réduisent à des arêtes). Les niveaux de conformité Lance + Governance s’élargissent.

RFC 0003 · Implemented

v1.32026-07Suivante

La surface de query unique (OSL-SQL) : /osl/query devient l’unique endpoint de consommation, repliant retrieval, joins et traversée en un seul dialecte de SQL sémantique — plus les opérateurs de projection. La RFC 0002 est remplacée par la source de relation RETRIEVE.

RFC 0005 · OSL-SQL · DraftRFC 0004 · Projection operators · Draft

v2Future

Réservée aux changements incompatibles et au travail explicitement hors de la frontière v1.x (p. ex. inférence / raisonnement contenu↔contenu).

SemanticModel, Metric, SavedQuery, TimeSpine, UnstructuredFacet, JointEntity, Lexicon, DataContract, PolicyBinding. Chacune porte apiVersion: osl.opendome.eu/v1 et un kind. Les JSON Schemas sont publiés un par primitive plus un schema maître de manifest.

Les changements substantiels passent par le processus RFC.

# Titre Statut
0002 Prédicat semantic_match / MATCHES Remplacé
0003 Relations, résolution & queryabilité Implémenté
0004 Opérateurs de projection (encoder + decoder optionnel) Brouillon
0005 OSL-SQL — la surface de query unique Brouillon

Si une proposition enfreint l’un d’eux, elle est rejetée :

  1. Le pass-through de MetricFlow est sacré. Tout projet dbt-sl valide est un OSL valide.
  2. Lance est de première classe, pas un add-on — ses propres primitives, schema, erreurs, lineage.
  3. Le client déclare, le moteur exécute. La spec dit ce qui existe, jamais comment ça tourne.
  4. Chaque décision est auditable — query, retrieval, décision du PDP émettent toutes de l’OpenLineage.
  5. Le versionnage est un contrat. …/v1 ne cassera pas votre YAML sur toute la ligne v1 ; les changements incompatibles attendent v2.

apiVersion: osl.opendome.eu/v1 est une promesse de ne pas casser votre YAML sur toute la ligne v1. Les endpoints peuvent ajouter des champs optionnels dans v1.x ; les clients doivent ignorer les champs non reconnus. Tout ce qui est déprécié en v1.x reste fonctionnel pendant au moins deux versions mineures consécutives ; sa suppression requiert v2, servie aux côtés de v1 pendant cette fenêtre.