0.0.2-alpha.3
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/001-VALIDATION_MATRIX.md -->
|
||||
<!-- version: 22 -->
|
||||
<!-- version: 23 -->
|
||||
|
||||
# Matrice de validation Knowledge
|
||||
|
||||
@@ -610,3 +610,30 @@ Le second fix reste strictement dans le scope `alpha.2` et doit prouver :
|
||||
- `git diff --cached --check` propre avant commit.
|
||||
|
||||
Le `PASS` de `alpha.2.fix.2` ferme `alpha.2` et autorise uniquement la préparation de `0.0.2-alpha.3`.
|
||||
|
||||
## Gate de `0.0.2-alpha.3`
|
||||
|
||||
La tranche de lecture Git réelle doit prouver :
|
||||
|
||||
- `VERSION = 0.0.2-alpha.3` et `[workspace.package].version` identique ;
|
||||
- history `history/0.0.2/alpha.2.fix.2.md` présent avec statut `PASS` et committé avant application ;
|
||||
- huit packages Cargo exactement ;
|
||||
- `knowledge-git-lib` dépend désormais de `knowledge-domain-lib` et `knowledge-git-api`, sans autre dépendance ;
|
||||
- `knowledge-git-api` étendu uniquement avec le contrat `GitSnapshot` / `prepare_snapshot` nécessaire à la lecture ;
|
||||
- `GitBackend` implémente `knowledge_git_api::GitRepository` et possède l'enregistrement explicite des configurations physiques de source ;
|
||||
- doublons de `SourceId` refusés et source non configurée signalée sans exposer sa localisation ;
|
||||
- refresh du mirror par `git --git-dir <mirror> remote update --prune` ;
|
||||
- résolution par `rev-parse --verify --end-of-options <reference>^{commit}` ;
|
||||
- révision backend validée comme identité hexadécimale non vide avant usage dans un chemin, sans longueur SHA figée ;
|
||||
- snapshot créé par `worktree add --detach -- <path> <revision>` sous `snapshots/<source-key>/<revision>` ;
|
||||
- snapshot existant réutilisé seulement si son `HEAD` correspond exactement à la révision et si `status --porcelain=v1 --untracked-files=all` est vide ;
|
||||
- snapshot divergent ou sale refusé sans suppression silencieuse ;
|
||||
- tests avec vrais repositories Git temporaires prouvant initialisation/refresh/résolution/snapshot, réutilisation idempotente, changement de commit, référence invalide et snapshot sale ;
|
||||
- aucune API de forge, dépendance réseau Rust, PostgreSQL, scheduler, `knowledge-app-lib` ou écriture/push Git ajoutée ;
|
||||
- `cargo fmt --all -- --check`, audits Rust, `cargo metadata`, `cargo check`, Clippy strict, tests ciblés et tests workspace propres ;
|
||||
- `Web/` et `knowledge-sync-api` sans diff ;
|
||||
- `Cargo.lock` toujours ignoré/non suivi ;
|
||||
- `git diff --cached --check` propre avant commit.
|
||||
|
||||
Le `PASS` de `alpha.3` autorise uniquement la préparation de `0.0.2-alpha.4`, consacrée au cas d'usage de synchronisation `Changed` / `Unchanged`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user