v0.3.4-pre.002

This commit is contained in:
2026-08-30 21:11:23 +02:00
parent 03ad0ba063
commit 6bd593f467
18 changed files with 710 additions and 46 deletions

View File

@@ -1,11 +1,11 @@
<!-- file: docs/validation/021-V0_3_4_STORE_POSTGRES_RAW_ACCOUNT.md -->
<!-- version: 1 -->
<!-- version: 2 -->
# Validation `0.3.4` — Store/PostgreSQL `RawAccountState` + complétude RAW
## 1. Portée
Cette matrice est ouverte par `0.3.4-pre.001`. La tranche courante valide **le design et le sizing uniquement** ; elle n'affirme aucune présence de V002 ou d'implémentation account.
Cette matrice est ouverte par `0.3.4-pre.001`. La tranche courante `0.3.4-pre.002` matérialise uniquement la fondation V002 : registry, deux tables et PK/FK de base. Les contraintes de domaine, l'index, la compatibilité externe complète, les repositories et les quatre capabilities account restent volontairement pending.
Base :
@@ -133,18 +133,22 @@ observation_key family-local unique
## 7. Migration/schema V002
| Objet | Décision pre.001 | État |
|----------------------------------|---------------------------------------|-------------------------|
| V000 | immuable | PASS design |
| V001 | immuable | PASS design |
| V002 logical name | raw_account_state | PASS design |
| table state | ksp_raw_account_states | PASS design |
| table observation | ksp_raw_account_observations | PASS design |
| archive/tombstone account | aucune | PASS negative scope |
| index métier | (slot,pubkey,state_hash) | PASS design |
| index owner/provider/time/status | aucun | PASS negative scope |
| SQL/resource files | pas encore créés | PENDING pre.002/pre.003 |
| V002 checksum | inconnu tant que resources non créées | PENDING pre.003 |
| Objet | Décision / état physique | État |
|----------------------------------|--------------------------------------------------------------------------|---------------------|
| V000 | bytes/checksum inchangés | PASS |
| V001 | 40 resources + checksum inchangés | PASS |
| V002 logical name | `raw_account_state` | PASS pre.002 |
| table state | `ksp_raw_account_states` | PASS pre.002 |
| table observation | `ksp_raw_account_observations` | PASS pre.002 |
| PK state | `(pubkey,slot,state_hash)` | PASS pre.002 |
| PK observation | `(observation_key)` | PASS pre.002 |
| FK observation -> state | `(account_pubkey,account_slot,account_state_hash)` -> state composite PK | PASS pre.002 |
| contraintes domaine/fixed-width | non encore ajoutées | PENDING pre.003 |
| index métier | `(slot,pubkey,state_hash)` non encore ajouté | PENDING pre.003 |
| index owner/provider/time/status | aucun prévu | PASS negative scope |
| archive/tombstone account | aucune | PASS negative scope |
| V002 checksum intermédiaire | `30ac8749…26311f55` sur les 5 resources pre.002 | PROVISIONAL |
| V002 checksum final | après contraintes/index de pre.003 | PENDING pre.003 |
## 8. Idempotence et concurrence
@@ -267,8 +271,8 @@ Le test live account devra être opt-in/ignored, URI stdin, sans environnement n
| Tranche | Objet | État |
|---------|-------------------------------------------------------------------|---------|
| pre.001 | audit, kbot3, threat model, V002 design, sizing, plan/validation | CURRENT |
| pre.002 | V002 registry + deux tables + PK/FK de base, sans repository | PLANNED |
| pre.001 | audit, kbot3, threat model, V002 design, sizing, plan/validation | DONE |
| pre.002 | V002 registry + deux tables + PK/FK de base, sans repository | CURRENT |
| pre.003 | contraintes complètes, index, schema compatibility, checksum V002 | PLANNED |
| pre.004 | mapping privé state/observation + get reads + hostile rows | PLANNED |
| pre.005 | acquisition atomique state+observation + idempotence/conflict | PLANNED |
@@ -318,10 +322,10 @@ cargo tree --duplicates
Les preuves live restent séparées et explicitement `--ignored --nocapture`.
## 17. Verdict `pre.001`
## 17. Verdict `pre.002`
Design : **PASS**. Les audits Rust/Markdown de l'overlay sont propres.
Fondation V002 minimale : **PASS statique**. Le registry logique V002 expose exactement cinq resources et aucune surface repository/runtime account. Les audits Rust/Markdown applicables sont rejoués dans l'environnement d'assemblage.
Compilation/Clippy/tests post-overlay : **NON EXÉCUTÉS dans le conteneur d'assemblage**, faute d'exécutable `cargo`; ils restent à rejouer par l'opérateur.
Compilation/Clippy/tests Cargo post-delta : **NON EXÉCUTÉS dans le conteneur d'assemblage**, faute d'exécutable `cargo`; ils restent à rejouer par l'opérateur.
Implémentation V002/account : **PENDING**, volontairement non ouverte dans cette tranche.
Contraintes complètes/index/schema compatibility/checksum final : **PENDING `pre.003`**. Repository et capabilities account : **PENDING `pre.004+`**.