Files
khadhroony-solana-project/deltas/0.3.16/rel.001.md
2026-09-22 10:52:21 +02:00

185 lines
6.2 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: deltas/0.3.16/rel.001.md -->
<!-- version: 1 -->
# Delta `0.3.16-rel.001` — publication stable
## Base requise
Base directe attendue :
```text
0.3.16-pre.010
workspace.package.version = 0.3.16-pre.10
```
Le gate minimal opérateur de `pre.010`, exécuté le **22 septembre 2026 à 09:0909:11**, est propre :
```text
cargo fmt --all : PASS
cargo fmt --all -- --check : PASS
General Rust rule audit : clean
Rust export completeness audit : 0 candidate(s)
KSP workspace Rust rule audit : clean
Markdown table audit : clean (352 table(s), 961 file(s))
cargo check --workspace : PASS
```
Les couloirs de fermeture précédents sont fermés :
- `pre.008`, corrigée par `pre.008-fix.001` : hardening technique final, concurrence/rollback, non-régressions Store/Backfill/Worker et preuve live PostgreSQL 17 ;
- `pre.009` : réconciliation documentaire finale des surfaces `0.3.16` ;
- `pre.010` : préparation minimale de publication avec `CHANGELOG.md`, `ROADMAP.md` et `prompts/036-V0_3_17_START_PROMPT.md`.
## Objet
Publier mécaniquement la version stable :
```text
0.3.16
```
Conformément à `VER-LIFECYCLE-012`, cette tranche ne corrige ni code, ni test, ni documentation durable, ni architecture, ni configuration, ni dépendance, ni prompt.
Tout défaut nouveau renvoie vers une prerelease appropriée ; `rel.001` n'est pas une tranche de rattrapage.
## Modification
### `Cargo.toml`
Le header est incrémenté parce que le fichier est réellement modifié :
```text
650 -> 651
```
La version workspace devient :
```text
0.3.16-pre.10 -> 0.3.16
```
Aucune autre ligne du `Cargo.toml` racine n'est modifiée.
## Fichiers ajoutés
```text
deltas/0.3.16/rel.001.md
```
## Fichiers modifiés
```text
Cargo.toml
```
## Fichiers supprimés
```text
aucun
```
## Surfaces explicitement inchangées
```text
CHANGELOG.md
ROADMAP.md
README.md
RULES.md
prompts/036-V0_3_17_START_PROMPT.md
crates/**
docs/**
config/**
```
La surface préparée en `pre.010` reste byte-identique hors mécanique Cargo et ajout du présent delta.
## Surface stable publiée
`0.3.16` stabilise les fondations RAW multi-variantes et la convergence durable de plusieurs représentations `RawTransaction` pour une même identité `(network, signature)` :
- migration PostgreSQL V003 additive avec variantes, sélecteur canonique, lien observation-variante et conflict cases minimaux, tout en conservant V000/V001/V002 inchangés ;
- comparateur backend-neutral partagé `Exact / CompatibleLessComplete / CompatibleMoreComplete / Conflict / Incomparable` ;
- dominance fail-closed : seule la troncature `logMessages` explicitement prouvée établit aujourd'hui une relation de complétude ;
- égalité fondée sur les bytes lorsque disponibles, sans faire de `content_hash` une preuve suffisante ;
- décision sérialisée sous verrou de l'identité V001 ;
- promotion atomique d'une variante `CompatibleMoreComplete`, avec conservation de l'ancien canonique et cohérence entre projection V001 et sélecteur ;
- conservation durable des divergences `Conflict`/`Incomparable`, ouverture/réouverture d'un conflict case et enregistrement de l'observation sans mutation du canonique ;
- `QuarantinedConflict` comme succès durable non terminal côté Worker : le Worker reste `Running`, sa health devient `Degraded` et chaque acquisition continue d'atteindre le Store ;
- projection Backfill du conflit durable sans perdre l'idempotence réelle de l'observation ;
- hardening final des races, du rollback transactionnel et de la cohérence selector/projection ;
- preuve live PostgreSQL 17 des scénarios RawTransaction atomiques, concurrents et récupérables.
La release ne revendique pas encore la résolution opérateur complète, le journal/participants complets, la rétention/pinning des variantes nécessaires à une résolution, le retry Store/backpressure `Blocked`, la reconnexion Transport configurable ni les vues Store Desk de résolution. Ces responsabilités sont reportées conformément au `ROADMAP.md` et au prompt suivant.
## Suite préparée
La session suivante part exclusivement de la base stable :
```text
v0.3.16
```
et exécute :
```text
prompts/036-V0_3_17_START_PROMPT.md
```
pour ouvrir :
```text
0.3.17 — résilience opérationnelle et cycle de vie complet des variantes RAW
```
`0.3.17-pre.001` doit commencer par l'audit/sizing des contrats backend-neutral d'inspection/résolution, du cycle de vie revisionné des conflict cases, des races et invariants, de la rétention/pinning, de la classification Store `Transient / Terminal`, du retry Worker et de la reconnexion Transport configurable avant toute implémentation lourde.
La trajectoire publiée est :
```text
0.3.17 résilience opérationnelle + cycle de vie complet des variantes
0.3.18 Store Desk inspection / résolution des conflits
0.3.19 Backfill multi-route / multi-stratégie
0.3.20 adaptation correspondante de Backfill Desk
```
## Validations d'assemblage
Sur l'état candidat `rel.001`, avant packaging :
```text
General Rust rule audit : clean
Rust export completeness audit : 0 candidate(s)
KSP workspace Rust rule audit : clean
Markdown table audit : clean
```
Les contrôles d'archive et la comparaison byte-exact sont exécutés après packaging avant livraison.
Aucun PASS Cargo post-bump stable n'est revendiqué localement faute de toolchain dans l'environnement d'assemblage.
## Gate demandé après application
La tranche est purement mécanique. Après application sur un `pre.010` dont le gate préalable est vert :
```bash
cargo fmt --all -- --check
python3 scripts/audit_rust_workspace_rules.py
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas/0.3.16
cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test -p ksp-store-api --all-targets --all-features
cargo test -p ksp-store-lib --all-targets --all-features
cargo test -p ksp-store-postgres-lib --all-targets --all-features
cargo test -p ksp-job-backfill-lib --all-targets --all-features
cargo test -p ksp-worker-raw-transaction-ingest-lib --all-targets --all-features
```
Après gate propre :
```text
commit : v0.3.16-rel.001
tag : v0.3.16
```
Aucun tag de prerelease ou `rel.001` n'est requis.