0.5.1-pre.002

This commit is contained in:
2026-08-09 19:34:08 +02:00
parent 816eee59a9
commit 6a680767ae
767 changed files with 12257 additions and 12195 deletions

View File

@@ -1,11 +1,11 @@
<!-- file: docs/guides/CONFIGURATION.md -->
<!-- version: 2 -->
<!-- version: 3 -->
# Guide de configuration
## Objectif
Ce guide décrit le chargement et lutilisation de la configuration bot3. La référence dAPI détaillée reste `kb-config/USAGE.md`.
Ce guide décrit le chargement et lutilisation de la configuration bot3. La référence dAPI détaillée reste `ks-config/USAGE.md`.
## Fichiers actifs
@@ -28,21 +28,21 @@ Le format actif est JSON. Le futur split de configuration prévu en `0.5.x` ne m
## Exemple opérateur
```rust
let environment = match kb_config::load_workspace_environment(
let environment = match ks_config::load_workspace_environment(
std::path::Path::new("."),
) {
std::result::Result::Ok(value) => value,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
let config = match kb_config::load_config_from_path(
let config = match ks_config::load_config_from_path(
std::path::Path::new("config/example.config.json"),
) {
std::result::Result::Ok(value) => value,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
let profile = match kb_config::active_profile(&config) {
let profile = match ks_config::active_profile(&config) {
std::result::Result::Ok(value) => value,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
@@ -83,8 +83,8 @@ Pour isoler une erreur :
## Références
- `kb-config/README.md` ;
- `kb-config/USAGE.md` ;
- `kb-config/TODO.md` ;
- `ks-config/README.md` ;
- `ks-config/USAGE.md` ;
- `ks-config/TODO.md` ;
- `config/README.md` ;
- `docs/decisions/WINCODE_COMPATIBILITY_POLICY.md`.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/guides/DEVNET_VALIDATION.md -->
<!-- version: 4 -->
<!-- version: 5 -->
# Guide de validation Devnet
@@ -33,7 +33,7 @@ Le rapport doit indiquer précisément les niveaux réellement exécutés.
## Commandes
Les scénarios peuvent être déclenchés depuis `kb-pipeline-demo-scenarios` ou le desktop. La validation frontend se fait uniquement avec :
Les scénarios peuvent être déclenchés depuis `ks-pipeline-demo-scenarios` ou le desktop. La validation frontend se fait uniquement avec :
```bash
cargo tauri dev -c kb-app-demo-desktop/tauri.conf.json
@@ -61,12 +61,12 @@ Le registre ElGamal ne doit pas être déclaré validé sur Devnet ou Mainnet sa
- `docs/validation/V0_4_7_METAPLEX_TOKEN_METADATA_VALIDATION_REPORT.md` ;
- `docs/DEVNET_EXECUTION_GUIDE.md` ;
- `kb-pipeline-demo-scenarios/USAGE.md` ;
- `ks-pipeline-demo-scenarios/USAGE.md` ;
- `kb-app-demo-desktop/USAGE.md`.
## Metaplex Token Metadata
Les scénarios Metadata utilisent un profil Devnet existant, le runner de `kb-pipeline-demo-scenarios` et le panneau `demo_execution_metadata`. Les PDA dérivables ne doivent pas être saisis manuellement. Chaque parcours prépare sa fixture et dérive automatiquement les PDA et comptes de postcondition nécessaires à létape courante.
Les scénarios Metadata utilisent un profil Devnet existant, le runner de `ks-pipeline-demo-scenarios` et le panneau `demo_execution_metadata`. Les PDA dérivables ne doivent pas être saisis manuellement. Chaque parcours prépare sa fixture et dérive automatiquement les PDA et comptes de postcondition nécessaires à létape courante.
Une liste de profils vide est une erreur de configuration ou de raccordement et doit être signalée explicitement. Une validation réseau exige une simulation RPC réelle ; une soumission exige en plus confirmation opérateur, signature, confirmation et postconditions observées.

View File

@@ -1,28 +1,28 @@
<!-- file: docs/guides/LOGGING.md -->
<!-- version: 2 -->
<!-- version: 3 -->
# Guide de logging et tracing
## Objectif
`kb-logging` initialise les routes de tracing définies par la configuration et conserve les guards nécessaires à leur durée de vie.
`ks-logging` initialise les routes de tracing définies par la configuration et conserve les guards nécessaires à leur durée de vie.
## Flux de démarrage
1. charger et valider la configuration avec `kb-config` ;
1. charger et valider la configuration avec `ks-config` ;
2. construire `LoggingConfig` ;
3. appeler `kb_logging::init_logging` une seule fois ;
3. appeler `ks_logging::init_logging` une seule fois ;
4. conserver `LoggingGuard` jusquà la fermeture du processus ;
5. émettre les événements avec des targets canoniques.
```rust
let guard = match kb_logging::init_logging(&config.logging) {
let guard = match ks_logging::init_logging(&config.logging) {
std::result::Result::Ok(value) => value,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
tracing::info!(
target: kb_logging::tracing_target(),
target: ks_logging::tracing_target(),
routes = guard.route_count(),
"logging initialized"
);
@@ -46,9 +46,9 @@ Les routes fichier ne doivent jamais écrire de secrets ou de keypairs.
Les targets suivent les conventions du workspace, par exemple :
```text
kb-pipeline.backfill
kb-pipeline.decode-replay
kb-onchain-transport.http
ks-pipeline.backfill
ks-pipeline.decode-replay
ks-onchain-transport.http
kb-lib.executor.spl.token-2022
kb-lib.materializer.compliance.audit
kb-lib.materializer.token.accounts
@@ -73,7 +73,7 @@ Les fenêtres Tauri utilisent la permission tracing prévue par leurs capabiliti
## Références
- `kb-logging/README.md` ;
- `kb-logging/USAGE.md` ;
- `kb-config/USAGE.md` ;
- `ks-logging/README.md` ;
- `ks-logging/USAGE.md` ;
- `ks-config/USAGE.md` ;
- `docs/architecture/ARCHITECTURE.md`.

View File

@@ -1,16 +1,16 @@
<!-- file: docs/guides/POSTGRES_STORAGE.md -->
<!-- version: 1 -->
<!-- version: 2 -->
# Guide PostgreSQL et contrats de stockage
## Objectif
`kb-store` consolide les contrats de stockage Core, raw, decode et PostgreSQL de bot2 dans une crate unique.
`ks-store` consolide les contrats de stockage Core, raw, decode et PostgreSQL de bot2 dans une crate unique.
## Connexion
```rust
let options = match kb_store::PostgresStoreOptions::new(
let options = match ks_store::PostgresStoreOptions::new(
database_url,
10,
10_000,
@@ -20,7 +20,7 @@ let options = match kb_store::PostgresStoreOptions::new(
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
let store = match kb_store::PostgresStore::connect(options).await {
let store = match ks_store::PostgresStore::connect(options).await {
std::result::Result::Ok(value) => value,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
@@ -62,5 +62,5 @@ Les traits publics séparent le contrat de limplémentation PostgreSQL. Les o
## Références
- `docs/architecture/STORAGE_ARCHITECTURE.md` ;
- `kb-store/USAGE.md` ;
- `kb-store/README.md`.
- `ks-store/USAGE.md` ;
- `ks-store/README.md`.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/guides/REPLAY_CORE_EXTRACTION_AND_MATERIALIZATION.md -->
<!-- version: 1 -->
<!-- version: 2 -->
# Guide extraction Core, replay et matérialisation
@@ -24,7 +24,7 @@ matérialisation optionnelle
Lextraction transforme une transaction canonique persistée en entités Core normalisées. Elle doit conserver les index, comptes, Program IDs, succès ou échec de transaction et contexte nécessaire aux instructions internes.
```rust
let summary = match kb_pipeline::execute_core_extraction(
let summary = match ks_pipeline::execute_core_extraction(
request,
observer,
).await {
@@ -72,6 +72,6 @@ La progression persistée ne doit avancer quaprès clôture cohérente du can
- `docs/architecture/PIPELINE_ARCHITECTURE.md` ;
- `docs/architecture/STORAGE_ARCHITECTURE.md` ;
- `kb-pipeline/USAGE.md` ;
- `kb-lib/USAGE.md` ;
- `kb-store/USAGE.md`.
- `ks-pipeline/USAGE.md` ;
- `ks-lib/USAGE.md` ;
- `ks-store/USAGE.md`.

View File

@@ -1,26 +1,26 @@
<!-- file: docs/guides/RPC_BACKFILL_AND_WEBSOCKET.md -->
<!-- version: 2 -->
<!-- version: 3 -->
# Guide RPC, backfill et WebSocket
## Séparation des responsabilités
- `kb-onchain-transport` communique avec les endpoints ;
- `kb-pipeline` orchestre les campagnes ;
- `kb-store` persiste les acquisitions canoniques et la progression ;
- `ks-onchain-transport` communique avec les endpoints ;
- `ks-pipeline` orchestre les campagnes ;
- `ks-store` persiste les acquisitions canoniques et la progression ;
- `kb-app-demo-desktop` fournit une interface opérateur ;
- `kb-pipeline-demo-scenarios` construit et exécute les scénarios réutilisables de démonstration et de validation, notamment sur Devnet.
- `ks-pipeline-demo-scenarios` construit et exécute les scénarios réutilisables de démonstration et de validation, notamment sur Devnet.
## Passage dun scénario validé vers le pipeline
`kb-pipeline-demo-scenarios` nest pas la destination finale dune logique réutilisable en production. Son rôle est de composer des APIs publiques existantes, préparer les fixtures, imposer les garde-fous opérateur et démontrer un parcours complet sur un réseau de validation.
`ks-pipeline-demo-scenarios` nest pas la destination finale dune logique réutilisable en production. Son rôle est de composer des APIs publiques existantes, préparer les fixtures, imposer les garde-fous opérateur et démontrer un parcours complet sur un réseau de validation.
Lorsquun composant dun scénario est validé et quil est générique, déterministe et utilisable indépendamment de la démonstration, il doit résider dans la couche appropriée :
- `kb-lib` pour le décodage, la matérialisation, la construction dinstructions, les préflights et les politiques de sécurité ;
- `kb-onchain-transport` pour les opérations réseau génériques ;
- `kb-store` pour les contrats de persistance ;
- `kb-pipeline` pour lorchestration réutilisable, y compris sur Mainnet lorsque le profil, la politique et lappelant lautorisent.
- `ks-lib` pour le décodage, la matérialisation, la construction dinstructions, les préflights et les politiques de sécurité ;
- `ks-onchain-transport` pour les opérations réseau génériques ;
- `ks-store` pour les contrats de persistance ;
- `ks-pipeline` pour lorchestration réutilisable, y compris sur Mainnet lorsque le profil, la politique et lappelant lautorisent.
La crate de scénarios conserve :
@@ -49,7 +49,7 @@ Avant une campagne :
Le backfill parcourt les signatures, charge les transactions et les adapte vers le contrat canonique avant stockage.
```rust
let summary = match kb_pipeline::execute_http_backfill(
let summary = match ks_pipeline::execute_http_backfill(
request,
observer,
).await {
@@ -96,6 +96,6 @@ Distinguer :
## Références
- `kb-onchain-transport/USAGE.md` ;
- `kb-pipeline/USAGE.md` ;
- `ks-onchain-transport/USAGE.md` ;
- `ks-pipeline/USAGE.md` ;
- `kb-app-demo-desktop/USAGE.md`.