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

6.2 KiB
Raw Blame History

Delta 0.3.16-rel.001 — publication stable

Base requise

Base directe attendue :

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 :

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 :

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é :

650 -> 651

La version workspace devient :

0.3.16-pre.10 -> 0.3.16

Aucune autre ligne du Cargo.toml racine n'est modifiée.

Fichiers ajoutés

deltas/0.3.16/rel.001.md

Fichiers modifiés

Cargo.toml

Fichiers supprimés

aucun

Surfaces explicitement inchangées

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 :

v0.3.16

et exécute :

prompts/036-V0_3_17_START_PROMPT.md

pour ouvrir :

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 :

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 :

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 :

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 :

commit : v0.3.16-rel.001
tag    : v0.3.16

Aucun tag de prerelease ou rel.001 n'est requis.