5.9 KiB
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 :
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 :
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.2sur le patron de pilotage éprouvé par le plan0.0.1; - replacer toutes les tranches sous
## Trajectoire prévisionnelleavec des titres###; - restaurer un
## Scopeglobal 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 :
VERSION
Cargo.toml
docs/plans/002-V0_0_2_GIT_SYNC_PLAN.md
docs/validation/001-VALIDATION_MATRIX.md
ADD :
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 :
## 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 :
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] == "<!-- file: docs/plans/002-V0_0_2_GIT_SYNC_PLAN.md -->"
assert lines[1] == "<!-- version: 2 -->"
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 Webvide ;- aucun
history/0.0.2/alpha.1.fix.1.mdavant 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 sousTrajectoire 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.