Files
sasedev-knowledge/history/0.0.3/alpha.4.md
2026-09-29 13:57:45 +02:00

5.4 KiB

History 0.0.3-alpha.4 — push gardé et concurrence

Statut

PASS

La gate opérateur de 0.0.3-alpha.4 exécutée le 2026-09-29 est complète et propre. Le chemin Git d'écriture provider-neutral sait désormais pousser un candidat vers une branche distante uniquement lorsque l'état distant correspond à l'attente explicite, avec conflit récupérable en cas de divergence concurrente et sans écrasement silencieux.

Baseline opérateur

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

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

Le push observé a avancé origin/master de c3a8256 à aca00e6.

Version et documentation

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

Formatage et audits Rust

cargo fmt --all                         PASS
cargo fmt --all -- --check              PASS
Rust test-layout audit                  clean (9 crate(s))
Rust blank-line audit                   clean (36 file(s))
Rust item-spacing audit                 clean (36 file(s))
Rust module-order audit                 clean (36 file(s))
Rust trait-import-block audit           clean (36 file(s))
Rust re-export-block audit              clean (36 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

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-lib --test git_read_path     PASS (2)
cargo test -p knowledge-git-lib --test git_write_candidate PASS (2)
cargo test -p knowledge-git-lib --test git_write_push    PASS (2)
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 + 6 integration PASS
knowledge-sync-api       1 PASS
knowledge-web-lib        4 PASS
launchers                 0 test chacun

Les tests réels sur remote bare local prouvent :

  • mise à jour d'une branche existante lorsque sa révision correspond exactement à l'attente ;
  • création d'une branche uniquement lorsque son absence est attendue ;
  • protection compare-and-exchange via --force-with-lease ;
  • neutralisation locale de remote.origin.mirror=true pour le refspec ciblé du push ;
  • détection d'une modification distante concurrente ;
  • retour d'un conflit sans écrasement de la révision distante concurrente.

Contrôles spécifiques

Les contrôles courts et indépendants passent tous :

history alpha.3.fix.1 PASS                                      confirmé
pub fn push_candidate                                          présent
--force-with-lease                                             présent
remote.origin.mirror=false                                     présent
GitOperation::InspectRemote                                    présent
GitOperation::PushCandidate                                    présent
impl GitRepositoryWriter for GitBackend                        présent
tests succès/création et conflit concurrent                    présents
CHANGELOG 0.0.3                                                encore absent
history alpha.4 avant gate                                     absent
crates Gitea/PostgreSQL et migrations                          absentes
aucun diff knowledge-git-api / knowledge-app-lib / Web         PASS
aucun diff CHANGELOG.md / ROADMAP.md                            PASS
Knowledge 0.0.3-alpha.4 text hygiene                           clean (112 file(s))
Cargo.lock                                                     présent localement, ignoré, non suivi
package-lock Web                                               présent

Après staging, git diff --cached --check passe.

Le staging final observé avant ajout du présent history est exactement :

M  Cargo.toml
M  README.md
M  VERSION
M  crates/knowledge-git-lib/src/error.rs
M  crates/knowledge-git-lib/src/lib.rs
M  crates/knowledge-git-lib/src/write.rs
A  crates/knowledge-git-lib/tests/git_write_push.rs
A  deltas/0.0.3/alpha.4.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.4 est PASS.

Le scope fonctionnel alpha de 0.0.3 est fermé : lecture Git, création de candidat et push gardé provider-neutral sont acquis. 0.0.3-beta.1 peut maintenant réconcilier l'architecture et les DEFER, préparer le changelog candidat, rejouer la non-régression de stabilisation et effectuer la revue d'horizon produit complète des trois sites PGR / HOWTOs / snippets avant la release candidate.