0.0.3-alpha.3

This commit is contained in:
2026-09-29 11:39:02 +02:00
parent 88a63b06cc
commit c3a825657d
14 changed files with 1209 additions and 29 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/001-VALIDATION_MATRIX.md -->
<!-- version: 34 -->
<!-- version: 35 -->
# Matrice de validation Knowledge
@@ -135,6 +135,27 @@ La tranche de contrat d'écriture Git doit prouver :
- les tests workspace passent car la façade publique de la crate change ;
- `knowledge-git-lib`, `knowledge-app-lib`, `Web/`, PostgreSQL et adapters forge ne sont pas modifiés par cette tranche.
## Gate de `0.0.3-alpha.3`
La tranche de création locale du commit candidat doit prouver :
- `VERSION = 0.0.3-alpha.3` et version workspace identique ;
- history `history/0.0.3/alpha.2.md` présent avec statut `PASS` et committé avant application ;
- `knowledge-git-api` inchangé par rapport à `alpha.2` ;
- `knowledge-git-lib` crée un worktree d'écriture isolé sous sa racine d'état sans modifier les snapshots de lecture ;
- create/update/delete limités exactement aux chemins de mutation demandés ;
- toute traversée par symlink refusée avant écriture hors worktree ;
- configuration Git système/globale pertinente neutralisée et hooks désactivés ;
- identité auteur/committer explicitement fournie par `GitWriteRequest` ;
- commit candidat vérifié comme enfant direct de la révision de base ;
- candidat retenu sous une référence backend interne avant suppression du worktree temporaire ;
- worktree temporaire supprimé après succès et après erreur possédée, mais worktree préexistant jamais effacé silencieusement ;
- aucun push distant, rebase, merge, forge, PostgreSQL ou orchestration application ajouté ;
- test d'intégration Git réel prouvant modification/création/suppression, identité explicite, base inchangée et nettoyage ;
- test Unix prouvant qu'un symlink versionné ne permet pas d'écrire hors du worktree ;
- `cargo fmt --all`, check, Clippy strict, tests ciblés `knowledge-git-lib` et tests workspace propres ;
- `knowledge-app-lib` et `Web/` sans diff, `Cargo.lock` ignoré/non suivi et staging final propre.
## PostgreSQL
Aucune gate PostgreSQL n'est créée avant matérialisation d'une dépendance ou d'un schéma réel.