280 lines
7.5 KiB
Markdown
280 lines
7.5 KiB
Markdown
<!-- file: deltas/0.2.7/pre.014-fix.001.md -->
|
||
<!-- version: 1 -->
|
||
|
||
# Delta `0.2.7-pre.014-fix.001` — complétude du prompt de démarrage `0.2.8`
|
||
|
||
## 1. Base requise
|
||
|
||
Base directe attendue :
|
||
|
||
```text
|
||
0.2.7-pre.014
|
||
workspace.package.version = 0.2.7-pre.14
|
||
```
|
||
|
||
Ce correctif intervient **avant `0.2.7-rel.001`** et corrige uniquement le prompt de reprise de la release suivante.
|
||
|
||
La livraison est :
|
||
|
||
```text
|
||
0.2.7-pre.014-fix.001
|
||
commit = v0.2.7-pre.014-fix.001
|
||
tag = aucun
|
||
```
|
||
|
||
## 2. Nature du fix et signal Cargo
|
||
|
||
Le fix est **strictement documentaire** :
|
||
|
||
```text
|
||
aucun fichier Rust
|
||
aucun Cargo.toml
|
||
aucune configuration runtime
|
||
aucun schema
|
||
aucune dépendance
|
||
aucun comportement HTTP/WebSocket
|
||
```
|
||
|
||
Conformément à `VERSION_WORKFLOW.md`, la version Cargo de la base directe est conservée :
|
||
|
||
```text
|
||
workspace.package.version = 0.2.7-pre.14
|
||
```
|
||
|
||
Le prompt modifié incrémente son header :
|
||
|
||
```text
|
||
prompts/013-V0_2_8_START_PROMPT.md
|
||
version: 1 -> 2
|
||
```
|
||
|
||
## 3. Diagnostic
|
||
|
||
Le prompt produit par `pre.014` contenait déjà une section :
|
||
|
||
```text
|
||
## 12. Prévision souple initiale des prereleases
|
||
```
|
||
|
||
avec un forecast nominal `pre.001 -> pre.007`.
|
||
|
||
Le défaut n'est donc pas l'absence littérale du forecast, mais sa **granularité et son niveau de prescription insuffisants** par rapport :
|
||
|
||
```text
|
||
docs/rules/PROMPT_STRUCTURE.md
|
||
aux prompts de démarrage récents
|
||
au mode de travail réellement appliqué pendant 0.2.7
|
||
```
|
||
|
||
Le `0.2.7-pre.001` avait notamment recalibré son forecast jusqu'à `pre.014` et rendu explicites :
|
||
|
||
```text
|
||
le sizing avant implémentation
|
||
le budget nominal d'environ 15–20 minutes par tranche
|
||
la possibilité de scinder toute tranche trop large
|
||
l'insertion libre de fixes
|
||
le fait que le dernier numéro prévu n'est jamais une deadline
|
||
```
|
||
|
||
Le prompt `0.2.8` regroupait encore trop de responsabilités dans `pre.002` à `pre.007`, ce qui pouvait faire perdre cette discipline au démarrage de la nouvelle session.
|
||
|
||
## 4. Renforcement de la structure du prompt
|
||
|
||
Le prompt `0.2.8` version 2 renforce la reprise stable :
|
||
|
||
- interdit explicitement l'ouverture depuis une prerelease `0.2.7-pre.*` ou un ZIP intermédiaire ;
|
||
- conserve l'archive stable `v0.2.7` fournie par l'opérateur comme première autorité ;
|
||
- exige la vérification du signal Cargo stable et du delta `rel.001`.
|
||
|
||
L'ordre de lecture est complété avec :
|
||
|
||
```text
|
||
docs/architecture/010-APPS_SERVICES_SCENARIOS_AND_CONTROL.md
|
||
docs/validation/005-V0_2_3_KSP_TRANSPORT_007_RETRO_AUDIT.md
|
||
docs/IDEAS.md
|
||
.env.example
|
||
```
|
||
|
||
Ces ajouts servent respectivement à préserver :
|
||
|
||
```text
|
||
les frontières app/service/smoke
|
||
la règle KSP-TRANSPORT-007
|
||
les travaux explicitement différés, dont le metering
|
||
la discipline d'inventaire Config/env pour les futurs credentials Helius
|
||
```
|
||
|
||
## 5. Baseline `pre.001` rendue explicite
|
||
|
||
Le gate d'ouverture doit désormais enregistrer avant modification, lorsque l'environnement le permet :
|
||
|
||
```bash
|
||
cargo fmt --all
|
||
python3 scripts/audit_rust_workspace_rules.py
|
||
cargo check --workspace
|
||
cargo clippy --workspace --all-targets
|
||
cargo tree -p ksp-onchain-transport-lib
|
||
cargo tree -p ksp-onchain-transport-lib --duplicates
|
||
```
|
||
|
||
Une commande indisponible ou non exécutée ne peut jamais être déclarée verte.
|
||
|
||
Le résultat de cette baseline doit vivre dans le plan/delta `pre.001`, comme cela a été pratiqué pendant `0.2.7`.
|
||
|
||
## 6. Sizing et forecast corrigés
|
||
|
||
`pre.001` doit désormais produire pour chaque tranche prévue :
|
||
|
||
```text
|
||
objectif précis
|
||
principaux contrats/fichiers attendus
|
||
preuves/tests/gates attendus
|
||
budget nominal <= environ 15–20 minutes
|
||
critères de split
|
||
```
|
||
|
||
Le forecast initial passe de sept prereleases très agrégées à onze tranches nominales :
|
||
|
||
```text
|
||
pre.001 audit + matrice + architecture + threat model + dependencies + sizing
|
||
pre.002 provider/protocol settings + capability model + secrets/redaction
|
||
pre.003 Config V2 provider + mapping Config -> Transport
|
||
pre.004 transactionSubscribe/unsubscribe params/filters/options
|
||
pre.005 transaction notifications + reconnect/resubscribe/races
|
||
pre.006 account/program extensions Helius retenues
|
||
pre.007 heartbeat/idle + lifecycle/shutdown
|
||
pre.008 capability failures + limits/backpressure/adversarial
|
||
pre.009 compliance provider + non-régressions 18/18 et 52/14
|
||
pre.010 smoke live sûr + dependency audit + README/USAGE
|
||
pre.011 workspace final + docs/matrice/indexes + prompt 0.2.9
|
||
rel.001 publication stable
|
||
```
|
||
|
||
Chaque ligne du prompt contient maintenant également la preuve/gate principal attendu.
|
||
|
||
Ce forecast reste **souple** :
|
||
|
||
```text
|
||
pre.001 doit le recalibrer
|
||
une tranche > 15–20 min doit normalement être scindée
|
||
des tranches peuvent être fusionnées si l'audit réduit réellement la surface
|
||
des fixes peuvent être insérés librement
|
||
pre.011 n'est pas une deadline
|
||
aucun numéro de prerelease ne vaut critère de clôture
|
||
```
|
||
|
||
## 7. Versionnement et archives d'échange
|
||
|
||
Le prompt précise maintenant les noms usuels :
|
||
|
||
```text
|
||
ksp-general-0.2.8-pre.001.zip
|
||
ksp-general-0.2.8-pre.NNN-fix.MMM.zip
|
||
ksp-general-0.2.8-rel.001.zip
|
||
```
|
||
|
||
L'overlay reste minimal et conserve les chemins depuis la racine du workspace.
|
||
|
||
## 8. Critères de clôture renforcés
|
||
|
||
La clôture `0.2.8` reste pilotée par les gates fonctionnels et de compliance, jamais par le forecast.
|
||
|
||
Le prompt précise désormais :
|
||
|
||
```text
|
||
si les gates ne sont pas verts à pre.011 -> continuer avec pre.012+ ou fixes
|
||
forecast réalisé ou explicitement recalibré sans dette silencieuse
|
||
rel.001 seulement après fermeture réelle de la matrice et du workspace
|
||
```
|
||
|
||
## 9. Fichiers
|
||
|
||
Modifié :
|
||
|
||
```text
|
||
prompts/013-V0_2_8_START_PROMPT.md
|
||
```
|
||
|
||
Ajouté :
|
||
|
||
```text
|
||
deltas/0.2.7/pre.014-fix.001.md
|
||
```
|
||
|
||
Volontairement inchangés :
|
||
|
||
```text
|
||
Cargo.toml
|
||
ROADMAP.md
|
||
CHANGELOG.md
|
||
docs/plans/014-V0_2_7_ONCHAIN_WEBSOCKET_PLAN.md
|
||
docs/validation/010-V0_2_7_ONCHAIN_WEBSOCKET.md
|
||
prompts/000-README.md
|
||
crates/**
|
||
config/**
|
||
```
|
||
|
||
Le delta `pre.014.md` publié n'est jamais réécrit.
|
||
|
||
## 10. Runtime / API
|
||
|
||
Aucun contrat runtime ne change.
|
||
|
||
Les acquis restent exactement ceux de `pre.014` :
|
||
|
||
```text
|
||
HTTP 52 current + 14 historical
|
||
WebSocket Solana standard 18/18
|
||
WsSession/WsSubscription lifecycle inchangé
|
||
Config V2 inchangé
|
||
dependency graph inchangé
|
||
comptages de tests inchangés
|
||
```
|
||
|
||
## 11. Validation opérateur
|
||
|
||
Le fix n'introduit aucun Rust ni aucune configuration exécutable.
|
||
|
||
Contrôle documentaire minimal :
|
||
|
||
```bash
|
||
python3 scripts/audit_rust_workspace_rules.py
|
||
```
|
||
|
||
Comme cette livraison devient la base directe de `rel.001`, il est recommandé de rejouer le gate final complet avant clôture :
|
||
|
||
```bash
|
||
cargo fmt --all
|
||
python3 scripts/audit_rust_workspace_rules.py
|
||
cargo check --workspace
|
||
cargo clippy --workspace --all-targets
|
||
cargo test -p ksp-onchain-transport-lib
|
||
cargo test --workspace
|
||
```
|
||
|
||
Comptages attendus inchangés par rapport à `pre.014` :
|
||
|
||
```text
|
||
Transport unit tests = 309
|
||
Transport public API tests = 36
|
||
Transport release completeness = 24
|
||
Transport WebSocket live smoke = 1 ignored par défaut
|
||
Config unit tests = 109
|
||
Core workspace dependency tests = 3
|
||
```
|
||
|
||
Aucun smoke live ni `cargo tree` supplémentaire n'est requis par ce fix documentaire si la base appliquée est exactement `pre.014` et que le graphe n'a pas changé.
|
||
|
||
## 12. Suite
|
||
|
||
Si `0.2.7-pre.014-fix.001` est appliqué et le gate final reste vert, la suite est :
|
||
|
||
```text
|
||
0.2.7-rel.001
|
||
Cargo = 0.2.7
|
||
commit = v0.2.7-rel.001
|
||
tag stable = v0.2.7
|
||
```
|
||
|
||
`rel.001` devra publier la synthèse stable, fermer le statut du plan/matrice et conserver `prompts/013-V0_2_8_START_PROMPT.md` version 2 comme prompt autoritaire de la session suivante.
|