140 lines
2.9 KiB
Markdown
140 lines
2.9 KiB
Markdown
<!-- file: deltas/0.0.1/rc.1.fix.1.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta 0.0.1-rc.1.fix.1 — politique `Cargo.lock` et correction de gate RC
|
|
|
|
## Base requise
|
|
|
|
État `0.0.1-rc.1` committé et poussé après application du history :
|
|
|
|
```text
|
|
history/0.0.1/rc.1.md = FAIL
|
|
```
|
|
|
|
La version devient :
|
|
|
|
```text
|
|
0.0.1-rc.1.fix.1
|
|
```
|
|
|
|
## Causes
|
|
|
|
Deux corrections sont regroupées avant la stable.
|
|
|
|
### Gate RC incorrecte
|
|
|
|
La gate `rc.1` utilisait :
|
|
|
|
```text
|
|
git diff --name-only
|
|
```
|
|
|
|
et exigeait que `deltas/0.0.1/rc.1.md` y apparaisse.
|
|
|
|
Or Git n'inclut pas les fichiers non suivis dans cette commande. Le delta existait bien dans le workspace puis a été correctement ajouté au staging.
|
|
|
|
Le fix contrôle désormais directement la présence des fichiers attendus et utilise les outils Git adaptés à leur état au lieu de confondre diff suivi et fichiers non suivis.
|
|
|
|
### Politique `Cargo.lock`
|
|
|
|
Knowledge abandonne la décision historique de versionner `Cargo.lock`.
|
|
|
|
PGR `v0.1.1` demande une politique explicite adaptée au projet et n'impose pas universellement le versionnement du lockfile Rust.
|
|
|
|
La politique finale de Knowledge devient :
|
|
|
|
```text
|
|
Cargo.lock généré localement
|
|
Cargo.lock ignoré
|
|
Cargo.lock non suivi par Git
|
|
```
|
|
|
|
`package-lock.json` reste versionné pour le package Web npm.
|
|
|
|
## Retrait du repository sans suppression locale
|
|
|
|
Le manifest :
|
|
|
|
```text
|
|
manifests/0.0.1/rc.1.fix.1.delete.txt
|
|
```
|
|
|
|
possède :
|
|
|
|
```text
|
|
Cargo.lock
|
|
```
|
|
|
|
Cette suppression est une suppression **du repository**, pas du workspace local.
|
|
|
|
Après extraction du delta, appliquer :
|
|
|
|
```bash
|
|
git rm --cached -- Cargo.lock
|
|
```
|
|
|
|
Ne pas utiliser `rm Cargo.lock`.
|
|
|
|
La copie locale doit rester disponible pour Cargo et devient ignorée grâce à :
|
|
|
|
```text
|
|
/Cargo.lock
|
|
```
|
|
|
|
dans `.gitignore`.
|
|
|
|
## Fichiers remplacés
|
|
|
|
```text
|
|
.gitignore
|
|
VERSION
|
|
Cargo.toml
|
|
CHANGELOG.md
|
|
RULES.md
|
|
docs/architecture/001-PROJECT_PROFILE.md
|
|
docs/architecture/002-KNOWLEDGE_ARCHITECTURE.md
|
|
docs/plans/001-V0_0_1_FOUNDATION_PLAN.md
|
|
docs/validation/001-VALIDATION_MATRIX.md
|
|
```
|
|
|
|
## Fichiers ajoutés
|
|
|
|
```text
|
|
deltas/0.0.1/rc.1.fix.1.md
|
|
manifests/0.0.1/rc.1.fix.1.delete.txt
|
|
```
|
|
|
|
## Suppression repository
|
|
|
|
```text
|
|
Cargo.lock
|
|
```
|
|
|
|
Aucune autre suppression n'est autorisée.
|
|
|
|
## Historique
|
|
|
|
Les deltas et histories antérieurs qui indiquent `Cargo.lock` versionné ne sont pas réécrits : ils décrivent correctement l'état et la politique en vigueur lors de ces tranches.
|
|
|
|
Les documents vivants sont réconciliés avec la politique finale.
|
|
|
|
## Scope fonctionnel
|
|
|
|
Aucun fichier sous `crates/` ou `Web/` n'est modifié.
|
|
|
|
Aucune dépendance, route, API, comportement Actix/Maud/Vite ou fonctionnalité métier n'est ajoutée.
|
|
|
|
## Transition
|
|
|
|
Un `PASS` de ce fix ne promeut pas directement la stable.
|
|
|
|
La candidate suivante est :
|
|
|
|
```text
|
|
0.0.1-rc.2
|
|
```
|
|
|
|
afin d'exécuter une RC propre sur la politique de lockfile finale avant `rel.1`.
|
|
|
|
Ne pas committe `rc.1.fix.1` avant production de son history opérateur.
|