0.5.1-pre.002
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
<!-- file: docs/guides/CONFIGURATION.md -->
|
||||
<!-- version: 2 -->
|
||||
<!-- version: 3 -->
|
||||
|
||||
# Guide de configuration
|
||||
|
||||
## Objectif
|
||||
|
||||
Ce guide décrit le chargement et l’utilisation de la configuration bot3. La référence d’API détaillée reste `kb-config/USAGE.md`.
|
||||
Ce guide décrit le chargement et l’utilisation de la configuration bot3. La référence d’API 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`.
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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`.
|
||||
|
||||
@@ -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 l’implé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`.
|
||||
|
||||
@@ -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
|
||||
L’extraction 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 qu’aprè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`.
|
||||
|
||||
@@ -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 d’un scénario validé vers le pipeline
|
||||
|
||||
`kb-pipeline-demo-scenarios` n’est pas la destination finale d’une 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` n’est pas la destination finale d’une 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.
|
||||
|
||||
Lorsqu’un composant d’un scénario est validé et qu’il 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 d’instructions, 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 l’orchestration réutilisable, y compris sur Mainnet lorsque le profil, la politique et l’appelant l’autorisent.
|
||||
- `ks-lib` pour le décodage, la matérialisation, la construction d’instructions, 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 l’orchestration réutilisable, y compris sur Mainnet lorsque le profil, la politique et l’appelant l’autorisent.
|
||||
|
||||
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`.
|
||||
|
||||
Reference in New Issue
Block a user