# History 0.0.2-alpha.4.fix.1 — fermeture de l'autonomie normative ## Statut PASS La gate opérateur de `0.0.2-alpha.4.fix.1` exécutée le `2026-09-28` est propre. Elle corrige les deux constructeurs privés de `knowledge-git-api` sans modifier l'API publique, les owners locaux, les templates, les audits ni le comportement Git validé. ## Baseline opérateur `alpha.4` `FAIL` a été historisé, committé et poussé avant application du fix : ```text history/0.0.2/alpha.4.md FAIL commit 3f8c795 message 0.0.2-alpha.4 branch master push origin/master PASS workspace après push propre ``` Le push observé a avancé `origin/master` de `b9508b0` à `3f8c795`. ## Version et correctif Les contrôles passent : ```text VERSION 0.0.2-alpha.4.fix.1 Cargo workspace version 0.0.2-alpha.4.fix.1 history alpha.4 FAIL constructor/facade audit clean ``` `GitReference::new` et `GitRevision::new` construisent désormais leurs tuple structs privés avec `Self(...)` depuis leurs modules propriétaires. Les champs restent privés et les réexports crate-root restent inchangés. ## Formatage, compilation et Clippy La gate opérateur exécute explicitement le formatter avant sa vérification : ```text cargo fmt --all PASS cargo fmt --all -- --check PASS cargo metadata --format-version 1 --no-deps PASS cargo check --workspace PASS cargo clippy --workspace --all-targets --all-features -- -D warnings PASS ``` ## Tests ciblés et workspace Les suites ciblées passent : ```text knowledge-git-api 1 PASS knowledge-sync-api 1 PASS knowledge-git-lib 8 unit PASS + 2 integration PASS ``` Les deux tests d'intégration Git réels continuent de passer et prouvent les comportements de refresh, résolution, snapshot, référence invalide et snapshot sale. La suite workspace passe intégralement : ```text knowledge-domain-lib : 3 PASS knowledge-git-api : 1 PASS knowledge-git-lib : 8 unit PASS + 2 integration PASS knowledge-sync-api : 1 PASS knowledge-web-lib : 4 PASS launchers : 0 test chacun ``` ## Audits Rust Après formatage, les audits Rust passent : ```text Rust test-layout audit: clean (8 crate(s)) Rust blank-line audit: clean (29 file(s)) Rust item-spacing audit: clean (29 file(s)) Rust module-order audit: clean (29 file(s)) Rust trait-import-block audit: clean (29 file(s)) Rust re-export-block audit: clean (29 file(s)) Rust crate-root facade audit: clean (5 crate root(s)) Rust export completeness audit: 0 candidate(s) across 8 package(s) ``` Cette exécution confirme la règle à rendre durable : `cargo fmt --all`, puis `cargo fmt --all -- --check`, doivent précéder les audits du code Rust. ## Métadonnées et frontières L'audit Cargo passe : ```text Knowledge 0.0.2-alpha.4.fix.1 Cargo metadata audit: clean ``` Les huit packages attendus sont présents. `Cargo.lock` est présent localement, ignoré et non suivi. Les contrôles de frontière passent : ```text Web/ sans diff crates/knowledge-git-lib/src sans diff crates/knowledge-sync-api sans diff knowledge-git-api lib.rs/repository.rs/snapshot.rs sans diff knowledge-app-lib absent knowledge-forge-gitea-lib absent knowledge-store-postgres-lib absent ``` Après staging, `git diff --cached --check` passe. ## Décision `0.0.2-alpha.4.fix.1` est `PASS`. La tranche `alpha.4` est fermée. L'adoption PGR `v0.1.3` est terminée comme migration ponctuelle et Knowledge possède désormais ses règles de travail localement. La transition autorisée est : ```text appliquer ce history -> git add / diff --cached --check / status -> commit exact "0.0.2-alpha.4.fix.1" -> push origin master -> vérifier le workspace propre -> appliquer seulement ensuite 0.0.2-alpha.5 ``` `alpha.5` peut matérialiser le cas d'usage partagé de synchronisation sans recharger PGR.