# Delta 0.0.1-alpha.3.fix.3 — hygiène Markdown de la matrice de validation ## Base requise État `0.0.1-alpha.3.fix.2` committé et poussé après application du history : ```text history/0.0.1/alpha.3.fix.2.md = FAIL ``` La version devient : ```text 0.0.1-alpha.3.fix.3 ``` ## Cause du troisième fix `alpha.3.fix.2` a corrigé la documentation publique de `ContentFamily`. Les preuves opérateur confirment : ```text cargo check --workspace PASS cargo clippy --workspace --all-targets --all-features PASS knowledge-domain-lib tests 3 PASS knowledge-git-api tests 1 PASS knowledge-sync-api tests 1 PASS Cargo metadata audit PASS ``` La tranche reste néanmoins `FAIL` parce que : ```text git diff --check ``` signale : ```text docs/validation/001-VALIDATION_MATRIX.md:216: new blank line at EOF. ``` ## Correctif Le présent fix supprime uniquement la ligne vide supplémentaire en fin de : ```text docs/validation/001-VALIDATION_MATRIX.md ``` La matrice conserve une fin de ligne POSIX normale, sans ligne blanche supplémentaire. Le plan vivant enregistre le `FAIL` réel de `alpha.3.fix.2` et la transition vers `alpha.3.fix.3`. ## Non-régression Le correctif ne modifie pas : - les quatre doc-comments de `ContentFamily` ; - `SourceId` ; - `GitRepository` ; - `RepositoryEventSource` ; - `RepositorySyncSignal` ; - les dépendances entre crates ; - le cadrage Web/Maud/Vite ; - les décisions PostgreSQL/forge. Aucun frontend, serveur Actix, adapter de forge, schéma PostgreSQL ou nouvelle crate n'est ajouté. ## Fichiers remplacés ```text VERSION Cargo.toml docs/plans/001-V0_0_1_FOUNDATION_PLAN.md docs/validation/001-VALIDATION_MATRIX.md ``` ## Fichier ajouté ```text deltas/0.0.1/alpha.3.fix.3.md ``` Aucun fichier n'est supprimé. ## `Cargo.lock` Le delta ne préfabrique pas `Cargo.lock`. La version workspace passant à `0.0.1-alpha.3.fix.3`, Cargo peut mettre à jour le lockfile dans le workspace opérateur. Toute modification réelle reste versionnée. ## Validation attendue Après application du history `alpha.3.fix.2 FAIL`, commit/push de `alpha.3.fix.2`, puis extraction du présent delta : ```bash test "$(cat VERSION)" = "0.0.1-alpha.3.fix.3" git diff --check python3 - <<'PY' from pathlib import Path import tomllib with Path("Cargo.toml").open("rb") as handle: manifest = tomllib.load(handle) assert manifest["workspace"]["package"]["version"] == "0.0.1-alpha.3.fix.3" matrix_path = Path("docs/validation/001-VALIDATION_MATRIX.md") matrix_bytes = matrix_path.read_bytes() assert matrix_bytes.endswith(b"\n") assert not matrix_bytes.endswith(b"\n\n") content = Path( "crates/knowledge-domain-lib/src/content_family.rs" ).read_text(encoding="utf-8") for variant in ("Pgr", "Howto", "Snippet", "ProjectLocal"): marker = f" {variant}," index = content.index(marker) prefix = content[:index].rstrip().splitlines() assert prefix[-1].lstrip().startswith("///"), variant assert "allow(missing_docs)" not in content assert 'missing_docs = "warn"' in Path("Cargo.toml").read_text(encoding="utf-8") print("Knowledge 0.0.1-alpha.3.fix.3 structural audit: clean") PY cargo metadata --format-version 1 --no-deps > /tmp/sasedev-knowledge-alpha3-fix3-metadata.json cargo fmt --all cargo fmt --all -- --check python3 -B scripts/audit_rust_blank_lines.py crates python3 -B scripts/audit_rust_item_spacing.py crates python3 -B scripts/audit_rust_module_order.py crates python3 -B scripts/audit_rust_trait_import_blocks.py crates python3 -B scripts/audit_rust_reexport_blocks.py crates python3 -B scripts/audit_rust_export_completeness.py --root . cargo check --workspace cargo clippy --workspace --all-targets --all-features -- -D warnings cargo test -p knowledge-domain-lib --all-targets --all-features cargo test -p knowledge-git-api --all-targets --all-features cargo test -p knowledge-sync-api --all-targets --all-features test -f Cargo.lock if git check-ignore -q Cargo.lock; then echo 'Cargo.lock must remain versioned' >&2 exit 1 fi python3 - <<'PY' import json from pathlib import Path metadata = json.loads( Path("/tmp/sasedev-knowledge-alpha3-fix3-metadata.json").read_text(encoding="utf-8") ) packages = {package["name"] for package in metadata["packages"]} assert packages == { "knowledge-domain-lib", "knowledge-git-api", "knowledge-sync-api", }, packages for package in metadata["packages"]: assert package["version"] == "0.0.1-alpha.3.fix.3", ( package["name"], package["version"], ) print("Knowledge 0.0.1-alpha.3.fix.3 Cargo metadata audit: clean") PY git add -A git diff --cached --check git status --short ``` Ne pas committe `alpha.3.fix.3` avant production de son history à partir des résultats opérateur.