Files
sasedev-knowledge/history/0.0.2/alpha.4.md
2026-09-28 22:42:48 +02:00

4.6 KiB

History 0.0.2-alpha.4 — autonomie normative et façades de crates

Statut

FAIL

La gate opérateur de 0.0.2-alpha.4 exécutée le 2026-09-28 valide l'autonomie documentaire, les audits locaux et la structure des façades, mais la tranche ne compile pas à cause de deux constructions de tuple structs privés depuis leurs réexports crate-root.

Baseline opérateur

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

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

Le push observé a avancé origin/master de 721e8a6 à b9508b0.

Version et autonomie normative

Les contrôles de version et de provenance passent :

VERSION                         0.0.2-alpha.4
Cargo workspace version         0.0.2-alpha.4
history alpha.3.fix.1            PASS

Les audits Markdown possédés localement passent :

Markdown header audit: clean (80 file(s))
Markdown link audit: clean (71 local link(s), 80 file(s))
Markdown table audit: clean (4 table(s), 80 file(s))

L'audit d'autonomie/structure passe :

Knowledge 0.0.2-alpha.4 autonomy/structure audit: clean

Les owners locaux 200, 210, 300, 400, 510 et 530-WEB_FRONTEND, le mapping d'adoption, les templates locaux et les audits Markdown/Rust attendus sont présents. PGR v0.1.3 reste une provenance d'adoption et aucune consultation PGR automatique n'est requise.

Audits Rust et formatage

Les audits structurels 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)

cargo fmt --all -- --check passe.

Compilation et Clippy

cargo check --workspace échoue dans knowledge-git-api sur deux erreurs E0423 :

crates/knowledge-git-api/src/reference.rs:11
return crate::GitReference(value.to_owned());

crates/knowledge-git-api/src/revision.rs:11
return crate::GitRevision(value.to_owned());

Après déplacement des types dans leurs modules propriétaires, leurs champs tuple privés ne sont plus constructibles via le réexport crate-root. Les deux implémentations doivent construire leur propre type avec Self(...).

Clippy strict échoue pour les mêmes deux erreurs de compilation. Aucun assouplissement de visibilité ou de lint n'est justifié.

Tests

knowledge-sync-api compile et son test passe :

cargo test -p knowledge-sync-api --all-targets --all-features
1 passed; 0 failed

Les suites knowledge-git-api, knowledge-git-lib et workspace sont bloquées par la compilation de knowledge-git-api et ne peuvent donc pas valider la tranche.

Métadonnées et frontières

L'audit Cargo passe :

Knowledge 0.0.2-alpha.4 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-app-lib                  absent
crates/knowledge-forge-gitea-lib          absent
crates/knowledge-store-postgres-lib       absent
history/0.0.2/alpha.4.md                  absent avant clôture

Le staging final est propre à la tranche et git diff --cached --check passe.

Diagnostic

L'architecture alpha.4 n'est pas remise en cause. Le défaut est local aux constructeurs des deux tuple structs après séparation de lib.rs en modules propriétaires.

Le correctif doit uniquement :

  • construire GitReference avec Self(value.to_owned()) dans son propre impl ;
  • construire GitRevision avec Self(value.to_owned()) dans son propre impl ;
  • conserver l'API publique crate-root inchangée ;
  • rejouer la gate complète alpha.4 sans modifier les autres owners, templates, audits ou comportements Git/sync.

Décision

0.0.2-alpha.4 est FAIL.

La transition autorisée est :

appliquer ce history
-> git add / diff --cached --check / status
-> commit exact "0.0.2-alpha.4"
-> push origin master
-> vérifier le workspace propre
-> appliquer seulement ensuite 0.0.2-alpha.4.fix.1