0.0.2-alpha.4.fix.1

This commit is contained in:
2026-09-28 22:57:24 +02:00
parent 3f8c795cc0
commit 1fe39dfdeb
8 changed files with 339 additions and 9 deletions

View File

@@ -0,0 +1,134 @@
<!-- file: history/0.0.2/alpha.4.fix.1.md -->
<!-- version: 1 -->
# 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.