v0.2.4-rel.001
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/000-README.md -->
|
||||
<!-- version: 32 -->
|
||||
<!-- version: 33 -->
|
||||
|
||||
# Documentation KSP
|
||||
|
||||
@@ -69,7 +69,7 @@ D'autres sous-répertoires seront ajoutés uniquement lorsque leur rôle aura é
|
||||
|
||||
## Documents de planification
|
||||
|
||||
Le plan historique de la phase fondatrice clôturée est conservé dans [`plans/001-V0_0_3_PLAN.md`](plans/001-V0_0_3_PLAN.md). La séquence active des premières releases fonctionnelles est définie dans [`plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md`](plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md). Le plan détaillé de la release stable `0.1.1` est conservé comme historique clôturé dans [`plans/003-V0_1_1_CORE_FOUNDATION_PLAN.md`](plans/003-V0_1_1_CORE_FOUNDATION_PLAN.md). Le plan détaillé de la release stable `0.1.2` est conservé comme historique clôturé dans [`plans/004-V0_1_2_LOGGING_FOUNDATION_PLAN.md`](plans/004-V0_1_2_LOGGING_FOUNDATION_PLAN.md). Le plan détaillé de la release stable `0.1.3 — Configuration foundation` est conservé comme historique clôturé dans [`plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md`](plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md). Le plan détaillé de la release stable `0.1.4 — ksp-app-config-desk` est conservé comme historique clôturé dans [`plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md`](plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md), avec sa matrice finale [`validation/001-V0_1_4_CONFIG_DESKTOP.md`](validation/001-V0_1_4_CONFIG_DESKTOP.md). Son prompt d'ouverture historique reste [`../prompts/004-V0_1_4_START_PROMPT.md`](../prompts/004-V0_1_4_START_PROMPT.md). La release stable `0.2.0` clôt l'audit de bot3 et le découpage de la série. Son plan directeur est conservé comme historique clôturé dans [`plans/007-V0_2_0_SERIES_PLANNING.md`](plans/007-V0_2_0_SERIES_PLANNING.md), avec sa matrice finale [`validation/002-V0_2_0_SERIES_PLANNING.md`](validation/002-V0_2_0_SERIES_PLANNING.md). La release stable `0.2.1 — HTTP Solana foundation` a été ouverte par [`../prompts/006-V0_2_1_START_PROMPT.md`](../prompts/006-V0_2_1_START_PROMPT.md). Son gate de sizing et sa matrice exhaustive sont conservés dans [`plans/008-V0_2_1_ONCHAIN_HTTP_PLAN.md`](plans/008-V0_2_1_ONCHAIN_HTTP_PLAN.md), avec la validation finale [`validation/003-V0_2_1_ONCHAIN_HTTP.md`](validation/003-V0_2_1_ONCHAIN_HTTP.md), README/USAGE Transport et le smoke Devnet opt-in de composition Config -> Transport. Le prompt [`../prompts/007-V0_2_2_START_PROMPT.md`](../prompts/007-V0_2_2_START_PROMPT.md) a ouvert la release stable `0.2.2 — HTTP Accounts + Tokens + Cluster`. Son plan clôturé [`plans/009-V0_2_2_HTTP_ACCOUNTS_TOKENS_CLUSTER_PLAN.md`](plans/009-V0_2_2_HTTP_ACCOUNTS_TOKENS_CLUSTER_PLAN.md) conserve l'audit et l'implémentation des 22 wrappers typés, tandis que [`validation/004-V0_2_2_HTTP_ACCOUNTS_TOKENS_CLUSTER.md`](validation/004-V0_2_2_HTTP_ACCOUNTS_TOKENS_CLUSTER.md) enregistre les validations déterministes, les graphes Cargo et les deux smokes Devnet passés avant publication. Le prompt [`../prompts/008-V0_2_3_START_PROMPT.md`](../prompts/008-V0_2_3_START_PROMPT.md) a ouvert la release stable `0.2.3 — HTTP Transactions`. Son plan clôturé [`plans/010-V0_2_3_HTTP_TRANSACTIONS_PLAN.md`](plans/010-V0_2_3_HTTP_TRANSACTIONS_PLAN.md) conserve l'audit et l'implémentation des 11 wrappers ; le réaudit [`validation/005-V0_2_3_KSP_TRANSPORT_007_RETRO_AUDIT.md`](validation/005-V0_2_3_KSP_TRANSPORT_007_RETRO_AUDIT.md) confirme la complétude des 37 wrappers HTTP typés et [`validation/006-V0_2_3_HTTP_TRANSACTIONS.md`](validation/006-V0_2_3_HTTP_TRANSACTIONS.md) enregistre les validations finales, graphes Cargo et deux smokes Devnet passés avant publication. Le prompt [`../prompts/009-V0_2_4_START_PROMPT.md`](../prompts/009-V0_2_4_START_PROMPT.md) ouvre `0.2.4 — HTTP Blocks + Economics + compliance HTTP finale`. Son plan [`plans/011-V0_2_4_HTTP_BLOCKS_ECONOMICS_PLAN.md`](plans/011-V0_2_4_HTTP_BLOCKS_ECONOMICS_PLAN.md), établi par `0.2.4-pre.001`, est amené en candidate par `pre.009` après implémentation des 15 wrappers et compliance `52/52 + 14/14`; la matrice [`validation/007-V0_2_4_HTTP_FINAL_COMPLIANCE.md`](validation/007-V0_2_4_HTTP_FINAL_COMPLIANCE.md) porte la preuve finale candidate. Le prompt [`../prompts/010-V0_2_5_START_PROMPT.md`](../prompts/010-V0_2_5_START_PROMPT.md) prépare `0.2.5 — Wallet foundation` après publication stable de `0.2.4`.
|
||||
Le plan historique de la phase fondatrice clôturée est conservé dans [`plans/001-V0_0_3_PLAN.md`](plans/001-V0_0_3_PLAN.md). La séquence active des premières releases fonctionnelles est définie dans [`plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md`](plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md). Le plan détaillé de la release stable `0.1.1` est conservé comme historique clôturé dans [`plans/003-V0_1_1_CORE_FOUNDATION_PLAN.md`](plans/003-V0_1_1_CORE_FOUNDATION_PLAN.md). Le plan détaillé de la release stable `0.1.2` est conservé comme historique clôturé dans [`plans/004-V0_1_2_LOGGING_FOUNDATION_PLAN.md`](plans/004-V0_1_2_LOGGING_FOUNDATION_PLAN.md). Le plan détaillé de la release stable `0.1.3 — Configuration foundation` est conservé comme historique clôturé dans [`plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md`](plans/005-V0_1_3_CONFIG_FOUNDATION_PLAN.md). Le plan détaillé de la release stable `0.1.4 — ksp-app-config-desk` est conservé comme historique clôturé dans [`plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md`](plans/006-V0_1_4_CONFIG_DESKTOP_PLAN.md), avec sa matrice finale [`validation/001-V0_1_4_CONFIG_DESKTOP.md`](validation/001-V0_1_4_CONFIG_DESKTOP.md). Son prompt d'ouverture historique reste [`../prompts/004-V0_1_4_START_PROMPT.md`](../prompts/004-V0_1_4_START_PROMPT.md). La release stable `0.2.0` clôt l'audit de bot3 et le découpage de la série. Son plan directeur est conservé comme historique clôturé dans [`plans/007-V0_2_0_SERIES_PLANNING.md`](plans/007-V0_2_0_SERIES_PLANNING.md), avec sa matrice finale [`validation/002-V0_2_0_SERIES_PLANNING.md`](validation/002-V0_2_0_SERIES_PLANNING.md). La release stable `0.2.1 — HTTP Solana foundation` a été ouverte par [`../prompts/006-V0_2_1_START_PROMPT.md`](../prompts/006-V0_2_1_START_PROMPT.md). Son gate de sizing et sa matrice exhaustive sont conservés dans [`plans/008-V0_2_1_ONCHAIN_HTTP_PLAN.md`](plans/008-V0_2_1_ONCHAIN_HTTP_PLAN.md), avec la validation finale [`validation/003-V0_2_1_ONCHAIN_HTTP.md`](validation/003-V0_2_1_ONCHAIN_HTTP.md), README/USAGE Transport et le smoke Devnet opt-in de composition Config -> Transport. Le prompt [`../prompts/007-V0_2_2_START_PROMPT.md`](../prompts/007-V0_2_2_START_PROMPT.md) a ouvert la release stable `0.2.2 — HTTP Accounts + Tokens + Cluster`. Son plan clôturé [`plans/009-V0_2_2_HTTP_ACCOUNTS_TOKENS_CLUSTER_PLAN.md`](plans/009-V0_2_2_HTTP_ACCOUNTS_TOKENS_CLUSTER_PLAN.md) conserve l'audit et l'implémentation des 22 wrappers typés, tandis que [`validation/004-V0_2_2_HTTP_ACCOUNTS_TOKENS_CLUSTER.md`](validation/004-V0_2_2_HTTP_ACCOUNTS_TOKENS_CLUSTER.md) enregistre les validations déterministes, les graphes Cargo et les deux smokes Devnet passés avant publication. Le prompt [`../prompts/008-V0_2_3_START_PROMPT.md`](../prompts/008-V0_2_3_START_PROMPT.md) a ouvert la release stable `0.2.3 — HTTP Transactions`. Son plan clôturé [`plans/010-V0_2_3_HTTP_TRANSACTIONS_PLAN.md`](plans/010-V0_2_3_HTTP_TRANSACTIONS_PLAN.md) conserve l'audit et l'implémentation des 11 wrappers ; le réaudit [`validation/005-V0_2_3_KSP_TRANSPORT_007_RETRO_AUDIT.md`](validation/005-V0_2_3_KSP_TRANSPORT_007_RETRO_AUDIT.md) confirme la complétude des 37 wrappers HTTP typés et [`validation/006-V0_2_3_HTTP_TRANSACTIONS.md`](validation/006-V0_2_3_HTTP_TRANSACTIONS.md) enregistre les validations finales, graphes Cargo et deux smokes Devnet passés avant publication. Le prompt [`../prompts/009-V0_2_4_START_PROMPT.md`](../prompts/009-V0_2_4_START_PROMPT.md) a ouvert la release stable `0.2.4 — HTTP Blocks + Economics + compliance HTTP finale`. Son plan clôturé [`plans/011-V0_2_4_HTTP_BLOCKS_ECONOMICS_PLAN.md`](plans/011-V0_2_4_HTTP_BLOCKS_ECONOMICS_PLAN.md) conserve l’implémentation des 15 wrappers et la compliance `52/52 + 14/14`; la matrice finale [`validation/007-V0_2_4_HTTP_FINAL_COMPLIANCE.md`](validation/007-V0_2_4_HTTP_FINAL_COMPLIANCE.md) enregistre le réaudit SIMD/inventaire, les canaries globales et les preuves opérateur avant publication. Le prompt [`../prompts/010-V0_2_5_START_PROMPT.md`](../prompts/010-V0_2_5_START_PROMPT.md), finalisé par `0.2.4-pre.009-fix.001`, ouvre `0.2.5 — Wallet foundation` sur la base stable `v0.2.4`.
|
||||
|
||||
`IDEAS.md` conserve les pistes et questions qui ne sont pas encore des engagements du roadmap ni des décisions architecturales.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/architecture/004-COMPONENT_INVENTORY.md -->
|
||||
<!-- version: 13 -->
|
||||
<!-- version: 14 -->
|
||||
|
||||
# Inventaire initial des composants KSP
|
||||
|
||||
@@ -17,41 +17,41 @@ Ce document maintient l'inventaire synthétique des composants retenus ou presse
|
||||
|
||||
## Inventaire synthétique
|
||||
|
||||
| Domaine | Composant | Type | Statut | Première cible actuelle | Mission |
|
||||
|-------------------------|------------------------------------------|--------------------|--------------|---------------------------------|----------------------------------------------------------|
|
||||
| Core | `ksp-core-lib` | lib | Stable | `0.1.1` | Error/Result, Program IDs et primitives fondamentales |
|
||||
| Logging | `ksp-logging-lib` | lib | Stable | `0.1.2` | façade unique tracing KSP |
|
||||
| Config | `ksp-config-lib` | lib | Stable | `0.1.3` | documents, profils, env et persistence Config |
|
||||
| Config Desk | `ksp-app-config-desk` | app | Stable | `0.1.4` | validation/management Config |
|
||||
| On-chain HTTP | `ksp-onchain-transport-lib` | lib | Stable | `0.2.1` | foundation stable + candidate HTTP typed 52/52 en 0.2.4 |
|
||||
| Wallet | `ksp-wallet-lib` | lib | Retenu | `0.2.5` | `.kspwallet`, secrets, signature, import/export |
|
||||
| Wallet Desk | `ksp-app-wallet-desk` | app | Retenu | `0.2.6` | Wallet + Config composite + HTTP/balance |
|
||||
| Standard WS | `ksp-onchain-transport-lib` | lib | Retenu | `0.2.7` | WebSocket Solana complet, sessions/subscriptions |
|
||||
| Helius WS | `ksp-onchain-transport-lib` | lib | Retenu | `0.2.8` | LaserStream WebSocket comme extension du moteur standard |
|
||||
| Yellowstone | `ksp-onchain-transport-lib` | lib | Pressenti | `0.2.9` | client gRPC standard/provider-neutral |
|
||||
| Off-chain price | `ksp-offchain-transport-lib` | lib | Retenu | `0.2.10` | première abstraction/provider de prix SOL/USD, SOL/EUR |
|
||||
| Price Desk | nom à fixer | app | Retenu | `0.2.11` | visualisation/validation des prix |
|
||||
| Wire | `ksp-interface-lib` | lib | Retenu | `0.2.12` | façade wire officielle + API publique wire |
|
||||
| Program API | `ksp-program-api` | API | Retenu | `0.2.13` | contrats extensibles Program |
|
||||
| Program impl. | `ksp-program-lib` | lib | Retenu | vertical slices ultérieurs | implementations Program officielles |
|
||||
| Program extension | `ksp-program-<name>-lib` | lib externe | À la demande | dès besoin | implementation externe de `ksp-program-api` |
|
||||
| Store API | `ksp-store-api` | API | Retenu | `0.3.1` | contrats persistence backend-agnostic, RAW d'abord |
|
||||
| Store PostgreSQL | `ksp-store-lib` | lib | Retenu | `0.3.1` | backend PostgreSQL officiel, RAW d'abord |
|
||||
| Job lifecycle | `ksp-job-api` | API | Retenu | `0.3.3` | lifecycle des jobs terminables |
|
||||
| Backfill | `ksp-job-backfill` | job/lib à préciser | Retenu | `0.3.3` | acquisition historique vers RAW |
|
||||
| Backfill Desk | nom à fixer | app | Retenu | `0.3.4` | contrôle/inspection du backfill RAW |
|
||||
| Worker lifecycle | `ksp-worker-api` | API | Retenu | fin couche RAW | lifecycle des services continus |
|
||||
| RAW worker | `ksp-worker-raw-retriever` ou nom révisé | worker | Retenu | fin couche RAW | acquisition live vers RAW |
|
||||
| CORE processor | nom à fixer | processor/lib | Retenu | couche CORE | normalisation Solana générique RAW -> CORE |
|
||||
| CORE worker | nom à fixer | worker | Retenu | fin couche CORE | backlog RAW -> CORE continu |
|
||||
| Materializer API | `ksp-materializer-api` | API | Retenu | premier groupe DECODE | contrats extensibles matérialisation |
|
||||
| Materializer impl. | `ksp-materializer-lib` | lib | Retenu | premier groupe DECODE | implementations officielles communes |
|
||||
| Execution policy | `ksp-execution-policy-api` | API | Retenu | premier vrai besoin execution | décision/safety multi-contexte |
|
||||
| Execution orchestration | `ksp-execution-lib` | lib | Retenu | premier vrai cycle execution | Program + policy + Wallet + transport |
|
||||
| Scenarios | `ksp-scenario-<domain>-lib` | lib | Retenu | vertical slices | validation métier/devnet par groupe |
|
||||
| Scenario API | `ksp-scenario-api` | API | Non retenu | — | norme souple avant trait commun |
|
||||
| Market Desk | `ksp-app-market-desk` | app | Pressenti | après Meteora/Raydium/Pump/Orca | tokens, pools, trades, liquidity, price, OHLC |
|
||||
| Trading Intelligence | noms à définir | libs/jobs | Futur | après données stables | features/signaux/anomalies/ML |
|
||||
| Domaine | Composant | Type | Statut | Première cible actuelle | Mission |
|
||||
|-------------------------|------------------------------------------|--------------------|--------------|---------------------------------|-------------------------------------------------------------|
|
||||
| Core | `ksp-core-lib` | lib | Stable | `0.1.1` | Error/Result, Program IDs et primitives fondamentales |
|
||||
| Logging | `ksp-logging-lib` | lib | Stable | `0.1.2` | façade unique tracing KSP |
|
||||
| Config | `ksp-config-lib` | lib | Stable | `0.1.3` | documents, profils, env et persistence Config |
|
||||
| Config Desk | `ksp-app-config-desk` | app | Stable | `0.1.4` | validation/management Config |
|
||||
| On-chain HTTP | `ksp-onchain-transport-lib` | lib | Stable | `0.2.1`–`0.2.4` | HTTP standard complet : 52/52 current + 14/14 historical |
|
||||
| Wallet | `ksp-wallet-lib` | lib | Retenu | `0.2.5` | `.kspwallet`, VIEW/OWNER, secrets, signature, import/export |
|
||||
| Wallet Desk | `ksp-app-wallet-desk` | app | Retenu | `0.2.6` | Wallet + Config composite + HTTP/balance |
|
||||
| Standard WS | `ksp-onchain-transport-lib` | lib | Retenu | `0.2.7` | WebSocket Solana complet, sessions/subscriptions |
|
||||
| Helius WS | `ksp-onchain-transport-lib` | lib | Retenu | `0.2.8` | LaserStream WebSocket comme extension du moteur standard |
|
||||
| Yellowstone | `ksp-onchain-transport-lib` | lib | Pressenti | `0.2.9` | client gRPC standard/provider-neutral |
|
||||
| Off-chain price | `ksp-offchain-transport-lib` | lib | Retenu | `0.2.10` | première abstraction/provider de prix SOL/USD, SOL/EUR |
|
||||
| Price Desk | nom à fixer | app | Retenu | `0.2.11` | visualisation/validation des prix |
|
||||
| Wire | `ksp-interface-lib` | lib | Retenu | `0.2.12` | façade wire officielle + API publique wire |
|
||||
| Program API | `ksp-program-api` | API | Retenu | `0.2.13` | contrats extensibles Program |
|
||||
| Program impl. | `ksp-program-lib` | lib | Retenu | vertical slices ultérieurs | implementations Program officielles |
|
||||
| Program extension | `ksp-program-<name>-lib` | lib externe | À la demande | dès besoin | implementation externe de `ksp-program-api` |
|
||||
| Store API | `ksp-store-api` | API | Retenu | `0.3.1` | contrats persistence backend-agnostic, RAW d'abord |
|
||||
| Store PostgreSQL | `ksp-store-lib` | lib | Retenu | `0.3.1` | backend PostgreSQL officiel, RAW d'abord |
|
||||
| Job lifecycle | `ksp-job-api` | API | Retenu | `0.3.3` | lifecycle des jobs terminables |
|
||||
| Backfill | `ksp-job-backfill` | job/lib à préciser | Retenu | `0.3.3` | acquisition historique vers RAW |
|
||||
| Backfill Desk | nom à fixer | app | Retenu | `0.3.4` | contrôle/inspection du backfill RAW |
|
||||
| Worker lifecycle | `ksp-worker-api` | API | Retenu | fin couche RAW | lifecycle des services continus |
|
||||
| RAW worker | `ksp-worker-raw-retriever` ou nom révisé | worker | Retenu | fin couche RAW | acquisition live vers RAW |
|
||||
| CORE processor | nom à fixer | processor/lib | Retenu | couche CORE | normalisation Solana générique RAW -> CORE |
|
||||
| CORE worker | nom à fixer | worker | Retenu | fin couche CORE | backlog RAW -> CORE continu |
|
||||
| Materializer API | `ksp-materializer-api` | API | Retenu | premier groupe DECODE | contrats extensibles matérialisation |
|
||||
| Materializer impl. | `ksp-materializer-lib` | lib | Retenu | premier groupe DECODE | implementations officielles communes |
|
||||
| Execution policy | `ksp-execution-policy-api` | API | Retenu | premier vrai besoin execution | décision/safety multi-contexte |
|
||||
| Execution orchestration | `ksp-execution-lib` | lib | Retenu | premier vrai cycle execution | Program + policy + Wallet + transport |
|
||||
| Scenarios | `ksp-scenario-<domain>-lib` | lib | Retenu | vertical slices | validation métier/devnet par groupe |
|
||||
| Scenario API | `ksp-scenario-api` | API | Non retenu | — | norme souple avant trait commun |
|
||||
| Market Desk | `ksp-app-market-desk` | app | Pressenti | après Meteora/Raydium/Pump/Orca | tokens, pools, trades, liquidity, price, OHLC |
|
||||
| Trading Intelligence | noms à définir | libs/jobs | Futur | après données stables | features/signaux/anomalies/ML |
|
||||
|
||||
## Contrats séparés retenus
|
||||
|
||||
@@ -78,7 +78,7 @@ ksp-data-api
|
||||
|
||||
## Transport
|
||||
|
||||
`ksp-onchain-transport-lib` doit couvrir l'intégralité des opérations documentées de la surface ciblée par chaque release. `0.2.1` stabilise la foundation HTTP et quatre wrappers typés canari, `0.2.2` ajoute 22 wrappers Accounts/Tokens/Cluster et `0.2.3` stabilise les 11 Transactions. La candidate `0.2.4-pre.009` ajoute les 10 Blocks + 5 Economics et atteint 52/52 méthodes HTTP courantes typées, avec 14/14 historiques Deprecated/Removed conservées pour compliance. Les statuts deprecated/obsolete encore fonctionnels et unstable/experimental restent exposés avec warning runtime KSP.
|
||||
`ksp-onchain-transport-lib` doit couvrir l'intégralité des opérations documentées de la surface ciblée par chaque release. `0.2.1` stabilise la foundation HTTP et quatre wrappers typés canari, `0.2.2` ajoute 22 wrappers Accounts/Tokens/Cluster et `0.2.3` stabilise les 11 Transactions. La release stable `0.2.4` ajoute les 10 Blocks + 5 Economics et atteint 52/52 méthodes HTTP courantes typées, avec 14/14 historiques Deprecated/Removed conservées pour compliance. Les statuts deprecated/obsolete encore fonctionnels et unstable/experimental restent exposés avec warning runtime KSP.
|
||||
|
||||
La Config standard Transport appartient à `ksp-config-lib`, qui adapte vers les settings publics du transport ; le transport ne dépend jamais de Config.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/000-README.md -->
|
||||
<!-- version: 39 -->
|
||||
<!-- version: 40 -->
|
||||
|
||||
# Plans KSP
|
||||
|
||||
@@ -19,7 +19,7 @@ Un plan décrit le périmètre, les décisions déjà acquises, les questions ou
|
||||
- [`008-V0_2_1_ONCHAIN_HTTP_PLAN.md`](008-V0_2_1_ONCHAIN_HTTP_PLAN.md) — plan de `0.2.1`, établi par `0.2.1-pre.001`, recalibré par `pre.001-fix.001` et amené en clôture candidate par `pre.007`; il conserve l'inventaire 52 méthodes HTTP courantes + 14 Deprecated historiques, le design Transport/Config et le split de couverture typée sur `0.2.1`–`0.2.4`.
|
||||
- [`009-V0_2_2_HTTP_ACCOUNTS_TOKENS_CLUSTER_PLAN.md`](009-V0_2_2_HTTP_ACCOUNTS_TOKENS_CLUSTER_PLAN.md) — plan clôturé de la release stable `0.2.2`, établi par `pre.001`, corrigé après réaudit Agave v4.2.1 puis exécuté jusqu'à `pre.007-fix.002`; il couvre les 22 wrappers Accounts/Tokens/Cluster, le smoke Transport opt-in et la préparation de `0.2.3`.
|
||||
- [`010-V0_2_3_HTTP_TRANSACTIONS_PLAN.md`](010-V0_2_3_HTTP_TRANSACTIONS_PLAN.md) — plan historique clôturé de la release stable `0.2.3 — HTTP Transactions`, ouvert par `pre.001`, exécuté jusqu'à `pre.009` puis publié par `rel.001`; il couvre les 11 méthodes, la classification `8 Read / 2 WriteSubmission / 1 Simulation`, `KSP-TRANSPORT-007`, le no-resend et la préparation de `0.2.4`.
|
||||
- [`011-V0_2_4_HTTP_BLOCKS_ECONOMICS_PLAN.md`](011-V0_2_4_HTTP_BLOCKS_ECONOMICS_PLAN.md) — plan de `0.2.4`, ouvert par `pre.001` et amené en clôture candidate par `pre.009`; il couvre les 10 Blocks + 5 Economics, les overloads/legacy, les wires/runtime sensibles et la compliance finale `52/52 + 14/14` sous `KSP-TRANSPORT-007`.
|
||||
- [`011-V0_2_4_HTTP_BLOCKS_ECONOMICS_PLAN.md`](011-V0_2_4_HTTP_BLOCKS_ECONOMICS_PLAN.md) — plan historique clôturé de la release stable `0.2.4`, ouvert par `pre.001`, exécuté jusqu’à `pre.009`, complété par le fix documentaire Wallet `pre.009-fix.001` puis publié par `rel.001`; il couvre les 10 Blocks + 5 Economics et la compliance finale `52/52 + 14/14` sous `KSP-TRANSPORT-007`.
|
||||
|
||||
Le `pre.001` de chaque release fonctionnelle peut introduire son propre plan détaillé lorsque la release s'ouvre.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md -->
|
||||
<!-- version: 41 -->
|
||||
<!-- version: 42 -->
|
||||
|
||||
# Séquence des releases fonctionnelles KSP
|
||||
|
||||
@@ -394,15 +394,15 @@ Chaque `pre.001` réaudite la documentation officielle actuelle. Les méthodes D
|
||||
|
||||
`0.2.3-pre.001` réaudite le 2026-08-18 la catégorie Transactions contre la documentation Solana actuelle et Agave v4.2.1 : les 11 méthodes prévues restent exactes, la classification `8 Read / RetrySafe`, `2 WriteSubmission / NeverAfterDispatch` et `1 Simulation / RetrySafe` reste correcte, et le gate de sizing est positif. `pre.002`–`pre.007` livrent ensuite les primitives wire puis les 11 wrappers, `pre.008` réaudite rétroactivement `KSP-TRANSPORT-007` sur les 37 wrappers HTTP typés sans remédiation fonctionnelle, et `pre.009` prépare la candidate finale avec documentation, smoke Transport read-only étendu et prompt `0.2.4`. `0.2.3-rel.001` publie cette surface stable après validation du workspace, des graphes Cargo Transport/Config et des deux smokes Devnet. Aucun `base64`, `bs58`, `wincode` ni client RPC Solana supplémentaire n'est ajouté : les payloads sérialisés restent opaques dans Transport tant qu'un besoin de décodage local n'est pas démontré. Le plan détaillé clôturé est `docs/plans/010-V0_2_3_HTTP_TRANSACTIONS_PLAN.md`.
|
||||
|
||||
`0.2.4-pre.001` réaudite le même jour l'inventaire HTTP officiel et la baseline runtime actuelle : les 15 méthodes réservées restent exactement 10 Blocks + 5 Economics, la navigation Deprecated reste à 14 historiques et Agave stable `v4.2.1` confirme les overloads/limites/extensions sensibles (`getBlock` legacy, `getBlocks`, plafond 500_000, performance samples 720, `commissionBps`). Le gate de sizing est positif sans split de release. `pre.002`–`pre.008` livrent ensuite les DTOs/wires et les 15 wrappers ; `pre.008-fix.001` corrige uniquement la conformité Clippy. `pre.009` réaudite l'index officiel et les SIMDs HTTP sensibles, confirme l'égalité exacte des ensembles 52 current + 14 Deprecated avec le registre, ajoute les canaries de wrapper/compliance globales, étend le smoke Transport aux familles Blocks/Economics, synchronise la documentation et prépare `0.2.5 — Wallet foundation`. Le plan détaillé est `docs/plans/011-V0_2_4_HTTP_BLOCKS_ECONOMICS_PLAN.md`.
|
||||
`0.2.4-pre.001` réaudite le même jour l'inventaire HTTP officiel et la baseline runtime actuelle : les 15 méthodes réservées restent exactement 10 Blocks + 5 Economics, la navigation Deprecated reste à 14 historiques et Agave stable `v4.2.1` confirme les overloads/limites/extensions sensibles (`getBlock` legacy, `getBlocks`, plafond 500_000, performance samples 720, `commissionBps`). Le gate de sizing est positif sans split de release. `pre.002`–`pre.008` livrent ensuite les DTOs/wires et les 15 wrappers ; `pre.008-fix.001` corrige uniquement la conformité Clippy. `pre.009` réaudite l'index officiel et les SIMDs HTTP sensibles, confirme l'égalité exacte des ensembles 52 current + 14 Deprecated avec le registre, ajoute les canaries de wrapper/compliance globales, étend le smoke Transport aux familles Blocks/Economics et synchronise la documentation. `pre.009-fix.001` finalise ensuite le prompt Wallet sans changement Cargo. `0.2.4-rel.001` publie la surface stable après validation du workspace et des deux smokes Devnet. Le plan détaillé clôturé est `docs/plans/011-V0_2_4_HTTP_BLOCKS_ECONOMICS_PLAN.md`.
|
||||
|
||||
## `0.2.5` — Wallet foundation
|
||||
|
||||
Mission : créer `ksp-wallet-lib` et le format `.kspwallet`.
|
||||
|
||||
Inclure protection du secret, pubkey/identity, signature, import/export extensible, changement de mot de passe et publication sûre.
|
||||
Inclure un format `.kspwallet` documenté et interopérable, un threat model d’attaque offline, des capacités indépendantes `VIEW`/`OWNER`, Pubkey/alias/notes protégés lorsque verrouillé, key slots/rotations sans changement de keypair, signature sans exposition publique du secret brut et import/export extensible.
|
||||
|
||||
Exclure : temporary wallet JSON historique et `WalletPolicy`.
|
||||
`pre.001` doit auditer les choix KDF/AEAD/key wrapping/secret memory actuels avant de figer V1. Exclure : temporary wallet JSON historique et `WalletPolicy`.
|
||||
|
||||
## `0.2.6` — Wallet Desk
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/011-V0_2_4_HTTP_BLOCKS_ECONOMICS_PLAN.md -->
|
||||
<!-- version: 6 -->
|
||||
<!-- version: 7 -->
|
||||
|
||||
# Plan `0.2.4` — HTTP Blocks + Economics + compliance HTTP finale
|
||||
|
||||
@@ -18,7 +18,7 @@ Ce plan ouvre `0.2.4` par `0.2.4-pre.001` sur la base stable attendue `v0.2.3`.
|
||||
|
||||
La mission de `0.2.4` est strictement de compléter les **10 Blocks + 5 Economics** déjà affectées à `V0_2_4`, puis de fermer la compliance HTTP globale **52/52 current + 14/14 historical** sous la règle `KSP-TRANSPORT-007`.
|
||||
|
||||
`0.2.4-pre.009` amène ce plan au statut **candidate de clôture** : les 15/15 wrappers `V0_2_4` sont implémentés, l'inventaire officiel final reste 52 current + 14 Deprecated, les deux ensembles correspondent exactement au registre KSP et la matrice durable de clôture est `docs/validation/007-V0_2_4_HTTP_FINAL_COMPLIANCE.md`. Le statut stable reste réservé à `rel.001`.
|
||||
`0.2.4-rel.001` clôt ce plan sous statut **stable** : les 15/15 wrappers `V0_2_4` sont publiés, l'inventaire final reste 52 current + 14 Deprecated, les deux ensembles correspondent exactement au registre KSP et la matrice durable de clôture est `docs/validation/007-V0_2_4_HTTP_FINAL_COMPLIANCE.md`.
|
||||
|
||||
## Gate de sizing `pre.001`
|
||||
|
||||
@@ -542,8 +542,31 @@ réécriture des deltas historiques
|
||||
- dernière prerelease candidate complète ;
|
||||
- `0.2.4-rel.001` strictement publicationnelle.
|
||||
|
||||
## Publication stable `rel.001`
|
||||
|
||||
La candidate `pre.009`, complétée par le fix documentaire `pre.009-fix.001`, a reçu les preuves opérateur de clôture suivantes le **18 août 2026** :
|
||||
|
||||
```text
|
||||
cargo test -p ksp-config-lib OK
|
||||
cargo test -p ksp-core-lib OK
|
||||
cargo test -p ksp-app-config-desk OK
|
||||
cargo test --workspace OK
|
||||
|
||||
Transport dans le workspace :
|
||||
240 unit passed
|
||||
27 public API passed
|
||||
22 release completeness passed
|
||||
|
||||
smoke Devnet Transport pur 1 passed
|
||||
smoke Devnet Config -> Transport 1 passed
|
||||
```
|
||||
|
||||
Les canaries workspace de dépendances et d’ownership Logging passent également dans `cargo test --workspace`. Les sorties manuelles `cargo tree` n’étant pas présentes dans le journal opérateur fourni à la publication, elles ne sont pas déclarées artificiellement comme exécutées ; les contrôles de graphe restent à rejouer avec la gate finale post-application de `rel.001` avant création du tag.
|
||||
|
||||
`rel.001` ne modifie aucun wrapper, DTO, comportement réseau, dépendance ou feature Cargo : il passe uniquement le workspace à `0.2.4` stable et synchronise la documentation de publication.
|
||||
|
||||
## Questions ouvertes
|
||||
|
||||
Aucune question bloquante pour la candidate `pre.009`.
|
||||
Aucune question fonctionnelle ou wire bloquante pour `0.2.4`.
|
||||
|
||||
Les choix fonctionnels et wire de `0.2.4` sont désormais figés pour cette release. Toute nouvelle évolution officielle détectée après cette candidate appartient à une release ultérieure, sauf défaut de conformité démontré nécessitant un fix avant publication.
|
||||
Les choix fonctionnels et wire de `0.2.4` sont figés. Toute nouvelle évolution officielle détectée après publication appartient à une release ultérieure, sauf défaut de conformité démontré nécessitant un correctif stable explicite.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/000-README.md -->
|
||||
<!-- version: 10 -->
|
||||
<!-- version: 11 -->
|
||||
|
||||
# Validations KSP
|
||||
|
||||
@@ -16,4 +16,4 @@ Documents :
|
||||
- [`005-V0_2_3_KSP_TRANSPORT_007_RETRO_AUDIT.md`](005-V0_2_3_KSP_TRANSPORT_007_RETRO_AUDIT.md) — réaudit rétroactif de complétude `KSP-TRANSPORT-007` des 37 wrappers HTTP typés livrés de `0.2.1` à `0.2.3-pre.007`, avec preuves Solana/Agave et verdict méthode par méthode.
|
||||
|
||||
- [`006-V0_2_3_HTTP_TRANSACTIONS.md`](006-V0_2_3_HTTP_TRANSACTIONS.md) — matrice finale validée de `0.2.3`, 11 wrappers Transactions, sécurité write/simulation, réaudit 52+14, `KSP-TRANSPORT-007` 37/37, graphes Cargo et deux smokes Devnet passés avant publication stable.
|
||||
- [`007-V0_2_4_HTTP_FINAL_COMPLIANCE.md`](007-V0_2_4_HTTP_FINAL_COMPLIANCE.md) — matrice candidate de clôture `0.2.4`, inventaire exact 52 current + 14 Deprecated, preuve typed 52/52, audit SIMD final, `KSP-TRANSPORT-007`, smokes et gates de graphes/publication.
|
||||
- [`007-V0_2_4_HTTP_FINAL_COMPLIANCE.md`](007-V0_2_4_HTTP_FINAL_COMPLIANCE.md) — matrice finale validée de `0.2.4`, inventaire exact 52 current + 14 Deprecated, preuve typed 52/52, audit SIMD final, `KSP-TRANSPORT-007`, workspace complet et deux smokes Devnet passés avant publication stable.
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<!-- file: docs/validation/007-V0_2_4_HTTP_FINAL_COMPLIANCE.md -->
|
||||
<!-- version: 1 -->
|
||||
<!-- version: 2 -->
|
||||
|
||||
# Validation candidate `0.2.4` — HTTP Blocks + Economics + compliance finale
|
||||
# Validation finale `0.2.4` — HTTP Blocks + Economics + compliance finale
|
||||
|
||||
## Objet
|
||||
|
||||
Cette matrice porte la preuve de clôture candidate de `0.2.4 — HTTP Blocks + Economics + compliance HTTP finale`.
|
||||
Cette matrice porte la preuve de clôture stable de `0.2.4 — HTTP Blocks + Economics + compliance HTTP finale`.
|
||||
|
||||
Elle complète les validations historiques :
|
||||
|
||||
@@ -16,7 +16,7 @@ Elle complète les validations historiques :
|
||||
|
||||
`0.2.4-pre.009` n'ajoute pas de nouvelle méthode RPC métier. Il agrège les preuves de complétude, étend le smoke live aux familles nouvellement livrées, synchronise la documentation et prépare `0.2.5`.
|
||||
|
||||
`0.2.4-rel.001` reste strictement publicationnelle après validation opérateur complète de cette candidate.
|
||||
`0.2.4-rel.001` est strictement publicationnelle : aucun contrat RPC ou comportement réseau n’est ajouté après la candidate.
|
||||
|
||||
## Base opérateur validée
|
||||
|
||||
@@ -266,7 +266,7 @@ Points de sensibilité couverts :
|
||||
- `commission` nullable et `commissionBps` présent/omis/null indépendants ;
|
||||
- erreurs RPC de contexte/rewards period conservées comme erreurs applicatives distantes.
|
||||
|
||||
Verdict candidate :
|
||||
Verdict final :
|
||||
|
||||
```text
|
||||
KSP-TRANSPORT-007 current wrappers == 52/52
|
||||
@@ -341,44 +341,75 @@ Interprétation importante : `tracing` peut apparaître **transitivement** sous
|
||||
|
||||
Les canaries workspace de dépendances restent des règles globales et ne sont pas déplacées dans Transport.
|
||||
|
||||
## Gate candidate `0.2.4-pre.009`
|
||||
## Gate opérateur finale `0.2.4-pre.009`
|
||||
|
||||
Validation déterministe immédiate attendue :
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets
|
||||
cargo test -p ksp-onchain-transport-lib
|
||||
```
|
||||
|
||||
Compteurs Transport attendus après les deux nouvelles canaries finales :
|
||||
Les résultats opérateur fournis le **18 août 2026** confirment les tests de clôture suivants :
|
||||
|
||||
```text
|
||||
240 unit
|
||||
27 public API
|
||||
22 release completeness
|
||||
1 smoke live ignored par défaut
|
||||
```
|
||||
|
||||
Gate de clôture avant `rel.001` :
|
||||
|
||||
```bash
|
||||
cargo test -p ksp-config-lib
|
||||
95 unit passed
|
||||
5 ownership passed
|
||||
13 public API passed
|
||||
1 smoke Devnet ignored par défaut
|
||||
|
||||
cargo test -p ksp-core-lib
|
||||
14 unit passed
|
||||
3 public API passed
|
||||
2 workspace_dependencies passed
|
||||
1 workspace_logging passed
|
||||
|
||||
cargo test -p ksp-app-config-desk
|
||||
cargo test --workspace
|
||||
63 unit passed
|
||||
2 desktop_contract passed
|
||||
2 desktop_security passed
|
||||
1 public API passed
|
||||
|
||||
cargo test --workspace passed
|
||||
|
||||
Transport observé dans le workspace
|
||||
240 unit passed
|
||||
27 public API passed
|
||||
22 release completeness passed
|
||||
1 smoke Devnet ignored par défaut
|
||||
```
|
||||
|
||||
Puis inspection des huit graphes Cargo ci-dessus et exécution explicite des deux smokes Devnet.
|
||||
Le workspace valide également les suites Logging, dont les canaries d'ownership de la façade tracing. Les tests `workspace_dependencies` de Core confirment notamment que le manifest Transport préserve le firewall de dépendances.
|
||||
|
||||
Les résultats opérateur de `pre.009` seront enregistrés ici pendant `rel.001`; ils ne sont pas anticipés dans la candidate.
|
||||
Les deux smokes réseau ont ensuite été exécutés explicitement :
|
||||
|
||||
```text
|
||||
Transport pur :
|
||||
programmatic_devnet_transport_reaches_accounts_tokens_cluster_transactions_blocks_and_economics_reads
|
||||
-> 1 passed
|
||||
|
||||
Config -> Transport :
|
||||
committed_devnet_transport_profile_reaches_all_foundation_canaries
|
||||
-> 1 passed
|
||||
```
|
||||
|
||||
Le premier smoke est durable et appartient à Transport. Le second reste l'exception transitoire cross-crates déjà documentée.
|
||||
|
||||
### Graphes Cargo
|
||||
|
||||
La candidate définit les huit graphes et recherches de frontière à inspecter dans la section précédente. Le journal opérateur fourni pour `rel.001` ne contient pas leurs sorties textuelles ; cette matrice **ne les déclare donc pas comme exécutés**.
|
||||
|
||||
En revanche, les canaries automatisées correspondantes passent dans le workspace :
|
||||
|
||||
```text
|
||||
workspace_dependency_table_does_not_activate_consumer_features passed
|
||||
transport_manifest_preserves_ksp_dependency_firewall passed
|
||||
behavioral_crates_own_explicit_tracing_targets passed
|
||||
workspace_crates_do_not_bypass_ksp_logging_facade passed
|
||||
```
|
||||
|
||||
Les contrôles `cargo tree` restent à rejouer avant création du tag stable afin de disposer d'une dernière preuve manuelle de graphe sur la version `0.2.4` publiée.
|
||||
|
||||
## Documentation et prochaine release
|
||||
|
||||
La candidate synchronise :
|
||||
La publication synchronise :
|
||||
|
||||
```text
|
||||
CHANGELOG.md
|
||||
ROADMAP.md
|
||||
README/USAGE Transport
|
||||
inventaire composant
|
||||
@@ -394,36 +425,50 @@ prompts/010-V0_2_5_START_PROMPT.md
|
||||
0.2.5 — Wallet foundation
|
||||
```
|
||||
|
||||
Il conserve notamment les frontières déjà décidées :
|
||||
Sa **version 2**, livrée par le fix documentaire `0.2.4-pre.009-fix.001`, ajoute notamment :
|
||||
|
||||
```text
|
||||
ksp-wallet-lib
|
||||
.kspwallet
|
||||
protection des secrets
|
||||
signature
|
||||
import/export extensible
|
||||
changement de mot de passe
|
||||
atomicité/no-clobber
|
||||
|
||||
Wallet -X-> Config
|
||||
Wallet -X-> Transport
|
||||
Wallet -X-> execution policy
|
||||
WalletPolicy hors Wallet
|
||||
interopérabilité externe du .kspwallet
|
||||
threat model de bruteforce offline
|
||||
VIEW / OWNER indépendants
|
||||
Pubkey / alias / notes non lisibles wallet verrouillé
|
||||
key slots / key wrapping à auditer
|
||||
rotation des passwords sans changement de keypair
|
||||
read-only cryptographique VIEW à étudier
|
||||
```
|
||||
|
||||
## Publication `rel.001`
|
||||
|
||||
Après validation opérateur complète :
|
||||
La livraison publicationnelle applique :
|
||||
|
||||
```text
|
||||
workspace.package.version -> 0.2.4
|
||||
ROADMAP : 0.2.4 -> [X]
|
||||
CHANGELOG : synthèse stable 0.2.4
|
||||
plan 011 / validation 007 : preuves finales opérateur + statut stable
|
||||
README/USAGE/inventaires : candidate -> stable
|
||||
plan 011 / validation 007 : statut stable + preuves opérateur
|
||||
deltas/0.2.4/rel.001.md
|
||||
commit : v0.2.4-rel.001
|
||||
tag stable : v0.2.4
|
||||
commit attendu : v0.2.4-rel.001
|
||||
tag stable après gate finale : v0.2.4
|
||||
```
|
||||
|
||||
Aucun wrapper, DTO, comportement runtime, dependency ou feature Cargo ne doit être ajouté pendant `rel.001`.
|
||||
Aucun wrapper, DTO, comportement runtime, dependency ou feature Cargo n'est ajouté pendant `rel.001`.
|
||||
|
||||
Gate finale post-application avant commit/tag :
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets
|
||||
cargo test --workspace
|
||||
|
||||
cargo tree -p ksp-onchain-transport-lib
|
||||
cargo tree -p ksp-onchain-transport-lib -d
|
||||
cargo tree -p ksp-onchain-transport-lib -e features
|
||||
cargo tree -p ksp-onchain-transport-lib -e normal
|
||||
cargo tree -p ksp-config-lib
|
||||
cargo tree -p ksp-config-lib -d
|
||||
cargo tree -p ksp-config-lib -e features
|
||||
cargo tree -p ksp-config-lib -e normal
|
||||
```
|
||||
|
||||
Les smokes Devnet ont déjà été passés sur `pre.009`; comme `rel.001` ne modifie aucun code/runtime, leur répétition n'est pas nécessaire à la démonstration fonctionnelle, mais reste autorisée avant tag si l'opérateur souhaite une ultime vérification réseau.
|
||||
|
||||
Reference in New Issue
Block a user