0.3.16-pre.3.fix.1
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/038-V0_3_16_RAW_RESILIENCE_CONFLICT_PLAN.md -->
|
||||
<!-- version: 3 -->
|
||||
<!-- version: 4 -->
|
||||
|
||||
# Plan `0.3.16` -> `0.3.18` — résilience RAW, variantes, conflits et récupération
|
||||
|
||||
@@ -405,9 +405,18 @@ same hash
|
||||
|
||||
Aucune contrainte d'unicité ne doit transformer automatiquement `(signature, content_hash)` en preuve métier. La sérialisation par verrou de l'identité permet de prévenir les doubles insertions concurrentes après comparaison exacte.
|
||||
|
||||
## 7. Structures V003 conceptuelles retenues
|
||||
## 7. Structures V003 retenues
|
||||
|
||||
Les noms SQL exacts seront figés dans la tranche de migration, mais les rôles sont désormais décidés.
|
||||
`0.3.16-pre.003` fige les quatre surfaces physiques minimales suivantes :
|
||||
|
||||
```text
|
||||
ksp_raw_transaction_variants
|
||||
ksp_raw_transaction_canonical_selectors
|
||||
ksp_raw_transaction_observation_variants
|
||||
ksp_raw_transaction_conflicts
|
||||
```
|
||||
|
||||
Le journal append-only complet, les participants de conflit et les parents de variantes synthétiques restent volontairement différés aux tranches `0.3.17` prévues ; V003 réserve ici uniquement les surfaces nécessaires à la vertical slice `0.3.16`.
|
||||
|
||||
### 7.1 Variant ledger
|
||||
|
||||
@@ -519,7 +528,9 @@ Elle ne réécrit jamais A ou B et ne se présente jamais comme une observation
|
||||
|
||||
V000/V001/V002 restent byte-identiques.
|
||||
|
||||
V003 ajoute des ressources nouvelles et, si nécessaire, des index/contraintes nouvelles via une migration indépendante enregistrée avec son propre checksum.
|
||||
V003 ajoute des ressources nouvelles via une migration indépendante enregistrée avec son propre checksum. `0.3.16-pre.003` conserve en outre `src/migration.rs`, `src/schema.rs` et toutes les ressources V000/V001/V002 inchangés : le bootstrap V003 est une extension privée qui délègue d'abord au moteur historique V000-V002 puis applique/valide V003 avec la même clé et le même protocole d'advisory-lock KSP. Cette séparation fournit un canari structurel supplémentaire contre toute dérive des anciens checksums.
|
||||
|
||||
La délégation au moteur historique est limitée aux historiques antérieurs à V002. Une base déjà V002 passe directement sous le verrou V003 ; cela évite qu'un second processus concurrent relise V003 comme une version future du moteur legacy. Si une course sur une base plus ancienne se termine par `SchemaNewer`, elle n'est absorbée que si le registre est alors exactement V003, puis tous les resources et l'identité sont revérifiés.
|
||||
|
||||
### 8.2 Bootstrap des identités existantes
|
||||
|
||||
@@ -955,11 +966,11 @@ Gate d'audit, architecture, sizing, plan et validation. Cette tranche est déjà
|
||||
|
||||
#### `0.3.16-pre.002`
|
||||
|
||||
Contrats Store API backend-neutral : variant identity, relation de qualité, outcomes de persistance, reason codes et contrats minimaux nécessaires au conflit durable. Implémentation livrée par cette tranche ; gate opérateur requis avant `pre.003`.
|
||||
Contrats Store API backend-neutral : variant identity, relation de qualité, outcomes de persistance, reason codes et contrats minimaux nécessaires au conflit durable. Implémentation livrée et gate opérateur confirmé propre après `pre.002-fix.001`.
|
||||
|
||||
#### `0.3.16-pre.003`
|
||||
|
||||
Migration V003 : registre, resources et schéma multi-variantes/selector/conflict minimal ; canaris garantissant l'immuabilité byte/checksum de V000/V001/V002.
|
||||
Migration V003 : registre d'extension, resources et schéma multi-variantes/selector/conflict minimal ; canaris garantissant l'immuabilité byte/checksum de V000/V001/V002. Implémentation livrée par cette tranche ; gate opérateur requis avant `pre.004`.
|
||||
|
||||
#### `0.3.16-pre.004`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user