0.0.1-alpha.4.fix.1

This commit is contained in:
2026-09-28 01:10:34 +02:00
parent 50599da1b3
commit 342befa403
8 changed files with 252 additions and 9 deletions

6
Cargo.lock generated
View File

@@ -4,18 +4,18 @@ version = 4
[[package]]
name = "knowledge-domain-lib"
version = "0.0.1-alpha.4"
version = "0.0.1-alpha.4.fix.1"
[[package]]
name = "knowledge-git-api"
version = "0.0.1-alpha.4"
version = "0.0.1-alpha.4.fix.1"
dependencies = [
"knowledge-domain-lib",
]
[[package]]
name = "knowledge-sync-api"
version = "0.0.1-alpha.4"
version = "0.0.1-alpha.4.fix.1"
dependencies = [
"knowledge-domain-lib",
]

View File

@@ -1,5 +1,5 @@
# file: Cargo.toml
# version: 6
# version: 7
[workspace]
resolver = "3"
@@ -10,7 +10,7 @@ members = [
]
[workspace.package]
version = "0.0.1-alpha.4"
version = "0.0.1-alpha.4.fix.1"
edition = "2024"
publish = false
repository = "https://git.sasedev.com/Sasedev/sasedev-knowledge"

View File

@@ -1 +1 @@
0.0.1-alpha.4
0.0.1-alpha.4.fix.1

View File

@@ -13,7 +13,10 @@
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true,
"verbatimModuleSyntax": true
"verbatimModuleSyntax": true,
"types": [
"vite/client"
]
},
"include": [
"src/**/*.ts"

View File

@@ -0,0 +1,76 @@
<!-- file: deltas/0.0.1/alpha.4.fix.1.md -->
<!-- version: 1 -->
# Delta 0.0.1-alpha.4.fix.1 — types Vite client et hygiène de matrice
## Base requise
État `0.0.1-alpha.4` committé et poussé après application du history :
```text
history/0.0.1/alpha.4.md = FAIL
```
La version devient :
```text
0.0.1-alpha.4.fix.1
```
## Causes du fix
La gate `alpha.4` confirme que la structure Web, Cargo, Clippy strict, les tests Rust, `npm ci`, le build Vite et l'audit du manifest fonctionnent.
Deux défauts empêchent néanmoins le `PASS`.
### Typecheck TypeScript
`npm run typecheck` échoue avec `TS2882` sur l'import side-effect `./styles/main.scss`.
Le fix ajoute le shim officiel Vite :
```json
"types": ["vite/client"]
```
dans `Web/knowledge-template-lab/tsconfig.json`.
Aucun shim `*.scss` propre au projet n'est ajouté.
### Hygiène Git/Markdown
`git diff --check` signale une ligne vide supplémentaire en fin de `docs/validation/001-VALIDATION_MATRIX.md`.
Le fix normalise la fin du fichier à une seule fin de ligne.
## Observations non bloquantes
Le build Vite aboutit mais Sass émet des warnings de dépréciation provenant de Bootstrap 5.3.8. Le projet ne patch pas Bootstrap et ne masque pas ces warnings dans ce fix.
npm signale aussi `@parcel/watcher@2.6.0` comme dépendance avec script d'installation non encore couvert par `allowScripts`. Le fix n'approuve ni ne refuse automatiquement ce script ; la gate exécute `npm install-scripts ls` afin de conserver l'état observable.
## Fichiers remplacés
```text
VERSION
Cargo.toml
Web/knowledge-template-lab/tsconfig.json
docs/plans/001-V0_0_1_FOUNDATION_PLAN.md
docs/validation/001-VALIDATION_MATRIX.md
```
## Fichier ajouté
```text
deltas/0.0.1/alpha.4.fix.1.md
```
Aucun fichier n'est supprimé et aucune dépendance npm n'est ajoutée.
`package-lock.json` appartient déjà à l'état `alpha.4` committé. Le bump Cargo peut régénérer `Cargo.lock`, qui reste versionné.
## Scope exclu
Aucun serveur Actix/Maud, loader Rust du manifest, route runtime, migration PostgreSQL ou adapter de forge n'est ajouté.
Ne pas committe `alpha.4.fix.1` avant production de son history à partir des résultats opérateur.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/001-V0_0_1_FOUNDATION_PLAN.md -->
<!-- version: 8 -->
<!-- version: 9 -->
# Plan 0.0.1 — fondation SaseDev Knowledge
@@ -166,6 +166,13 @@ Les outputs et caches restent sous `../builds/sasedev-knowledge/` et hors Git. L
La preuve contre la dérive statique/Maud reste volontairement limitée à cette tranche : le package de référence documente les invariants de classes/attributs/assets, tandis que la comparaison runtime réelle n'existe qu'après matérialisation Maud en `alpha.5`.
La gate opérateur d'`alpha.4` reste **FAIL** malgré le passage de Cargo, Clippy, des tests Rust, de `npm ci`, du build Vite et de l'audit du manifest :
- `npm run typecheck` échoue sur l'import side-effect `./styles/main.scss` faute de types client Vite déclarés ;
- `git diff --check` détecte une ligne vide supplémentaire en fin de `docs/validation/001-VALIDATION_MATRIX.md`.
`alpha.4.fix.1` corrige exclusivement ces deux défauts : ajout de `vite/client` aux types TypeScript du package et hygiène EOF de la matrice. Les warnings Sass provenant de Bootstrap restent des diagnostics de dépendance tierce non bloquants. La politique npm `allowScripts` reste observée sans approbation automatique.
### alpha.5 — composition Actix/Maud et manifest Vite
Matérialiser le minimum Actix Web/Maud nécessaire pour prouver trois launchers minces et intégrer les assets produits par `alpha.4` :

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/001-VALIDATION_MATRIX.md -->
<!-- version: 8 -->
<!-- version: 9 -->
# Matrice de validation Knowledge
@@ -255,3 +255,21 @@ La tranche Web doit prouver :
- gates Rust existantes toujours propres après le bump de version ;
- `git diff --cached --check` propre et outputs générés absents du staging.
## Gate de `0.0.1-alpha.4.fix.1`
Le premier fix Web doit prouver :
- `VERSION = 0.0.1-alpha.4.fix.1` et version workspace Cargo identique ;
- history `alpha.4` `FAIL` committé avant application du fix ;
- `git diff --check` propre ;
- `compilerOptions.types` contient exactement `vite/client` dans `Web/knowledge-template-lab/tsconfig.json` ;
- aucun shim `*.scss` local ajouté pour contourner les types Vite ;
- `npm ci` `PASS` depuis le `package-lock.json` déjà versionné par `alpha.4` ;
- `npm run typecheck` `PASS` ;
- `npm run build` `PASS` ;
- manifest Vite parsable avec entrée `src/main.ts`, JavaScript et CSS ;
- `npm install-scripts ls` exécuté pour exposer les scripts d'installation non approuvés sans les approuver automatiquement ;
- warnings Sass issus de Bootstrap observables mais non traités comme défaut Knowledge tant que le build reste `PASS` ;
- gates Rust existantes toujours propres après le bump de version ;
- aucun serveur Actix/Maud, route runtime, migration PostgreSQL ou adapter de forge ajouté ;
- staging Git propre et outputs générés absents du dépôt.

View File

@@ -0,0 +1,139 @@
<!-- file: history/0.0.1/alpha.4.fix.1.md -->
<!-- version: 1 -->
# History 0.0.1-alpha.4.fix.1 — types Vite client et hygiène de matrice
## Statut
FAIL
La gate opérateur de `0.0.1-alpha.4.fix.1` exécutée le `2026-09-28` confirme la correction de l'hygiène Git et maintient le build Vite fonctionnel, mais le typecheck TypeScript reste bloqué par des types Node absents et par `Symbol.asyncDispose`.
## Baseline opérateur
`alpha.4` `FAIL` a été historisé, committé et poussé avant application du fix :
```text
history/0.0.1/alpha.4.md = FAIL
commit 50599da
message 0.0.1-alpha.4
branch master
push origin/master PASS
status clean après push
```
Le push observé a avancé `origin/master` de `91e596e` à `50599da`.
## Hygiène Git
Le défaut EOF d'`alpha.4` est corrigé :
```text
git diff --check = PASS
git diff --cached --check = PASS
```
## Audit structurel
La gate structurelle échoue avant les gates Cargo sur une assertion du contrôle des `*.d.ts`.
Le contrôle livré inspectait tous les `*.d.ts` sous `Web/knowledge-template-lab`, y compris `node_modules`. Cette portée est incorrecte : les déclarations Vite de modules d'assets sont précisément nécessaires.
Le contrôle doit être restreint aux déclarations source propres au projet.
## Rust
Les audits Rust PGR, `cargo check`, Clippy strict et les tests ciblés passent.
Résultats :
```text
knowledge-domain-lib : 3 passed; 0 failed
knowledge-git-api : 1 passed; 0 failed
knowledge-sync-api : 1 passed; 0 failed
```
## npm
`npm ci` passe avec :
```text
0 vulnerabilities
```
L'état des scripts d'installation reste :
```text
@parcel/watcher@2.6.0
```
non couvert par `allowScripts`. Aucune approbation automatique n'a été faite.
## Typecheck TypeScript
`npm run typecheck` échoue avec 44 erreurs réparties principalement entre Vite, Sass/Sass Embedded et Rolldown.
Les diagnostics montrent explicitement l'absence de :
```text
Buffer
NodeJS
node:http
node:url
node:stream
@types/node
```
Vite référence aussi son propre fichier de types Node.
Un diagnostic distinct concerne :
```text
Symbol.asyncDispose
```
dans les déclarations Rolldown.
La correction `vite/client` seule est donc insuffisante.
## Build et manifest
`npm run build` reste `PASS`.
Le manifest Vite reste valide et l'audit confirme :
```text
src/main.ts
JavaScript hashé
CSS hashé
```
Les warnings Sass Bootstrap restent non bloquants.
## Staging observé
Après la gate :
```text
M Cargo.lock
M Cargo.toml
M VERSION
M Web/knowledge-template-lab/tsconfig.json
A deltas/0.0.1/alpha.4.fix.1.md
M docs/plans/001-V0_0_1_FOUNDATION_PLAN.md
M docs/validation/001-VALIDATION_MATRIX.md
```
Le staging est propre au regard de `git diff --cached --check`.
## Décision
`0.0.1-alpha.4.fix.1` est `FAIL`.
La transition autorisée est :
```text
0.0.1-alpha.4.fix.2
```
Le second fix doit ajouter les types Node alignés sur Node 24, la bibliothèque `ESNext.Disposable`, corriger la portée de l'audit structurel et rejouer les gates Rust/Web complètes.