# Delta 0.0.2-alpha.1.fix.1 — restructuration du plan de release ## Base requise Partir de l'état `0.0.2-alpha.1` après application et commit du history : ```text deltas/0.0.2/alpha.1.md présent et historique history/0.0.2/alpha.1.md FAIL ``` Le delta `alpha.1` historique ne doit pas être réécrit. La version devient : ```text 0.0.2-alpha.1.fix.1 ``` ## Objet Corriger uniquement le défaut documentaire observé pendant la revue d'`alpha.1` : - réaligner le plan `0.0.2` sur le patron de pilotage éprouvé par le plan `0.0.1` ; - replacer toutes les tranches sous `## Trajectoire prévisionnelle` avec des titres `###` ; - restaurer un `## Scope` global distinct du `## Hors scope` ; - ajouter `## État acquis et questions ouvertes` ; - ajouter `## Déclencheurs de REPLAN` ; - ajouter `## Revue d'horizon` ; - ordonner les sections de manière cohérente avec la fondation ; - ajouter une gate explicite empêchant une nouvelle dérive structurelle du plan. Le fix ne change ni le choix du backend `git`, ni l'ownership de `knowledge-git-lib`, ni le layout mirror/snapshot, ni le scope fonctionnel prévu de `0.0.2`. Aucun code fonctionnel n'est ajouté. ## Scope REPLACE : ```text VERSION Cargo.toml docs/plans/002-V0_0_2_GIT_SYNC_PLAN.md docs/validation/001-VALIDATION_MATRIX.md ``` ADD : ```text deltas/0.0.2/alpha.1.fix.1.md ``` DELETE : aucun. Le history `history/0.0.2/alpha.1.md` doit déjà être présent dans la base mais n'est pas inclus dans ce delta. Aucun fichier sous `crates/` ou `Web/` n'est modifié. ## Structure attendue du plan Le plan doit présenter, dans cet ordre : ```text ## Statut et sources ## Mission ## État acquis et questions ouvertes ## Scope ## Hors scope ## Stratégie de validation ## Trajectoire prévisionnelle ### alpha.1 — ... ### alpha.2 — ... ### alpha.3 — ... ### alpha.4 — ... ### beta.1 — ... ### rc.1 — ... ### rel.1 — ... ## Déclencheurs de REPLAN ## Clôture et transition ## Revue d'horizon ``` Les détails des tranches restent des forecasts et ne doivent pas être confondus avec le scope global de la release. ## Gate opérateur Après application du history `alpha.1`, commit/push de cet état, puis application du présent delta : ```bash test "$(cat VERSION)" = '0.0.2-alpha.1.fix.1' grep -F 'version = "0.0.2-alpha.1.fix.1"' Cargo.toml grep -A2 '^## Statut$' history/0.0.2/alpha.1.md | grep -Fx 'FAIL' git diff --check python3 - <<'PY' from pathlib import Path import re path = Path("docs/plans/002-V0_0_2_GIT_SYNC_PLAN.md") text = path.read_text(encoding="utf-8") lines = text.splitlines() assert lines[0] == "" assert lines[1] == "" required_h2 = [ "## Statut et sources", "## Mission", "## État acquis et questions ouvertes", "## Scope", "## Hors scope", "## Stratégie de validation", "## Trajectoire prévisionnelle", "## Déclencheurs de REPLAN", "## Clôture et transition", "## Revue d'horizon", ] positions = [lines.index(heading) for heading in required_h2] assert positions == sorted(positions), positions trajectory_start = lines.index("## Trajectoire prévisionnelle") replan_start = lines.index("## Déclencheurs de REPLAN") trajectory = lines[trajectory_start + 1:replan_start] for phase in ("alpha.1", "alpha.2", "alpha.3", "alpha.4", "beta.1", "rc.1", "rel.1"): assert any(line.startswith(f"### {phase} — ") for line in trajectory), phase for line in lines: assert re.fullmatch(r"## (?:alpha|beta|rc|rel)\\..*", line) is None, line for phrase in ( "0.0.2-alpha.1` est `FAIL`", "alpha.1.fix.1", "REPLAN obligatoire si", "État courant : **non réalisée**.", "Aucune version postérieure à `0.0.2` n'est réservée", ): assert phrase in text, phrase print("Knowledge 0.0.2-alpha.1.fix.1 plan structure audit: clean") PY python3 -B scripts/audit_rust_test_layout.py crates 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 . --summary-only cargo fmt --all -- --check cargo metadata --format-version 1 --no-deps cargo check --workspace cargo clippy --workspace --all-targets --all-features -- -D warnings cargo test --workspace --all-targets --all-features ( cd Web/knowledge-template-lab npm ci npm run typecheck npm run build ) git diff --name-only -- crates Web git add -A git diff --cached --check git status --short ``` Attendus spécifiques : - `Knowledge 0.0.2-alpha.1.fix.1 plan structure audit: clean` ; - `git diff --name-only -- crates Web` vide ; - aucun `history/0.0.2/alpha.1.fix.1.md` avant réception des résultats opérateur ; - aucun changement de comportement Git ou Web. Les warnings Sass déjà observés dans Bootstrap ne constituent pas à eux seuls un `FAIL` si `npm run build` reste `PASS`. ## Revue opérateur complémentaire Vérifier que : - le plan se lit d'abord au niveau release (`Mission`, `Scope`, `Hors scope`) puis au niveau tranches sous `Trajectoire prévisionnelle` ; - les déclencheurs de REPLAN sont suffisamment explicites pour empêcher l'élargissement silencieux d'une tranche ; - les questions ouvertes restent différées jusqu'à la tranche qui les consomme ; - la revue d'horizon ne pré-réserve pas de version suivante ; - aucune décision technique validée par l'étude Git n'a été changée par simple restructuration documentaire. ## Transition ### PASS Produire `history/0.0.2/alpha.1.fix.1.md`, appliquer ce history, committer/pousser le fix, puis seulement préparer `0.0.2-alpha.2`. ### FAIL / PARTIAL / BLOCKED Conserver le résultat réel dans `history/0.0.2/alpha.1.fix.1.md` et rester dans le scope `alpha.1` avec `alpha.1.fix.2` si nécessaire.