Files
khadhroony-solana-project/deltas/0.0.3/pre.001-fix.004.md
2026-08-14 00:03:57 +02:00

3.3 KiB

Delta 0.0.3-pre.001-fix.004

Base requise

0.0.3-pre.001-fix.003.

Objectif

Formaliser les dernières décisions de nomenclature et d'extensibilité :

  • utiliser ksp-<domain>-api plutôt que ksp-<domain>-api-lib ;
  • séparer contrats publics et implémentations officielles ;
  • séparer strictement APIs workers et jobs ;
  • retenir ksp-job-backfill pour l'acquisition historique à la demande ;
  • normaliser les notifications de données indépendamment du producteur ;
  • confirmer PostgreSQL comme implémentation de référence dans ksp-store-lib ;
  • confirmer l'absence de pipeline/scenario monolithique ;
  • confirmer Trading Intelligence avant la couche/application de trading opérationnelle.

Version Cargo

Aucune modification de Cargo.toml.

Ce correctif est exclusivement documentaire. workspace.package.version reste :

0.0.3-pre.1

Fichiers ajoutés

  • deltas/0.0.3/pre.001-fix.004.md

Fichiers modifiés

  • README.md
  • ROADMAP.md
  • docs/architecture/003-COMPONENT_CONTRACTS.md
  • docs/rules/RULES_KSP.md
  • docs/IDEAS.md
  • docs/plans/001-V0_0_3_PLAN.md
  • prompts/001-V0_1_X_START_PROMPT.md

Fichiers supprimés

Aucun.

Décisions ajoutées

Nomenclature des APIs

Les crates de contrats publics extensibles utilisent :

ksp-<domain>-api

Elles restent techniquement des bibliothèques Rust mais n'utilisent pas le suffixe -lib, réservé par défaut aux bibliothèques d'implémentation.

Premiers couples :

ksp-program-api        / ksp-program-lib
ksp-materializer-api   / ksp-materializer-lib
ksp-store-api          / ksp-store-lib

Un unique ksp-api-lib monolithique est rejeté.

Store

ksp-store-api porte les contrats backend-agnostic.

ksp-store-lib contient PostgreSQL comme implémentation officielle de référence.

Workers et jobs

Les contrats communs sont strictement séparés :

ksp-worker-api
ksp-job-api

Aucune API universelle worker+job n'est prévue.

ksp-worker-control-lib reste candidat pour l'implémentation de contrôle des workers uniquement.

ksp-job-backfill est retenu comme candidat du backfill historique à la demande.

D'autres jobs pourront apparaître pour metadata, quotes ou autres travaux ponctuels.

Notifications de données

Une notification de donnée décrit la donnée disponible, pas son producteur.

Le même type de donnée utilise le même contrat de notification qu'il provienne d'un worker, d'un job ou d'une autre source.

ksp-store-api est le propriétaire candidat de ces contrats lorsque la notification concerne une donnée persistée.

Le contrat de notification reste séparé du mécanisme de transport.

Pipelines

Pas de ksp-pipeline-lib monolithique. Les pipelines sont introduits séparément à la demande avec un périmètre concret.

Scénarios

Pas de ksp-scenarios-lib monolithique. Les scénarios sont séparés en crates ksp-scenario-<domain>-lib.

Trading

Trading Intelligence est introduit avant la couche/application de trading opérationnelle.

Validations

Correctif documentaire uniquement :

  • présence des en-têtes file: / version: vérifiée lors de la génération ;
  • aucune commande Cargo requise ;
  • aucune modification fonctionnelle ou runtime.