6.2 KiB
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:09–09: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 parpre.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 surfaces0.3.16;pre.010: préparation minimale de publication avecCHANGELOG.md,ROADMAP.mdetprompts/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
logMessagesexplicitement prouvée établit aujourd'hui une relation de complétude ; - égalité fondée sur les bytes lorsque disponibles, sans faire de
content_hashune 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 ; QuarantinedConflictcomme succès durable non terminal côté Worker : le Worker resteRunning, sa health devientDegradedet 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.