0.0.3-alpha.4

This commit is contained in:
2026-09-29 13:57:45 +02:00
parent aca00e6595
commit a87f3ba4ab
12 changed files with 857 additions and 23 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: README.md -->
<!-- version: 20 -->
<!-- version: 21 -->
# SaseDev Knowledge
@@ -13,7 +13,7 @@ La version courante est définie par [`VERSION`](VERSION).
`0.0.1` est la première stable de fondation de SaseDev Knowledge. `0.0.2` est la stable du chemin Git générique de lecture, de l'autonomie normative locale et du cas d'usage partagé de synchronisation `Changed` / `Unchanged`.
`0.0.3-alpha.3` matérialise maintenant la création réelle d'un commit candidat dans `knowledge-git-lib` à partir du contrat provider-neutral acquis en `alpha.2` : worktree d'écriture isolé, mutations confinées avec refus des symlinks, configuration Git globale neutralisée, hooks désactivés, identité auteur/committer explicite, vérification du parent de base, rétention interne de la révision candidate et nettoyage du worktree temporaire. Aucun push distant n'est encore effectué ; la comparaison-et-échange vers `refs/heads/...` reste réservée à `alpha.4`. PostgreSQL, forge, workflow complet de proposition, rebase/merge automatique et auth/admin restent hors scope.
`0.0.3-alpha.4` ferme maintenant le chemin Git générique d'écriture : après création locale d'un commit candidat isolé, `knowledge-git-lib` observe l'état réel de la branche distante puis effectue un push compare-and-exchange protégé par `--force-with-lease` contre l'état explicitement attendu. Une branche peut être créée uniquement lorsque son absence est attendue ; toute divergence devient un conflit récupérable avec l'état distant réellement observé et aucun écrasement silencieux. PostgreSQL, forge, workflow complet de proposition, rebase/merge automatique et auth/admin restent hors scope.
`knowledge-git-lib` implémente `knowledge-git-api::GitRepository` pour des sources physiques enregistrées : mirror contrôlé, refresh avec pruning, résolution d'une référence vers un commit et snapshot/worktree détaché adressé par révision. La création locale du candidat d'`alpha.3` reste séparée de cette sémantique de lecture. Les règles nécessaires au développement courant sont désormais possédées localement sous `docs/rules/`, et les futurs prompts Knowledge ne chargent pas PGR sauf réévaluation explicitement engagée. `knowledge-app-lib` compose maintenant refresh, résolution, comparaison avec la révision précédente et préparation de snapshot en un résultat explicite `Changed` / `Unchanged`, sans persister la dernière révision ni matérialiser de scheduler.