143 lines
4.9 KiB
Markdown
143 lines
4.9 KiB
Markdown
<!-- file: history/0.0.3/alpha.2.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# 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` :
|
|
|
|
```text
|
|
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 :
|
|
|
|
```text
|
|
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 :
|
|
|
|
```text
|
|
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`.
|
|
|
|
```text
|
|
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 :
|
|
|
|
```text
|
|
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 :
|
|
|
|
```text
|
|
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
|
|
|
|
```text
|
|
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 :
|
|
|
|
```text
|
|
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`.
|