v0.1.0-pre.056

This commit is contained in:
2026-07-26 16:32:14 +02:00
parent a3ce8d733f
commit 562f5c08ed
36 changed files with 801 additions and 872 deletions

View File

@@ -1,58 +1,74 @@
<!-- file: docs/DELTA_WORKFLOW.md -->
<!-- version: 1 -->
<!-- version: 3 -->
# Workflow delta
# Workflow de livraison delta
Après le squelette initial, les livraisons doivent être faites sous forme de zip delta.
Les règles normatives de livraison sont définies dans [`../RULES_GENERAL.md`](../RULES_GENERAL.md). Ce document décrit leur application pratique.
## Nommage des zips
## Nommage
Un delta qui touche la racine du workspace ou plusieurs modules doit utiliser :
Delta multi-module ou racine :
```text
khadhroony-bot2_vX.Y.Z-pre.abc.zip
khadhroony-bot3_vX.Y.Z-pre.abc-delta.zip
```
Un delta qui ne touche qu'un seul module Rust doit utiliser :
Delta limité à un package :
```text
kb_modulename_vX.Y.Z-pre.abc.zip
kb-modulename_vX.Y.Z-pre.abc-delta.zip
```
Exemples :
Correctif dune prerelease déjà livrée :
```text
khadhroony-bot2_v0.1.0-pre.001.zip
kb_logging_v0.1.0-pre.002.zip
khadhroony-bot3_vX.Y.Z-pre.abc-delta-fix-001.zip
```
## Fichier `delta.md`
La numérotation des correctifs recommence à `fix-001` pour chaque nouvelle prerelease.
Chaque zip delta doit contenir un fichier `delta.md` non versionné à la racine du zip.
## Contenu
`delta.md` doit indiquer :
Chaque archive contient uniquement :
- les fichiers ajoutés ;
- les fichiers modifiés ;
- un `delta.md` non versionné à la racine.
Elle exclut :
- les fichiers inchangés ;
- `Cargo.lock` ;
- `package-lock.json` ;
- `node_modules/`, `target/`, `dist/` et les autres sorties de build ;
- `gen/`, les bindings TS-RS générés et tout autre code régénérable ;
- les logs, caches, PID, bases et données locales ;
- les fichiers `.env` réels et toute configuration contenant des secrets ;
- les fichiers dIDE ou propres à la machine ;
- les empreintes SHA256 ;
- les fichiers supprimés, qui doivent être indiqués comme suppressions manuelles.
`.env.example`, `.gitignore` et les autres fichiers source explicitement maintenus peuvent être livrés. `delta.md` est généré spécialement pour le ZIP et reste obligatoire même si les documents `delta*.md` sont ignorés dans le dépôt.
## Contrat de `delta.md`
`delta.md` indique obligatoirement :
- la base requise ;
- les correctifs antérieurs requis ;
- les fichiers ajoutés ;
- les fichiers modifiés ;
- les fichiers à supprimer manuellement ;
- les validations exécutées ;
- les validations non exécutées ;
- les remarques de compatibilité ou d'application du delta.
- les remarques dapplication et de compatibilité.
## Contenu d'un delta
## Application
Un delta contient uniquement :
1. Partir de la base indiquée.
2. Appliquer les deltas et correctifs antérieurs dans lordre indiqué.
3. Extraire larchive à la racine du workspace.
4. Effectuer les suppressions manuelles listées dans `delta.md`.
5. Lancer les validations demandées.
- les fichiers ajoutés ;
- les fichiers modifiés ;
- `delta.md`.
Il ne doit pas contenir de fichiers inchangés.
## Règles
- Ne pas renvoyer un zip complet sauf demande explicite.
- Ne pas modifier `CHANGELOG.md` avant validation d'une version.
- Placer les évolutions prévues dans `ROADMAP.md`.
- Garder `README.md` descriptif.
- Documenter les suppressions dans `delta.md`, car un zip ne supprime pas les anciens fichiers à l'extraction.
Une archive déjà livrée ne doit jamais être remplacée silencieusement sous le même nom.