# 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 : ```text 0.0.3-alpha.1 ``` Version après application : ```text 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 : ```text 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 : ```text VERSION docs/plans/003-V0_0_3_TEMPLATES_AUDITS_PLAN.md ``` ADD : ```text deltas/0.0.3/alpha.1.fix.1.md ``` DELETE : aucun. Le plan passe de `` à `` 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 dans `clippy.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.2` formatage/Clippy, `alpha.3` manifests Cargo, `alpha.4` audit 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` : ```bash 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 '' 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'', path assert re.fullmatch(r'', 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 : ```text 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.