Files
sasedev-knowledge/history/0.0.1/rc.2.md
2026-09-28 12:45:51 +02:00

165 lines
4.3 KiB
Markdown

<!-- file: history/0.0.1/rc.2.md -->
<!-- version: 1 -->
# History 0.0.1-rc.2 — candidate finale sur politique `Cargo.lock` stabilisée
## Statut
PASS
La gate opérateur de `0.0.1-rc.2` exécutée le `2026-09-28` est propre.
## Baseline opérateur
`rc.1.fix.1` `PASS` a été historisé, committé et poussé avant application de `rc.2` :
```text
history/0.0.1/rc.1.fix.1.md = PASS
commit c9fee69
message 0.0.1-rc.1.fix.1
branch master
push origin/master PASS
status clean après push
```
`Cargo.lock` est absent du repository à partir de ce commit tout en restant présent localement et ignoré.
## Incident opérateur local récupéré
Après application de `rc.2`, un commit local a été créé par erreur avec le message `0.0.1-rc.1.fix.1` :
```text
6ddb230
```
Ce commit n'a jamais été poussé : la tentative de push a été interrompue au prompt d'authentification.
La situation a été vérifiée explicitement :
```text
HEAD 6ddb230
origin/master c9fee69
```
puis récupérée avec :
```text
git reset --mixed origin/master
```
Après récupération :
```text
HEAD = c9fee69
```
et les cinq changements `rc.2` sont redevenus des modifications locales/non suivies. Aucun historique distant n'a été réécrit et aucun commit publié n'a été altéré.
## Contrôles initiaux après récupération
Les preuves suivantes passent :
```text
VERSION = 0.0.1-rc.2
git diff --check PASS
cargo fmt --all -- --check PASS
aucun diff sous crates/ ou Web/ PASS
```
La politique de lockfile reste correcte :
```text
Cargo.lock local présent
Cargo.lock ignore actif
Cargo.lock suivi par Git non
package-lock.json suivi oui
```
## Audit d'intégration RC
Après récupération du commit local erroné, l'audit corrigé passe :
```text
Knowledge 0.0.1-rc.2 integration audit: clean (16 prior histories)
```
Il confirme notamment les seize histories antérieurs, le changelog encore candidat, la roadmap avec `0.0.2` engagée sans `0.0.3` et le handoff `0.0.2` toujours conditionné au tag stable et au rapport post-tag `PASS`.
## Markdown et hygiène texte
Les audits PGR passent :
```text
Markdown header audit: clean (48 file(s))
Markdown table audit: clean (4 table(s), 48 file(s))
Markdown link audit: clean (28 local link(s), 48 file(s))
Knowledge 0.0.1-rc.2 text hygiene: clean
```
## Rust
Les audits passent :
```text
Rust test-layout audit: clean (7 crate(s))
Rust blank-line audit: clean (18 file(s))
Rust item-spacing audit: clean (18 file(s))
Rust module-order audit: clean (18 file(s))
Rust trait-import-block audit: clean (18 file(s))
Rust re-export-block audit: clean (18 file(s))
Rust export completeness audit: 0 candidate(s) across 7 package(s)
```
Les sept packages compilent en version `0.0.1-rc.2`. `cargo check`, Clippy strict et les tests workspace passent : `knowledge-domain-lib` 3, `knowledge-git-api` 1, `knowledge-sync-api` 1 et `knowledge-web-lib` 4 tests `PASS`.
Après Cargo, `Cargo.lock` reste présent localement, ignoré et absent de Git.
## Web et manifest
Les commandes `npm ci`, `npm run typecheck` et `npm run build` passent. Le warning `@parcel/watcher@2.6.0` reste observable mais non approuvé et non bloquant.
L'audit du manifest passe :
```text
Knowledge 0.0.1-rc.2 Vite manifest audit: clean
JS assets/assets/main-BMHcm6u9.js
CSS assets/main-V0IwlRbh.css
```
## Smokes HTTP
Après récupération du commit local erroné, les trois launchers passent explicitement :
```text
knowledge-pgr-server smoke PASS
knowledge-howtos-server smoke PASS
knowledge-snippets-server smoke PASS
Knowledge 0.0.1-rc.2 HTTP smoke: clean
```
## Hygiène Git finale
Les contrôles finaux passent. Le staging observé avant ajout du présent history est exactement :
```text
M Cargo.toml
M VERSION
A deltas/0.0.1/rc.2.md
M docs/plans/001-V0_0_1_FOUNDATION_PLAN.md
M docs/validation/001-VALIDATION_MATRIX.md
```
## Décision
`0.0.1-rc.2` est `PASS`.
La candidate finale est validée sur la politique `Cargo.lock` définitive.
La seule transition autorisée est :
```text
0.0.1-rel.1
```
`rel.1` doit rester une promotion stable mécanique et pré-tag. Le tag `v0.0.1` et le rapport post-tag ne doivent être créés qu'après un history `rel.1` réellement `PASS` et le commit stable `0.0.1`.