0.0.4-alpha.2
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/001-VALIDATION_MATRIX.md -->
|
||||
<!-- version: 42 -->
|
||||
<!-- version: 43 -->
|
||||
|
||||
# Matrice de validation Knowledge
|
||||
|
||||
@@ -1041,3 +1041,32 @@ La première tranche de `0.0.4` est une gate de cadrage sans code produit, dépe
|
||||
Clippy, tests workspace, npm/Vite et smokes HTTP ne sont pas requis par cette tranche : elle ne modifie ni source Rust, ni dépendance, ni frontend, ni runtime. La gate vérifie néanmoins `cargo check --workspace` après la promotion de version du manifest.
|
||||
|
||||
Un `PASS` autorise uniquement `0.0.4-alpha.2`. Un autre statut est historisé puis conduit à un fix borné ou à un REPLAN.
|
||||
|
||||
## Gate de `0.0.4-alpha.2`
|
||||
|
||||
La deuxième tranche matérialise le premier owner PostgreSQL réel. Elle doit prouver :
|
||||
|
||||
- `VERSION = 0.0.4-alpha.2` et `[workspace.package].version` identique ;
|
||||
- `history/0.0.4/alpha.1.md` présent avec statut `PASS` et committé avant application ;
|
||||
- workspace composé exactement de dix packages, avec `knowledge-store-postgres-lib` comme seul nouveau membre ;
|
||||
- `tokio-postgres 0.7.18` avec `runtime`, `deadpool-postgres 0.14.2` avec `rt_tokio_1`, Refinery `0.9.2` avec `tokio-postgres` et Tokio test `1.53.1` ajouté uniquement à la crate PostgreSQL ;
|
||||
- façade crate-root limitée à `PostgresStoreConfig`, `PostgresStore` et `PostgresStoreError` ;
|
||||
- configuration injectée, sans lecture d'environnement ni getter public de l'URL PostgreSQL ;
|
||||
- pool `deadpool-postgres` borné par `max_pool_size`, driver `tokio-postgres` et première connexion `NoTls` ;
|
||||
- migration `V1__initial_sources.sql` embarquée via Refinery et appliquée seulement par `PostgresStore::apply_migrations` ;
|
||||
- tables `knowledge_sources` et `knowledge_source_sync_state` avec contrainte des familles et cascade de suppression de l'état de synchronisation ;
|
||||
- aucun corps de contenu, credential Git, compte, proposition, job ou projection finale ajouté au schéma ;
|
||||
- test unitaire de configuration sans PostgreSQL ;
|
||||
- test d'intégration PostgreSQL réel isolé dans un schéma unique et exécuté explicitement avec `KNOWLEDGE_POSTGRES_TEST_URL` ;
|
||||
- absence de PostgreSQL réel pendant cette gate classée `BLOCKED`, jamais masquée par un skip ;
|
||||
- aucun diff sous `Web/`, les trois launchers, `knowledge-app-lib`, `knowledge-git-api`, `knowledge-git-lib`, `knowledge-sync-api` ou `knowledge-domain-lib` ;
|
||||
- audits Markdown et hygiène texte propres ;
|
||||
- `cargo fmt --all` puis `cargo fmt --all -- --check` exécutés avant les audits Rust ;
|
||||
- audits Rust locaux propres sur les dix crates ;
|
||||
- `cargo metadata`, `cargo check`, Clippy strict, tests ciblés store et tests workspace propres ;
|
||||
- `Cargo.lock` local ignoré/non suivi et `package-lock.json` Web inchangé/versionné ;
|
||||
- `git diff --cached --check` propre avant commit.
|
||||
|
||||
La gate ne rejoue pas npm/Vite/HTTP : aucun fichier Web, launcher ou contrat runtime Web n'est modifié. Le test PostgreSQL marqué `#[ignore]` reste exclu des tests workspace ordinaires et est rejoué explicitement avec `--ignored` dans la gate afin que la dépendance externe soit volontaire et visible.
|
||||
|
||||
Un `PASS` autorise uniquement `0.0.4-alpha.3`. Un `FAIL` de code ou migration produit un fix borné ; une incompatibilité de toolchain/dépendances, une impossibilité d'isoler correctement le test PostgreSQL ou un besoin de modifier l'ownership déclenche un REPLAN.
|
||||
|
||||
Reference in New Issue
Block a user