# History 0.0.1-alpha.3.fix.1 — correction `SourceId` et précision Web/Maud ## Statut FAIL La gate opérateur de `0.0.1-alpha.3.fix.1` exécutée le `2026-09-27` confirme la correction de `SourceId` et le passage des tests ciblés, mais Clippy strict échoue sur la documentation manquante des variantes publiques de `ContentFamily`. ## Baseline opérateur La tranche `alpha.3` `FAIL` a été historisée, committée et poussée avant application du fix : ```text history/0.0.1/alpha.3.md = FAIL commit 6b6bdcf message 0.0.1-alpha.3 branch master push origin/master PASS status clean après push ``` Le push observé a avancé `origin/master` de `8cd187b` à `6b6bdcf`. ## Correction `SourceId` La vérification ciblée confirme que le fix attendu est présent : ```text return Ok(Self(value.to_owned())); ``` L'erreur de compilation `E0423` observée sur `alpha.3` n'est plus reproduite. ## Structure et audits Les contrôles suivants sont propres : ```text VERSION = 0.0.1-alpha.3.fix.1 git diff --check = clean cargo fmt --all -- --check = PASS Rust blank-line audit: clean (8 file(s)) Rust item-spacing audit: clean (8 file(s)) Rust module-order audit: clean (8 file(s)) Rust trait-import-block audit: clean (8 file(s)) Rust re-export-block audit: clean (8 file(s)) Rust export completeness audit: 0 candidate(s) across 3 package(s) ``` ## `cargo check` `cargo check --workspace` termine avec succès pour les trois crates. Il émet cependant quatre warnings `missing_docs` dans : ```text crates/knowledge-domain-lib/src/content_family.rs ``` sur les variantes publiques : ```text Pgr Howto Snippet ProjectLocal ``` La politique workspace déclare `missing_docs = "warn"`, donc ces diagnostics restent des warnings sous `cargo check`. ## Échec Clippy strict La commande : ```text cargo clippy --workspace --all-targets --all-features -- -D warnings ``` transforme les warnings `missing_docs` en erreurs, comme attendu par la gate stricte. Les quatre variantes publiques non documentées empêchent donc le `PASS` de tranche. Le défaut ne doit pas être contourné par un `allow(missing_docs)` ni par une réduction de la politique de lint ; les items publics doivent être documentés. ## Tests ciblés Les tests passent malgré les warnings documentaires : ```text knowledge-domain-lib : 3 passed; 0 failed knowledge-git-api : 1 passed; 0 failed knowledge-sync-api : 1 passed; 0 failed ``` Les preuves confirment notamment : - construction valide de `SourceId` ; - rejet d'un identifiant vide ; - absence de limite codée à trois repositories ; - indépendance du contrat Git vis-à-vis d'une forge ; - caractère non autoritaire de `ExternalSignal`. ## Scope Git observé `git diff --cached --check` est propre. Le staging transmis avant ajout du présent history contient : ```text M CHANGELOG.md M Cargo.lock M Cargo.toml M README.md M ROADMAP.md M RULES.md M VERSION M crates/knowledge-domain-lib/src/source.rs M crates/knowledge-domain-lib/src/unit_tests.rs A deltas/0.0.1/alpha.3.fix.1.md M docs/000-README.md M docs/architecture/001-PROJECT_PROFILE.md M docs/architecture/002-KNOWLEDGE_ARCHITECTURE.md M docs/plans/001-V0_0_1_FOUNDATION_PLAN.md A docs/studies/002-ACTIX_MAUD_VITE_CORPUS_STUDY.md M docs/validation/001-VALIDATION_MATRIX.md ``` Ce scope est cohérent avec le fix annoncé et le `Cargo.lock` régénéré par Cargo. ## Décision `0.0.1-alpha.3.fix.1` est `FAIL`. La transition autorisée est : ```text 0.0.1-alpha.3.fix.2 ``` Le second fix doit rester minimal : documenter les quatre variantes publiques de `ContentFamily`, conserver la politique `missing_docs`, puis rejouer `cargo check`, Clippy strict et les trois suites ciblées. Aucun élargissement fonctionnel n'est autorisé.