0.0.2-beta.1.fix.1
This commit is contained in:
170
history/0.0.2/beta.1.fix.1.md
Normal file
170
history/0.0.2/beta.1.fix.1.md
Normal file
@@ -0,0 +1,170 @@
|
||||
<!-- file: history/0.0.2/beta.1.fix.1.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# History 0.0.2-beta.1.fix.1 — clôture de stabilisation runtime
|
||||
|
||||
## Statut
|
||||
|
||||
FAIL
|
||||
|
||||
La gate opérateur de `0.0.2-beta.1.fix.1` exécutée le `2026-09-29` acquiert les preuves Rust, Cargo, tests, Web et les trois smokes HTTP requis, mais deux commandes requises échouent dans la gate elle-même : l'audit Python de stabilisation contient une chaîne mal quotée et `git diff --cached --check` détecte une ligne vide supplémentaire en fin de `docs/validation/001-VALIDATION_MATRIX.md`.
|
||||
|
||||
Conformément à `400-VALIDATION`, une commande requise en échec conserve le statut `FAIL` même si les preuves runtime exécutées ensuite passent.
|
||||
|
||||
## Baseline opérateur
|
||||
|
||||
L'opérateur indique que la matérialisation de `beta.1` a été réalisée correctement avant application de `beta.1.fix.1`. Le rendu terminal du commit/push n'est plus disponible à la suite de la fermeture de la fenêtre GNOME Terminal après activation de `set -euo pipefail`.
|
||||
|
||||
L'état observé au démarrage de la gate confirme néanmoins :
|
||||
|
||||
```text
|
||||
VERSION 0.0.2-beta.1.fix.1
|
||||
Cargo workspace version 0.0.2-beta.1.fix.1
|
||||
history/0.0.2/beta.1.md PARTIAL
|
||||
```
|
||||
|
||||
## Contrôles documentaires et formatage
|
||||
|
||||
Les audits suivants passent :
|
||||
|
||||
```text
|
||||
Markdown header audit clean (89 file(s))
|
||||
Markdown link audit clean (72 local link(s), 89 file(s))
|
||||
Markdown table audit clean (4 table(s), 89 file(s))
|
||||
cargo fmt --all PASS
|
||||
cargo fmt --all -- --check PASS
|
||||
```
|
||||
|
||||
Le premier `git diff --check` de la gate signale toutefois :
|
||||
|
||||
```text
|
||||
docs/validation/001-VALIDATION_MATRIX.md:782: new blank line at EOF.
|
||||
```
|
||||
|
||||
## Audits Rust
|
||||
|
||||
Après formatage, les audits Rust passent :
|
||||
|
||||
```text
|
||||
Rust test-layout audit clean (9 crate(s))
|
||||
Rust blank-line audit clean (32 file(s))
|
||||
Rust item-spacing audit clean (32 file(s))
|
||||
Rust module-order audit clean (32 file(s))
|
||||
Rust trait-import-block audit clean (32 file(s))
|
||||
Rust re-export-block audit clean (32 file(s))
|
||||
Rust crate-root facade audit clean (6 crate root(s))
|
||||
Rust export completeness audit 0 candidate(s) across 9 package(s)
|
||||
```
|
||||
|
||||
## Cargo, Clippy et tests
|
||||
|
||||
Les neuf packages passent :
|
||||
|
||||
```text
|
||||
cargo metadata --format-version 1 --no-deps PASS
|
||||
cargo check --workspace PASS
|
||||
cargo clippy --workspace --all-targets --all-features
|
||||
-- -D warnings PASS
|
||||
cargo test --workspace --all-targets --all-features PASS
|
||||
```
|
||||
|
||||
Résultats observés :
|
||||
|
||||
```text
|
||||
knowledge-app-lib 3 PASS
|
||||
knowledge-domain-lib 3 PASS
|
||||
knowledge-git-api 1 PASS
|
||||
knowledge-git-lib 8 unit PASS + 2 integration PASS
|
||||
knowledge-sync-api 1 PASS
|
||||
knowledge-web-lib 4 PASS
|
||||
launchers 0 test chacun
|
||||
```
|
||||
|
||||
Les tests d'intégration Git réels restent propres.
|
||||
|
||||
## Baseline Web
|
||||
|
||||
Les commandes suivantes passent :
|
||||
|
||||
```text
|
||||
npm ci
|
||||
npm run typecheck
|
||||
npm run build
|
||||
```
|
||||
|
||||
Vite transforme `63` modules et produit le manifest attendu. Les warnings Sass issus de Bootstrap et l'avertissement npm sur le script d'installation de `@parcel/watcher@2.6.0` restent non bloquants.
|
||||
|
||||
## Échec de l'audit de stabilisation
|
||||
|
||||
Le bloc `PYGATE` échoue avec :
|
||||
|
||||
```text
|
||||
SyntaxError: unterminated string literal
|
||||
```
|
||||
|
||||
La cause est la chaîne Python suivante, délimitée par des apostrophes tout en contenant `n'est` :
|
||||
|
||||
```text
|
||||
assert 'Aucun prompt `0.0.3` n'est créé' in study
|
||||
```
|
||||
|
||||
Cet échec appartient à la gate livrée, pas au produit.
|
||||
|
||||
## Smokes HTTP
|
||||
|
||||
Malgré l'échec précédent, les trois smokes HTTP sont exécutés et passent :
|
||||
|
||||
```text
|
||||
knowledge-pgr-server smoke PASS
|
||||
knowledge-howtos-server smoke PASS
|
||||
knowledge-snippets-server smoke PASS
|
||||
Knowledge 0.0.2-beta.1.fix.1 HTTP smoke: clean
|
||||
```
|
||||
|
||||
Ils prouvent `/healthz`, `/`, la présence des assets du manifest dans le HTML et leur service HTTP effectif.
|
||||
|
||||
## Hygiène texte et EOF
|
||||
|
||||
Le script d'hygiène texte affiche :
|
||||
|
||||
```text
|
||||
Knowledge beta.1.fix.1 text hygiene: clean (89 file(s))
|
||||
```
|
||||
|
||||
mais son contrat est insuffisant : il vérifie seulement qu'un fichier se termine par `\n`, pas qu'il se termine par exactement un seul `\n`. Il laisse donc passer un suffixe `\n\n`.
|
||||
|
||||
Après staging, `git diff --cached --check` échoue de nouveau sur la même ligne vide supplémentaire à EOF dans `001-VALIDATION_MATRIX.md`.
|
||||
|
||||
## Frontières
|
||||
|
||||
Les contrôles suivants passent :
|
||||
|
||||
```text
|
||||
Cargo.lock présent localement PASS
|
||||
Cargo.lock ignoré PASS
|
||||
Cargo.lock non suivi PASS
|
||||
aucun diff sous crates/ ou Web/ PASS
|
||||
aucune crate forge Gitea PASS
|
||||
aucun store PostgreSQL PASS
|
||||
```
|
||||
|
||||
Le `git status --short` final montre uniquement les fichiers attendus de la tranche après correction de la faute de frappe opérateur `it status --short`.
|
||||
|
||||
## Décision
|
||||
|
||||
`0.0.2-beta.1.fix.1` est `FAIL`.
|
||||
|
||||
Les preuves runtime manquantes de `beta.1` sont désormais acquises, mais la stabilisation beta ne peut pas être fermée tant que la gate elle-même n'est pas propre.
|
||||
|
||||
La transition autorisée est :
|
||||
|
||||
```text
|
||||
appliquer ce history
|
||||
-> git add / diff --cached --check / status
|
||||
-> commit exact "0.0.2-beta.1.fix.1"
|
||||
-> push origin master
|
||||
-> vérifier le workspace propre
|
||||
-> appliquer seulement ensuite 0.0.2-beta.1.fix.2
|
||||
```
|
||||
|
||||
`beta.1.fix.2` doit rester documentaire/gate-only : corriger le quoting Python, normaliser les EOF à exactement un LF, rendre cette propriété vérifiable et ne pas réintroduire `set -euo pipefail` dans une gate destinée au shell interactif.
|
||||
Reference in New Issue
Block a user