Files
sasedev-knowledge/history/0.0.2/alpha.4.fix.1.md

4.3 KiB

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 :

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 :

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 :

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 :

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 :

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 :

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 :

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 :

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 :

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.