0.3.16-pre.001
This commit is contained in:
178
deltas/0.3.16/pre.001.md
Normal file
178
deltas/0.3.16/pre.001.md
Normal file
@@ -0,0 +1,178 @@
|
||||
<!-- file: deltas/0.3.16/pre.001.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.3.16-pre.001` — gate d'audit, architecture et sizing
|
||||
|
||||
## Base requise
|
||||
|
||||
```text
|
||||
v0.3.15
|
||||
commit 7328be6997399c513306f2f4c8cdf00bd8b22367
|
||||
workspace.package.version = 0.3.15
|
||||
```
|
||||
|
||||
Ne pas appliquer sur une `0.3.15-pre.*`.
|
||||
|
||||
## Objet
|
||||
|
||||
Exécuter le gate obligatoire de lecture/audit/brainstorming/sizing défini par `prompts/035-V0_3_16_START_PROMPT.md` avant toute migration ou implémentation lourde de la résilience RAW.
|
||||
|
||||
Cette tranche :
|
||||
|
||||
- réaudite la fermeture stable `0.3.15` ;
|
||||
- réaudite les règles KSP applicables ;
|
||||
- inventorie les contrats Store/Worker/Transport/Config/Store Desk actuels ;
|
||||
- réaudite les sémantiques Solana RPC et PostgreSQL pertinentes ;
|
||||
- compare plusieurs modèles physiques ;
|
||||
- choisit le modèle conceptuel et les ownerships ;
|
||||
- définit les invariants de concurrence/rétention/résolution ;
|
||||
- recalibre le découpage des prereleases ;
|
||||
- ne crée aucune migration SQL finale et ne modifie aucun Rust.
|
||||
|
||||
## Version workspace
|
||||
|
||||
`Cargo.toml` :
|
||||
|
||||
```text
|
||||
header version : 637 -> 638
|
||||
workspace : 0.3.15 -> 0.3.16-pre.1
|
||||
```
|
||||
|
||||
Aucune autre modification sémantique du `Cargo.toml` racine n'est prévue.
|
||||
|
||||
## Fichiers ajoutés
|
||||
|
||||
```text
|
||||
docs/plans/038-V0_3_16_RAW_RESILIENCE_CONFLICT_PLAN.md
|
||||
docs/validation/033-V0_3_16_RAW_RESILIENCE_CONFLICT.md
|
||||
deltas/0.3.16/pre.001.md
|
||||
```
|
||||
|
||||
## Fichiers modifiés
|
||||
|
||||
```text
|
||||
Cargo.toml
|
||||
```
|
||||
|
||||
## Fichiers supprimés
|
||||
|
||||
```text
|
||||
aucun
|
||||
```
|
||||
|
||||
## Décisions principales
|
||||
|
||||
### Variantes
|
||||
|
||||
Modèle retenu : ledger de variantes V003 à identifiant surrogate, sélecteur canonique sidecar et conservation de `ksp_raw_transactions` comme projection canonique compatible V001.
|
||||
|
||||
`content_hash` est un préfiltre/intégrité ; il n'est pas une preuve d'égalité à lui seul lorsque les bytes sont disponibles.
|
||||
|
||||
### Observations
|
||||
|
||||
Toute observation créée sous V003 devra pointer vers la variante réellement reçue.
|
||||
|
||||
Les observations historiques dont le payload entrant n'a pas été conservé sont qualifiées legacy/unknown et ne sont jamais faussement rattachées à une variante native reconstruite.
|
||||
|
||||
### Comparaison
|
||||
|
||||
Relations internes retenues :
|
||||
|
||||
```text
|
||||
Exact
|
||||
CompatibleLessComplete
|
||||
CompatibleMoreComplete
|
||||
Conflict
|
||||
Incomparable
|
||||
```
|
||||
|
||||
Seule la troncature `logMessages` strictement prouvée autorise une dominance automatique en première implémentation.
|
||||
|
||||
### Rétention
|
||||
|
||||
Les variantes nécessaires au canonique courant, aux conflits ouverts, au rollback ou à la lignée synthétique peuvent être archivées mais restent protégées contre une purge irréversible tant que l'invariant dépend de leurs bytes.
|
||||
|
||||
### Store retry
|
||||
|
||||
Le backend Store classe les fautes `Transient/Terminal` de manière backend-neutral ; le Worker orchestre retry, backpressure, health et exhaustion.
|
||||
|
||||
### Transport reconnect
|
||||
|
||||
La reconnexion reste propriété de `ksp-onchain-transport-lib` et étend les mécanismes existants. Elle reste distincte du retry Store et ne prouve jamais la coverage.
|
||||
|
||||
### Store Desk
|
||||
|
||||
Inspection et résolution passent exclusivement par `ksp-store-lib`. Les actions futures sont typées et protégées par revision attendue.
|
||||
|
||||
## Découpage recalibré
|
||||
|
||||
La release est étendue jusqu'à une prévision souple `pre.022` avant `rel.001` afin de ne pas fusionner artificiellement migration, backend, convergence, rétention, Worker, Transport, Desk et gates de fermeture.
|
||||
|
||||
Le détail est dans le plan `038`.
|
||||
|
||||
## Hors périmètre
|
||||
|
||||
Inchangé par rapport au prompt 035 :
|
||||
|
||||
```text
|
||||
Backfill multi-route/multi-stratégie
|
||||
Backfill Desk multi-route
|
||||
RAW -> STRUCTURAL
|
||||
STRUCTURAL persistence
|
||||
DECODED / DOMAIN
|
||||
majority/provider authority
|
||||
free JSON merge
|
||||
Internet reconstruction as normal rollback
|
||||
second acquisition pipeline
|
||||
Worker <-> Backfill dependency
|
||||
```
|
||||
|
||||
## Validations réellement exécutées lors de l'assemblage du delta
|
||||
|
||||
L'environnement d'assemblage possède uniquement les fichiers du delta, pas le checkout complet `v0.3.15`.
|
||||
|
||||
Sont exécutés sur l'archive produite :
|
||||
|
||||
```text
|
||||
parse TOML du Cargo.toml delta
|
||||
vérification workspace.package.version = 0.3.16-pre.1
|
||||
vérification des headers file/version des quatre fichiers
|
||||
vérification newline finale
|
||||
vérification absence de lockfile/cache/secret dans le ZIP
|
||||
vérification inventaire ZIP exact
|
||||
```
|
||||
|
||||
Ne sont pas déclarés PASS ici :
|
||||
|
||||
```text
|
||||
cargo fmt/check/clippy/test workspace
|
||||
scripts/audit_rust_workspace_rules.py
|
||||
scripts/audit_markdown_tables.py du dépôt complet
|
||||
byte-compare de l'archive source v0.3.15
|
||||
```
|
||||
|
||||
L'archive binaire source stable n'était pas matérialisable dans l'environnement d'assemblage. L'arbre/tag canonique et le commit de base ont été vérifiés via le dépôt public.
|
||||
|
||||
## Gate demandé après application
|
||||
|
||||
À exécuter par l'opérateur sur le checkout exact `v0.3.15` après application du delta :
|
||||
|
||||
```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
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||||
```
|
||||
|
||||
Aucun test live/provider/PostgreSQL n'est requis par ce gate documentaire s'il n'est pas explicitement exécuté. Aucun `npm run build` n'est utilisé.
|
||||
|
||||
## Prochaine tranche
|
||||
|
||||
Après gate propre :
|
||||
|
||||
```text
|
||||
0.3.16-pre.002
|
||||
```
|
||||
|
||||
Objet prévu : contrats Store API backend-neutral pour variantes, relations de qualité, reason codes et outcomes de persistance, sans migration PostgreSQL anticipée.
|
||||
Reference in New Issue
Block a user