Files
khadhroony-bot3/docs/DOCUMENTATION_REFACTOR_PLAN.md
2026-07-30 14:32:30 +02:00

372 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- file: docs/DOCUMENTATION_REFACTOR_PLAN.md -->
<!-- version: 1 -->
# Plan de refonte documentaire
## 1. Objectif
Ce plan transforme progressivement la documentation de `khadhroony-bot3 v0.1.0-pre.062` sans mélanger audit, déplacements, réécriture historique, documentation par crate et décision de réalignement vers `0.4.6`.
Aucune version Cargo ne doit être modifiée avant la conclusion de `docs/V0_4_6_ALIGNMENT_AUDIT.md`.
## 2. Principes dexécution
- livrer des deltas courts et thématiques ;
- ne pas créer en masse des documents vides ;
- documenter une crate à partir de ses APIs et tests réels ;
- ne pas inventer dAPI ou de validation ;
- archiver avant de retirer un document ayant une valeur historique ;
- corriger toutes les références avant chaque déplacement ;
- conserver séparément les archives bot2 et bot3 ;
- ne pas rouvrir les audits techniques Solana déjà validés sans écart concret ;
- exécuter uniquement les validations réellement nécessaires au delta.
## 3. Contrat documentaire à inscrire dans les règles
Chaque crate du workspace doit posséder les quatre fichiers suivants :
```text
README.md
TODO.md
USAGE.md
CHANGELOG.md
```
### 3.1 `README.md`
Contenu minimal :
- objectif et périmètre ;
- responsabilités et exclusions ;
- fonctionnalités principales ;
- principales APIs ou façades ;
- relations avec les autres crates ;
- liens vers `USAGE.md`, `TODO.md`, `CHANGELOG.md` et larchitecture pertinente.
Le README ne contient pas le journal détaillé des versions.
### 3.2 `TODO.md`
Sections minimales :
- fonctionnalités manquantes ;
- dette technique ;
- tests manquants ;
- validations Devnet/Mainnet manquantes ;
- documentation manquante ;
- dépendances externes ;
- éléments reportés ;
- hors périmètre.
Les sections sans élément doivent indiquer explicitement quaucun élément nest actuellement recensé, plutôt que rester vides.
### 3.3 `USAGE.md`
Contenu minimal :
- objectif ;
- prérequis ;
- configuration ;
- APIs publiques significatives ;
- description des types importants ;
- erreurs et invariants ;
- exemples réalistes ou compilables ;
- au moins un exemple par API publique significative ;
- limites connues ;
- liens vers tests, fixtures et matrices.
Une API nest documentée quaprès vérification dans le code et les exports publics.
### 3.4 `CHANGELOG.md`
Le changelog de crate distingue :
- non publié ;
- releases ;
- prereleases ;
- correctifs `fix` ;
- ajouts ;
- modifications ;
- corrections ;
- suppressions ;
- migrations ;
- compatibilité ;
- validations ;
- limitations connues.
Il est mis à jour pour tout changement fonctionnel de la crate. Les changements purement documentaires peuvent être regroupés dans une entrée documentaire explicite.
## 4. Arborescence cible
```text
docs/
├── README.md
├── architecture/
├── audits/
├── decisions/
├── generated/
├── guides/
├── migrations/
├── protocols/
├── rules/
└── validation/
olddocs/
├── archivekbot2/
└── archivekbot3/
```
Le premier déplacement structurel devra inclure un tableau de correspondance ancien chemin vers nouveau chemin dans `docs/README.md` ou dans un rapport de migration dédié.
## 5. Séquence de deltas
### Delta 1 — audit et plan
Fichiers ajoutés :
- `docs/DOCUMENTATION_REFACTOR_AUDIT.md` ;
- `docs/DOCUMENTATION_REFACTOR_PLAN.md`.
Aucun déplacement et aucune réécriture massive.
Validations :
```bash
python3 scripts/audit_rust_workspace_rules.py
git diff --check
```
### Delta 2 — archives et index documentaire
Travail :
1. créer `olddocs/archivekbot2/` ;
2. y copier intégralement `khadhroony-bot2/docs/` ;
3. créer `olddocs/archivekbot3/` ;
4. créer `docs/README.md` ;
5. créer larborescence utile sans fichiers factices ;
6. documenter la provenance, la non-normativité et lintégrité logique de larchive bot2.
Aucun document bot3 actif ne doit encore être supprimé.
### Delta 3 — règles documentaires
Travail :
1. corriger `RULES_GENERAL.md` pour imposer les quatre fichiers exacts par crate ;
2. supprimer les variantes obsolètes `001.README.md` et `USAGES.md` ;
3. définir la frontière entre README, TODO, USAGE, CHANGELOG général et changelogs de crates ;
4. préciser le rôle de `docs/`, `olddocs/archivekbot2/` et `olddocs/archivekbot3/` ;
5. définir les règles de prompts et darchivage documentaire.
Les règles restent temporairement à la racine dans ce delta.
### Delta 4 — déplacement des règles secondaires
Travail :
1. créer `docs/rules/` ;
2. déplacer `RULES_GENERAL.md`, `RULES_RUST.md` et `RULES_SPECIFIC_KHADHROONY.md` ;
3. mettre à jour `RULES.md` ;
4. corriger les liens internes ;
5. adapter `scripts/audit_khadhroony_workspace_rules.py` ;
6. corriger les références dans prompts, README et documents donboarding ;
7. vérifier quaucune référence active aux anciens chemins ne subsiste.
Validations obligatoires :
```bash
python3 scripts/audit_rust_workspace_rules.py
git diff --check
```
### Delta 5 — changelog général de transition
Travail :
1. préserver une copie historique du changelog bot2 ;
2. reconstruire le changelog bot3 ;
3. reprendre lhistorique fonctionnel pertinent de `0.0.1` à `0.4.6` ;
4. ajouter la transition bot2 vers bot3 ;
5. documenter consolidation, renommages et validations `0.1.0-pre.*` ;
6. conserver les limites, notamment ElGamal non validé Devnet ;
7. distinguer clairement version fonctionnelle et prereleases de migration.
Le changelog ne doit pas affirmer que bot3 est déjà officiellement `0.4.6`.
### Delta 6 — roadmap général
Reconstruire `ROADMAP.md` selon les séries suivantes :
- `0.4.6` : fermeture de lalignement et écarts résiduels ;
- `0.4.7` : Metaplex Token Metadata et clôture `0.4.x` ;
- `0.5.x` : configuration, scénarios autonomes, CLI, fixtures et wallet ;
- `0.6.x` : infrastructure Anchor, reste SPL et Metaplex ;
- `0.7.x` : Meteora ;
- `0.8.x` : Raydium ;
- `0.9.x` : Pump ;
- `0.10.x` : Orca ;
- `0.11.x` : Jupiter ;
- `0.12.x` : OKX et autres routers ;
- `0.13.x` : transports temps réel ;
- `0.14.x` : trading, workers et orchestration ;
- `0.15.x+` : extensions futures.
Le roadmap ne contient ni prereleases, ni correctifs `fix`, ni journal détaillé du passé.
### Delta 7 — documentation des crates fondamentales
Ordre proposé :
1. `kb-core` ;
2. `kb-config` ;
3. `kb-logging` ;
4. `kb-program-ids` ;
5. `kb-store`.
Pour chaque crate : auditer les exports publics, tests, erreurs, exemples existants et dépendances avant de rédiger les quatre fichiers.
### Delta 8 — documentation du noyau fonctionnel
Ordre proposé :
1. `kb-lib` ;
2. `kb-pipeline` ;
3. `kb-onchain-transport`.
`kb-lib` devra être traité par sections cohérentes et liens vers les matrices, sans transformer son README en catalogue exhaustif de toutes les fonctions.
### Delta 9 — démonstrations et wallet
Ordre proposé :
1. `kb-pipeline-demo-scenarios` ;
2. `kb-app-demo-desktop` ;
3. `kb-wallet`.
Les TODO doivent expliciter :
- lautonomie incomplète éventuelle des scénarios ;
- les contraintes de validation Tauri ;
- le statut débauche de `kb-wallet` et son périmètre `0.5.x`.
### Delta 10 — réorganisation des documents actifs
Travail :
- déplacer les guides et rapports Devnet ;
- classer les documents IDL ;
- classer la convention de nommage ;
- ventiler `IDEA_REMINDERS.md` dans les TODO ou décisions ;
- mettre à jour toutes les références ;
- archiver sous `olddocs/archivekbot3/` les audits et plans remplacés qui conservent une valeur historique.
Aucun déplacement ne doit laisser de lien cassé.
### Delta 11 — refonte des prompts
Travail :
1. copier ou référencer les prompts bot2 historiques dans larchive appropriée sans les rendre normatifs ;
2. créer `prompts/README.md` ;
3. créer un modèle bot3 contenant mission, base validée, périmètre, hors périmètre, règles, architecture, fichiers à lire, tests, critères de clôture, livraison, limites, décisions reportées et état Git ;
4. migrer les informations bot3 utiles ;
5. archiver les deux prompts de migration actuels lorsque leurs informations ont été reprises.
### Delta 12 — audit dalignement `0.4.6`
Créer :
```text
docs/V0_4_6_ALIGNMENT_AUDIT.md
```
Laudit synthétise, sans réauditer intégralement les protocoles :
- composants migrés ;
- renommages ;
- consolidations ;
- versions Cargo ;
- noms de crates et binaires ;
- exports ;
- tests ;
- validations Devnet ;
- ElGamal ;
- transports ;
- documentation par crate ;
- prompts et archives ;
- `kb-wallet` ;
- futur split de `kb-config` ;
- autonomie de `kb-pipeline-demo-scenarios` ;
- écarts résiduels.
Conclusion obligatoire :
```text
READY_FOR_0_4_6
READY_WITH_DOCUMENTED_EXCEPTIONS
NOT_READY_FOR_0_4_6
```
### Delta 13 — décision de versionnement
Seulement après validation du delta 12 :
- décider du passage officiel à `0.4.6` ;
- modifier les versions Cargo si la conclusion le permet ;
- mettre à jour changelogs, documentation et prompt de session ;
- exécuter les validations workspace imposées pour les modifications de code ou de structure.
## 6. Matrice de validation
### Documentation pure
```bash
python3 scripts/audit_rust_workspace_rules.py
git diff --check
```
### Code, scripts daudit ou structure utilisée par le code
```bash
cargo fmt --all
cargo check --workspace
cargo clippy --all-targets
python3 scripts/audit_rust_workspace_rules.py
```
Ajouter les tests des crates modifiées.
### Frontend desktop
La validation frontend ne doit jamais utiliser `npm --prefix kb-app-demo-desktop run build`.
La validation runtime se fait par :
```bash
cargo tauri dev -c kb-app-demo-desktop/tauri.conf.json
```
## 7. Risques contrôlés
| Risque | Mesure |
|----------------------------------------------------|--------------------------------------------------------------|
| perte dhistorique bot2 | copie intégrale dans `olddocs/archivekbot2/` avant reprise |
| règles introuvables après déplacement | correction préalable des scripts et références, delta dédié |
| documentation dAPI inventée | lecture des exports et tests avant rédaction |
| changelog général trop détaillé | déléguer le détail fonctionnel aux changelogs de crates |
| roadmap redevenant une checklist | interdire prereleases et correctifs dans le roadmap général |
| confusion entre migration et version fonctionnelle | section de transition explicite et audit dalignement séparé |
| fausse validation ElGamal | conserver le statut non validé Devnet |
| modification massive difficile à relire | un thème documentaire par delta |
## 8. Première décision attendue
Valider le présent audit et le séquençage des deltas avant :
- la copie de larchive bot2 dans `olddocs/` ;
- le déplacement des règles ;
- la reconstruction du changelog et du roadmap ;
- la création des documents par crate ;
- la modification des versions Cargo.