v0.3.3-pre.003-fix.001
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/020-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION.md -->
|
||||
<!-- version: 3 -->
|
||||
<!-- version: 4 -->
|
||||
|
||||
# Validation `0.3.3` — Store/PostgreSQL RawTransaction vertical slice
|
||||
|
||||
@@ -11,7 +11,7 @@ Cette validation accompagne :
|
||||
0.3.3 — Store/PostgreSQL RawTransaction vertical slice
|
||||
```
|
||||
|
||||
Elle démarre en `0.3.3-pre.001` comme matrice de preuve. Les gates opérateur de `pre.001` et `pre.002` sont verts. Les lignes non encore implémentées restent explicitement `À FAIRE`; elles ne sont pas présentées comme acquises.
|
||||
Elle démarre en `0.3.3-pre.001` comme matrice de preuve. Les gates opérateur de `pre.001` et `pre.002` sont verts. `pre.003` a été commité avant son gate opérateur ; `pre.003-fix.001` corrige donc sa matérialisation physique par-dessus ce commit. Les lignes non encore implémentées restent explicitement `À FAIRE`; elles ne sont pas présentées comme acquises.
|
||||
|
||||
## 2. Baseline stable
|
||||
|
||||
@@ -206,14 +206,14 @@ Critère : aucune branche ne doit utiliser `as i64`, `as i32`, clamp ou saturati
|
||||
|
||||
### 7.1 Bootstrap
|
||||
|
||||
| Cas | Résultat attendu |
|
||||
|-------------------------------------------|------------------------------------------------------------------------|
|
||||
| V001 appliquée pour la première fois | identity créée avec le réseau runtime dans la transaction de bootstrap |
|
||||
| réouverture même réseau | succès idempotent |
|
||||
| réouverture autre réseau | erreur terminale sûre |
|
||||
| V001 présente mais identity absente | mismatch/corruption, jamais rebind silencieuse |
|
||||
| identity malformée | erreur terminale sûre |
|
||||
| migration pending + auto_migrate disabled | backend non prêt, aucune persistence métier |
|
||||
| Cas | Résultat attendu |
|
||||
|-----------------------------------------------|------------------------------------------------------------------------|
|
||||
| V001 appliquée pour la première fois | identity créée avec le réseau runtime dans la transaction de bootstrap |
|
||||
| réouverture même réseau | succès idempotent |
|
||||
| réouverture autre réseau | erreur terminale sûre |
|
||||
| V001 présente mais identity absente | mismatch/corruption, jamais rebind silencieuse |
|
||||
| identity malformée | erreur terminale sûre |
|
||||
| migration pending + `schema_autoupdate=false` | backend non prêt, aucune persistence métier |
|
||||
|
||||
### 7.2 Pré-I/O capability
|
||||
|
||||
@@ -446,17 +446,25 @@ Preuves acquises en `pre.002` avant création réelle de V001 :
|
||||
- les migrations pending sont appliquées dans l'ordre sous la transaction et l'advisory lock déjà acquis ;
|
||||
- chaque migration vérifie encore la forme de la metadata avant d'insérer sa ligne d'historique.
|
||||
|
||||
Preuves matérialisées en `pre.003` avec la vraie V001 :
|
||||
Le commit `pre.003` a matérialisé la vraie V001 et son binding réseau, mais son fichier SQL monolithique et le seul contrôle de l'historique ne suffisaient pas à prouver la compatibilité structurelle de la base. Son checksum V001 historique de prerelease était `6fe57ed0313d2ed295280dd6e49f6d86695d4e4effee2724a25e36db1ea17761`.
|
||||
|
||||
- registre réel `[V000, V001]` et version courante dérivée `1` ;
|
||||
- historique V000 seul reconnu comme préfixe exact avec V001 pending ;
|
||||
- historique V000+V001 exact reconnu comme complet ;
|
||||
- checksum V001 figé à `6fe57ed0313d2ed295280dd6e49f6d86695d4e4effee2724a25e36db1ea17761` ;
|
||||
- binding réseau réel branché dans le hook `StoreIdentity` ;
|
||||
- inventaire physique exact : identity, canonical, observations, archive, index partiel ;
|
||||
- bornes SQL statiquement alignées sur `u64`, `u32`, `RawTimestamp`, payload 16 MiB et source payload 64 MiB.
|
||||
Preuves statiques ajoutées par `pre.003-fix.001` :
|
||||
|
||||
L'application V000 -> V001, le rollback réel du hook, la réouverture même/autre réseau et la divergence de checksum sur PostgreSQL réel restent à prouver dans le gate live dédié `pre.009`; ils ne sont pas déclarés PASS dans cette tranche.
|
||||
- V000 déplacée byte-identique, checksum toujours `d29068b8c13b9dc0cc9ef6aaadd0fa12d41e0fe4c56541a1118c4bfc846a1450` ;
|
||||
- V001 logique unique composée de 40 ressources ordonnées : 4 tables, 35 contraintes et 1 index ;
|
||||
- checksum V001 multi-ressources `31488cda2f08f3f46c4cdbdbb6c18c243662fada02eac4487040c8735d72cc51` ;
|
||||
- anciens fichiers monolithiques absents après application du delta ;
|
||||
- `CREATE ... IF NOT EXISTS`/guards servent uniquement à la création additive, jamais à déclarer un objet compatible ;
|
||||
- inspection catalogue indépendante de l'historique avec états `Compatible`, `Missing`, `Incompatible` ;
|
||||
- contraintes attendues comparées exactement à une définition canonique issue de la ressource SQL correspondante ;
|
||||
- colonne externe nullable sans default/identity/generated acceptée comme extension non bloquante ;
|
||||
- index externe non unique accepté ;
|
||||
- mauvais type/nullabilité sur colonne obligatoire, extra colonne write-blocking, contrainte externe non équivalente, unique index autonome, trigger actif, rule ou RLS bloquent `Ready` ;
|
||||
- ressource obligatoire manquante réparable seulement lorsque la politique le permet et que la réparation est additive/sûre ;
|
||||
- identité V001 manquante sur un historique déjà appliqué reste terminale et n'est jamais auto-recréée ;
|
||||
- `std.store` V2 sépare `schema_autocreate` et `schema_autoupdate`, avec lecture V1 conservée et mapping de `auto_migrate` vers les deux valeurs.
|
||||
|
||||
L'application V000 -> V001, les réparations réelles, le rollback du hook, la réouverture même/autre réseau et la matrice de drift sur PostgreSQL réel restent à prouver dans le gate live dédié `pre.009`; elles ne sont pas déclarées PASS par le correctif statique. Une base ayant déjà enregistré l'ancien checksum V001 de `pre.003` doit être réinitialisée ou réconciliée manuellement ; le moteur ne réécrit pas son historique silencieusement.
|
||||
|
||||
### 17.2 Binding réseau atomique
|
||||
|
||||
@@ -522,11 +530,21 @@ cap 500/1000 dans Store pagination
|
||||
|
||||
### `pre.003`
|
||||
|
||||
- V001 + tables/constraints/indexes : PASS statique ;
|
||||
- V001 + tables/constraints/indexes : matérialisé puis corrigé par `pre.003-fix.001` ;
|
||||
- binding réseau hook `AppliedNow`/`Existing` : PASS statique ;
|
||||
- checksum/inventory/bounds tests : PASS statique ;
|
||||
- code `postgres_retention_compaction_unsupported` backend + façade : PASS ;
|
||||
- preuve PostgreSQL réelle V001 : différée à `pre.009`.
|
||||
- gate opérateur `pre.003` : NON FOURNI avant le correctif.
|
||||
|
||||
### `pre.003-fix.001`
|
||||
|
||||
- arborescence versionnée et 40 ressources V001 : PASS statique ;
|
||||
- V000 byte-identique/checksum historique : PASS statique ;
|
||||
- checksum/inventory/order V001 multi-ressources : PASS statique ;
|
||||
- contrat catalogue `Compatible/Missing/Incompatible` : PASS statique ;
|
||||
- politiques `schema_autocreate` / `schema_autoupdate` + compatibilité Config V1 : PASS statique ;
|
||||
- extensions externes non bloquantes tolérées, extensions write-blocking refusées : PASS statique ;
|
||||
- preuve PostgreSQL réelle V001/drift/réparation : différée à `pre.009` ;
|
||||
- gate Cargo opérateur : À EXÉCUTER.
|
||||
|
||||
### `pre.004`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user