0.0.2-alpha.1.fix.1
This commit is contained in:
204
deltas/0.0.2/alpha.1.fix.1.md
Normal file
204
deltas/0.0.2/alpha.1.fix.1.md
Normal file
@@ -0,0 +1,204 @@
|
||||
<!-- file: deltas/0.0.2/alpha.1.fix.1.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# 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] == "<!-- 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 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.
|
||||
Reference in New Issue
Block a user