Files
sasedev-knowledge/history/0.0.3/alpha.2.md
2026-09-29 11:31:59 +02:00

4.9 KiB

History 0.0.3-alpha.2 — contrat d'écriture Git provider-neutral

Statut

PASS

La gate opérateur de 0.0.3-alpha.2 exécutée le 2026-09-29 est complète et propre. Elle valide la frontière publique d'écriture Git provider-neutral et autorise 0.0.3-alpha.3 pour le worktree d'écriture isolé et la création réelle du commit candidat.

Baseline opérateur

alpha.1.fix.2 PASS a été historisé, committé et poussé avant application de alpha.2 :

history/0.0.3/alpha.1.fix.2.md  PASS
commit                           3004e4b
message                          0.0.3-alpha.1.fix.2
branch                           master
push                             origin/master PASS
workspace après push             propre

Le push observé a avancé origin/master de dd63e85 à 3004e4b.

Version et documentation

Les contrôles de version et Markdown passent :

VERSION                         0.0.3-alpha.2
Cargo workspace version         0.0.3-alpha.2
git diff --check                PASS
Markdown header audit           clean (106 file(s))
Markdown link audit             clean (78 local link(s), 106 file(s))
Markdown table audit            clean (4 table(s), 106 file(s))

Formatage et audits Rust

La séquence locale imposée a été respectée :

cargo fmt --all                         PASS
cargo fmt --all -- --check              PASS
Rust test-layout audit                  clean (9 crate(s))
Rust blank-line audit                   clean (33 file(s))
Rust item-spacing audit                 clean (33 file(s))
Rust module-order audit                 clean (33 file(s))
Rust trait-import-block audit           clean (33 file(s))
Rust re-export-block audit              clean (33 file(s))
Rust crate-root facade audit            clean (6 crate root(s))
Rust export completeness audit          0 candidate(s) across 9 package(s)

Cargo, Clippy et tests

Les neuf packages compilent en 0.0.3-alpha.2 et Clippy ne produit aucun warning avec -D warnings.

cargo metadata --format-version 1 --no-deps                 PASS
cargo check --workspace                                     PASS
cargo clippy --workspace --all-targets --all-features
    -- -D warnings                                          PASS
cargo test -p knowledge-git-api --all-targets --all-features PASS (7)
cargo test --workspace --all-targets --all-features         PASS

Tests workspace observés :

knowledge-app-lib       3 PASS
knowledge-domain-lib    3 PASS
knowledge-git-api       7 PASS
knowledge-git-lib       8 unit PASS + 2 integration PASS
knowledge-sync-api      1 PASS
knowledge-web-lib       4 PASS
launchers                0 test chacun

Les sept tests knowledge-git-api valident notamment :

  • la séparation du contrat d'écriture du contrat de lecture ;
  • l'absence de dépendance à une forge ;
  • la validation des chemins de mutation et la protection de .git ;
  • l'identité de commit explicite ;
  • les branches bornées à refs/heads/... ;
  • les états distants absent/révision ;
  • le rejet des requêtes sans mutation, messages invalides et chemins dupliqués.

Audit spécifique d'écriture

L'audit de tranche passe :

Knowledge 0.0.3-alpha.2 write-contract audit: clean

Il confirme notamment :

  • la présence et le réexport des dix types/traits d'écriture attendus ;
  • GitRepository de lecture inchangé et sans méthodes create_candidate / push_candidate ;
  • la validation refs/heads/..., ProtectedGitPath et DuplicateMutationPath ;
  • l'absence de dépendances Actix, Tokio, forge, PostgreSQL ou ORM dans knowledge-git-api ;
  • CHANGELOG.md toujours sans section prématurée 0.0.3 ;
  • absence de history alpha.2 avant staging ;
  • absence de crates Gitea/PostgreSQL et de migrations.

Hygiène et scope

Knowledge 0.0.3-alpha.2 text hygiene: clean (106 file(s))

La gate confirme également :

  • aucun diff sous crates/knowledge-git-lib, crates/knowledge-app-lib ou Web/ ;
  • Cargo.lock local présent, ignoré et non suivi ;
  • Web/knowledge-template-lab/package-lock.json présent ;
  • git diff --cached --check propre.

Le staging final contient exactement les changements attendus de la tranche :

M  Cargo.toml
M  README.md
M  VERSION
M  crates/knowledge-git-api/src/lib.rs
A  crates/knowledge-git-api/src/write.rs
M  crates/knowledge-git-api/unit_tests/lib.rs
A  deltas/0.0.3/alpha.2.md
M  docs/architecture/002-KNOWLEDGE_ARCHITECTURE.md
M  docs/plans/003-V0_0_3_GIT_WRITE_PLAN.md
M  docs/validation/001-VALIDATION_MATRIX.md

Décision

0.0.3-alpha.2 est PASS.

La frontière provider-neutral est acquise. La tranche suivante peut implémenter dans knowledge-git-lib le worktree d'écriture isolé, les mutations confinées, l'identité explicite, la neutralisation des hooks/configurations pertinentes et la création d'une révision candidate vérifiée. Le push distant gardé reste réservé à alpha.4.