5.2 KiB
Delta 0.0.3-alpha.1.fix.1 — périmètre Rust/Cargo du plan
Baseline et version
Baseline : tranche 0.0.3-alpha.1 validée par l'opérateur, avec history/0.0.3/alpha.1.md appliqué et committé. Ce fix ne doit pas être appliqué sur un état où le history alpha.1 n'est pas encore dans le commit de base.
Version avant application :
0.0.3-alpha.1
Version après application :
0.0.3-alpha.1.fix.1
Motif et observations
Le delta alpha.1 a passé sa gate mécanique. La revue du plan ensuite a montré que la tranche Rust prévue autour du seul rustfmt.toml n'intégrait pas les réglages Clippy et les deux manifests Cargo communs déjà décrits dans 510-RUST_CARGO.md et pratiqués dans KSP et Games.
Les archives de référence supplémentaires inspectées sont :
khadhroony-solana-project-v0.3.16.zip SHA-256 db3cc1b3fc3fb07ee864b02e2a7346c673d4cf63b33e8e872aca6c6458856ca0
games-v0.3.5.zip SHA-256 5f5fdee1a271386766d059657d6eaa831acdc263b3e722fed738808335c0a105
Les deux projets centralisent lints et métadonnées Cargo, et conservent rustfmt.toml ainsi qu'un clippy.toml. Les scripts Rust des projets mêlent plusieurs politiques ; le plan corrigé en tire des candidats de propriétés isolées sans les recopier. La seule exception de lints locaux constatée parmi les 45 crates inspectées concerne la frontière Android de Games.
Scope
REPLACE :
VERSION
docs/plans/003-V0_0_3_TEMPLATES_AUDITS_PLAN.md
ADD :
deltas/0.0.3/alpha.1.fix.1.md
DELETE : aucun.
Le plan passe de <!-- version: 1 --> à <!-- version: 2 --> pour sa révision réelle. Les snapshots deltas/0.0.3/alpha.1.md et history/0.0.3/alpha.1.md restent inchangés. Aucun template, script, règle normative ou manifest de suppression n'est ajouté dans ce fix.
Contenu corrigé
- le template Rust prévu couvre
rustfmt.toml, les niveaux de lint Rust/Clippy dans Cargo, les manifests workspace/membre et, seulement si justifié, des paramètres distincts dansclippy.toml; - le plan compare les deux corpus réels, relève l'héritage explicite des lints et son exception Android bornée, distingue les options communes des seuils ou dépendances propres à un projet ;
- les tranches sont redimensionnées :
alpha.2formatage/Clippy,alpha.3manifests Cargo,alpha.4audit de headers Markdown, puis décision conditionnelle sur un template de workflow ; - les scripts Rust KSP/Games servent de corpus de comparaison pour des audits futurs read-only et monotâches, sans transfert direct de leurs règles locales vers PGR.
Validation opérateur
Après application sur le commit alpha.1 :
test "$(cat VERSION)" = '0.0.3-alpha.1.fix.1'
git cat-file -e HEAD:history/0.0.3/alpha.1.md
test -f deltas/0.0.3/alpha.1.fix.1.md
test -f history/0.0.3/alpha.1.md
test ! -e history/0.0.3/alpha.1.fix.1.md
grep -Fx '<!-- version: 2 -->' docs/plans/003-V0_0_3_TEMPLATES_AUDITS_PLAN.md
grep -F 'Les `22` crates KSP héritent des lints workspace' docs/plans/003-V0_0_3_TEMPLATES_AUDITS_PLAN.md
grep -F '### alpha.2 — formatage et configuration Clippy' docs/plans/003-V0_0_3_TEMPLATES_AUDITS_PLAN.md
grep -F '### alpha.3 — manifests Cargo workspace et crate membre' docs/plans/003-V0_0_3_TEMPLATES_AUDITS_PLAN.md
grep -F '### alpha.4 — audit de headers Markdown' docs/plans/003-V0_0_3_TEMPLATES_AUDITS_PLAN.md
python3 -B scripts/audit_markdown_tables.py \
README.md RULES.md ROADMAP.md CHANGELOG.md docs deltas history prompts
python3 -B scripts/audit_markdown_links.py \
README.md RULES.md ROADMAP.md CHANGELOG.md docs deltas history prompts
python3 -B - <<'PY'
from pathlib import Path
import re
files = [Path(name) for name in ('README.md', 'RULES.md', 'ROADMAP.md', 'CHANGELOG.md')]
for directory in ('docs', 'deltas', 'history', 'prompts'):
files.extend(Path(directory).rglob('*.md'))
files = sorted(set(files))
for path in files:
lines = path.read_text(encoding='utf-8').splitlines()
assert len(lines) >= 2 and lines[0] == f'<!-- file: {path.as_posix()} -->', path
assert re.fullmatch(r'<!-- version: [1-9][0-9]* -->', lines[1]), path
print(f'Markdown header audit: clean ({len(files)} file(s))')
PY
git diff --check
git add VERSION docs/plans/003-V0_0_3_TEMPLATES_AUDITS_PLAN.md deltas/0.0.3/alpha.1.fix.1.md
git diff --cached --check
git status --short
Avant ajout du history du fix, le scope indexé attendu est :
M VERSION
A deltas/0.0.3/alpha.1.fix.1.md
M docs/plans/003-V0_0_3_TEMPLATES_AUDITS_PLAN.md
Revue complémentaire : confirmer que la correction ne copie pas de version de dépendance, de path Cargo ou de seuil Clippy arbitraire ; vérifier que le plan reste une prévision et que alpha.1 demeure un snapshot historique inchangé.
Transition
PASS
Produire et appliquer séparément history/0.0.3/alpha.1.fix.1.md avec les résultats réellement observés, puis committer ce fix avant tout delta alpha.2.
FAIL
Consigner le résultat réel dans le history du fix et poursuivre par alpha.1.fix.2 limité au cadrage, ou engager un REPLAN explicite si le scope Rust doit changer davantage.