158 lines
4.2 KiB
Markdown
158 lines
4.2 KiB
Markdown
<!-- file: deltas/0.3.1/pre.008.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.3.1-pre.008` — gate technique final Store API
|
|
|
|
## 1. Base requise
|
|
|
|
Cette tranche s'applique exclusivement après :
|
|
|
|
```text
|
|
0.3.1-pre.007-fix.001
|
|
workspace.package.version = 0.3.1-pre.7-fix.1
|
|
```
|
|
|
|
Le gate opérateur fourni le **29 août 2026** est intégralement vert :
|
|
|
|
```text
|
|
cargo fmt --all PASS
|
|
audits Rust / exports / workspace PASS / clean
|
|
audit Markdown PASS — 186 tables / 132 fichiers
|
|
cargo check --workspace PASS
|
|
cargo clippy --workspace --all-targets PASS
|
|
cargo test -p ksp-store-api PASS
|
|
```
|
|
|
|
Le gate Store API comprend :
|
|
|
|
```text
|
|
15 unit tests
|
|
2 dependency-boundary tests
|
|
1 external-backend test
|
|
7 public-api tests
|
|
5 release-completeness tests
|
|
4 security-hardening tests
|
|
doc-tests propres
|
|
```
|
|
|
|
## 2. Objectif
|
|
|
|
`pre.008` est exclusivement le gate technique final de `0.3.1`.
|
|
|
|
Aucun nouveau modèle, capability, outcome, query, règle de rétention, event-only type, backend, codec, dépendance ou comportement runtime n'est ajouté. Les canaris déjà présents couvrent la surface fonctionnelle de la release.
|
|
|
|
La tranche doit seulement :
|
|
|
|
```text
|
|
bump la prerelease Cargo vers pre.8
|
|
mettre le plan et la validation en état de gate final
|
|
tracer le présent delta
|
|
faire rejouer le gate workspace complet + graphes Cargo par l'opérateur
|
|
```
|
|
|
|
## 3. Version
|
|
|
|
La prerelease non-fix synchronise l'identité Cargo :
|
|
|
|
```text
|
|
0.3.1-pre.7-fix.1
|
|
->
|
|
0.3.1-pre.8
|
|
```
|
|
|
|
Le bump garantit une identité de build distincte après la série `pre.007/fix.001` et évite toute ambiguïté avec les artefacts Cargo précédents.
|
|
|
|
## 4. Surface déjà couverte
|
|
|
|
Les canaris existants verrouillent notamment :
|
|
|
|
```text
|
|
RawTransaction + RawTransactionObservation
|
|
RawAccountState + RawAccountObservation
|
|
provenance / références / payload / hashes bornés
|
|
queries cursorisées sans plafond métier Store arbitraire
|
|
outcomes idempotence/conflict
|
|
atomic acquisition contracts
|
|
RawRetentionState + tombstone + force-rehydrate
|
|
ExpectedStateMismatch pour les races de rétention
|
|
10 capabilities fines object-safe
|
|
backend externe implémentable sans ksp-store-lib
|
|
60 exports crate-root exacts
|
|
frontière ksp-interface-lib / ksp-store-api
|
|
aucun backend SQL/runtime
|
|
aucune surface N2 STRUCTURAL / N3 DECODED / N4 DOMAIN
|
|
```
|
|
|
|
Aucun nouveau test n'est ajouté uniquement pour matérialiser `pre.008`.
|
|
|
|
## 5. Fichiers ajoutés
|
|
|
|
```text
|
|
deltas/0.3.1/pre.008.md
|
|
```
|
|
|
|
## 6. Fichiers modifiés
|
|
|
|
```text
|
|
Cargo.toml
|
|
docs/plans/022-V0_3_1_STORE_RAW_PLAN.md
|
|
docs/validation/018-V0_3_1_STORE_RAW.md
|
|
```
|
|
|
|
## 7. Surface explicitement inchangée
|
|
|
|
Cette tranche ne touche pas :
|
|
|
|
```text
|
|
crates/ksp-store-api/src/**
|
|
crates/ksp-store-api/tests/**
|
|
crates/ksp-store-api/unit_tests/**
|
|
crates/ksp-store-api/Cargo.toml
|
|
README.md
|
|
ROADMAP.md
|
|
CHANGELOG.md
|
|
prompts/**
|
|
config/**
|
|
docs/architecture/**
|
|
docs/rules/**
|
|
```
|
|
|
|
## 8. Gate opérateur final
|
|
|
|
Exécuter :
|
|
|
|
```bash
|
|
cargo fmt --all
|
|
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.1
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets
|
|
cargo test -p ksp-store-api
|
|
cargo test -p ksp-logging-lib --test ownership
|
|
cargo test --workspace
|
|
cargo tree -p ksp-store-api --edges normal
|
|
cargo tree --duplicates
|
|
```
|
|
|
|
Résultat architectural attendu pour le graphe ciblé :
|
|
|
|
```text
|
|
ksp-store-api
|
|
└── ksp-core-lib
|
|
└── dépendances low-level Core existantes
|
|
```
|
|
|
|
Aucune dépendance Store -> Interface/Transport/Program/Config/Logging/backend DB ne doit apparaître.
|
|
|
|
`cargo tree --duplicates` est un gate d'inspection : les doublons transitifs déjà présents dans le workspace doivent être observés, mais `pre.008` n'introduit aucune dépendance nouvelle susceptible d'en créer.
|
|
|
|
## 9. Suite
|
|
|
|
Si ce gate complet est vert :
|
|
|
|
```text
|
|
0.3.1-pre.009
|
|
```
|
|
|
|
ouvre uniquement la réconciliation documentaire finale (`ksp-store-api/README.md`, `USAGE.md`, plan, validation et indexes/références durables réellement concernés), sans rouvrir `CHANGELOG.md`, `ROADMAP.md` ni le prompt `0.3.2`.
|