Contrats gold : contexte des records (couverture et 2e extrême distinct) - #11
Merged
Conversation
…inct Six colonnes sur les datasets records des trois familles canoniques, pour qu'un record soit vérifiable par son consommateur (chom-poc-data#13). Le suffixe _suivant désigne le suivant EN VALEUR, pas dans le temps : les descriptions le disent explicitement, c'est le prix de ce nom.
… kernel Le contrat doit décrire la table dans l'ordre où elle existe : txx_max_suivant suit txx_max_date, tnn_min_suivant suit tnn_min_date — comme produit par le kernel — au lieu d'être groupés en fin de bloc après tnn_min_date. Aucun changement de nom, de physicalType ni de description.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Déclare sur les datasets
recordsdes trois contrats gold le contexte qui rend un record de température vérifiable par son consommateur.Dépendance aval :
infoclimat-labs/chom-poc-data#36, qui produit ces colonnes et les publie. Cette PR-ci se fusionne en premier — le portail lit ces contrats pour généreropenapi.jsonetllms-full.txt, donc sa suite de tests échoue tant qu'ils ne déclarent pas les colonnes.Le problème
/ic/recordsne renvoyait que l'extrême et sa date. Untnn_minà 0 °C sur une station tropicale était indétectable côté client — il a fallu ouvrir une issue pour s'en apercevoir.Les six propriétés
Ajoutées au dataset
recordsdegold-ic,gold-climato-v2etgold-statIC:n_jours_tn,n_jours_txpremiere_obs,derniere_obstnn_min_suivant,txx_max_suivantTrois points de rédaction à retenir
_suivantdésigne le suivant en VALEUR, pas dans le temps. C'est le seul défaut connu de ce nom, retenu pour qu'il porte sa sémantique plutôt qu'un_2muet. Les descriptions le disent explicitement — c'est le prix assumé, il n'est pas optionnel.BIGINT et non INTEGER pour les compteurs :
count()rend un int64 sous DuckDB. Publier INTEGER aurait rejoué le défaut de sérialisation de #9, où un type physique mal déclaré ressortait en chaîne JSON.Deux compteurs et non un.
max(tx)ignore lestxnuls : un compteur unique surestimerait le socle d'un record detnlà oùtnest plus lacunaire quetx— il mentirait exactement sur la question posée.Ordre des propriétés
Le second commit réaligne l'ordre déclaré sur l'ordre physique de la table (
txx_max_suivantsuittxx_max_date,tnn_min_suivantsuittnn_min_date). Un contrat qui décrit ses colonnes dans un ordre que la table n'a pas est une petite verrue ; celui-ci est désormais verrouillé par un test côté producteur.🤖 Generated with Claude Code