Docs : audit post-release v1.10.0 — statut README, comptes de tests (180), description lab-timing alignée sur le fix #68
This commit is contained in:
parent
b865b1606f
commit
f36e25ef62
13
README.md
13
README.md
@ -17,11 +17,14 @@
|
||||
> Fie-toi toujours à tes analyses de sang et aux consignes de ton
|
||||
> endocrinologue.
|
||||
|
||||
- **Statut** : web v1.9.7 — parité fonctionnelle avec l'Android v1.9.7
|
||||
(modèle Estrannaise analytique + nuage d'incertitude MCMC exclusif ESE ;
|
||||
presets des 6 esters injectables ESE ; l'auto-backup journalier Android
|
||||
reste structurellement non porté, cf §12 — l'export manuel couvre la
|
||||
donnée) ·
|
||||
- **Statut** : web v1.10.0 — parité fonctionnelle avec l'Android v1.10.0
|
||||
sur la logique miroirée (fix #68 : creux PRÉ-INJECTION dans la
|
||||
recommandation de prise de sang — date toujours postérieure à la
|
||||
stabilisation, cohérente avec le créneau affiché ; les autres changements
|
||||
Android de la v1.10.0 — dialog fantôme #69, rappel sauté si dose déjà
|
||||
loggée — sont sans équivalent web, notifications = Android) ;
|
||||
l'auto-backup journalier Android reste structurellement non porté,
|
||||
cf §12 — l'export manuel couvre la donnée ·
|
||||
**180 tests verts** · E2E navigateur ✅ · conteneur testé en
|
||||
configuration durcie ✅ · lint/i18n ✅
|
||||
- **Journal des versions web** : [docs/CHANGELOG.md](docs/CHANGELOG.md)
|
||||
|
||||
@ -60,7 +60,7 @@ Règles du portage, fixées au départ :
|
||||
|
||||
| Choix | Décision | Pourquoi |
|
||||
|---|---|---|
|
||||
| Langage | JavaScript ES modules natifs (pas de TS, pas de build) | zéro chaîne de compilation → le déploiement = copier le dossier ; les types critiques sont documentés en JSDoc et épinglés par 175 tests |
|
||||
| Langage | JavaScript ES modules natifs (pas de TS, pas de build) | zéro chaîne de compilation → le déploiement = copier le dossier ; les types critiques sont documentés en JSDoc et épinglés par 180 tests |
|
||||
| Framework UI | Aucun — DOM via un helper `el()` (`ui/components.js`) | même philosophie que la v1 Android (pas de ViewModel/DI) ; une seule abstraction à connaître |
|
||||
| Rendu graphique | Canvas 2D natif (portage de `CurveChart.kt`) | pas de lib de charts : fidélité du rendu, zéro dépendance |
|
||||
| Persistance | `localStorage` (clés préfixées `hormonetrack.`) | données petites (JSON) ; backend INJECTABLE → testable en Node (`store.setBackend(new Map())`) |
|
||||
@ -405,7 +405,7 @@ Pièges rencontrés :
|
||||
|---|---|---|---|
|
||||
| Syntaxe | `node --check` | tous les modules ES | `bash scripts/check.sh` |
|
||||
| i18n | `scripts/i18n-check.mjs` | clés FR/EN synchronisées + clés utilisées | (dans check.sh) |
|
||||
| Unitaires | `node --test` | **175 tests** : noyau PK (ESE analytique/TFS/WHS), calibration, backup, store, helpers, alertes, rappels, changelog, tracé labs, estrannaise-models/cloud, rounding, presets (v1.9.4) | `npm test` |
|
||||
| Unitaires | `node --test` | **180 tests** : noyau PK (ESE analytique/TFS/WHS), calibration, backup, store, helpers, alertes, rappels, changelog, tracé labs, estrannaise-models/cloud, rounding, presets (v1.9.4) | `npm test` |
|
||||
| E2E navigateur | playwright-core + build Firefox | app réelle : rendu, canvas peint (pixels), navigation, dialog changelog, langue | `npm run e2e` |
|
||||
| Smoke HTTP | curl | ressources clés en 200 | `check.sh --with-serve` |
|
||||
|
||||
@ -448,8 +448,11 @@ launch) — d'où le build dédié dans le cache Playwright, hors dépôt.
|
||||
garde #61 sur la prolongation, flag off = v1.5.0 bit-compatible,
|
||||
`lastAnchorMs`.
|
||||
- **lab-timing** : v1.8.0 « prochaine prise de sang recommandée » (miroir
|
||||
du Kotlin, §7.11 Android) : creux = minimum de la courbe prévisionnelle
|
||||
entre 2 injections, saut au premier creux STABILISÉ (5 × t½ — TFS/WHS
|
||||
du Kotlin, §7.11 Android) : creux = niveau PRÉ-INJECTION du créneau
|
||||
(**fix #68 v1.10.0** — l'ancien minimum de la fenêtre entière tombait
|
||||
juste après l'injection précédente pour les esters à montée lente comme
|
||||
l'EEn ; pour EV le point pré-injection EST le minimum de fenêtre),
|
||||
saut au premier creux STABILISÉ (5 × t½ — TFS/WHS
|
||||
analytiques, Estrannaise lue dans la table via terminalHalfLifeDays),
|
||||
filtres (≥ now+6 h, > dernière prise, Posologie requise), invite
|
||||
« renseigne une Posologie », oral seul → null.
|
||||
|
||||
@ -10,7 +10,10 @@
|
||||
* énormément, le creux reflète le niveau de fond et l'accumulation) ;
|
||||
* 2. un creux n'est interprétable que si le régime est **stabilisé** — règle
|
||||
* des 5 demi-vies terminales (≈ 97 % de l'équilibre) ;
|
||||
* 3. **ON SAUTE donc au premier creux STABILISÉ** (décision v1.8.0).
|
||||
* 3. **ON SAUTE donc au premier creux STABILISÉ** (décision v1.8.0 ; fix
|
||||
* #68 v1.10.0 : le creux = niveau PRÉ-INJECTION du créneau — l'ancien
|
||||
* minimum de fenêtre entière tombait juste après l'injection PRÉCÉDENTE
|
||||
* pour les esters à montée lente, date antérieure à la stabilisation).
|
||||
*
|
||||
* CALCUL (déduit de ce que l'app connaît déjà) :
|
||||
* - traitement porteur : ESTRADIOL + injectable + ACTIF + Posologie
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user